Giter VIP home page Giter VIP logo

Comments (32)

matbesancon avatar matbesancon commented on May 31, 2024 1

Thanks a lot, I confirm I can reproduce this with the LP file (the error does not appear with the MPS on my side)

from scip.

matbesancon avatar matbesancon commented on May 31, 2024 1

I'll check now what I get in release mode, it might be that the assert removed leads to something incorrect

from scip.

matbesancon avatar matbesancon commented on May 31, 2024 1

Should I create an issue in the SoPlex repo?

no need, I think something should be handled on the SCIP side in any case

from scip.

cjrodriguez98 avatar cjrodriguez98 commented on May 31, 2024 1

Hey! Just checking if any progress here o could we help in any way?

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

hi @VonAlphaBisZulu, I'm getting an error when trying to read in the file, could you write it as an MPS ?

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

Hi, you find the problem here attached. I don't know why, but the LP-file solves with both 8.0.0 and 8.0.1, while the MPS shows infeasible in both. I created both, LP and MPS at the same breakpoint with the function scip.writeProblem. And the error I described earlier doesn't show. Something doesn't fit.

I can reproduce my problem consistently. Not sure, how to share it correctly.

scip_issue_23.zip

from scip.

ambros-gleixner avatar ambros-gleixner commented on May 31, 2024

Can you model the xor constraints as linear constraints x+y=1? Or will you have more complicated xor constraints in the future?

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

@ambros-gleixner You're right, I will do this first.

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

Updated LP and MPS. Same situation as in previous comment, but I also get the lines mentioned in my first post. So, you should be able to reproduce the problem. In SCIP throwing these errors might be okay, but with pyscipopt this leads to a crash. Should this issue be moved to pyscipopt?

scip_issue_23.zip,

This is the output from SCIP 8.0.0

SCIP> read scip_issue_23.lp 

read problem <scip_issue_23.lp>
============

original problem has 112 variables (26 bin, 0 int, 0 impl, 86 cont) and 121 constraints
SCIP> optimize

presolving:
(round 1, fast)       20 del vars, 16 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 16 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 16 del conss, 0 add conss, 19 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 16 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, exhaustive) 20 del vars, 23 del conss, 0 add conss, 20 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, exhaustive) 20 del vars, 23 del conss, 0 add conss, 20 chg bounds, 9 chg sides, 0 chg coeffs, 12 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
presolving (7 rounds: 7 fast, 3 medium, 3 exhaustive):
 20 deleted vars, 23 deleted constraints, 0 added constraints, 20 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 88 implications, 1 cliques
presolved problem has 92 variables (11 bin, 0 int, 0 impl, 81 cont) and 98 constraints
     12 constraints of type <varbound>
     58 constraints of type <linear>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl. 
  0.0s|     1 |     0 |    66 |     - |  1220k |   0 |  92 | 100 |  70 |   0 |  0 |   2 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |   120 |     - |  1233k |   0 |  92 | 103 |  70 |   0 |  2 |   5 |   0 | 0.000000e+00 |      --      |    Inf | unknown
d 0.0s|    26 |    12 |   206 |   7.4 |fracdivi|   7 |  92 | 107 |  70 |   0 |  1 |   9 |   0 | 1.750000e+00 | 3.550000e+00 | 102.86%|  10.89%
* 0.0s|    47 |     0 |   262 |   5.2 |    LP  |   7 |  92 | 109 |  70 |   0 |  1 |  11 |   0 | 3.000000e+00 | 3.000000e+00 |   0.00%|  99.71%

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 47
Primal Bound       : +3.00000000000000e+00 (2 solutions)
Dual Bound         : +3.00000000000000e+00
Gap                : 0.00 %

This is the output from SCIP 8.0.1

SCIP> read scip_issue_23.lp 

read problem <scip_issue_23.lp>
============

original problem has 112 variables (26 bin, 0 int, 0 impl, 86 cont) and 121 constraints
SCIP> optimize

presolving:
(round 1, fast)       20 del vars, 16 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 16 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 16 del conss, 0 add conss, 19 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 16 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, exhaustive) 20 del vars, 23 del conss, 0 add conss, 20 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, exhaustive) 20 del vars, 23 del conss, 0 add conss, 20 chg bounds, 9 chg sides, 0 chg coeffs, 12 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
   (0.0s) symmetry computation skipped: there exist constraints that cannot be handled by symmetry methods.
