[Cbc] Wrong dual values from Cbc

John J Forrest jjforre at us.ibm.com
Fri Oct 2 14:31:34 EDT 2009


Valentin,

I think the duals are correct.  Remember that bounds are just a compact 
form of a constraint.  So the reduced costs on variables at nonzero bounds 
have to be added in.  The 500 on b(2,1) with value 1 brings it to 1550. 
You are just seeing an alternate optimum solution.

I attach the model as it came out of branch and bound and two clp runs. 
The one with presolve gets the duals that lpsolve or glpk got, while the 
one without presolve gets the duals with b(2,1) at 500.


John Forrest







From:
Valentin Koch <valekoch at interchange.ubc.ca>
To:
cbc at list.coin-or.org
Date:
10/02/2009 12:13 PM
Subject:
[Cbc] Wrong dual values from Cbc
Sent by:
cbc-bounces at list.coin-or.org



Hello,

The small MIP in the attached mps file produces an optimal value of 1550. 
However, if I look at the dual variables that are returned by Cbc/Clp 
(standalone or API), they sum up to 1050 only. Cbc returns me the 
following duals (using getRowPrice() in the API or printi all in the 
standalone):

Balance_1 = -2
Balance_2 = -1
Removal_20 = 1

The correct dual values should be

Balance_1 = -2
Balance_2 = -1
Balance_3 = 1

which sum up to 1550. I tested with Glpk and lp_solve standalone 
applications and both gave me the correct dual values. Is it possible that 
Cbc/Clp is not doing the last iteration for the dual once it found an 
optimal in the primal? Or are the dual values simply the ones from the 
last relaxation? How can I force it in the API to give me the optimal dual 
values?

I appreciate any help or clarification.
With best regards,

Valentin
--
Valentin Koch, Department of Mathematics
University of British Columbia, 3333 University Way
Kelowna, BC  V1V1V7, CANADA
[attachment "model.mps" deleted by John J Forrest/Watson/IBM] 
_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cbc


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/cbc/attachments/20091002/ab9fd0aa/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dual.tar
Type: application/octet-stream
Size: 20480 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20091002/ab9fd0aa/attachment-0001.obj 


More information about the Cbc mailing list