[Clp] CoinWarmStartBasis::isFree

Matthew Saltzman mjs at clemson.edu
Fri Feb 27 08:19:58 EST 2009


Non-basic free variables are also sometimes called "superbasic".  In
theory, they can take any value, but the value has to be recorded
someplace and they have to participate in the computation of the basic
values.  The convention while they are nonbasic is simply to set them to
zero.  Then there is no need to record a value and no impact on the
basic variables.

If they have non-zero reduced cost, they enter the basis in the
improving direction, and once there, they will never leave. 

I presume that that is how they are being handled here.

On Fri, 2009-02-27 at 11:21 +0100, Esben Mose Hansen wrote:
> 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.
> 
-- 
                Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs




More information about the Clp mailing list