<div dir="ltr"><div>Hi,</div><div><br></div><div>I think I implemented correctly a branching rule that inherits from ObjBranchRule, but I don't know what value I should assign for the priority. I tried 1000 and it was not being called, I tried 100000 and it was called ok. Just to be sure, where can I find the priority values of the other branching rules used by SCIP?</div><div><br></div><div>Thanks,</div><div>Matheus<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em ter., 26 de mai. de 2020 às 12:24, Matheus Ota <<a href="mailto:matheusota@gmail.com">matheusota@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Leon,</div><div><br></div><div>Thanks for your detailed answer! Yes, I want to query if the lower bound of the variable equals the upper bound, and what is this value.</div><div><br></div><div>Thanks again,</div><div>Matheus<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em ter., 26 de mai. de 2020 às 04:57, Leon Eifler <<a href="mailto:eifler@zib.de" target="_blank">eifler@zib.de</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Matheus,<br>
<br>
everything you want to achieve can be implemented in a branching rule. I <br>
don't think there is a benefit of doing this in a constraint handler. In <br>
your branching rule you can create to child nodes and add all bound <br>
changes that you want to do for S and T to those child nodes.<br>
<br>
> Also, in order to select the sets S and T I also need to know all the <br>
> variables already fixed to 0 and to 1. Is there any way of doing this? <br>
> Should I store all the variables fixed in each branching in a data <br>
> structure? Or there is an easier way of just checking if the variable <br>
> is already fixed or not?<br>
<br>
You can get all fractional variables by calling SCIPgetLPBranchCands (or <br>
do you think of fixed as in local lower bound equals local upper bound?)<br>
<br>
> Also, my idea for branching is not enough to separate all fractional <br>
> solutions. So when it is not possible to use my branching, I want SCIP <br>
> to use the branching it normally uses (I guess it is strong <br>
> branching). Could anyone that knows about this give me some help here?<br>
<br>
You do not have to do anything here. If you give your branching rule a <br>
high priority it will get called first. Just ensure that your branching <br>
rule sets the result pointer to SCIP_DIDNOTFIND or SCIP_DIDNOTRUN <br>
(whichever makes more sense) if it does not find a branching. Then the <br>
branching rule with the next hightest priority will get called.<br>
<br>
Best,<br>
Leon<br>
<br>
<br>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</blockquote></div>
</blockquote></div>