[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