scipopt / soplex

Sequential object-oriented simPlex
Other
56 stars 18 forks source link

Broken LP from polymake? #6

Closed lkastner closed 5 months ago

lkastner commented 1 year ago

I am running a large computation and encounter LPs for which soplex will have the status ERROR at the following point: https://github.com/polymake/polymake/blob/Releases/bundled/soplex/apps/polytope/src/soplex_interface.cc#L217

I am using polymake 4.7 with soplex 6.0.1. I configured soplex with -DCMAKE_BUILD_TYPE=Debug for more debug output. The commands I ran in polymake were:

$p = lp2poly("debug.lp");
prefer_now "soplex"; print $p->LP->MINIMAL_VALUE;

For this to work I had to augment the first inequality of the attached file to say 0 x0 >= -1 instead of just >= -1, I think this might just be an issue with polymakes lp2poly parser. The working LP instances have the same inequality.

The file debug.lp is attached. debug.lp.txt

The output is as follows:

polytope > prefer_now "soplex"; print $p->LP->MINIMAL_VALUE;
polymake: applying rule precondition : CONE_AMBIENT_DIM ( LINEALITY_SPACE : FACETS | INEQUALITIES )
polymake: precondition : CONE_AMBIENT_DIM ( LINEALITY_SPACE : FACETS | INEQUALITIES ) satisfied
polymake: applying rule soplex.simplex: LP.MINIMAL_VALUE, LP.MINIMAL_VERTEX, FEASIBLE : LP.LINEAR_OBJECTIVE, FACETS | INEQUALITIES
Initial floating-point solve . . .
Simplifier result: 1
Floating-point infeasible.
Setting up LP to test for feasibility.
Initial floating-point solve . . .
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 72 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 0
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

type |   time |   iters | facts |    shift | viol sum | viol num | obj value 
  L  |    0.0 |       0 |     8 | 9.38e+15 | 7.20e+01 |        4 | -2.22044605e-16
  E  |    0.0 |       1 |     9 | 0.00e+00 | 9.38e+15 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    10 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    10 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    11 | 9.17e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    11 | 0.00e+00 | 9.17e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      24 |    12 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      24 |    12 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 9.38e+15 | 7.20e+01 |        4 | -2.22044605e-16
  E  |    0.0 |       1 |     2 | 0.00e+00 | 9.38e+15 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 9.17e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 9.17e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      24 |     5 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      24 |     5 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 98 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (2).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 1.88e+16 | 7.20e+01 |        4 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 1.88e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 1.88e+16 | 7.20e+01 |        4 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 1.88e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (2).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 2.81e+16 | 7.20e+01 |        4 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 2.81e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      18 |    11 | 4.67e+00 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      18 |    11 | 0.00e+00 | 4.67e+00 |        2 | 0.00000000e+00
  L  |    0.0 |      20 |    12 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    12 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    13 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    13 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  E  |    0.0 |      23 |    13 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 2.81e+16 | 7.20e+01 |        4 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 2.81e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      18 |     3 | 4.67e+00 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      18 |     3 | 0.00e+00 | 4.67e+00 |        2 | 0.00000000e+00
  L  |    0.0 |      20 |     4 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     4 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     5 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     5 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (2).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 3.75e+16 | 7.20e+01 |        4 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 3.75e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 3.75e+16 | 7.20e+01 |        4 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 3.75e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Error while testing for infeasibility.

SoPlex status       : error [unspecified]
Solving time (sec)  : 0.02
Iterations          : 188
Objective value     : 0.00000000e+00

polymake:  WARNING: rule soplex.simplex: LP.MINIMAL_VALUE, LP.MINIMAL_VERTEX, FEASIBLE : LP.LINEAR_OBJECTIVE, FACETS | INEQUALITIES ( applied to parent ) failed: Error in setting up soplex. at /home/datastore/kastner/repos/polymakes/master/bundled/soplex/apps/polytope/rules/main.rules line 29.
polymake: applying rule FEASIBLE : INEQUALITIES | EQUATIONS
Initial floating-point solve . . .
Simplifier result: 1
Floating-point infeasible.
Setting up LP to test for feasibility.
Initial floating-point solve . . .
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 72 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 0
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

