Decision Optimization

Decision Optimization

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

 View Only
Expand all | Collapse all

Decision variable as an index of Standart Array Variable

  • 1.  Decision variable as an index of Standart Array Variable

    Posted Fri April 04, 2014 10:08 AM

    Originally posted by: sdormidontov


    Is it possible to insert a decision variable as an index of array, that is extracting from dat file?

    This code does not work for me. Where is a problem?

    (ConductorToConnetionTrain[r][c] in Trains) => (
        (card(PossibleTrainSwitches[ConductorToConnetionTrain[r][c]][c]) >= 1) =>                                     
            (
                    ConductorToConnetionTrain[r][c + 1] in PossibleTrainSwitches[ConductorToConnetionTrain[r][c]][c]
            )
    );     
    

    ConductorToConnectionTrain is a decision variable

    PossibleTrainSwitches is a standard array from .dat file

    The error is:

    CP cannot extract expression ...
    

    and indicates exactly on these strings that I provided.

     


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: Decision variable as an index of Standart Array Variable

    Posted Fri April 04, 2014 11:40 AM

    Hi,

    the problem is not indexing by a decision variable but using a set.

    For example:

    using CP;

     

    {int} s[1..2]=[{1,2},{4,5}];

     

    dvar int x in 1..2;

    dvar int y in 1..10;

    subject to

    {

    1<=x<=2;

    y in s[x];

    x==2;

    }

    is not allowed

    But the following model that is equivalent is allowed:

    using CP;

     

     

    {int} s[1..2]=[{1,2},{4,5}];

     

    int isIn[k in 1..10][i in 1..2]=(k in s[i])?1:0;

     

    dvar int x in 1..2;

    dvar int y in 1..10;

    subject to

    {

    1<=x<=2;

    //y in s[x];

    isIn[y][x]==1;

     

    x==2;

     

     

    }

     

    regards

     


    #DecisionOptimization
    #OPLusingCPLEXOptimizer