<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:"Aptos",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 56.7pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#467886" vlink="#96607D" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt'>Hi Eduardo,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>You can set the priority for branching on a variable by calling `SCIPchgVarBranchPriority` for that variable. Variables with a higher priority are always branched on first.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>You also should make sure that your Ryan Foster branching rule has a lower priority than the default SCIP one that you want to use (relpscost has 10000 by default)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>Best,<br>Leon<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Scip <scip-bounces@zib.de> <b>On Behalf Of </b>Eduardo Moreno<br><b>Sent:</b> Saturday, May 18, 2024 12:41 PM<br><b>To:</b> scip@zib.de<br><b>Subject:</b> [SCIP] Default branching rules but only over a subset of binary variables.<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Hi All.  I'm coding for the first time a B&P using SCIP. Apologies if this question already exists in the forum (I couldn't find it).<o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>I'm coding a "kind-of" binpacking using Branch-and-Price, where instead of Sum lambda_c >=1 my problem has a binary variable on the RHS, so Sum lambda_c >= y (or may be, Sum lambda_c = y).  In other words, either y=0 (fixing all columns including it to zero) or y=1 (becoming a bin packing)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I also implemented a kind-of Ryan/Foster Branching rule (following the bin packing example). However, this branching rule only applies for the case y=1.  Hence, I need to prioritize the standard default branching but only on the subset of binary "y" variables first, and only after that to enforce the RyanFoster branching rule for the priced variables "lambda". <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>How do you recommend doing that?  Do I need to re-code some default branching rules to deal only with a subset of variables "y"?  Or is there another simpler way? If not, which branching rules do you recommend to adapt? Just a simpler one like assume "branch_leastinf"? Or all of them that apply to my problem? <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>BTW: I cannot relax the integrality of the priced vars, because I can obtain optimal integer solutions for "y" vars using fractional values for "lambda" vars. So that's not a viable solution.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks for the help!<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Eduardo<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-----<o:p></o:p></p></div><div><p class=MsoNormal>Eduardo Moreno, Ph.D.<o:p></o:p></p></div><div><p class=MsoNormal>Professor, Universidad Adolfo IbaƱez, Chile.<o:p></o:p></p></div><div><p class=MsoNormal>Visiting Researcher, Google Research, France<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>