Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  execute a constraint

    Posted 05/30/16 06:48 AM

    Originally posted by: sandeepsinghchauhan


    tuple RS {
       TP p;
       string r;
       string s;
    }
    {RS} Pr = {<pl,r,s> |pl in P, <r,s>  in RawRoute};

    tuple PS{
      TP p;
      string s;
    }
    {PS} PrS = {<pl,s>|pl in Process,s in SUPP};    //   SUPP are strings
    }

    dvar float RP[Pr];

    dvar float nR[PrS ];

    forall(RRo in Pr){
    nR[<RRo.pl,RRo.s>] == minl(1,sum(r in R)RP[RRo]);  // R are strings

    Error


    Expecting a component in tuple <p:<!p:int,s:float>,r:string,s:string>, found pl.   

    please help


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: execute a constraint

    Posted 05/30/16 12:42 PM

    Hi,

    {string} R={"A","B"};
      {string} SUPP={"A","B"};
     
      tuple TP
    {
      key int p;
      float t;
    }
    {TP} P = {<1,1.0>,<2,2.10>};;

     

    tuple su {
      string r;
      string s;  
    }
    {su} RawRoute =  {<"A","B">,<"B","A">};
     
     tuple RS {
       TP p;
       string r;
       string s;
    }
    {RS} Pr = {<pl,r,s> |pl in P, <r,s>  in RawRoute};

    tuple PS{
      TP p;
      string s;
    }
    {PS} PrS = {<pl,s>|pl in P,s in SUPP};    //   SUPP are strings


    int RP[R]=[1,2];

    dvar float nR[PrS ];

    subject to
    {

    forall(RRo in Pr){
    nR[<RRo.p,RRo.s>] == minl(1,sum(r in R)RP[r]);  // R are strings
    }
    }

    works fine


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 3.  Re: execute a constraint

    Posted 05/31/16 06:46 AM

    Originally posted by: sandeepsinghchauhan


    Thanks for your valuable reply

    but my RP is a decision variable

    dvar float RP[Pr];

    dvar float nR[PrS ];

    forall(RRo in Pr){
    nR[<RRo.pl,RRo.s>] == minl(1,sum(r in R)RP[RRo]); 

    so we can't use RP[r] it should be RP[Pr] but since i am adding r so how can i do it?

    please help


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 4.  Re: execute a constraint

    Posted 05/31/16 11:37 AM

    Hi

    {string} R={"A","B"};
      {string} SUPP={"A","B"};
     
      tuple TP
    {
      key int p;
      float t;
    }
    {TP} P = {<1,1.0>,<2,2.10>};;

     

    tuple su {
      string r;
      string s;  
    }
    {su} RawRoute =  {<"A","B">,<"B","A">};
     
     tuple RS {
       TP p;
       string r;
       string s;
    }
    {RS} Pr = {<pl,r,s> |pl in P, <r,s>  in RawRoute};

    tuple PS{
      TP p;
      string s;
    }
    {PS} PrS = {<pl,s>|pl in P,s in SUPP};    //   SUPP are strings


    dvar int RP[R];

    dvar float nR[PrS ];

    subject to
    {

    forall(RRo in Pr){
    nR[<RRo.p,RRo.s>] == minl(1,sum(r in R)RP[r]);  // R are strings
    }
    }

    works too


    #DecisionOptimization
    #OPLusingCPLEXOptimizer