<br><font size=2 face="sans-serif">Jim,</font>
<br>
<br><font size=2 face="sans-serif">Good point. setBestSolution cleans
up and checks solution so I think it should run before cut generators which
are going to use the solution. I expect the generators to generate
cuts which may cut off this solution - but in your case you also want to
reject that solution.</font>
<br>
<br><font size=2 face="sans-serif">What I could do is save old solution
and cutoff and then if any cut generator returns a cut which is "infeasible"
(as defined in OsiCut.hpp then that says restore old solution (and the
infeasible cut is obviously discarded). At the same time you could
generate the global cut you wanted and that would be added.</font>
<br>
<br><font size=2 face="sans-serif">Or some variant e.g. use "effectiveness".
</font>
<br>
<br><font size=2 face="sans-serif">Shall I implement and what method of
flagging this situation do you think is best?</font>
<br>
<br><font size=2 face="sans-serif">John Forrest</font>
<br>
<br><font size=2 face="sans-serif">So what if I saved old solution</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>"Jim Hurd" <jimh@datagrove.com></b>
</font>
<br><font size=1 face="sans-serif">Sent by: coin-discuss-bounces@list.coin-or.org</font>
<p><font size=1 face="sans-serif">08/23/2005 01:47 PM</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
Discussions about open source software for Operations Research
</font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif"><coin-discuss@list.coin-or.org></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">[Coin-discuss] How to cut
off "optimal" solution in CBC</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2 face="Arial">I have a cut generator that may cut off a
found integer/optimal solution when it runs. I have it set to run atSolution,
which works, but looking at the code for CbcModel::setBestSolution
it seems that the solution is installed prior to running the cuts. When
I run my Cbc based solver branchAndBound terminates with a solution that
should be cut off. How do I get Cbc to respect these global cuts? There
are too many to just put them all in the model at the beginning.</font>
<br><font size=2 face="Arial"> </font>
<br><font size=2 face="Arial">Thanks,</font>
<br><font size=2 face="Arial"> </font>
<br><font size=2 face="Arial">Jim Hurd</font>
<br><font size=2 face="Arial"> </font><font size=2><tt>_______________________________________________<br>
Coin-discuss mailing list<br>
Coin-discuss@list.coin-or.org<br>
http://list.coin-or.org/mailman/listinfo/coin-discuss<br>
</tt></font>
<br>