Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  decision variable

    Posted 10/07/17 07:21 AM

    Originally posted by: user1234567


    Hello, i have some erros in the results. I have an error with the s and c decision variables. It shows very big values.

    In each row, i should get one value of c and s greater than 0. The 2 other values should be equal to 0 because each operation can be processed by only one machine.

    But, instead of getting 0, i get big values of c and s.

    Please help me to correct these errors. Thank you

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: decision variable

    Posted 10/07/17 11:05 AM

    Hi,

    some of your s do not have bounds so when you do

    minimize staticLex(max(i in Jobs, o in Ops: o.pos==jlast[i]) endOf(ops[o]),-sum(i in Jobs,j in Oper, k in Mchs) s[i][j][k]);

     

    you will get high values.

    dvar int s[i in Jobs][j in Oper][k in Mchs] in 0..1000;

    will limit those values and let you see which s do not have bounds : the ones that are 1000 in the solution.

    Regards


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: decision variable

    Posted 10/08/17 06:30 AM

    Originally posted by: user1234567


    Okay if i write

    dvar int s[i in Jobs][j in Oper][k in Mchs] in 0..1000;

     

    ,

    i will get the same problem:

    s = [[[0 0 0]
                     [0 2 777]
                     [449 8 0]
                     [11 21 989]]
                 [[438 545 722]
                     [247 31 640]
                     [264 177 7]
                     [49 400 64]]
                 [[312 193 786]
                     [367 815 707]
                     [709 950 939]
                     [704 231 918]]];

    This is impossible because o21 starts here on machine 2 and 3 at the same time (according to s values); on machine 2 it starts at 2, and on machine 3 it starts at 777. Whereas, o21 should be processed on machine 2; starts at 2 and ends at 8 (same as in journal de script). Same errors in the c decision variable!  And if i use these decison variables in the contraints later i will get an incorrect or infeasible result. 


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: decision variable

    Posted 10/08/17 05:36 PM

    Originally posted by: user1234567


    For example if i add this constraint :

     forall (i1,i2 in Jobs, j1,j2 in Oper, o1,o2 in Ops: o2.pos==o1.pos-1 && o1.id==j1 && o2.id==j2, k in Mchs)
     c[i1][j1][k] >=  sum (k in Mchs) c[i2][j2][k] + sum (i in Jobs, j in Oper, k in Mchs) y[i1][j1][i2][j2][k] * p[i1][j1][k];

    i get no result !  because of c decision variable which contains false results.


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: decision variable

    Posted 10/09/17 02:30 AM

    Well your question was about why you get big values. You get big values because some of your decision variables are not bound.

    In the problem browser you may see ctc1 and ctc2

    regards


    #CPLEXOptimizers
    #DecisionOptimization