<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">Hello Martin,<br><br></div><span style="font-family:arial,sans-serif;font-size:13px">I think I understand the problem. I just have a couple of questions:</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><ol style="font-family:arial,sans-serif;font-size:13px"><li style="margin-left:15px">I can not see clearly how this situation can be fixed by implementing my own branching rule</li>
<li style="margin-left:15px">I have checked that there some branching rules that are currently available on <span class="">SCIP</span>.  How can I know which branching rule does <span class="">SCIP</span> uses by default? Because these branching rules seem to be quite general, I would like to try first on swapping among them. Is there a way to make a callback to force the use of one of them instead of the default one? If not, is the only way to implement my personalized branching rule by adding explicitly a constraint handler?</li>
</ol><p style="font-family:arial,sans-serif;font-size:13px">Thanks in advance.</p><p style="font-family:arial,sans-serif;font-size:13px"><br></p><div class="gmail_extra" style="font-family:arial,sans-serif;font-size:13px">
<br>---<br>Cristina Nuñez</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-28 20:46 GMT+02:00 Martin Bergner <span dir="ltr"><<a href="mailto:bergner@or.rwth-aachen.de" target="_blank">bergner@or.rwth-aachen.de</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Cristina,<br>
<div class=""><br>
somewhere in your detailed explanation, you write:<br>
> Even<br>
> that your comment about branching was focus on variables with upper<br>
> bound = 0, now I am thinking that maybe the branching rule is somehow<br>
> forbidding some of the variables. How can I check this behaviour?  I do<br>
> not use any special rule for the branching. All the branching procedure<br>
> is set as default.<br>
</div>This is probably the issue:<br>
When you don't specify a branching rule, SCIP branches on the priced<br>
variables. If they are binary, they are fixed to one in one branch and<br>
zero in the other. If the variable is fixed to zero, then nothing in the<br>
pricing problem forbids it from being generated again.<br>
<br>
Suppose now you have a non-degenerate variable in the basis that is<br>
removed by fixing it to zero. Since nothing in the pricing forbids it<br>
from doing so, it regenerates that variable that has been fixed. After<br>
all, this variable is highly attractive (negative reduced cost) and<br>
should be put into the basis, it was there before it was forcibly<br>
removed by branching.<br>
<br>
Do you see the problem? Whenever SCIP fixes a variable to zero, your<br>
pricing problem generates it again (and you thus have the problem you see).<br>
<br>
The remedy is: You have to (and in fact everyone  when using<br>
branch-and-price with SCIP with integral priced variables should)<br>
implement your own branching rule (maybe Ryan-Foster or something more<br>
general, depending on your problem at hand).<br>
<br>
I hope I could clarify the issue.<br>
<br>
Regards,<br>
Martin<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>---<br>Cristina Nuñez<br>
</div>