[Scip] Fwd: Re: LP errors during branch and price and probing

Timo Berthold berthold at zib.de
Thu Jul 2 20:07:59 MEST 2009


Hi Frank.

Am Thursday 02 July 2009 16:28:00 schrieben Sie:
> Hi Timo,
>
> This raises three questions:
> 1. Which LP solver are you using?       CPLEX
This actually decreases my hope to blame it on the LP solver.

Ok, let's try to debug.
First of all: If I remember correctly, you have some development snapshot of 
SCIP. Which version was it?
Some of the numbers below neither point to a meaningful line in SCIP 1.1 nor 
in our current development version.

The Assert you mentioned gives me the strong feeling that you either forgot a 
SCIPstartProbing() or a SCIPendProbing() OR you call some method that is not 
allowed in Probing / call the non-Probing-Counterpart of a probing specific 
method.

Let's do the following: Add a #define SCIP_DEBUG at the beginning of solve.c 
and lp.c, compile SCIP in debug mode, load it to gdb (or some other debugger) 
and send a log file and the stack (!) to lpip-developers (AT) zib.de

I will be away from my office for some days, but maybe one of the other SCIP 
developers may help you.

Best, Timo

> 2. Which method in SCIP actually throws the error?
> I have two different error occurrences.
> The first one happens during Branch-and-Price at a point I can't control.
>
> 11.9s|    11 |     4 |  7175 |4517k|   5 |  14 |1727 | 983 | 983 |1718 |
> 983 |   0 |   0 | 126 |-3.172364e+03 |-3.015776e+03 |   4.94%
> [src/scip/solve.c:670] ERROR: Error <-6> in function call
> [src/scip/solve.c:1812] ERROR: Error <-6> in function call
> [src/scip/solve.c:2443] ERROR: Error <-6> in function call
> [src/scip/solve.c:3018] ERROR: Error <-6> in function call
> [src/scip/scip.c:5221] ERROR: Error <-6> in function call
>
> The second one at least mentiones one line of my own code.
>
>  4.2s|     7 |     2 |  6575 |4626k|   3 |   - |1748 | 945 | 945 |1748 |
> 945 |   0 |   0 |  74 |-1.867825e+03 |-1.806151e+03 |   3.30% At this point
> I take the fractional solution, fix one variable to 1 and solve the probing
> LP.
>
> [src/scip/scip.c:11449] ERROR: Error <-6> in function call
> [src/scip/scip.c:11501] ERROR: Error <-6> in function call
> [src/pricer_rmp2.cpp:394] ERROR: Error <-6> in function call          I
> call SCIPsolveProbingLP there [src/scip/pricer.c:316] ERROR: Error <-6> in
> function call
> [src/scip/pricer.c:387] ERROR: Error <-6> in function call
> [src/scip/solve.c:1305] ERROR: Error <-6> in function call
> [src/scip/solve.c:1478] ERROR: Error <-6> in function call
> [src/scip/solve.c:1828] ERROR: Error <-6> in function call
> [src/scip/solve.c:2443] ERROR: Error <-6> in function call
> [src/scip/solve.c:3018] ERROR: Error <-6> in function call
> [src/scip/scip.c:5221] ERROR: Error <-6> in function call
>
> In debug mode the program stopps  with an additional message:
> pdpsr: src/scip/tree.c:3509: SCIPnodeFocus: Assertion
> `!SCIPtreeProbing(tree)' failed.
>
> In both cases solving the MIP is aborted. Since these MIPS are my pricers I
> risk the loss of optimality.
>
>
> 3. Have you any reason to believe that your LPs might be somehow nasty for
> an LP solver, e.g. a multi-level objective, large coefficients are highly
> degenerated vertices?
>
> The probing LP is really a piece of cake. The usual one is a bit more
> complex but not much. The solution is highly degenerate as it is typical
> for VRP type problems.
>
>
>
> This really gives me a hard time. Maybe you have a good suggestion.
>
> In addition I cannot trust my dualbound for larger cases. Maybe that has to
> do with presolving/separation in the constraint handlers. I need to swoitch
> my own presolver on but everything else off. How can I do that?
>
> Does propagation lead to problems in B&P according to your experience?
>
>
> Many thanks,
>
> Frank



-------------------------------------------------------


More information about the Scip mailing list