Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Basis Status Codes

    Posted 03/30/12 11:46 AM

    Originally posted by: Eumpfenbach


    I am aware of what the codes are.

    NotABasicStatus = -1
    Basic = 1
    AtLower = 0
    AtUpper = 2
    FreeOrSuperbasic = 3

    Pardon me for asking a question that is more of a classroom question than a cplex application question, but what is the difference between "Basic" and "AtLower" or "AtUpper"? I understand the idea of basic vs. nonbasic, and am not concerned about superbasic at the moment. Are all variables with status 0,1,2 under the umbrella of "basic", but statuses 0,2 give some extra information about the variable?

    Thanks in advance.
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Basis Status Codes

    Posted 03/30/12 12:45 PM

    Originally posted by: SystemAdmin


    When you do the simplex algorithm with bounded variables (the bounds of variables are not explicitly expressed as rows in the matrix) then you need to distinguish between non-basic variables that are at their upper bound and non-basic variables that are at their lower bound.
    You can look up any text book description of the simplex algorithm with bounded variables to learn about that.
    So AtLower and AtUpper both mean non-basic, but in the algorithm you have to distinguish between the two cases.
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Basis Status Codes

    Posted 03/30/12 12:47 PM

    Originally posted by: T_O


    If you understand the difference between basic and nonbasic variables, it is trivial:

    In simplex algorithms where variables can have upper and lower bounds, a nonbasic variable can either be free (no bounds existing) [3] or attain one of its bounds (lower [0], upper [2]) (if there is only one bound, it can of course only attain this one). The same is true for the slack variables, so also constraints have a basis status. Be careful: If a slack variable is at its upper bound, then the corresponding constraint is at its lower bound, and vice versa.

    Concerning superbasic variables: I think these are variables that CPLEX fixes during some iterations to some value. I do not know the details and I don't know whether this will happen in pure LPs.

    Best regards,
    Thomas
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Basis Status Codes

    Posted 04/22/12 11:11 PM

    Originally posted by: Eumpfenbach


    So, just to be clear, if I am using a column generation scheme, I should or shouldn't be pricing in variables with basis status 0?

    My algorithm is pricing them in, but this is problematic. All of my variables have status of either 0,1, or 2 when I solve with the standard cplex algorithm. Thus, there wouldn't be a point in column generation if I need to price in all of the variables.
    #CPLEXOptimizers
    #DecisionOptimization