<div dir="ltr"><div><div><div><div>Hi Gerald,<br><br></div>Thanks for your explanation. I now understand how these constraints work. So they are not basically added to the subproblems causing additional constraints(which I was trying to avoid).<br></div>So I am now creating two child nodes using SCIPcreatechild, then create the constraint of the conshdlr and add them to the node by SCIPaddconsnode. <br></div>After one iteration, when one constraint is added to a node,and the prop is done , it goes in the pricing(to see if any cons is active and if so change bounds), but SCIPconshdlrGetConss(conshdlr) returns no constraint! I have checked the conshdlr is found by SCIPfindConshdlr, and it is the one attached to the node. Is there a way to check if the constraint is being created? because the SCIPcreatecon seems to be working fine, and I have no other idea why it can happen.<br></div><div>I would appreciate your suggestions.<br><br></div><div>Thanks.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 19, 2015 at 8:00 AM, Gerald Gamrath <span dir="ltr"><<a href="mailto:gamrath@zib.de" target="_blank">gamrath@zib.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
Dear Bahareh,<br>
<br>
you say that you store corresponding bounds and other information in
the consdata and use the CONSACTIVE method to apply them in the
pricer data. Both of this uses a (set of) constraints, not just the
constraint handler. Of course, within the constraint handler, you
define how the data of a single constraint should look like and what
should be done if the constraint is activated. So I don't really get
your question, you are already using constraints...<br>
<br>
I don't see how you could have the information about bound changes
for each node other than by storing them in constraints sticked to
nodes. You might store all this in the constraint handler data, but
you would then need to keep track of all created nodes and store a
"copy" of the tree there, which is not convenient.<br>
Also the CONSACTIVE callback is not called if no constraint is
activated...<br>
<br>
So I think there is no easy way to do this without creating
constraints.<br>
<br>
Best,<br>
Gerald<div><div class="h5"><br>
<br>
<div>Am 18.03.2015 um 19:02 schrieb Bahareh
Eghtesadi:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi <span style="font-size:12.8000001907349px">Stephen,</span>
<div><span style="font-size:12.8000001907349px"><br>
</span></div>
<div><span style="font-size:12.8000001907349px">Thank you for
your response. </span></div>
<div><span style="font-size:12.8000001907349px">Actually I have
been looking at the Bin Packing example. Here is what I have
done so far: In my branching rule, I choose which pricing
variable to branch on, create two nodes and store the
corresponding bounds and other information in the consdata
for each node. In the conshdlr, </span><span style="font-size:12.8000001907349px"> </span><span style="font-size:12.8000001907349px">in CONSACTIVE method, </span><span style="font-size:12.8000001907349px">I change the bounds
stored in the pricer data. </span></div>
<div>Do I still have to create the constraint of <span style="font-size:12.8000001907349px">constraint handler in
each node? Because I do not have any constraint in fact, I
am using the handlr to apply changes to my pricer
data(bounds). I set the NEEDSCONS flag to False, and was
hoping that it would be enough.</span></div>
<div>Also, in this case I would not need to check whether the
"cons" is active in my variable pricer. Is this right?</div>
<div>I appreciate your help. This is my first experience with
SCIP, and I am afraid I have oversimplified everything.</div>
<div><br>
</div>
<div><br>
</div>
<div>Thanks. </div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Mar 18, 2015 at 8:42 AM,
Stephen J Maher <span dir="ltr"><<a href="mailto:maher@zib.de" target="_blank">maher@zib.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi
Bahareh,<br>
<br>
Branching on original variables can be performed similar to
the way used for branching on constraints, i.e. Ryan-Foster
branching.<br>
<br>
In order to implement this type of branching you will need
to write your own constraint handler, branching rule and
modify the variable pricer. The constraint handler will take
some reference to the original variable and selected bounds
as input and determine which master problem variables
satisfy this constraint based on given variable bounds. In
your branching rule, you will decide what original variable
to branch on, create two branching nodes and then add a
constraint of your constraint handler to each with
appropriate bounds. In your variable pricer, it is then
necessary to check whether any constraints of this type
exist at the current node and apply the appropriate variable
bounds on the original variables.<br>
<br>
An example of Ryan-Foster branching is given in the Bin
Packing example included with SCIP. It should be possible to
use this as a guide for your own rule branching on original
variables.<br>
<br>
Cheers,<br>
<br>
Stephen
<div>
<div><br>
<br>
On 13/03/15 07:14, Bahareh Eghtesadi wrote:<br>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
Hi all,<br>
<br>
I am tying to implement a branch and price algorithm.
I want to branch<br>
on the original variables that are not present in the
master problem,<br>
and then change their bound in the pricing problems.
But I am not sure<br>
how to do this. I think I can't use SCIPbranchvar
directly from<br>
mybranchrule. If I use a constraint handler, I
wouldn't make a<br>
constraint of that type (because there is no such
constraint), then how<br>
can I include it in my branchrule?<br>
<br>
<br>
Thanks in advance.<br>
<br>
<br>
</div>
</div>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="http://listserv.zib.de/mailman/listinfo/scip" target="_blank">http://listserv.zib.de/mailman/listinfo/scip</a><br>
<br>
</blockquote>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="http://listserv.zib.de/mailman/listinfo/scip" target="_blank">http://listserv.zib.de/mailman/listinfo/scip</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div><span style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Regards</span><br style="background-color:rgb(255,255,255);color:rgb(153,153,153)">
<span style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Bahareh
Eghtesadi</span><br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Scip mailing list
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a>
<a href="http://listserv.zib.de/mailman/listinfo/scip" target="_blank">http://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><span style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Regards</span><br style="background-color:rgb(255,255,255);color:rgb(153,153,153)"><span style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Bahareh Eghtesadi</span><br></div>
</div>