[Scip] SCIP_DIDNOTRUN in SCIP_DECL_PRICERREDCOST ?

Sandra Ulrich Ngueveu ngueveu at laas.fr
Fri Mar 20 11:29:11 CET 2015


Dear Gerald,

Thank you for your reply, we were indeed using SCIP 3.1.0. We will 
update to 3.1.1 and let you know how it worked.

Regarding the branching, the default branching is sufficient for now, 
because we are not branching on variables generated during the column 
generation. The variables generated (denoted y) are defined as 
continuous and positive (no upper bound).

To achieve that, we modified our original mathematical formulation by 
introducing a polynomial number of binary variables x, that we linked to 
the variables y with linear constraints, in such a way that at the 
optimum, y variables can only take values 0 or 1, and therefore behave 
like binary variables, despite the fact that they were defined as 
continuous with no upper bound.

Best regards,

Sandra

Le 19/03/2015 11:54, Gerald Gamrath a écrit :
> Dear Sandra,
>
> it looks like you are still using SCIP 3.1. The issue should have been 
> fixed with the latest bugfix release 3.1.1, please check if this is 
> the case.
>
> A general remark: When doing branch-and-price, you should also 
> implement your own branching rule, since the default rules branching 
> on variables aren't well suited for a branch-and-price algorithm. Just 
> have a look at Coloring or Binpacking example and some discussions on 
> the mailing list in the last months.
>
> Best,
> Gerald
>
>> Hello,
>>
>> I am doing a Branch-and-Price with SCIP, where the subproblem 
>> (pricer) consists in solving a MIP with IloConcert (Cplex), with a 
>> predefined time limit DeltaT. DeltaT = "total time allowed for the 
>> entire branch-and-price" minus "time elapsed since the beginning of 
>> the branch-and-price".
>>
>> If cplex finds the optimal solution, we set *result=SCIP_SUCCESS, 
>> then add the columns found, if there are any. Otherwise (if cplex 
>> stops because of the time limit DeltaT), we set *result=SCIP_DIDNOTRUN.
>>
>> For some instances, the following assertion fails: 
>> rc/scip/branch_relpscost.c:928: execRelpscost: Assertion 
>> `SCIPisLT(scip, provedbound, SCIPgetCutoffbound(scip))' failed.
>>
>> It seems to happen only when DeltaT was unsufficient to solve a 
>> subproblem, therefore when *result was set to SCIP_DIDNOTRUN.
>>
>> In the LOP example, the lower bound pointer is set just after setting 
>> *result=SCIP_DIDNOTRUN (line 503 of pricer_coloring.c). Is it 
>> mandatory for the code to be correct ? Is the absence of this 
>> instruction the raison of the failed assertion ? Is it possible to 
>> set *lowerbound = -SCIP(infinity) or *lowerbound=0 ?
>>
>> Thank you for your help,
>>
>> Best regards,
>>
>> Sandra
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> http://listserv.zib.de/mailman/listinfo/scip
>

-- 
Maître de Conférences / Associate Professor
------------------------------------------------
ngueveu at laas.fr
Equipe ROC (anciennement MOGISA)
LAAS-CNRS
7 avenue du Colonel Roche
31077 Toulouse Cedex 4 - France
------------------------------------------------
sandra.ngueveu at enseeiht.fr
Département GEA
INP-ENSEEIHT
2 rue charles Camichel
31071 Toulouse - France



More information about the Scip mailing list