[Scip] Using reoptimization

Gerald Gamrath gamrath at zib.de
Fri Jul 3 13:25:06 CEST 2015


Dear Andrei,

I'm happy to hear that you tried the new reoptimization feature. As far 
as I can see, you are using it within branch-and-price to solve the 
pricing problems, which was actually one of the major motivations for 
this feature.

It currently only supports sequences of binary problems in which the 
objective function is changed from one problem to the next or in which 
the feasible region is restricted when proceeding in the sequence.
Since the (frontier of the) tree needs to be collected in the first run 
and will be rebuild in subsequent runs, you need to enable the 
reoptimization feature before solving P_0.
Infeasible subproblems are disregarded in subsequent runs which is not 
valid anymore if you enlarge the feasible region. This might be the 
reason for the segmentation fault.

It seems that we still have to add some more checks in the 
reoptimization code and give more expressive warning/error messages. :-)

One positive answer: Objective coefficients equal to zero are totally ok.

Jakob (CC), the main developer of the optimization feature, is out of 
office today but will have a closer look on Monday. Perhaps you could 
send your problems P_0 and P_1 directly to us so that we can reproduce 
the issue?

Best,
Gerald


Am 02.07.2015 um 21:01 schrieb Andrei Braga:
>   Dear all,
>
>   I'm trying to use the reoptimization feature added to SCIP 3.2 in 
> solving a sequence of mixed binary programs P_0, P_1, ..., P_k. 
> Programs P_i and P_i+1 differ by the objective coefficients and by the 
> bounds of some binary variables. It is possible that some binary 
> variable is fixed to 1 (resp. 0) in P_i and to 0 (resp. 1) in P_i+1. 
> Does this invalidate the use of the reoptimization feature?
>
>   I want to enable reoptimization after solving P_0. I've done that 
> (by calling SCIPenableReoptimization). However, I've got the following 
> assert fail:
> src/scip/scip.c:12795: SCIPtransformProb: Assertion 
> `scip->origprimal->nsols == 0' failed.
>
>   I've also tried to enable reoptimization before P_0. In this case, 
> even compiled in debug mode, my program produced a segmentation fault; 
> in valgrind's (memory checker) output I can see the following
>
> ==1966== Invalid read of size 8
> ==1966==    at 0x6BD682: reoptSimilarity (reopt.c:378)
> ==1966==    by 0x6CAF03: reoptSaveNewObj (reopt.c:3807)
> ==1966==    by 0x6CC685: SCIPreoptAddRun (reopt.c:4313)
> ==1966==    by 0x700772: SCIPsolve (scip.c:14644)
> ==1966==    by 0x4350F0: pricerRedcostForest (pricer_forest.c:4242)
> ==1966==    by 0x6AA19C: SCIPpricerRedcost (pricer.c:372)
> ==1966==    by 0x6AA513: SCIPpricerExec (pricer.c:456)
> ==1966==    by 0x785385: SCIPpriceLoop (solve.c:1927)
> ==1966==    by 0x7866A3: priceAndCutLoop (solve.c:2189)
> ==1966==    by 0x7895B1: solveNodeLP (solve.c:2835)
> ==1966==    by 0x78BB8F: propAndSolve (solve.c:3494)
> ==1966==    by 0x78CE01: solveNode (solve.c:3793)
> ==1966==  Address 0x8109450 is 0 bytes after a block of size 896 alloc'd
> ==1966==    at 0x4C2B6CD: malloc (in 
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==1966==    by 0xB816CE: BMSallocMemoryArray_call (memory.c:406)
> ==1966==    by 0x6CAB2B: reoptSaveNewObj (reopt.c:3767)
> ==1966==    by 0x6CC685: SCIPreoptAddRun (reopt.c:4313)
> ==1966==    by 0x700772: SCIPsolve (scip.c:14644)
> ==1966==    by 0x43FFA1: heurExecInitforest (heur_init_forest.c:437)
> ==1966==    by 0x5BC84A: SCIPheurExec (heur.c:1010)
> ==1966==    by 0x77FF36: SCIPprimalHeuristics (solve.c:316)
> ==1966==    by 0x78C8EA: solveNode (solve.c:3716)
> ==1966==    by 0x78FDBB: SCIPsolveCIP (solve.c:4431)
> ==1966==    by 0x700C67: SCIPsolve (scip.c:14688)
> ==1966==    by 0x75AFB7: fromCommandLine (scipshell.c:99)
>
>   Final question: Is there a problem to have objective coefficients 
> equal to zero during reoptimization?
>
>   Many thanks in advance,
>
> -- 
> Andrei Braga
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20150703/26a55071/attachment.html>


More information about the Scip mailing list