[Scip] Pricing in empty problem

Martin Bergner mbergner at mathematik.tu-darmstadt.de
Wed Jul 28 14:40:58 MEST 2010


Hello again,

since I have not received any answer so far, I have started to dig deep
into SCIP in order to show that the error is there (and not in my code).
I think that the SCIP solving loop is not correct unless I made really
bad mistakes. 

Looking at the source code, and tracing the solving process, the lines 
1947       SCIP_CALL( priceAndCutLoop(blkmem, set, stat, prob, primal, tree, lp, pricestore, sepastore, cutpool,
1948           branchcand, conflict, eventfilter, eventqueue, initiallpsolved, cutoff, unbounded, lperror, pricingaborted) );

are never executed since SCIP decides the root node can be cut off just
before:

[src/scip/solve.c:1843] debug:  -> lower bound: -1e+20 [-1e+20] (pseudoobj: -1e+ 20 [-1e+20]), cutoff bound: 1e+20 [1e+20]
[src/scip/solve.c:748] debug: loading LP
[src/scip/solve.c:688] debug: init LP: initial columns
[src/scip/solve.c:710] debug: init LP: initial rows
[src/scip/solve.c:800] debug: node: solve initial LP
[src/scip/solve.c:1914] debug: price-and-cut-loop: initial LP status: 1, LP obj:  0
 time | node  | left  |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows |cuts |confs|strbr|  dualbound   | primalbound  |  gap
* 0.0s|     1 |     0 |     0 |     - | 348k|   0 |   - |  93 |  93 |  93 |  93 |   0 |   0 |   0 |      --      | 0.000000e+00 | 100.00%
[src/scip/solve.c:1934] debug: root node initial LP feasible --> cut off root no de, stop solution process
[src/scip/solve.c:1843] debug:  -> lower bound: 0 [0] (pseudoobj: -1e+20 [-1e+20 ]), cutoff bound: 0 [0]
[src/scip/solve.c:1852] debug: node is cut off by bounding (lower=0, upper=0)
[src/scip/solve.c:2593] debug:  -> LP status: 4, LP obj: 1e+20, iter: 0, count: 2
[src/scip/solve.c:2943] debug: node solving iteration 1 finished: cutoff=1, prop agateagain=0, solverelaxagain=0, solvelpagain=0, nlperrors=0, restart=0
[src/scip/solve.c:2976] debug: node is cut off

I am wondering here, how can you decide to cutoff a node if you haven't
even called the pricer? It might add a variable with objcoeff -1 to some
constraint. The constraints are indeed marked modifiable. Am I missing
something fundamental here? Any answer would be appreciated. 

Regards,
Martin



More information about the Scip mailing list