[SCIP] How to get the Lower Bound while implementing the Branching Rule?

Matheus Ota matheusota at gmail.com
Wed Mar 21 00:26:34 CET 2018


Hi,

Thanks for the fast reply! I followed what you said, but I guess I'm doing
something wrong, can you help me to figure it out?

So first I enclosed the part of the code that I want to compute the lower
bounds in SCIPstartProbing(scip) and SCIPendProbing(scip).

Then I call SCIPnewProbingNode(scip), create the constraint1 and add it
with SCIPaddRowProbing(scip, constraint1). I then solve the probing node
with SCIPsolveProbingLP(scip, -1, &lperror, &cutoff), get the lower bound
with SCIPgetLPObjval(scip) and got back to the parent with
SCIPbacktrackProbing(scip, 1).

This same process is then repeated imposing constraint2 in the problem.

Can you tell me if this is the right way to do it? The code is not working
as it was before adding the branching rule and I'm having some difficulties
in understanding how to use the probing mode correctly.

Thanks again,
Matheus


2018-03-20 5:52 GMT-03:00 Gregor Hendel <hendel at zib.de>:

> Dear Matheus,
>
> this sounds like an application of the SCIP probing mode, which allows to
> explore some tentative children before branching. Please have a look at the
> documentation of the probing mode:
>
> http://scip.zib.de/doc-5.0.1/html/group__PublicProbingMethods.php
>
> Probing mode supports local constraints at the tentative node, and solve
> the corresponding LP relaxation.
>
> You can then retrieve the LP solution objective using SCIPgetLPObjval(),
> see also
>
> http://scip.zib.de/doc-5.0.1/html/group__PublicLPMethods.php
>
> for further information.
>
> Happy probing,
> Gregor
>
>
>
> Am 19.03.2018 um 21:45 schrieb Matheus Ota:
>
> Hi,
>
> Im trying to use SCIP to implement a Branch-Cut-and-Price for the VRP. For
> now Im focusing only on the Branch-and-Cut part, using the CVRPSEP package (
> http://econ.au.dk/research/researcher-websites/jens-lysgaard/cvrpsep/). I
> already added the cuts and my program is able to solve some simple
> instances, in order to increase its performance I need to implement custom
> branching rules.
>
> The branching rule works this way: it first select a few subsets of the
> set of vertexes in the graph and impose a few constraints on them. It then
> computes the lower bound (solving the relaxation) for each child node and
> uses these values to choose the node to branch on. Could you please give me
> some information about of how I can get the lower bound on the branching
> rule callback? Or maybe a better way of doing this or something similar?
>
> Thanks,
> Matheus
>
>
> _______________________________________________
> Scip mailing listScip at zib.dehttps://listserv.zib.de/mailman/listinfo/scip
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20180320/433d216e/attachment.html>


More information about the Scip mailing list