[Clp] CoinWarmStartBasis::isFree

Esben Mose Hansen esben at ange.dk
Fri Feb 27 05:21:08 EST 2009


Hi,

in CoinWarmStartBasis.hpp, there is an enum

    55   enum Status {
     56     isFree = 0x00,              ///< Nonbasic free variable
     57     basic = 0x01,               ///< Basic variable
     58     atUpperBound = 0x02,        ///< Nonbasic at upper bound
     59     atLowerBound = 0x03         ///< Nonbasic at lower bound
     60   };

which contains the value isFree. I have been unable to find out what exactly 
the meaning of "Nonbasic free variable" is, and none of the books we have on 
the subjects can enlighten me on that point. The issue has become important 
because the ABACUS framework (very rarely) crashes because this case is not 
handled in a switch (in osi2slackvariable(), if anyone cares). I would patch 
the problem, but I hesitate to do this without knowing what the meaning of 
this state is. 

In my (perhaps simple) world, a variable is either in the basis or out of the 
basis. If it is out of the basis, it is either at the lower bound (classically 
0) or at it's upper bound (classically infinity, hence most books on the 
subject ignores this case). So if someone could enlighten me I would be most 
grateful :) Obviously, it is a quite rare case, since ABACUS should crash 
every time any variable returns with this state.

-- 
kind regards, Esben
Ange Optimization Aps
http://ange.dk




More information about the Clp mailing list