model:
sets:
a/1..10/;
b/1..30/;
t/1..38/;
m/1..15/:f;
link(m,t):x;
endsets@for(link:@bin(x));
data:
f=1000,2800,2000,2600,1550,2100,3380,1680,1700,3050,2830,1590,2200,1890,1650;
enddata
min=@sum(t(j):f(i)*x(i,j));
@sum(t(j):x(1,j))>=3;
@sum(a(j):x(1,j))>=2;
@sum(t(j):x(2,j))>=3;
@sum(a(j):x(2,j))>=2;
@sum(t(j):x(3,j))>=2;
@sum(b(j):x(3,j))>=1;
@sum(t(j):x(4,j))>=2;
@sum(b(j):x(4,j))>=1;
@sum(t(j):x(5,j))>=3;
@sum(a(j):x(5,j))>=2;
@sum(t(j):x(6,j))>=3;
@sum(a(j):x(6,j))>=2;
@sum(t(j):x(7,j))>=2;
@sum(b(j):x(7,j))>=1;
@sum(t(j):x(8,j))>=4;
@sum(a(j):x(8,j))>=2;
@sum(t(j):x(9,j))>=4;
@sum(a(j):x(9,j))>=2;
@sum(t(j):x(10,j))>=3;
@sum(a(j):x(10,j))>=2;
@sum(t(j):x(11,j))>=3;
@sum(a(j):x(11,j))>=2;
@sum(t(j):x(12,j))>=3;
@sum(a(j):x(12,j))>=2;
@sum(t(j):x(13,j))>=3;
@sum(a(j):x(13,j))>=2;
@sum(t(j):x(14,j))>=2;
@sum(a(j):x(14,j))>=1;
@sum(t(j):x(15,j))>=2;
@sum(a(j):x(15,j))>=1;
@for(t(j):@sum(m(i):x(i,j))>=2);
@for(a(j):@sum(m(i):x(i,j))<=3);
@for(link:@bin(x));
end