type |   time |   iters | facts |    shift | viol sum | viol num | obj value 
  L  |    0.0 |       0 |     8 | 9.38e+15 | 7.20e+01 |        4 | 2.22044605e-16
  E  |    0.0 |       1 |     9 | 0.00e+00 | 9.38e+15 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    10 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    10 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    11 | 9.17e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    11 | 0.00e+00 | 9.17e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      24 |    12 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      24 |    12 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 9.38e+15 | 7.20e+01 |        4 | 2.22044605e-16
  E  |    0.0 |       1 |     2 | 0.00e+00 | 9.38e+15 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 9.17e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 9.17e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      24 |     5 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      24 |     5 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 98 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 1.88e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 1.88e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 1.88e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 1.88e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 2.81e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 2.81e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      18 |    11 | 4.67e+00 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      18 |    11 | 0.00e+00 | 4.67e+00 |        2 | 0.00000000e+00
  L  |    0.0 |      20 |    12 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    12 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    13 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    13 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  E  |    0.0 |      23 |    13 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 2.81e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 2.81e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      18 |     3 | 4.67e+00 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      18 |     3 | 0.00e+00 | 4.67e+00 |        2 | 0.00000000e+00
  L  |    0.0 |      20 |     4 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     4 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     5 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     5 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 3.75e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 3.75e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 3.75e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 3.75e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Error while testing for infeasibility.

SoPlex status       : error [unspecified]
Solving time (sec)  : 0.02
Iterations          : 188
Objective value     : 0.00000000e+00

polymake:  WARNING: rule FEASIBLE : INEQUALITIES | EQUATIONS ( applied to parent ) failed: Error in setting up soplex. at /home/datastore/kastner/repos/polymakes/master/apps/polytope/rules/initial.rules line 85.
polymake: applying rule soplex.simplex: LP.MAXIMAL_VALUE, LP.MAXIMAL_VERTEX, FEASIBLE : LP.LINEAR_OBJECTIVE, FACETS | INEQUALITIES
Initial floating-point solve . . .
Simplifier result: 1
Floating-point infeasible.
Setting up LP to test for feasibility.
Initial floating-point solve . . .
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 72 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 0
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

type |   time |   iters | facts |    shift | viol sum | viol num | obj value 
  L  |    0.0 |       0 |     8 | 9.38e+15 | 7.20e+01 |        4 | 2.22044605e-16
  E  |    0.0 |       1 |     9 | 0.00e+00 | 9.38e+15 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    10 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    10 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    11 | 9.17e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    11 | 0.00e+00 | 9.17e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      24 |    12 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      24 |    12 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 9.38e+15 | 7.20e+01 |        4 | 2.22044605e-16
  E  |    0.0 |       1 |     2 | 0.00e+00 | 9.38e+15 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 9.17e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 9.17e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      24 |     5 | 2.78e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      24 |     5 | 0.00e+00 | 2.78e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 98 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 1.88e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 1.88e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 1.88e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 1.88e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 2.81e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 2.81e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      18 |    11 | 4.67e+00 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      18 |    11 | 0.00e+00 | 4.67e+00 |        2 | 0.00000000e+00
  L  |    0.0 |      20 |    12 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    12 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    13 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    13 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  E  |    0.0 |      23 |    13 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 2.81e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 2.81e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      18 |     3 | 4.67e+00 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      18 |     3 | 0.00e+00 | 4.67e+00 |        2 | 0.00000000e+00
  L  |    0.0 |      20 |     4 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     4 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     5 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     5 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 3.75e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 | 3.75e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 3.75e+16 | 7.20e+01 |        4 | 1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 | 3.75e+16 |        5 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 | 7.50e-01 |        2 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 | 0.00e+00 |        0 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 | 2.50e-01 |        1 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving Real LP.

