Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
Expand all | Collapse all

constraints without sum

  • 1.  constraints without sum

    Posted 01/22/15 06:56 AM

    Originally posted by: Mehrsa


    Hi every one

    I am trying to program a mathematical model and I don't know how to write this constraint. I am not sure what I am writing wrong.

     

     

    ct3: forall (j in 1..J)

    forall (i in 1..W)

    e[j][i][r[j]] = (e0_[j][i]) ;

     

    ct4: forall (j in 1..J)

    forall (i in 1..W)

    forall (t in r[j+1]..d[j])

    e[j][i][t]= e [j][i][t-1]+ x[j][i][t-1]*phi[j](e[j][i][t-1]+e_prime[j][i][t-1])-u[j][i][t-1];

    the error is : can not assign constraint in  nested forall. Hint: add inner  formal parameters to outermost forall.

    I do nt know anout formal parameters.

    tnx


    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: constraints without sum

    Posted 01/22/15 08:57 AM

    Originally posted by: Rajasekhar_Kadambur


    Hi,

     

    Try this

     

    range J = 1..10;
    range I = 1..5;
    int r[j in J] = j;
    int e0_[j in J][i in I] = j*i;
     
    int e[j in J][i in I][j1 in J];
     
    //int e[j in J][i in I][j1 in J] = e0_[j][i];
     

    // I have assumed e as a parameter, you can include in the constraint please refer to the constraint written below

    execute {
      for(var j1 in J){
        for(var i1 in I){
          e[j1][i1][r[j1]] == e0_[j1][i1];
        }
      }          
    }  
     
    int phi[j in J] = j;
    int e_prime[j in J][i in I][j1 in J] = j+i+j1;
     
    dvar int x[J,I,J];
    dvar int u[J,I,J];
     
    subject to{
     
     
    ct4: forall (j in J,i in I, t in J:t>=r[j+1]&&t>1 )
     
    e[j][i][t] == e [j][i][t-1]+ x[j][i][t-1]*phi[j]*(e[j][i][t-1]+e_prime[j][i][t-1])-u[j][i][t-1];
     
    }

     

    i have just initialized the parameter values randomly. use them as per your requirements


    #DecisionOptimization
    #OPLusingCPLEXOptimizer