[Clp] Hot start fails to find optimal solution

Aleksandr M. Kazachkov akazachk at cmu.edu
Thu Jul 6 09:52:39 EDT 2017


I am not sure if I am doing something wrong, but I have tried that, as well
as solver.setIntParam(OsiMaxNumIterationHotStart, 999999); it does not
help. When I query solver.getIterationCount(), it is 154.

The last time I glanced at this (though I could very well be mistaken), I
believe I saw that fastDual or whileIterating encountered some convergence
issue (in ClpSimplexDual).

There may be other parameters that I should try, but I am not sure which
ones; I apologize if this has been asked and answered before.

On Thu, Jul 6, 2017 at 9:19 AM John Forrest <john.forrest at fastercoin.com>
wrote:

> solver.getModelPtr()->setIntParam(ClpMaxNumIterationHotStart, 999999);
>
>
>
> On 03/07/17 20:56, Aleksandr M. Kazachkov wrote:
>
> Hi everyone,
>
> 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.
>
> 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.
>
> 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.
>
> 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.
>
> I would appreciate any advice. Thank you!
> Alex
>
> P.S. Here is some test code, where solver is an instance of
> OsiClpSolverInterface.
>
>   // Initial solve
>
>   solver.initialSolve();
>
>
>   // Down branch on 877
>
>   solver.enableFactorization(); // 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.
>
>   solver.markHotStart();
>
>
>   solver.setColUpper(877,0);
>
>   solver.solveFromHotStart();
>
>   if (solver.isProvenOptimal()) {
>
>     printf("Optimal. Objective: %e.\n", solver.getObjValue());
>
>   } else if (solver.isIterationLimitReached()) {
>
>     printf("Iteration limit reached.\n");
>
>   } else {
>
>     printf("Something else happened.\n");
>
>   }
>
>
>   solver.unmarkHotStart();
>
>   solver.disableFactorization();
>
>
>
>   solver.resolve();
>
>   if (solver.isProvenOptimal()) {
>
>     printf("Resolve optimal. Objective: %e.\n", solver.getObjValue());
>
>   } else if (solver.isIterationLimitReached()) {
>
>     printf("Iteration limit reached.\n");
>
>   } else {
>
>     printf("Something else happened.\n");
>
>   }
>
>
> _______________________________________________
> Clp mailing listClp at list.coin-or.orghttps://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=
>
>
> _______________________________________________
> Clp mailing list
> Clp at list.coin-or.org
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=S0ppFBpGWf1xOsmm_XdTdA&m=E91wOUn5w1klNgvMg0s1w6afI9Zq_wkkj1Y2trMoyGA&s=GveWmkAjgV-E3EugCmLBGH6Tu0wQsx178LjlsxYq0HE&e=
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20170706/bd3747dc/attachment.html>


More information about the Clp mailing list