|
» Agprice
» Constraint
» Curve
» Decent
» Distrib
Economy
» Efficient
» Factory
» Farm
» Food
» Hydro
» Logic
» Manpower
» Market
» Milk
» Mining
» OandX
» Opencast
» Refinery
» Tariff
» TSP
» Yield
| |
Model Economy |
|
|
MODEL ECONOMY |
|
SET |
|
|
mi = {1 .. 3}, |
! Industries, Coal, Steel, Transport |
|
|
mip1 = {1 .. 4}, |
! Industries + Labour |
|
|
mt = {1 .. 5}; |
! Years 1 to 5 |
|
|
mtp1 = {1 .. 6}; |
! Years 1 to 6 |
|
|
mtp2 = {1 .. 7}; |
! Years 1 to 7 |
|
DATA |
|
|
demand[mi] = [60, 60, 30], |
! External Demands |
|
|
istock[mi] =[150, 80, 100], |
!Initial Stocks |
|
|
icap[mi] = [300, 350, 280], |
!Initial Productive Capacity |
|
|
findem[mi] = [166.4, 105.7, 92.3], |
! Final Demand (from solving Static Model) |
|
|
c[mip1, mi] = [0.1, 0.5, 0.4, 0.1, 0.1, 0.2, |
!I/O (A) Matrix |
|
|
0.2, 0.1, 0.2, 0.6, 0.3, 0.2], |
|
d[mip, mi]] = [0.0, 0.7, 0.9, 0.1, 0.1, 0.2, 0.2, 0.1, 0.2, 0.4, 0.2, 0.1]; |
!I/O (B) Capacity Building Matrix |
|
VARIABLES |
|
|
out[mi,mtp1], |
|
! Output in year t |
|
|
stk[mi, mtp1], |
|
! Stock level at beginning of year t |
|
|
ecap[mi, mtp2]; |
|
! Extra productive capacity becoming effective in year t |
|
OBJECTIVE |
|
|
MAXIMIZE tcap = sum{i in mi, t in {2 .. 5} ecap[i,t]; |
! Max total capacity |
|
|
! MAXIMIZE tprod= sum{i in mi, t in {4 .. 5}} out[i,t]; |
Max total production |
|
|
! MAXIMIZE tmen= sum{t in {2 .. 6}} (sum{i in mi} c[4,i]*out[i,t] + sum{i in mi} d[4,i]*ecap[i,t+1] ); |
Max total manpower |
|
CONSTRAINTS |
|
|
tina{i in mi} : sum{j in mi} (c[i,j]*out[j,1]) + sum{j in mi} (d[i,j]*ecap[j,2]) + stk[i,1] <= istock[i], |
! I\O relations for A matrix |
|
|
tinb{i in mi, t in mt} : sum{j in mi} (c[i,j]*out[j,t+1]) + sum{j in mi} (d[i,j]*ecap[j,t+2]) - out[i,t] - stk[i,t] + stk[i,t+1] <= -demand[i], |
! I\O relations for B matrix |
|
|
men{t in mtp1} : sum{j in mi} c[4,j]*out[j,t] + sum{j in mi} d[4,j]*ecap[j,t+1] <= 470, |
! Manpower limit |
|
|
cap{i in mi, t in mtp1} : out[i,t] - sum{l in {2 .. t}} ecap[i,l] <= icap[i], |
! Capacity limit |
|
|
bounds{i in mi} : out[i,6] >= findem[i], |
! Final |
|
|
bounds{i in mi, t in {6 .. 7}} : ecap[i,t] = 0; |
! Conditions |
|
END MODEL |
|
|
solve Economy; |
|
|
print solution for Economy>> "Economy.sol"; |
|
|
quit; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|