[Clp] question on strange behavior of barrier method
John Forrest
jjhforrest at gmail.com
Mon Oct 26 05:31:41 EDT 2020
Ivo,
Quadratic is nowhere near as well tested as Linear - and even more so
with barrier. When I run a very simple case the complementarity gap
looks slightly suspect - although the simplex cleanup seems fine.
If you feel that you can share the two problems - taking off names etc -
then I can look into it.
John Forrest
On 25/10/2020 20:46, Ivo Stefanov wrote:
> Hello,
>
> I am trying to solve a relatively simple quadratic problem with the
> barrier method, but I seem to be hitting some really strange behavior.
> The problem itself consists of diagonal matrix for the quadratic part
> and has a number of linear constraints that may vary between different
> instances of the problem.
> I have tried the following 2 ways of calling the solver:
>
> 1. Variant 1:
> ClpSolve options;
> options.setSolveType(ClpSolve::SolveType::useBarrier);
> options.setPresolveType(ClpSolve::PresolveType::presolveOn);
>
> ClpSimplex model;
> // ... do some loading of the model, from file or from externally
> provided arrays
>
> model.setPrimalTolerance(1e-6);
> model.setDualTolerance(1e-6);
> model.initialSolve(options);
>
>
> 2. Variant 2:
> ClpSimplex model;
> // ... do some loading of the model, from file or from externally
> provided arrays
>
> model.setPrimalTolerance(1e-6);
> model.setDualTolerance(1e-6);
> model.barrier(true);
>
>
> I encountered an instance of the problem for which variant 1 returns a
> solution that violates the constraints (with status 0) while variant 2
> correctly identifies it as infeasible (status 1). What is interesting
> here is that in case of variant 1 there is a line in the log that states
> the problem is infeasible, however the solver keeps working on it and
> eventually returns status 0 and a solution.
>
> I have also encountered another instance of the problem for which
> variant 1 returns the correct solution while variant 2 returns a
> solution that violates the constraints (with status 0).
>
> At this point I am pretty confident I am missing something in the way I
> am invoking the solver, but I do not seem to be able to figure out what.
> Thanks in advance for any help.
>
>
> _______________________________________________
> Clp mailing list
> Clp at list.coin-or.org
> https://list.coin-or.org/mailman/listinfo/clp
>
More information about the Clp
mailing list