[Clp] Clp_initialPrimalSolve claims infeasibility where it should not

Henning Thielemann coinor at henning-thielemann.de
Tue Dec 5 05:37:45 EST 2023


On Mon, 4 Dec 2023, John Forrest wrote:

> Unable to reproduce - either on stable or master.
>
> The exact driver used and log file would be useful.

See attached minimal example, it is really just loading the model and 
solving. It gives following output:

Coin0001I At line 1 NAME          ClpDefau
Coin0001I At line 2 ROWS
Coin0001I At line 7 COLUMNS
Coin0001I At line 19 RHS
Coin0001I At line 23 RANGES
Coin0001I At line 26 BOUNDS
Coin0001I At line 35 ENDATA
Coin0002I Problem ClpDefau has 3 rows, 4 columns and 7 elements
Clp0027I Model was imported from initial-primal-infeasible.mps in 0.000105 
seconds
Coin0506I Presolve 2 (-1) rows, 2 (-2) columns and 4 (-3) elements
Clp0006I 0  Obj -928 Primal inf 97.083331 (2) Dual inf 1.675e+08 (2)
Clp0029I End of values pass after 2 iterations
Clp0006I 2  Obj -1168.0667 Primal inf 68.608332 (1)
Clp0006I 2  Obj -1168.0667 Primal inf 68.608332 (1) Dual inf 1.999999 (1)
Clp0006I 3  Obj -1030.85 Primal inf 68.608332 (1)
Clp0001I Primal infeasible - objective value -1030.85
Coin0505I Presolved problem not optimal, resolve after postsolve
Coin0511I After Postsolve, objective -1030.85, infeasibilities - dual 0 
(0), primal 205.825 (1)
Clp0032I PrimalInfeasible objective -1030.85 - 3 iterations time 0.002, 
Presolve 0.00
status: 1


Status 1 means "primal infeasible", right?

If you out-comment model.setOptimizationDirection or replace 
model.initialPrimalSolve by another method, status becomes 0 and no 
infeasibility is reported.

I use clp-1.17.9 from NixOS-23.11, but the library is named 
libClp.so.1.14.9.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: infeasible.cpp
Type: text/x-c++src
Size: 369 bytes
Desc: 
URL: <http://list.coin-or.org/pipermail/clp/attachments/20231205/d7103020/attachment.bin>


More information about the Clp mailing list