<br><font size=2 face="sans-serif">Valentin,</font>
<br>
<br><font size=2 face="sans-serif">I think the duals are correct. &nbsp;Remember
that bounds are just a compact form of a constraint. &nbsp;So the reduced
costs on variables at nonzero bounds have to be added in. &nbsp;The 500
on b(2,1) with value 1 brings it to 1550. &nbsp;You are just seeing an
alternate optimum solution.</font>
<br>
<br><font size=2 face="sans-serif">I attach the model as it came out of
branch and bound and two clp runs. &nbsp;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.</font>
<br>
<br>
<br><font size=2 face="sans-serif">John Forrest</font>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">From:</font>
<td><font size=1 face="sans-serif">Valentin Koch &lt;valekoch@interchange.ubc.ca&gt;</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">To:</font>
<td><font size=1 face="sans-serif">cbc@list.coin-or.org</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Date:</font>
<td><font size=1 face="sans-serif">10/02/2009 12:13 PM</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Subject:</font>
<td><font size=1 face="sans-serif">[Cbc] Wrong dual values from Cbc</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Sent by:</font>
<td><font size=1 face="sans-serif">cbc-bounces@list.coin-or.org</font></table>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>Hello,<br>
<br>
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):<br>
<br>
Balance_1 = -2<br>
Balance_2 = -1<br>
Removal_20 = 1<br>
<br>
The correct dual values should be<br>
<br>
Balance_1 = -2<br>
Balance_2 = -1<br>
Balance_3 = 1<br>
<br>
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?<br>
<br>
I appreciate any help or clarification.<br>
With best regards,<br>
<br>
Valentin<br>
--<br>
Valentin Koch, Department of Mathematics<br>
University of British Columbia, 3333 University Way<br>
Kelowna, BC &nbsp;V1V1V7, CANADA<br>
[attachment &quot;model.mps&quot; deleted by John J Forrest/Watson/IBM]
_______________________________________________<br>
Cbc mailing list<br>
Cbc@list.coin-or.org<br>
http://list.coin-or.org/mailman/listinfo/cbc<br>
</font></tt>
<br>
<br>