presolving (7 rounds: 7 fast, 3 medium, 3 exhaustive):
 20 deleted vars, 23 deleted constraints, 0 added constraints, 20 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 88 implications, 1 cliques
presolved problem has 92 variables (11 bin, 0 int, 0 impl, 81 cont) and 98 constraints
     12 constraints of type <varbound>
     58 constraints of type <linear>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    66 |     - |  3730k |   0 |  92 | 100 |  70 |   0 |  0 |   2 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |   120 |     - |  3737k |   0 |  92 | 103 |  70 |   0 |  2 |   5 |   0 | 0.000000e+00 |      --      |    Inf | unknown
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=91, lower=-0, upper=0
d 0.0s|    26 |    12 |   207 |   7.4 |fracdivi|   7 |  92 | 107 |  70 |   0 |  1 |   9 |   0 | 1.750000e+00 | 3.550000e+00 | 102.86%|  10.89%
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=91, lower=-0, upper=0
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=42, lower=-0, upper=-0
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=11, lower=-0, upper=-0
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=11, lower=-0, upper=-0
* 0.0s|    47 |     0 |   279 |   5.6 |    LP  |   7 |  92 | 110 |  70 |   0 |  1 |  12 |   0 | 3.000000e+00 | 3.000000e+00 |   0.00%|  99.71%

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 47
Primal Bound       : +3.00000000000000e+00 (2 solutions)
Dual Bound         : +3.00000000000000e+00
Gap                : 0.00 %

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

I know my problem has some variables fixed to zero, and hopefully this is not what causes the error. I fix and resolve to generate alternative solutions. I understand that removing the variables would be better practice, but I still feel that this should not throw an error (and neither does SCIP 8.0.0, CPLEX or Gurobi).

from scip.

ambros-gleixner avatar ambros-gleixner commented on May 31, 2024

Of course, this fixing and unfixing should work. So if this happens only through PySCIPOpt, can you provide a PySCIPOpt log? Does it abort after the first ELEAVE message?

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

Okay, this is the full output when I run my code in Python on verbosity level 4. On the last line, it just stalls out. Nothing happens after this point, and I have to interrupt. A CI pipeline of mine on Github, which uses PySCIPOpt, throws a sefault. Not sure after how much time.

I am uncertain if PySCIPOpt contributes anything to this output:

presolving:
(round 1, fast)       20 del vars, 17 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 17 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 17 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 18 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, fast)       20 del vars, 18 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, fast)       21 del vars, 19 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 7, exhaustive) 21 del vars, 26 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 8, exhaustive) 21 del vars, 26 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 12 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
   (0.0s) symmetry computation skipped: there exist constraints that cannot be handled by symmetry methods.
presolving (9 rounds: 9 fast, 3 medium, 3 exhaustive):
 21 deleted vars, 26 deleted constraints, 0 added constraints, 21 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 88 implications, 1 cliques
presolved problem has 91 variables (11 bin, 0 int, 0 impl, 80 cont) and 97 constraints
     12 constraints of type <varbound>
     57 constraints of type <linear>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    24 |     - |  1144k |   0 |  91 |  97 |  41 |   0 |  0 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    31 |     - |  1154k |   0 |  91 |  97 |  44 |   3 |  1 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    32 |     - |  1169k |   0 |  91 |  97 |  45 |   4 |  2 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    33 |     - |  1169k |   0 |  91 |  97 |  46 |   5 |  3 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    34 |     - |  1169k |   0 |  91 |  97 |  47 |   6 |  4 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |    37 |     - |  1177k |   0 |  91 |  97 |  47 |   6 |  6 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=72, lower=0, upper=0
d 0.0s|    33 |    12 |   126 |   3.3 |veclendi|  10 |  91 | 101 |  52 |   0 |  2 |   4 |   0 | 1.350000e+00 | 3.000000e+00 | 122.22%|  14.25%
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=72, lower=0, upper=0
ELEAVE56 ERROR! Tried to put a fixed column variable into the basis. idx=79, lower=0, upper=0

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 47
Primal Bound       : +3.00000000000000e+00 (1 solutions)
Dual Bound         : +3.00000000000000e+00
Gap                : 0.00 %
  [linear] <c124>: <x6>[B] (+1) +<x7>[B] (+1) +<x15>[B] (+1) <= 2;
