Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Decision Variables as condition

    Posted 05/27/16 02:18 AM

    Originally posted by: sandeepsinghchauhan


    availablity is data

    dvar float+ S[Routes];

    forall(Ro in Routes:  S[Ro]  >=  availablity[Ro]){
     
     Coupne[Ro] == multiplication and addition;

    }

    ERROR::
    Decision variable (or expression) "S" not allowed. 

    How can i resolve it and use S as a condition?

    Please help

     


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: Decision Variables as condition

    Posted 05/27/16 02:50 AM

    Hi,

    indeed you cannot use slicing over a decision variable, what you should do instead is use a logical constraint:

    dvar float+ S[Routes];

    forall(Ro in Routes){
     
     (S[Ro]  >=  availablity[Ro])  => (Coupne[Ro] == multiplication and addition);

    }

    regards


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 3.  Re: Decision Variables as condition

    Posted 05/27/16 02:55 AM

    Originally posted by: sandeepsinghchauhan


    Is there any other way rather than '=> '

    because in standard opl examples no where => used for conditions

    please help


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 4.  Re: Decision Variables as condition

    Posted 05/27/16 03:00 AM

    Hi,

    you should have a look at

    IDE and OPL > Optimization Programming Language (OPL) > Language User's Manual > The application areas > Tutorial: Using CPLEX logical constraints

    in documentation.

    If you do not like

    (a)=>(b)

    you may also write

    (!a) || (b)

    but more difficult to read for human users.

    regards

     

     


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 5.  Re: Decision Variables as condition

    Posted 05/27/16 03:07 AM

    Originally posted by: sandeepsinghchauhan


    Thanks for your valuable reply

    any example with => or || in opl examples?

     


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 6.  Re: Decision Variables as condition

    Posted 05/27/16 03:28 AM

    Hi,

    a small example:

    dvar int x[1..2];

    subject to
    {
    forall(i in 1..2) (x[i]>=1) => (x[i]==1);
    forall(i in 1..2) (x[i]<=-0) => (x[i]==0);
    x[1]!=x[2];
    }

    You may also have a look at the steelmill example where you can see the use of "or"

    regards

     

    https://www.linkedin.com/pulse/optimization-aka-prescriptive-analytics-should-we-write-fleischer


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 7.  Re: Decision Variables as condition

    Posted 05/27/16 03:29 AM

    Originally posted by: sandeepsinghchauhan


    Thanks


    #DecisionOptimization
    #OPLusingCPLEXOptimizer