Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Obsolete decision variables

    Posted 08/13/08 11:05 PM

    Originally posted by: SystemAdmin


    [agus said:]

    Hi,

    My model produces lots of obsolete decision variables and most of them are integer variables; Will it significantly affect the running time of my model, even though they are never used in any constraints?

    Is it possible to create a condition when you declare the decision variable, for example:

    This statement:

    dvar int+ x[Flights][Nodes]

    will create all possible combination of every flight with every node, but in reality not every flight visit every node. One flight only visits several nodes so it is not necessary to create a decision variable where the flight does not visit the node.

    Thanks

    Agus

    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: Obsolete decision variables

    Posted 08/14/08 02:58 PM

    Originally posted by: SystemAdmin


    [Didier Vidal said:]

    Agus,


    If you have a lot of unused decision variables, this means that your matrix (FlightsxNodes) is quite sparse.

    When I am in this situation, I prefer to index the decision variables by a tupleset, instead of a multi-dimension array. This way, I'm sure that all decision variables are meaningful and the 'obsolete decision variable' helps me identify potential bugs in the model.



    Didier.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 3.  Re: Obsolete decision variables

    Posted 08/14/08 11:46 PM

    Originally posted by: SystemAdmin


    [agus said:]

    Thanks Didier,

    I tried:


    tuple flight {
    key string flightID;
      {int} nodes;
      int runwayEntrance;
      string status;
      string class;
      int OBT;
      int ETA;
    }

    dvar int+ x[i in Flights][j in Flights][i.nodes inter j.nodes] in 0..1;

    subject to {
        forall (i,j in Flights: i !=j, u in i.nodes)
              x[i][j][u] == 1;
    }



    But it didn’t work at runtime. Could you give me some advice on this?

    A small example on how you index the decision variable with a tuple will be very helpful.

    Thanks

    Agus

    #DecisionOptimization
    #OPLusingCPLEXOptimizer