Increasing Markowitz threshold.
Simplifier removed 45 rows, 20 columns, 100 nonzeros, 1 col bounds, 106 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0
Max. row violation = 0
Max. reduced cost violation = 15/8
Max. dual violation = 2001599834386887/324518553658426726783156020576256
Error while testing for infeasibility.

SoPlex status       : error [unspecified]
Solving time (sec)  : 0.01
Iterations          : 188
Objective value     : 0.00000000e+00

polymake:  WARNING: rule soplex.simplex: LP.MAXIMAL_VALUE, LP.MAXIMAL_VERTEX, FEASIBLE : LP.LINEAR_OBJECTIVE, FACETS | INEQUALITIES ( applied to parent ) failed: Error in setting up soplex. at /home/datastore/kastner/repos/polymakes/master/bundled/soplex/apps/polytope/rules/main.rules line 24.
polymake: applying rule cdd.simplex: LP.MINIMAL_VALUE, LP.MINIMAL_VERTEX, FEASIBLE : LP.LINEAR_OBJECTIVE, FACETS | INEQUALITIES
polymake: used package cdd
  cddlib
  Implementation of the double description method of Motzkin et al.
  Copyright by Komei Fukuda.
  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/

polytope > 

Is there something wrong with my LP?

lkastner commented 1 year ago

My colleague @benlorenz tested this with full verbosity and the output is here: https://gist.github.com/benlorenz/82df8d561a5d9a62fd9c0ad94f80cac7

ambros-gleixner commented 1 year ago

Yes, so SoPlex just starts cycling between primal and dual pivots (called looping in SoPlex) and cannot obtain a sufficiently precise floating-point solution in order to refine the rational solution.

The first constrait " C0 : >= -1" looks suspicious. Maybe SoPlex interprets that strangely?

benlorenz commented 1 year ago

The same happens when removing this extra constraint, I also managed to trigger the same error with soplex from the command line by running (with the C0 line removed):

soplex --solvemode=2 --readmode=1 debug.lp

This solvemode (SOLVEMODE_RATIONAL) corresponds to the flags that are set in the polymake code, originally written by @pfetsch.

With soplex 4.0.1 this does not happen and it returns infeasible:

$ ~/software/prefixes/scip-6.0.1/bin/soplex --solvemode=2 --readmode=1 debug.lp 
SoPlex version 4.0.1 [mode: optimized] [precision: 8 byte] [rational: GMP 6.2.1] [githash: e89d7d5]
Copyright (c) 1996-2019 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

int:readmode = 1
int:solvemode = 2

Reading (rational) LP file <debug.lp> . . .
Reading took 0.00 seconds.

LP has 44 rows 19 columns and 97 nonzeros.

Initial floating-point solve . . .
Simplifier result: INFEASIBLE
Floating-point infeasible.
Setting up LP to test for feasibility.
Initial floating-point solve . . .
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 76 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.e0
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

