<div dir="ltr">Hi all,<div>I have a difficult mixed-integer problem to solve so, to try to speed the solving process, I&#39;m using this approach :</div><div><br></div><div>0 - store the original column bounds</div><div>1 - fix some column by fixing their bounds<br>
</div><div>2 - solve (through callCBC) by limiting the number of nodes</div><div>3 - restore the original column bounds</div><div>4 - if a new better solution has been found go to (1), otherwise continue to (5)</div><div>
5 - restore the original column bounds</div><div>6 - solve to integrality through callCBC (it usually starts from a much better solution and takes much less time)</div><div><br></div><div>Note:</div><div> - the cbcmodel object is alwasy the same, I just restore the original bounds and node limit after each solve.</div>
<div> - I don&#39;t call reset model before each solve otherwise the stored solutions will be deleted</div><div><br></div><div>This seems to work fine, but when the final solve terminates, it states that the optimal solution has been found even if this solution is worse than the real optimum (I have verified it)</div>
<div><br></div><div>I suspect that restoring only the column bounds between each intermediate solve is not enough to guarantee that the problem remains equal to the original... </div><div>should I also remove the cuts added during the intermediate steps ? </div>
<div>Something else ?</div><div><br></div><div>Thanks in advance,</div><div>Marco</div><div><br></div><div><br></div><div><br></div><div><br></div></div>