| |

» Agprice
» Constraint
» Curve
» Decent
» Distrib
» Economy
» Efficient
» Factory
» Farm
Food
» Hydro
» Logic
» Manpower
» Market
» Milk
» Mining
» OandX
» Opencast
» Refinery
» Tariff
» TSP
» Yield
| |
| Model Food |
|
|
| |
MODEL Food |
| |
DATA |
| |
|
maxt = 6, maxi = 5; |
| |
SET |
| |
|
A = {1 .. 2}, B = {3 .. 5}, |
| |
|
T = {1 .. maxt}, I = {1 .. maxi}; |
| |
DATA |
| |
|
cost[T,I] << "cost.dat", |
| |
|
hard[I] << "hard.dat"; |
| |
VARIABLES |
| |
|
b[I,T], u[I,T], s[I,T], |
| |
|
Prod[T]; |
| |
OBJECTIVE |
| |
|
MAXIMIZE prof = sum{t in T} (150*Prod[t] - sum{i in I} ( cost[t,i]*b[i,t] + 5*s[i,t])); |
| |
CONSTRAINTS |
| |
|
loil{i in I, 1}: b[i,1] - u[i,1] - s[i,1] = -500, |
| |
|
loil{i in I, t in T, t > 1}: s[i,t-1] + b[i,t] - u[i,t] - s[i, t] = 0, |
| |
|
vveg{t in T}: sum{i in A} u[i,t] <= 200, |
| |
|
voil{t in T}: sum{i in B} u[i,t] <= 250, |
| |
|
uhrd{t in T}: sum{i in I} hard[i]*u[i,t] - 6*Prod[t] <= 0, |
| |
|
lhrd{t in T}: sum{i in I} hard[i]*u[i,t] - 3*Prod[t] >= 0, |
| |
|
cont{t in T}: sum{i in I} u[i,t] - Prod[t] = 0, |
| |
|
/* Specify bounds for the variables */ |
| |
|
for {i in I, t in T, t= 1000, t<maxt} s[i,t] <= 1000, |
| |
|
for {i in I} s[i,maxt] = 500; |
| |
END MODEL |
| |
|
solve Food; |
| |
|
print solution fro Food >> "Food.sol"; |
| |
|
quit; |
|
| |
|
| |
MODEL FoodB |
| |
DATA |
| |
|
maxt = 6, maxi = 5; |
| |
SET |
| |
|
A = {1 .. 2}, B = {3 .. 5}, |
| |
|
T = {1 .. maxt}, I = {1 .. maxi}; |
| |
DATA |
| |
|
cost[T,I] << "cost.dat", |
| |
|
hard[I] << "hard.dat"; |
| |
VARIABLES |
| |
|
b[I,T], u[I,T], s[I,T], |
| |
|
Prod[T]; |
| |
OBJECTIVE |
| |
|
MAXIMIZE prof = sum{t in T} (150*Prod[t] - sum{i in I} ( cost[t,i]*b[i,t] + 5*s[i,t])); |
| |
CONSTRAINTS |
| |
|
loil{i in I, 1}: b[i,1] - u[i,1] - s[i,1] = -500, |
| |
|
loil{i in I, t in T, t > 1}: s[i,t-1] + b[i,t] - u[i,t] - s[i, t] = 0, |
| |
|
vveg{t in T}: sum{i in A} u[i,t] <= 200, |
| |
|
voil{t in T}: sum{i in B} u[i,t] <= 250, |
| |
|
uhrd{t in T}: sum{i in I} hard[i]*u[i,t] - 6*Prod[t] <= 0, |
| |
|
lhrd{t in T}: sum{i in I} hard[i]*u[i,t] - 3*Prod[t] >= 0, |
| |
|
cont{t in T}: sum{i in I} u[i,t] - Prod[t] = 0, |
| |
|
/* Specify bounds for the variables */ |
| |
|
for {i in I, t in T, t<maxt} s[i,t] <= 1000, |
| |
|
for {i in I} s[i,maxt] = 500; |
| |
|
VARIABLES |
| |
|
d[I, T] BINARY; |
| |
CONSTRAINTS |
| |
|
for {t in T} { ! Formulate second condition |
| |
|
for { i in A } { ! UB on amount of veg. oil refined/month = 200 u[i,t] <= 200*d[i,t], u[i,t] >= 20*d[i,t] }, |
| |
|
for { i in B } { ! UB on amount of non-veg. oil refined/month = 250 u[i,t] <= 250*d[i,t], u[i,t] >= 20*d[i,t] }, |
| |
|
! Formulate first condition sum{i in I} d[i,t] <= 3, |
| |
|
! Formulate third condition d[1,t] <= d[5,t], d[2,t] <= d[5,t] }; |
| |
END MODEL |
| |
|
solve FoodB; |
| |
|
print solution for FoodB >> "FoodB.sol"; |
| |
|
quit; |
|
| |
cost.dat |
| |
[110.0,120.0,130.0,110.0,115.0, |
| |
130.0,130.0,110.0, 90.0,115.0, |
| |
110.0,140.0,130.0,100.0, 95.0, |
| |
120.0,110.0,120.0,120.0,125.0, |
| |
100.0,120.0,150.0,110.0,105.0, |
| |
90.0,100.0,140.0, 80.0,135.0] |
|
| |
hard.dat |
| |
[8.8,6.1,2.0,4.2,5.0] |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|