<div dir="ltr">Dear all,<div><br></div><div>I have found a couple of cases where I provide a problem with constraints to SCIP, I set the solution limit to 1, optimize, SCIP finds a solution, but at least one of the constraints is not fulfilled.</div>
<div><br></div><div>I'm not too sure whether this is a finite precision problem (maybe I'm doing something wrong). I have attached a model and solution to illustrate the issue.</div><div><br></div><div>**********************************************************************************</div>
<div>SCIP version 3.1.0, Linux 64 bit</div><div><div>SCIP> read /tmp/model-tpd4cbba1c_26fc_4b5c_81bf_0dcdffc1ec38.pip</div><div><br></div><div>read problem </tmp/model-tpd4cbba1c_26fc_4b5c_81bf_0dcdffc1ec38.pip></div>
<div>============</div><div><br></div><div>original problem has 61 variables (0 bin, 0 int, 0 impl, 61 cont) and 161 constraints</div><div>SCIP> set limits solutions 1</div><div>limits/solutions = 1</div><div>SCIP> optimize</div>
<div>...</div><div><div>  2.7s|     1 |     0 | 32399 |     - |2495k|   0 |   0 | 139 | 205 | 139 |1731 |1697 |   0 |   0 |-2.187679e+04 |-2.003787e+04 |   9.18%</div><div>  2.7s|     1 |     1 | 32399 |     - |2495k|   0 |   0 | 139 | 205 | 139 |1731 |1697 |   0 |   0 |-2.187679e+04 |-2.003787e+04 |   9.18%</div>
<div><br></div><div>SCIP Status        : solving was interrupted [solution limit reached]</div><div>Solving Time (sec) : 2.67</div><div>Solving Nodes      : 1</div><div>Primal Bound       : -2.00378746938832e+04 (1 solutions)</div>
<div>Dual Bound         : -2.18767884307964e+04</div><div>Gap                : 9.18 %</div></div><div><br></div><div><div>SCIP> checksol</div><div><br></div><div>check best solution</div><div>solution is feasible in original problem</div>
</div><div><div>**********************************************************************************</div></div><div><br></div><div>However, if we look at constraint 17:</div><div><br></div><div> c17: -0.166666666666667 x197 y204 z202 + 0.166666666666667 x204 y197 z202 + 0.166666666666667 x197 y202 z204 + -0.166666666666667 x202 y197 z204 + -0.166666666666667 x204 y202 z197 + 0.166666666666667 x202 y204 z197 >= 4.51681931542477e-08<br>
</div><div><br></div><div>The values provided by the solution are:</div><div><br></div><div><div>x197 =                               0.371685887161333;</div><div>y197  =                              -1.53809757847603;</div>
<div>z197   =                             -1.32501091239681;</div><div><br></div><div>x202  =                             0.0972528846406156;</div><div>y202  =                              -1.24399107862034;</div><div>z202  =                              -1.64395150486303;</div>
<div><br></div><div>x204 =                              -0.371685854531146;</div><div>y204  =                               1.53809760270505;</div><div>z204   =                              1.32501089342457;</div></div><div>
<br></div><div><br></div><div>If we put these values into the constraint above, we get</div><div><br></div><div>7.723300589346227e-09 >= 4.51681931542477e-08<br></div><div><br></div><div>which is false. I have found another case with a similar problem where the left hand side of the inequality comes as a small negative number (~ -1e-8).</div>
<div><br></div><div>Is this kind of "constraint almost fulfilled" behaviour to be expected? Am I missing something?</div><div><br></div><div>Best regards,</div><div><br></div><div>Ramon.</div><div><br></div>-- <br>
<div dir="ltr">Dr. Ramón Casero Cañas<br><br>Institute of Biomedical Engineering<br>Department of Engineering Science, University of Oxford<br>Old Road Campus Research Building, Headington <br>Oxford <br>OX3 7DQ<br>UK<br>
<br>tlf         +44 (0) 1865 617716<br>twitter   @Ramon_Casero<br>web      <a href="http://www.cs.ox.ac.uk/people/Ramon.CaseroCanas/" target="_blank">http://www.cs.ox.ac.uk/people/Ramon.CaseroCanas/</a><br></div>
</div></div>