examples/plan.mod
changeset 2 4c8956a7bdf4
equal deleted inserted replaced
-1:000000000000 0:f081c32da07a
       
     1 /* plan.mod */
       
     2 
       
     3 var bin1, >= 0, <= 200;
       
     4 var bin2, >= 0, <= 2500;
       
     5 var bin3, >= 400, <= 800;
       
     6 var bin4, >= 100, <= 700;
       
     7 var bin5, >= 0, <= 1500;
       
     8 var alum, >= 0;
       
     9 var silicon, >= 0;
       
    10 
       
    11 minimize
       
    12 
       
    13 value: .03 * bin1 + .08 * bin2 + .17 * bin3 + .12 * bin4 + .15 * bin5 +
       
    14        .21 * alum + .38 * silicon;
       
    15 
       
    16 subject to
       
    17 
       
    18 yield: bin1 + bin2 + bin3 + bin4 + bin5 + alum + silicon = 2000;
       
    19 
       
    20 fe: .15 * bin1 + .04 * bin2 + .02 * bin3 + .04 * bin4 + .02 * bin5 +
       
    21     .01 * alum + .03 * silicon <= 60;
       
    22 
       
    23 cu: .03 * bin1 + .05 * bin2 + .08 * bin3 + .02 * bin4 + .06 * bin5 +
       
    24     .01 * alum <= 100;
       
    25 
       
    26 mn: .02 * bin1 + .04 * bin2 + .01 * bin3 + .02 * bin4 + .02 * bin5
       
    27     <= 40;
       
    28 
       
    29 mg: .02 * bin1 + .03 * bin2 + .01 * bin5 <= 30;
       
    30 
       
    31 al: .70 * bin1 + .75 * bin2 + .80 * bin3 + .75 * bin4 + .80 * bin5 +
       
    32     .97 * alum >= 1500;
       
    33 
       
    34 si: 250 <= .02 * bin1 + .06 * bin2 + .08 * bin3 + .12 * bin4 +
       
    35     .02 * bin5 + .01 * alum + .97 * silicon <= 300;
       
    36 
       
    37 end;
       
    38 
       
    39 /* eof */