;
violation: right hand side is violated by 1
all 1 solutions given by solution candidate storage are infeasible

presolving:
(round 1, fast)       20 del vars, 18 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 18 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 18 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 19 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, fast)       20 del vars, 19 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, fast)       21 del vars, 20 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 7, exhaustive) 21 del vars, 27 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 8, exhaustive) 21 del vars, 27 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 13 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
   (0.0s) symmetry computation skipped: there exist constraints that cannot be handled by symmetry methods.
presolving (9 rounds: 9 fast, 3 medium, 3 exhaustive):
 21 deleted vars, 27 deleted constraints, 0 added constraints, 21 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 90 implications, 2 cliques
presolved problem has 91 variables (11 bin, 0 int, 0 impl, 80 cont) and 98 constraints
     12 constraints of type <varbound>
     57 constraints of type <linear>
      1 constraints of type <logicor>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    19 |     - |  1416k |   0 |  91 |  98 |  42 |   0 |  0 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    26 |     - |  1432k |   0 |  91 |  98 |  45 |   3 |  1 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    27 |     - |  1432k |   0 |  91 |  98 |  46 |   4 |  2 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    28 |     - |  1432k |   0 |  91 |  98 |  47 |   5 |  3 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    29 |     - |  1432k |   0 |  91 |  98 |  48 |   6 |  4 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |    32 |     - |  1432k |   0 |  91 |  98 |  48 |   6 |  6 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

For completeness the output of SCIP 8.0.0

presolving:
(round 1, fast)       20 del vars, 17 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 17 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 17 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 18 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, fast)       20 del vars, 18 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, fast)       21 del vars, 19 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 7, exhaustive) 21 del vars, 26 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 8, exhaustive) 21 del vars, 26 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 12 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
presolving (9 rounds: 9 fast, 3 medium, 3 exhaustive):
 21 deleted vars, 26 deleted constraints, 0 added constraints, 21 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 88 implications, 1 cliques
presolved problem has 91 variables (11 bin, 0 int, 0 impl, 80 cont) and 97 constraints
     12 constraints of type <varbound>
     57 constraints of type <linear>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    24 |     - |  1144k |   0 |  91 |  97 |  41 |   0 |  0 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    30 |     - |  1154k |   0 |  91 |  97 |  44 |   3 |  1 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    32 |     - |  1169k |   0 |  91 |  97 |  46 |   5 |  2 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    34 |     - |  1169k |   0 |  91 |  97 |  47 |   6 |  3 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |    37 |     - |  1177k |   0 |  91 |  97 |  47 |   6 |  5 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
d 0.0s|    33 |    12 |   133 |   3.6 |fracdivi|  10 |  91 | 101 |  52 |   0 |  2 |   4 |   0 | 1.350000e+00 | 3.000000e+00 | 122.22%|  14.25%

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 47
Primal Bound       : +3.00000000000000e+00 (1 solutions)
Dual Bound         : +3.00000000000000e+00
Gap                : 0.00 %
  [linear] <c124>: <x6>[B] (+1) +<x7>[B] (+1) +<x15>[B] (+1) <= 2;
;
violation: right hand side is violated by 1
all 1 solutions given by solution candidate storage are infeasible

presolving:
(round 1, fast)       20 del vars, 18 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 18 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 18 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 19 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, fast)       20 del vars, 19 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, fast)       21 del vars, 20 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 7, exhaustive) 21 del vars, 27 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 8, exhaustive) 21 del vars, 27 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 13 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
presolving (9 rounds: 9 fast, 3 medium, 3 exhaustive):
 21 deleted vars, 27 deleted constraints, 0 added constraints, 21 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 90 implications, 2 cliques
