proc optmodel;
var xc1w1, xc1w2, xt1w1, xt1w2, xfw1, xfw2, xc2w1, xc2w2, xt2w1, xt2w2 >=0 integer;
var yc2 binary;
var yt2 binary;
maximize z=82*xc1w1+83*xc1w2+45*xt1w1+49*xt1w2+30*xfw1+35*xfw2+84*xc2w1+81*xc2w2+42*xt2w1+54*xt2w2+41000*yc2+21700*yt2;
con Demand1: xc1w1+xc2w1+xt1w1+xt2w1+xfw1=6000;
con Demand2: xc1w2+xc2w2+xt1w2+xt2w2+xfw2=5200;
con china1: xc1w1+xc1w2<=1500;
con china2: xc2w1+xc2w2<=2000;
con turkey1: xt1w1+xt1w2<=1800;
con turkey2: xt2w1+xt2w2<=2200;
con france: xfw1+xfw2<=6000;
con linkc2: xc2w1+xc2w2-2000*yc2<=0;
con linkt2: xt2w1+xt2w2-2200*yc2<=0;
con Fixc2: xc2w1+xc2w2<=1000000*yc2;
con Fixt2: xt2w1+xt2w2<=1000000*yt2;
con repurpose: yc2+yt2<=1;
solve;
print xc1w1 xc1w2 xt1w1 xt1w2 xfw1 xfw2 xc2w1 xc2w2 xt2w1 xt2w2 z;
quit;
... View more