Dear Roy,<br><br>There are a few possibilities for changing branching rules in Bonmin.<br><br>First, you have several options to control banching and node selection in Bonmin. The default behavior for variable selection strategy is to do strong branching on the 20 most fractional variables and to use pseudo-cost after 8 strong-branching evaluations are done (see 
<a href="http://dx.doi.org/10.1016/j.orl.2004.04.002">http://dx.doi.org/10.1016/j.orl.2004.04.002</a> for reference). The node strategy by default is best-bound.<br><br>These can be changed by using the options:<br><h4>
number_strong_branch</h4><h4>
number_before_trust</h4><h4>
nodeselect_stra</h4>(see <a href="http://www.coin-or.org/Bonmin/options_list/index.html">http://www.coin-or.org/Bonmin/options_list/index.html</a> for the options values).<br><br>You also have the option to set branching priorities through the ampl model (see here how to set branching priorities: 
<a href="http://www.coin-or.org/Bonmin/use/index.html">http://www.coin-or.org/Bonmin/use/index.html</a>).<br><br>At last, you can code some new branching and node selection rules. <br>This is a much tougher and you will have to be familiar to Bonmin and Cbc code to do that.
<br>You should first have a look at the relevant Cbc base interface classes: CbcObject, CbcBranchingObject, CbcBranchDecision, CbcCompareBase and the implementations (CbcSimpleInteger, CbcIntegerBranchingObject, CbcBranchDefaultDecision, CbcCompareDefault). 
<br>To pass those into Cbc from Bonmin, you would need to modify a little bit the code in CbcBonmin (mainly to pass in the CbcObject&#39;s I can point you to the specific line in the code). All in all, if you are not familiar with Cbc code, it is a big effort.
<br><br>I hope this helps,<br>best regards,<br>Pierre<br><br><br><br><div><span class="gmail_quote">On 8/21/07, <b class="gmail_sendername">Roy Chen</b> &lt;<a href="mailto:ytboy0208@gmail.com">ytboy0208@gmail.com</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi, Everyone<br><br>I am dealing with an MINLP project and I want to solve it using BONMIN. All of my integer variables are binary variables. I am just wondering what branching and node selecting rule BONMIN uses and if it&#39;s possible for me to change the node-selecting and branching code in BONMIN to accommodate to my own problems.
<br><br>Thanks for any idea!<br><span class="sg"><br>Roy<br>
</span><br>_______________________________________________<br>Bonmin mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Bonmin@list.coin-or.org">Bonmin@list.coin-or.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://list.coin-or.org/mailman/listinfo/bonmin" target="_blank">
http://list.coin-or.org/mailman/listinfo/bonmin</a><br><br></blockquote></div><br>