[Scip] SCIP_DIDNOTRUN in SCIP_DECL_PRICERREDCOST ?
Sandra Ulrich Ngueveu
ngueveu at laas.fr
Fri Mar 13 16:52:34 CET 2015
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
More information about the Scip
mailing list