[Scip] Pricer is called while LPObjVal is infinite

Gerald Gamrath gamrath at zib.de
Tue Aug 21 14:39:48 MEST 2012


Hi Andreas,

this behavior is intended. SCIP adds the primal bound as objective 
cutoff when solving the LP with the dual simplex and will stop the LP 
solving after stepping over this value. The LP objective value is then 
set to 1e+20 by SCIP automatically. In a branch-and-cut search, the node 
can then be cut off, in a branch-and-price algorithm, this is not the 
case, and pricing has to be performed, because this might push the dual 
bound of the node below the cutoff bound.
However, pricing can also be performed on the current dual solution, 
even if it is not optimal, because the current dual solution gives a 
lower bound for the node's LP bound, which is already above the cutoff 
limit. Pricing in a primal variable using the current dual solution now 
corresponds to adding a constraint to the dual that cuts off the current 
dual solution.
So the algorithm is correct, but you are right, it might pay off to 
spent some more effort to solve the LP to optimality and then cut off 
the optimal solution. On the other hand, the current method could also 
be interpreted as a stabilization of the dual variables. Anyway, we are 
planning to provide a parameter by which you can switch whether the 
objective limit should be applied or not, so that you can test which 
approach works better in your case. It should be contained in the next 
release.

Thanks for the hint about the documentation, we will have a look at it.

Best,
Gerald

Am 21.08.2012 10:36, schrieb Andreas Gebauer:
>
> Hello,
>
> I have implemented a Branch-and-Price with SCIP 2.1 using SoPlex 1.6 
> and C++.
> I was surprised that the Pricers RedCost Method was called several 
> times although SCIPgetLPObjval returns (in a minimization context) 
> 1e20=SCIPInfinity.
> Don't know whether it is a bug or an intended feature but I guess it 
> is very time-expensive to price without having a feasible/optimal 
> LP-solution.
>
> Furthermore the doxygen-docs of SCIP 3.0.0 is still a little faulty. 
> In some C++ Wrapper Classes the C-callback methods are listed instead 
> of the C++-methods, e.g. in ObjPricer-WrapperClass.
>
> Thanks a lot for your help.
> Andreas Gebauer
>
>
>
> _______________________________________________
> 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/mailman/private/scip/attachments/20120821/c35f0ac7/attachment.html


More information about the Scip mailing list