presolved problem has 91 variables (11 bin, 0 int, 0 impl, 80 cont) and 98 constraints
     12 constraints of type <varbound>
     57 constraints of type <linear>
      1 constraints of type <logicor>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    19 |     - |  1416k |   0 |  91 |  98 |  42 |   0 |  0 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    25 |     - |  1432k |   0 |  91 |  98 |  45 |   3 |  1 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    27 |     - |  1432k |   0 |  91 |  98 |  47 |   5 |  2 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    29 |     - |  1432k |   0 |  91 |  98 |  48 |   6 |  3 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |    32 |     - |  1432k |   0 |  91 |  98 |  48 |   6 |  5 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
* 0.0s|    41 |    14 |   125 |   2.6 |    LP  |   9 |  91 |  98 |  51 |  12 |  2 |   6 |   0 | 2.500000e+00 | 3.900000e+00 |  56.00%|  27.86%
* 0.0s|    44 |    11 |   134 |   2.7 |    LP  |   9 |  91 |  98 |  50 |  13 |  2 |   6 |   0 | 2.500000e+00 | 3.550000e+00 |  42.00%|  29.72%

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 55
Primal Bound       : +3.55000000000000e+00 (2 solutions)
Dual Bound         : +3.55000000000000e+00
Gap                : 0.00 %
  [linear] <c126>: <x5>[B] (+1) +<x6>[B] (+1) +<x7>[B] (+1) +<x9>[B] (+1) <= 3;
;
violation: right hand side is violated by 1
1/2 feasible solution given by solution candidate storage, new primal bound 3.900000e+00

presolving:
(round 1, fast)       20 del vars, 19 del conss, 0 add conss, 18 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 40 impls, 0 clqs
(round 2, fast)       20 del vars, 19 del conss, 0 add conss, 18 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 3, fast)       20 del vars, 19 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 4, fast)       20 del vars, 20 del conss, 0 add conss, 20 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 5, fast)       20 del vars, 20 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 6, fast)       21 del vars, 21 del conss, 0 add conss, 21 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 7, exhaustive) 21 del vars, 28 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 0 upgd conss, 42 impls, 0 clqs
(round 8, exhaustive) 21 del vars, 28 del conss, 0 add conss, 21 chg bounds, 9 chg sides, 0 chg coeffs, 14 upgd conss, 42 impls, 0 clqs
   (0.0s) probing cycle finished: starting next cycle
presolving (9 rounds: 9 fast, 3 medium, 3 exhaustive):
 21 deleted vars, 28 deleted constraints, 0 added constraints, 21 tightened bounds, 0 added holes, 9 changed sides, 0 changed coefficients
 90 implications, 2 cliques
presolved problem has 91 variables (11 bin, 0 int, 0 impl, 80 cont) and 99 constraints
     12 constraints of type <varbound>
     57 constraints of type <linear>
      2 constraints of type <logicor>
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00
transformed 1/1 original solutions to the transformed problem space

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    15 |     - |  1948k |   0 |  91 |  99 |  43 |   0 |  0 |   0 |   0 | 0.000000e+00 | 3.900000e+00 |    Inf | unknown
  0.0s|     1 |     0 |    21 |     - |  1964k |   0 |  91 |  99 |  46 |   3 |  1 |   0 |   0 | 0.000000e+00 | 3.900000e+00 |    Inf | unknown
  0.0s|     1 |     0 |    23 |     - |  1964k |   0 |  91 |  99 |  48 |   5 |  2 |   0 |   0 | 0.000000e+00 | 3.900000e+00 |    Inf | unknown
  0.0s|     1 |     0 |    25 |     - |  1964k |   0 |  91 |  99 |  49 |   6 |  3 |   0 |   0 | 0.000000e+00 | 3.900000e+00 |    Inf | unknown
  0.0s|     1 |     2 |    28 |     - |  1965k |   0 |  91 |  99 |  49 |   6 |  5 |   0 |   0 | 0.000000e+00 | 3.900000e+00 |    Inf | unknown

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 83
Primal Bound       : +3.90000000000000e+00 (1 solutions)
Dual Bound         : +3.90000000000000e+00
Gap                : 0.00 %
     28 constraints of type <indicator>
transformed objective value is always integral (scale: 0.05)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
  0.0s|     1 |     0 |    22 |     - |  3052k |   0 |  91 | 100 |  44 |   0 |  0 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    26 |     - |  3067k |   0 |  91 | 100 |  47 |   3 |  1 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    28 |     - |  3067k |   0 |  91 | 100 |  49 |   5 |  2 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     0 |    30 |     - |  3067k |   0 |  91 | 100 |  50 |   6 |  3 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown
  0.0s|     1 |     2 |    33 |     - |  3067k |   0 |  91 | 100 |  50 |   6 |  5 |   0 |   0 | 0.000000e+00 |      --      |    Inf | unknown

