[Cbc] Cbc incorrect concludes integer infeasible for MIQP

John Forrest jjhforrest at gmail.com
Tue Nov 5 06:41:11 EST 2019


Jan-Willem,

I have committed changes to CbcSolver.cpp which I hope fix problem.  The 
QP coding is complex (I would ask who wrote it, but I fear I may have 
done and then tried my best to forget that) - and the heuristic solution 
was not handed over correctly to the main solver.

John Forrest

On 04/11/2019 20:42, Jan-Willem Goossens wrote:
> Hi,
> 
> I’m using CBC 2.10.3 to solve the attached small MIQP (MIP with quad 
> objective), but the solution is reported as “Integer infeasible”, which 
> is not correct.
> 
> The actual solution is x1=1, x2=1, with obj value -7.5. Continuous 
> relaxation solution is x1 = 0.66, x2 = 1.333  with obj value -8.22222. 
> See https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MIQP
> 
> The command I use is
> 
> *cbc -import testmiqp.mps -minimize -solve -solution sol.txt*
> 
> The output shows interesting lines:
> 
>                  […]
> 
> Clp0000I Optimal - objective value -7.5
> 
> Cbc0012I Integer solution of -7.5 found by feasibility pump after 0 
> iterations and 0 nodes (0.00 seconds)
> 
> Cbc0001I Search completed - best objective -7.5, took 0 iterations and 0 
> nodes (0.00 seconds)
> 
> Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
> 
> Clp0006I 0  Obj -7.5
> 
> Clp0000I Optimal - objective value -7.5
> 
> obj -7.5
> 
> *Continuous objective value is -9* - 0.00 seconds
> 
> Testing OsiObject options 0
> 
> Cbc0006I The LP relaxation is infeasible or too expensive
> 
> […]
> 
> So Feasibility Pump finds the integer solution with obj value -7.5, but 
> then reported Continuous objective value of -9 seems incorrect.
> 
> How can I solve this MIQP with cbc?
> 
> Many thanks for any help.
> 
> Jan-Willem
> 
> 
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> https://list.coin-or.org/mailman/listinfo/cbc
> 



More information about the Cbc mailing list