<div dir="ltr"><div><div>Hi Jonathan,<br><br>I can think of a number of reasonable ways of modeling this problem, so you'll have to determine what is best for the application. Most straightforwardly, you could take your objective function to be the distance of the solution from the target. To formulate this mathematically, distance would have to be defined in terms of a specific norm. The difficulty of solving the resulting problem would then depend on what norm was chosen. It may or may not be possible to solve such a problem with Cbc itself.<br><br>Alternatively, you could also consider searching for the best point according to some other objective in some neighborhood, such as the set of all solutions that are obtained by rounding the values in your given solution up or down. This could be formulated as in integer program and solved with Cbc. <br><br></div>Cheers,<br><br></div>Ted<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 2, 2017 at 12:54 AM, Jonathan Lee <span dir="ltr"><<a href="mailto:jonathan.lee.975@gmail.com" target="_blank">jonathan.lee.975@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I have an integer program whose objective is to be as close as possible to a non-integer solution that I already have ("close" defined below). Is there any way I can guide Cbc to search near that solution? I've looked into CbcCompare and CbcHeuristic, but the documentation and examples haven't been helpful.</div><div><br></div><div>By way of explanation, suppose I had a model with two integer variables x and y. I want (x,y) to be "as close as possible" to (2.7, 5.2). So (3, 5) would be best and I want to check there first. Then, I guess, (2,5),(3,6),(2,6), etc.<br></div><div><br></div><div>Strictly speaking, the "target" solution I have is basically the average value that each variable takes (over all solutions). I want an integer solution that would appear to have been drawn from this distribution (say, by passing a chi-squared test).</div><div><br></div><div>Thanks for any help</div><span class="HOEnZb"><font color="#888888"><div>--Jonathan<br></div></font></span></div>
<br>______________________________<wbr>_________________<br>
Cbc mailing list<br>
<a href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
<a href="https://list.coin-or.org/mailman/listinfo/cbc" rel="noreferrer" target="_blank">https://list.coin-or.org/<wbr>mailman/listinfo/cbc</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dr. Ted Ralphs<br>Professor and Interim Department Chair<br>Industrial and Systems Engineering<br>Lehigh University<br>(610) 628-1280<br>ted 'at' lehigh 'dot' edu<br><a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br></div></div></div></div></div></div>
</div>