min=@sum(bing:a);
SETS:
zl/1..5/;
ts/1..21/;
bing(zl,ts):a,t;
ENDSETS
@for(bing(i,j):t(i,j)=@if(a(i,j)#GT#0,a(i,j),j)-j);
@sum(ts(j):a(1,j))=21;
@sum(ts(j):a(2,j))=29;
@sum(ts(j):a(3,j))=36;
@sum(ts(j):a(4,j))=15;
a(5,1)=1;
@sum(zl(i):a(i,1))=2;
@sum(zl(i):a(i,2))=2;
@sum(zl(i):a(i,3))=2;
@sum(zl(i):a(i,4))=20;
@sum(zl(i):a(i,5))=4;
@sum(zl(i):a(i,6))=4;
@sum(zl(i):a(i,7))=6;
@sum(zl(i):a(i,8))=8;
@sum(zl(i):a(i,9))=3+a(1,4)+a(2,4);
@sum(zl(i):a(i,10))=9+a(1,5)+a(2,5);
@sum(zl(i):a(i,11))=9+a(1,6)+a(2,6);
@sum(zl(i):a(i,12))=4+a(1,7)+a(2,7)+a(4,1);
@sum(zl(i):a(i,13))=5+a(1,8)+a(2,8)+a(4,2);
@sum(zl(i):a(i,14))=2+a(1,9)+a(2,9)+a(4,3);
@sum(zl(i):a(i,15))=a(1,10)+a(2,10)+a(3,2)+a(4,4);
@sum(zl(i):a(i,16))=a(1,11)+a(2,11)+a(3,3)+a(4,5);
@sum(zl(i):a(i,17))=a(1,12)+a(2,12)+a(3,4)+a(4,6);
@sum(zl(i):a(i,18))=a(1,13)+a(2,13)+a(3,5)+a(4,7);
@sum(zl(i):a(i,19))=a(1,14)+a(2,14)+a(3,6)+a(4,8);
@sum(zl(i):a(i,20))=a(1,15)+a(2,15)+a(3,7)+a(4,9);
@sum(zl(i):a(i,21))=a(1,16)+a(2,16)+a(3,8)+a(4,10);
a(1,1)=0;
a(1,2)=0;
a(1,3)=0;
a(1,8)=0;
a(1,9)=0;
a(1,10)=0;
a(1,15)=0;
a(1,16)=0;
a(1,17)=0;
a(2,1)=0;
a(2,2)=0;
a(2,3)=0;
a(2,6)=0;
a(2,7)=0;
a(2,8)=0;
a(2,9)=0;
a(2,10)=0;
a(2,13)=0;
a(2,14)=0;
a(2,15)=0;
a(2,16)=0;
a(2,17)=0;
a(2,20)=0;
a(2,21)=0;
a(3,4)=0;
a(4,4)=0;
a(3,5)=0;
a(4,5)=0;
a(3,11)=0;
a(4,11)=0;
a(3,12)=0;
a(4,12)=0;
a(3,18)=0;
a(4,18)=0;
a(3,19)=0;
a(4,19)=0;
写错了,目标函数是 min=@sum(bing:t);
|