type |   time |   iters | facts |    shift | violation |     obj value 
  L  |    0.0 |       0 |     8 | 9.38e+15 |  7.20e+01 | -2.22044605e-16
  E  |    0.0 |       1 |     9 | 0.00e+00 |  9.38e+15 | 0.00000000e+00
  L  |    0.0 |      20 |    10 | 2.78e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |    10 | 0.00e+00 |  2.78e-01 | 0.00000000e+00
  L  |    0.0 |      21 |    11 | 9.17e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |    11 | 0.00e+00 |  9.17e-01 | 0.00000000e+00
  L  |    0.0 |      24 |    12 | 2.78e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      24 |    12 | 0.00e+00 |  2.78e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 9.38e+15 |  7.20e+01 | -2.22044605e-16
  E  |    0.0 |       1 |     2 | 0.00e+00 |  9.38e+15 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.78e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 |  2.78e-01 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 9.17e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 |  9.17e-01 | 0.00000000e+00
  L  |    0.0 |      24 |     5 | 2.78e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      24 |     5 | 0.00e+00 |  2.78e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Increasing Markowitz threshold.
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 102 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.61679056923619804377437413761071e-17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 1.88e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 |  1.88e+16 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 1.88e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 |  1.88e+16 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Increasing Markowitz threshold.
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 110 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.61679056923619804377437413761071e-17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 2.81e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 |  2.81e+16 | 0.00000000e+00
  L  |    0.0 |      18 |    11 | 4.67e+00 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      18 |    11 | 0.00e+00 |  4.67e+00 | 0.00000000e+00
  L  |    0.0 |      20 |    12 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |    12 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |    13 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |    13 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  E  |    0.0 |      23 |    13 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 2.81e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 |  2.81e+16 | 0.00000000e+00
  L  |    0.0 |      18 |     3 | 4.67e+00 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      18 |     3 | 0.00e+00 |  4.67e+00 | 0.00000000e+00
  L  |    0.0 |      20 |     4 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |     4 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |     5 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |     5 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Increasing Markowitz threshold.
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 110 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.61679056923619804377437413761071e-17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 3.75e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 |  3.75e+16 | 0.00000000e+00
  L  |    0.0 |      20 |    11 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |    11 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |    12 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |    12 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 3.75e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 |  3.75e+16 | 0.00000000e+00
  L  |    0.0 |      20 |     3 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |     3 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |     4 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |     4 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Increasing Markowitz threshold.
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 110 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.61679056923619804377437413761071e-17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 4.69e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 |  4.69e+16 | 0.00000000e+00
  L  |    0.0 |      19 |    11 | 9.44e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      19 |    11 | 0.00e+00 |  9.44e-01 | 0.00000000e+00
  L  |    0.0 |      20 |    12 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |    12 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |    13 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |    13 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 4.69e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 |  4.69e+16 | 0.00000000e+00
  L  |    0.0 |      19 |     3 | 9.44e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      19 |     3 | 0.00e+00 |  9.44e-01 | 0.00000000e+00
  L  |    0.0 |      20 |     4 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |     4 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  L  |    0.0 |      21 |     5 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      21 |     5 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Increasing Markowitz threshold.
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 110 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.61679056923619804377437413761071e-17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (3).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 5.63e+16 |  7.20e+01 | -1.23259516e-32
  L  |    0.0 |       1 |     9 | 5.63e+16 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |       1 |    10 | 0.00e+00 |  5.63e+16 | 0.00000000e+00
  L  |    0.0 |      18 |    11 | 9.44e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      18 |    11 | 0.00e+00 |  9.44e-01 | 0.00000000e+00
  L  |    0.0 |      20 |    12 | 5.00e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |    12 | 0.00e+00 |  5.00e-01 | 0.00000000e+00
  L  |    0.0 |      22 |    13 | 4.17e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      22 |    13 | 0.00e+00 |  4.17e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Numerical troubles during floating-point solve.
Turning off preprocessing.

  L  |    0.0 |       0 |     1 | 5.63e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |     2 | 0.00e+00 |  5.63e+16 | 0.00000000e+00
  L  |    0.0 |      18 |     3 | 9.44e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      18 |     3 | 0.00e+00 |  9.44e-01 | 0.00000000e+00
  L  |    0.0 |      20 |     4 | 5.00e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      20 |     4 | 0.00e+00 |  5.00e-01 | 0.00000000e+00
  L  |    0.0 |      22 |     5 | 4.17e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      22 |     5 | 0.00e+00 |  4.17e-01 | 0.00000000e+00
Caught exception <XSOLVE14 Abort solving due to looping> while solving real LP.

