model:
sets
M/M1,M2,M3,M4,M5,M6,M7,M8/:teacher,slosts,class;
endsets
data
teacher=h1,h2,h3,h4,h5,h6,h7,h8/;
slosts=4,4,3,3,2,2,2,2;
class=36,55,0,0,0,0,0,0;
enddata
sets
a/1..8/;
b/1..10/;
c/1..25/;
C(a,b,c):R;
endsets
sets
a1/1..8/;
b1/1..10/;
C(a1,b1):p;
endsets
sets
b2/1..10/;
c2/1..25/;
C(b2,c2):q;
endsets
sets:
N/n1,n2,n3,n4,n5,n6,n7,n8,n9,n10/:classroom;
X/X1,X2,X3,X4,X5,X6,X7,X8/:number
endsets
data
classroom=50,50,50,50,200,200,50,60,60,60;
number=4,4,3,3,2,2,2,2;
enddata
max=@sum(a(i):@sum(q(j,t):(j-55)^2))+@sum(R(i,j,t):(1-Rijt*|Nj|));
@for(a(i)):@sum(q(j,t):2*Rijt=Xi);
@for(a(i)):@sum(q(j,t):|Nj|>=|c(Mi)|);
@for(a(i):Rijt<=1);
@for(@sum(p(i,j):h(Mi)*Rijt<=1));
@for(@sum(p(i,j):c(Mi)*Rijt<=1));
@for(R(i,j,t):@bin(Rijt));
@for(p(i,t):@bin(pit));
@for(q(j,t):@bin(qjt));
end
sets
M/M1,M2,M3,M4,M5,M6,M7,M8/:teacher,slosts,class;
endsets
data
teacher=h1,h2,h3,h4,h5,h6,h7,h8/;
slosts=4,4,3,3,2,2,2,2;
class=36,55,0,0,0,0,0,0;
enddata
sets
a/1..8/;
b/1..10/;
c/1..25/;
C(a,b,c):R;
endsets
sets
a1/1..8/;
b1/1..10/;
C(a1,b1):p;
endsets
sets
b2/1..10/;
c2/1..25/;
C(b2,c2):q;
endsets
sets:
N/n1,n2,n3,n4,n5,n6,n7,n8,n9,n10/:classroom;
X/X1,X2,X3,X4,X5,X6,X7,X8/:number
endsets
data
classroom=50,50,50,50,200,200,50,60,60,60;
number=4,4,3,3,2,2,2,2;
enddata
max=@sum(a(i):@sum(q(j,t):(j-55)^2))+@sum(R(i,j,t):(1-Rijt*|Nj|));
@for(a(i)):@sum(q(j,t):2*Rijt=Xi);
@for(a(i)):@sum(q(j,t):|Nj|>=|c(Mi)|);
@for(a(i):Rijt<=1);
@for(@sum(p(i,j):h(Mi)*Rijt<=1));
@for(@sum(p(i,j):c(Mi)*Rijt<=1));
@for(R(i,j,t):@bin(Rijt));
@for(p(i,t):@bin(pit));
@for(q(j,t):@bin(qjt));
end