[Coin-discuss] Bug in getRowActivity()

Tobias Achterberg achterberg at zib.de
Thu Sep 25 10:10:26 EDT 2003


Hello Tomas,

> I think I've found a bug in COIN-OR for the CPX-interface. (latest
> release)
> 
> When running a MIP model I have set the limits for a constraint to [36
> 43]. After running the LP solve (on the relaxed problem) I check the
> value with getRowActivity() and get 35.0037. This is obviously wrong.
> 
> Then I calculated the value manually and got 36.9963.
> 
> My conclusion is that row 1174 in
> OsiCpxSolverInterface::getRowActivity() should use + instead of -. If
> this is generally true I don't know.

Yes, you are exactly right. As the manual says:

"Except for ranged rows, the slack values returned consist of the right-hand 
side minus the row activity level. For ranged rows, the value returned is the 
row activity level minus the right-hand side, or, equivalently, the value of the 
internal structural variable that CPLEX creates to represent ranged rows."

The - is now replaced by a +.

Thank you,   Tobi


-- 
Tobias Achterberg          Konrad-Zuse-Zentrum fuer
                            Informationstechnik Berlin
Tel: +49 (0)30 84185-301   Takustr. 7
Email: achterberg at zib.de   D-14195 Berlin, Germany




More information about the Coin-discuss mailing list