<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">solver.getModelPtr()->setIntParam(ClpMaxNumIterationHotStart,
999999);<br>
<br>
<br>
On 03/07/17 20:56, Aleksandr M. Kazachkov wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CABsukBmSswNLA-yEVyU9X0kbrO_o+7fBbMD5wtJfJ5UPahJHxw@mail.gmail.com">
<meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
<div dir="ltr">Hi everyone,
<div><br>
</div>
<div>I am working with the LP relaxation of the attached
problem, which is some variant on the MIPLIB v3 instance
arki001 (after a few modifications), and I have run into a
possible issue with hot start, which I am using to check
strong branching candidates.<br>
</div>
<div><br>
</div>
<div>After changing the upper bound on variable 877 from 1 to 0,
and calling "solveFromHotStart", the solver status is not
optimal (isIterationLimitReached returns true). However, it
seems to me that neither the iteration limit nor time limit is
reached (looking at the source code, I see those are not the
only two reasons for that status). If instead I solve the
subproblem with resolve, an optimal solution is found.</div>
<div><br>
</div>
<div>Is this a bug? Or is it a case of numerical issues with the
instance? If it is the latter, is the following workaround the
right approach? I unmarkHotStart, call resolve to get the
optimal solution to the subproblem, change the bounds back to
their original values, resolve, markHotStart again, and then
continue.</div>
<div><br>
</div>
My setup: Clp version 1.16 on a Fedora machine. The compilation
options are: enable_debug=yes, enable_gnu_packages=yes, with
blas and lapack.
<div><br>
</div>
<div>I would appreciate any advice. Thank you!</div>
<div>Alex</div>
<div><br>
</div>
<div>P.S. Here is some test code, where solver is an instance of
OsiClpSolverInterface.</div>
<div><br>
</div>
<div>
<p><span> </span><span>// Initial solve</span></p>
<p><span> solver.initialSolve();</span></p>
<p><span><br>
</span></p>
</div>
<div>
<p><span> </span><span>// Down branch on 877</span></p>
<p><span> solver.enableFactorization();</span><span> </span><span>//
Is this recommended? I may have run into an issue some
time ago without factorization when doing hot starting...
but I cannot recall for sure. It should not affect this
example.</span></p>
<p><span> solver.markHotStart();</span></p>
<p><span></span><br>
</p>
<p><span> solver.setColUpper(</span><span>877</span><span>,</span><span>0</span><span>);</span></p>
<p><span> solver.solveFromHotStart();</span></p>
<p><span> </span><span>if</span><span>
(solver.isProvenOptimal()) {</span></p>
<p><span> printf(</span><span>"Optimal. Objective: </span><span>%e</span><span>.</span><span>\n</span><span>"</span><span>,
solver.getObjValue());</span></p>
<p><span> } </span><span>else</span><span> </span><span>if</span><span>
(solver.isIterationLimitReached()) {</span></p>
<p><span> printf(</span><span>"Iteration limit reached.</span><span>\n</span><span>"</span><span>);</span></p>
<p><span> } </span><span>else</span><span> {</span></p>
<p><span> printf(</span><span>"Something else happened.</span><span>\n</span><span>"</span><span>);</span></p>
<p>
</p>
<p><span> }</span></p>
<p><span><br>
</span></p>
<p><span> solver.unmarkHotStart();</span></p>
<p><span> solver.disableFactorization();</span></p>
<div><span>
<p><span> </span></p>
<p><span> solver.resolve();</span></p>
<p><span> </span><span>if</span><span>
(solver.isProvenOptimal()) {</span></p>
<p><span> printf(</span><span>"Resolve optimal.
Objective: </span><span>%e</span><span>.</span><span>\n</span><span>"</span><span>,
solver.getObjValue());</span></p>
<p><span> } </span><span>else</span><span> </span><span>if</span><span>
(solver.isIterationLimitReached()) {</span></p>
<p><span> printf(</span><span>"Iteration limit reached.</span><span>\n</span><span>"</span><span>);</span></p>
<p><span> } </span><span>else</span><span> {</span></p>
<p><span> printf(</span><span>"Something else happened.</span><span>\n</span><span>"</span><span>);</span></p>
<p><span> }</span></p>
</span></div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Clp mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Clp@list.coin-or.org">Clp@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=js2M0T-3OIMIVDvokcKjokJbk0F8QOCd0mT4FsVFE88&m=PsP0iwnuDDXSddrao4I1UKJiR-6TBM5qBqPs79oW4x8&s=UkQlK1CGWfXEb6sK-sjBxguVkV4JzbpAdIbn5bBeSDI&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=js2M0T-3OIMIVDvokcKjokJbk0F8QOCd0mT4FsVFE88&m=PsP0iwnuDDXSddrao4I1UKJiR-6TBM5qBqPs79oW4x8&s=UkQlK1CGWfXEb6sK-sjBxguVkV4JzbpAdIbn5bBeSDI&e=</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>