SCIP Status        : problem is solved [infeasible]
Solving Time (sec) : 0.00
Solving Nodes      : 47
Primal Bound       : +1.00000000000000e+20 (0 solutions)
Dual Bound         : +1.00000000000000e+20
Gap                : 0.00 %

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

However, I have to say that PySCIPOpt does a terrible job at catching errors. Virtually every bit from SCIP that goes into the error stream kills your Python program, which makes debugging very tedious. The PySCIPOpt documentation is minimalistic and adds only very little to the SCIP docs.

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

Sorry, for completeness:

  • with the LP file, I get the ELEAVE56 error but eventually solution optimal
  • with the MPS file, I get problem infeasible

What is the "expected" status for this problem?

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

Optimal (minimal) with value 3 (just take the solution of SCIP 8.0.0 if unsure)
Example vector:

x000 = 0.0
x001 = 0.0
x002 = 0.0
x003 = 0.0
x004 = 0.0
x005 = 1.0
x006 = 1.0
x007 = 0.0
x008 = 0.0
x009 = 0.0
x010 = 0.0
x011 = 0.0
x012 = 0.0
x013 = 0.0
x014 = 1.0
x015 = 1.0
x016 = 1.0
x017 = 1.0
x018 = 1.0
x019 = 1.0
x020 = 1.0
x021 = 0.0
x022 = 1.0
x023 = 0.0
x024 = 1.0
x025 = 0.0
x026 = 0.0
x027 = 2.0
x028 = 0.0
x029 = 0.0
x030 = 2.0
x031 = 0.0
x032 = 0.0
x033 = 0.0
x034 = 0.0
x035 = 0.0
x036 = 0.0
x037 = 0.0
x038 = 0.0
x039 = 0.0
x040 = 0.0
x041 = 0.0
x042 = 0.0
x043 = 0.0
x044 = 0.0
x045 = 0.0
x046 = 0.0
x047 = 0.0
x048 = 0.0
x049 = 0.0
x050 = 0.0
x051 = 0.0
x052 = 0.0
x053 = 0.0
x054 = 0.8
x055 = 0.0
x056 = 0.0
x057 = 0.0
x058 = 4.5
x059 = 4.5
x060 = 0.0
x061 = 0.0
x062 = 0.0
x063 = 4.5
x064 = 0.0
x065 = 0.0
x066 = 0.0
x067 = 9.0
x068 = 4.5
x069 = 4.5
x070 = 0.0
x071 = 4.5
x072 = 0.0
x073 = 0.0
x074 = 0.0
x075 = 0.0
x076 = 0.0
x077 = 0.0
x078 = 0.0
x079 = 0.0
x080 = 0.0
x081 = 0.0
x082 = 0.0
x083 = 2.0
x084 = 0.0
x085 = 0.0
x086 = 0.0
x087 = 0.0
x088 = 2.0
x089 = 0.0
x090 =-2.0
x091 = 0.0
x092 = 0.0
x093 = 0.0
x094 = 0.0
x095 = 0.0
x096 = 0.0
x097 = 0.0
x098 = 0.0
x099 = 0.0
x100 = 0.0
x101 = 0.0
x102 = 0.0
x103 = 0.0
x104 = 2.0

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

Thanks!

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

hi @VonAlphaBisZulu, SCIP 8.0.2 was released so I rechecked your issue, it seems that the LP file always finds a solution for me.

The MPS I now have a consistent failure for some reason. Can you check whether v8.0.2 fixed your issue?

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

SCIP 8.0.2 did not fix my issue:

For completeness, again the zip:
scip_issue_23.zip
containing the identical problem as mps and lp file.

  • scip_issue_23.mps
  • scip_issue_23.lp

Procedure to solve these:

  1. start scip
  2. read /path/to/scip_issue_23.mps or /path/to/scip_issue_23.lp
  3. optimize

Solving yields:

