[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