[Scip] error information "[src/scip/scip.c:11865] ERROR: LP notsolved to optimality"

Gerald Gamrath gamrath at zib.de
Thu Mar 18 12:33:20 MET 2010


Dear Xiangyong,

first of all, which LP solver do you use? And which version of SCIP?
I have checked the source code and in the versions I checked, this error 
message should only appear if you call methods corresponding to the LP 
branching candidates. Do you call these methods in your pricer, too?

> I have checked LP status. SCIPgetLPSolstat()  returned 
> "SCIP_LPSOLSTAT_OBJLIMIT".  So  the objective limit was reached during 
> optimization. I do not know why my problem reached the objective 
> limit.  Acutally in my B&P, the formulation is not complicated. Is 
> there any way to figure out the above problem?

Actually, this is not a problem of SCIP. The objlimit does not mean that 
something went wrong, but it is an acceleration strategy used by most 
MIP solvers.
If you have a minimization problem and the LP is solved with the dual 
simplex, the dual LP is a maximization problem and as soon as its 
objective gets greater or equal to the primal bound, the solving process 
of the LP can be stopped and the node is pruned, at least if you do not 
have any pricers. At this point, SCIP sets the LP objective value to 
infinity, which equals the large number you obtained.
Since you have active pricers, the node is not prunded but the pricing 
process is performed, which tries to add new variables that forbid the 
current solution in the dual LP so that the LP solution value is 
decreased. If the LP solution gets smaller than the primal bound after 
pricing has finished, the processing of the node is continued, 
otherwise, the node can be cut off in the bounding process.

Hence, everything should work fine, you just are not allowed to call 
methods that are actually useless, anyway, in case the LP is not solved 
to optimality.
Besides, do you perform pricing until you can guarantee that there are 
no more variables with negative reduced costs, or do you stop the 
pricing process earlier? Did you set the result pointer of the pricing 
callback correctly?

Perhaps, you could send me a log-file of the solving process? If its too 
large, please send it to me directly and not to the mailing list.

Greetings,
Gerald


More information about the Scip mailing list