model:
sets:
time/1..7/:needp,t;
type/1..4/:maxn,minp,maxp,c,d,e;
links(time,type):p,n;
endsets
data:
needp=11000 33000 25000 36000 25000 30000 18000;
t=6 3 3 2 4 4 2;
maxn=10 5 8 4;
minp=800 1000 1200 1800;
maxp=1800 1500 2000 3500;
c=2000 1800 3800 4800;
d=2.7 2.2 1.8 3.8;
e=5000 1600 2400 1200;
enddata
@for(links(i,j):n(i,j)>=0);
@for(links(i,j):n(i,j)<=maxn(j));
@for(links(i,j):@gin(n(i,j)));
@for(links(i,j):p(i,j)<=maxp(j));
@for(links(i,j):p(i,j)>=minp(j));
@for(time(i):@sum(type(j):p(i,j)*n(i,j))>=needp(i));
min=@sum(time(i):@sum(type(j):((c(j)+(p(i,j)-minp(j))*d(j))*n(i,j)*t(i))))
+@sum(time(i):@if(i#ge#2,@sum(type(j):(e(j)*@if(n(i,j)#ge#n(i-1,j),n(i,j)-n(i-1,j),0))),@sum(type(j):n(i,j)*e(j))));
sets:
time/1..7/:needp,t;
type/1..4/:maxn,minp,maxp,c,d,e;
links(time,type):p,n;
endsets
data:
needp=11000 33000 25000 36000 25000 30000 18000;
t=6 3 3 2 4 4 2;
maxn=10 5 8 4;
minp=800 1000 1200 1800;
maxp=1800 1500 2000 3500;
c=2000 1800 3800 4800;
d=2.7 2.2 1.8 3.8;
e=5000 1600 2400 1200;
enddata
@for(links(i,j):n(i,j)>=0);
@for(links(i,j):n(i,j)<=maxn(j));
@for(links(i,j):@gin(n(i,j)));
@for(links(i,j):p(i,j)<=maxp(j));
@for(links(i,j):p(i,j)>=minp(j));
@for(time(i):@sum(type(j):p(i,j)*n(i,j))>=needp(i));
min=@sum(time(i):@sum(type(j):((c(j)+(p(i,j)-minp(j))*d(j))*n(i,j)*t(i))))
+@sum(time(i):@if(i#ge#2,@sum(type(j):(e(j)*@if(n(i,j)#ge#n(i-1,j),n(i,j)-n(i-1,j),0))),@sum(type(j):n(i,j)*e(j))));