<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>