File SCIP 8.0.0 SCIP 8.0.1 SCIP 8.0.2
scip_issue_23.lp $\textcolor{green}{\text{optimal (optval=3) }}$ $\textcolor{orange}{\text{optimal (optval=3) but raises ELEAVE56 ERROR! }}$ $\textcolor{orange}{\text{optimal (optval=3) but raises ELEAVE56 ERROR! }}$
scip_issue_23.mps $\textcolor{green}{\text{optimal (optval=3) }}$ $\textcolor{red}{\text{stalls at ELEAVE56 ERROR! }}$ $\textcolor{red}{\text{stalls at ELEAVE56 ERROR! }}$

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

I get a different behavior and am wondering what could lead to this.
How did you build SCIP here? With PaPILO? If you have the executable, you can just run the binary and show the header

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

I tested on, Windows 11 and WSL2 with Ubuntu 20.04. In both cases, I installed scip through conda, simply with the command:
conda install -c conda-forge scip=8.0.2

Headers are in Windows (with python 3.7.12):

SCIP version 8.0.2 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 6.0.2] [GitHash: 5f0473c4fb]
Copyright (C) 2002-2022 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

External libraries: 
  Soplex 6.0.2         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 45f6420d]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
  ZLIB 1.2.12          General purpose compression library by J. Gailly and M. Adler (zlib.net)
  AMPL/MP 4e2d45c4     AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.1.1         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) [GitHash: 01fada2]
  bliss 0.77           Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)
  Ipopt 3.14.10        Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)

In WSL (with python 3.9.13):

SCIP version 8.0.2 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 6.0.2] [GitHash: 5f0473c4fb]
Copyright (C) 2002-2022 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

External libraries:
  Soplex 6.0.2         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 45f6420d]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
  ZLIB 1.2.12          General purpose compression library by J. Gailly and M. Adler (zlib.net)
  GMP 6.2.1            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  ZIMPL 3.5.3          Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
  AMPL/MP 4e2d45c4     AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.1.1         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) [GitHash: 01fada2]
  bliss 0.77           Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)
  Ipopt 3.14.10        Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)

Results in terms of errors and optimal values are identical in Windows and Linux for me.

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

ok interesting, in debug mode I systematically get

scip: /scratch/opt/mbesanco/scip-dev/scip/src/scip/cons_indicator.c:3419: presolRoundIndicator: Assertion `SCIPconsGetNUpgradeLocks(consdata->lincons) == 0' failed.

no matter the version

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

this is a tough one, for a bit of swapping through version combinations, it seems the culprit for the warning is the new soplex version, not the new SCIP.

But it also seems that additional checks in debug modes were always throwing an error for the MPS, both for v800 and v802

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

As a mere user, I am not familiar with the SCIP code and building process. Just to express my thoughts: "ELEAVE56 ERROR! Tried to put a fixed column variable into the basis." should be caught and, if anything, raise a warning. The user has no way to avoid this, and when solving the identical problem from an LP-file, the solver continues after ELEAVE56. I'm sure you'll come up with a good solution.

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

Should I create an issue in the SoPlex repo?

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

Yes I agree that something should be caught by the solver, what it is exactly is still unclear to me.
I tried something different here, taking the MPS file and reading it through JuMP, the model produced by JuMP is valid and produces the expected optimal solution without any error nor assert in debug

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

the question the last point raises is whether the problem in the MPS is well-formed, in which case it is the model construction part that is at fault

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

@VonAlphaBisZulu the issue is solved with the LP file it seems, the MPS still causes the same issue, when using 8.0.3

from scip.

cjrodriguez98 avatar cjrodriguez98 commented on May 31, 2024

Hello everyone!

I am having the same issue but I couldn't understand If you had found a solution.

Any help is welcomed

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

@cjrodriguez98 This problem has not been fixed yet (SCIP 8.1)

from scip.

VonAlphaBisZulu avatar VonAlphaBisZulu commented on May 31, 2024

I think that problem persists. Is there anything we can do to help you, to fix it @matbesancon and @ambros-gleixner? Unfortunately, some applications rely on indicator constraints and this makes it impossible to use SCIP for those.

from scip.

matbesancon avatar matbesancon commented on May 31, 2024

thanks for pinging us back on this, I assigned @leoneifler who is working on LP solving

from scip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.