代码如下:
model:
!飞机货仓装运问题;
sets:
cang /1..3/:WET,VOL;
wu /1..4/:w,v,p;
link(wu,cang):x;
endsets
data:
WET =10,16,8; VOL =6800,8700,5300;
w =18,15,23,12; v =480,650,580,390;
p =3100,3800,3500,2850;
enddata
[obj] max= @sum(wu(i):p(i)*@sum(cang(j):x(i,j)));
@for(wu(i):
@sum(cang(j):x(i,j))<w(i));
@for(cang(j):
@sum(wu(i):x(i,j))<WET(j) );
@for(cang(j):
@sum(wu(i):v(i)*x(i,j))<VOL(j));
@for(cang(j):
@for(cang(k)| k #gt# j:
@sum(wu(i):x(i,j)/WET(j))=@sum(wu(i):x(i,k)/WET(k)));
);
end
---------------------------------------------------------------------------------------------------------
结果如下:
解释如下:
不妨将所得解作四舍五入,则
货物2装入前仓7吨、装入后仓8吨;
货物3装入前仓3吨、装入后仓13吨;
货物4装入中仓3吨;
最大利润为:121515.8元,即121516元。