Increasing Markowitz threshold.
Simplifier removed 44 rows, 20 columns, 98 nonzeros, 1 col bounds, 110 row bounds
Reduced LP has 0 rows 0 columns 0 nonzeros
Simplifier removed all rows and columns
 --- unsimplifying solution and basis
Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.1875e1
Max. dual violation = 0.61679056923619804377437413761071e-17
Refined floating-point solve . . .

  L  |    0.0 |       0 |     9 | 6.57e+16 |  7.20e+01 | -1.23259516e-32
  E  |    0.0 |       1 |    10 | 0.00e+00 |  6.57e+16 | 0.00000000e+00
  L  |    0.0 |      18 |    11 | 2.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      18 |    11 | 0.00e+00 |  2.50e-01 | 0.00000000e+00
  L  |    0.0 |      19 |    12 | 7.50e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |      19 |    12 | 0.00e+00 |  7.50e-01 | 0.00000000e+00
  E  |    0.0 |      21 |    13 | 0.00e+00 |  0.00e+00 | 0.00000000e+00

Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.32838747282909859875e17
Max. dual violation = 0.32838747282909863e17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (4).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     0 | 8.89e-01 |  0.00e+00 | 0.00000000e+00
  E  |    0.0 |       0 |     0 | 0.00e+00 |  8.89e-01 | 0.00000000e+00
  E  |    0.0 |       2 |     1 | 0.00e+00 |  0.00e+00 | 0.00000000e+00

Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.32838747282909863875e17
Max. dual violation = 0.32838747282909863e17
Refined floating-point solve . . .

  L  |    0.0 |       0 |     0 | 0.00e+00 |  0.00e+00 | 0.00000000e+00
  L  |    0.0 |       0 |     0 | 0.00e+00 |  0.00e+00 | 0.00000000e+00

Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.32838747282909863875e17
Max. dual violation = 0.32838747282909863e17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (4).
Refined floating-point solve . . .

  L  |    0.0 |       0 |     0 | 0.00e+00 |  0.00e+00 | 0.00000000e+00
  L  |    0.0 |       0 |     0 | 0.00e+00 |  0.00e+00 | 0.00000000e+00

Floating-point optimal.
Max. bound violation = 0.e0
Max. row violation = 0.e0
Max. reduced cost violation = 0.32838747282909863875e17
Max. dual violation = 0.32838747282909863e17
Performing rational reconstruction . . .
Reconstructed solution dual infeasible (4).
Performing rational factorization . . .
Tolerances reached.
Primal infeasible.  Dual Farkas ray available.

SoPlex status       : problem is solved [infeasible]
Solving time (sec)  : 0.01
Iterations          : 305
Objective value     : 1.00000000e+100

PS: $0 \ge -1$ should always be valid and appears here because polymake uses a homogeneous encoding, i.e. there is one extra homogenization coordinate with the inequality $x_h \ge 0$. The polyhedron lives at height one, so setting $x_h = 1$ gives the extra constraint.

ambros-gleixner commented 1 year ago

I can confirm and reproduce this. It looks to me like a bug in postsolving of the presolver/simplifier. I have not had time to look into it, but a workaround is to turn off presolving, -s0 on the command line or setIntParam(SIMPLIFIER, SIMPLIFIER_OFF) in the api. Does this work for you?

lkastner commented 1 year ago

@ambros-gleixner This works for me, thank you. Feel free to close this issue, I'll leave it open for now since you said there might be a bug, so I am unsure whether I should close.

ambros-gleixner commented 1 year ago

Thanks!

leoneifler commented 1 year ago

Some good news here: We are developing an improvement to SoPlex exact solving mode that involves precision boosting. With that update, we can solve the lp that is broken here. While it will still take some time until that feature arrives in the master branch, we will soon provide a mirror of that branch here on GitHub (I will post and update when here, as well)

leoneifler commented 5 months ago

A late update: The precision boosting feature has been merged to master and will be part of the upcoming SoPlex 7 release.