<div dir="ltr">Hello,<div><br></div><div>I&#39;ve come across a MILP which CBC reports as proven infeasible, but which GLPK solves.</div><div><br></div><div>I&#39;ve uploaded the problem in *.lp format here:</div><div><a href="http://pastebin.com/EEifbfpy">http://pastebin.com/EEifbfpy</a><br></div><div><br></div><div>The problem was automatically generated based on some data. It&#39;s one of many, and is the only one I&#39;ve come across so far that exhibits this problem. I guess it&#39;s something to do with tolerances or precision in CBC. Is there anything I can do to get CBC to solve it?</div><div><br></div><div>See below the outputs fro CBC and GLPK (via GLPSOL).</div><div><br></div><div>Kind regards,</div><div><br></div><div>Josh</div><div><br></div><div><br></div><div><br></div><div>The output from CBC:</div><div><div><br></div><div>Welcome to the CBC MILP Solver</div><div>Version: 2.7.5</div><div>Build Date: Nov 10 2011</div><div>Revision Number: 1759</div><div><br></div><div>command line - C:\MinGW32-xy\msys\1.0\local\bin\cbc.exe -import problem.lp -gomory on -branchAndCut (default strategy 1)</div><div>Coin0009I  CoinLpIO::readLp(): Maximization problem reformulated as minimization</div><div>Option for gomoryCuts changed from ifmove to on</div><div>Continuous objective value is -4.72248e+006 - 0.00 seconds</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 23 substitutions</div><div>Cgl0004I processed model has 23 rows, 46 columns (23 integer) and 46 elements</div><div>Cbc0038I Solution found of -4.72139e+006</div><div>Cbc0038I Before mini branch and bound, 23 integers at bound fixed and 23 continuous</div><div>Cbc0038I Mini branch and bound did not improve solution (0.01 seconds)</div><div>Cbc0038I After 0.01 seconds - Feasibility pump exiting with objective of -4.72139e+006 - took 0.00 seconds</div><div>Cbc0012I Integer solution of -4721393.5 found by feasibility pump after 0 iterations and 0 nodes (0.01 seconds)</div><div>Cbc0009I Objective coefficients multiple of 0.075</div><div>Cbc0001I Search completed - best objective -4721393.495, took 0 iterations and 0 nodes (0.01 seconds)</div><div>Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost</div><div>Clp0014I Perturbing problem by 0.001 % of 0.1 - largest nonzero change 0 (% 0) - largest zero change 0</div><div>Clp0006I 0  Obj -4721178 Primal inf 0.12781497 (23)</div><div>Clp0006I 0  Obj -4721178 Primal inf 0.12781497 (23)</div><div>Clp0006I 0  Obj -4721178 Primal inf 0.12781497 (23)</div><div>Clp0001I Primal infeasible - objective value -4721178</div><div>Cuts at root node changed objective from -4.72139e+006 to -4.72139e+006</div><div>Probing was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>Gomory was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>Knapsack was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>Clique was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>MixedIntegerRounding2 was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>FlowCover was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div><br></div><div>Result - Problem proven infeasible</div><div><br></div><div>Objective value:                100000000000000010000000000000000000000000000000000.00000000</div><div>Enumerated nodes:               0</div><div>Total iterations:               0</div><div>Time (CPU seconds):             0.01</div><div>Time (Wallclock seconds):       0.01</div><div><br></div><div>Total time (CPU seconds):       0.01   (Wallclock seconds):       0.01</div></div><div><br></div><div>And the output from GLPK:</div><div><br></div><div><div>GLPSOL: GLPK LP/MIP Solver, v4.52</div><div>Parameter(s) specified in the command line:</div><div> --cuts --lp problem.lp</div><div>Reading problem data from `problem.lp&#39;...</div><div>117 rows, 69 columns, 184 non-zeros</div><div>46 integer variables, all of which are binary</div><div>253 lines were read</div><div>GLPK Integer Optimizer, v4.52</div><div>117 rows, 69 columns, 184 non-zeros</div><div>46 integer variables, all of which are binary</div><div>Preprocessing...</div><div>23 constraint coefficient(s) were reduced</div><div>23 rows, 46 columns, 46 non-zeros</div><div>23 integer variables, all of which are binary</div><div>Scaling...</div><div> A: min|aij| = 1.000e+000  max|aij| = 2.737e+003  ratio = 2.737e+003</div><div>GM: min|aij| = 1.000e+000  max|aij| = 1.000e+000  ratio = 1.000e+000</div><div>EQ: min|aij| = 1.000e+000  max|aij| = 1.000e+000  ratio = 1.000e+000</div><div>2N: min|aij| = 6.683e-001  max|aij| = 1.039e+000  ratio = 1.555e+000</div><div>Constructing initial basis...</div><div>Size of triangular part is 23</div><div>Solving LP relaxation...</div><div>GLPK Simplex Optimizer, v4.52</div><div>23 rows, 46 columns, 46 non-zeros</div><div>*     0: obj =  2.300000000e+001  infeas = 0.000e+000 (0)</div><div>*    46: obj =  4.721393495e+006  infeas = 0.000e+000 (0)</div><div>OPTIMAL LP SOLUTION FOUND</div><div>Integer optimization begins...</div><div>Gomory&#39;s cuts enabled</div><div>MIR cuts enabled</div><div>Cover cuts enabled</div><div>Clique cuts enabled</div><div>Constructing conflict graph...</div><div>No conflicts found</div><div>+    46: mip =     not found yet &lt;=              +inf        (1; 0)</div><div>+    46: &gt;&gt;&gt;&gt;&gt;  4.721393495e+006 &lt;=  4.721393495e+006   0.0% (1; 0)</div><div>+    46: mip =  4.721393495e+006 &lt;=     tree is empty   0.0% (0; 1)</div><div>INTEGER OPTIMAL SOLUTION FOUND</div><div>Time used:   0.0 secs</div><div>Memory used: 0.1 Mb (98120 bytes)</div></div></div>