[Coin-lpsolver] Bug in RowStatus: Lower vs. Upper Bound
Ulrich Spoerlein
spoerlein at informatik.uni-wuerzburg.de
Tue Oct 18 06:01:37 EDT 2005
Good morning everyone,
There is a bug in CLP which I was unable to find yet. The symptoms are
as follows:
ClpSimplex::getRowStatus() is returning '3' (==atLowerBound) when in
fact the row is at it's upper bound, as can be seen from the solution or
from the basis.
I printed all the column and row stats and the basis, the whole document
is at [1].
It looks roughly like this:
getBasis().print() shows these columns
BLBLLBLLLBLLBLBBBLBBL...
and I get these stats from getColumnStatus()
13133133313313111311...
So this is fine and corresponds to the definition of the Status enum.
The rows are different:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBUBBBBUBBBBBBBBBUBB
vs.
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111311113111111111311
So getBasis() tells me, some are at the upper bound (which in fact they
are!) but getRowStatus() is returning 3 which is defined as
"atLowerBound".
I have no clue to what's going on here.
Another thing: Shouldn't fixed cols/rows be printed as 'F' by getBasis()
and not as 'U' or 'L'?
[1] http://www.galgenberg.net/~q/clp_basis.txt
Ulrich Spoerlein
--
PGP Key ID: F0DB9F44 Encrypted mail welcome!
Fingerprint: F1CE D062 0CA9 ADE3 349B 2FE8 980A C6B5 F0DB 9F44
Ok, which part of "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn."
didn't you understand?
More information about the Clp
mailing list