问题
9.一架货机有三个货舱:前舱、中仓和后舱。三个货舱所能装载的货物的最大重
量和体积有限制如表5 所示。并且为了飞机的平衡,三个货舱装载的货物重量必须与其
最大的容许量成比例。
表5 货舱数据
前舱 中仓 后舱
重量限制(吨) 10 16 8
体积限制(立方米) 6800 8700 5300
现有四类货物用该货机进行装运,货物的规格以及装运后获得的利润如表6。
表6 货物规格及利润表
重量(吨) 空间(立方米/吨) 利润(元/吨)
货物1 18 480 3100
货物2 15 650 3800
货物3 23 580 3500
货物4 12 390 2850
-15-
假设:
(1)每种货物可以无限细分;
(2)每种货物可以分布在一个或者多个货舱内;
(3)不同的货物可以放在同一个货舱内,并且可以保证不留空隙。
问应如何装运,使货机飞行利润最大?
-
程序
model:
sets:
huowu/1,2,3,4/:weight,volume,lirun;
huocang/1,2,3/:wtlimit,vllimit;
link(huowu,huocang):a;
endsets
data:
weight=18,15,23,12;
volume=480,650,580,390;
lirun=3100,3800,3500,2850;
wtlimit=10,16,8;
vllimit=6800,8700,5300;
enddata
[email protected](huowu(i):@sum(huocang(j):a(i,j))*lirun(i));
@for(huocang(j):@sum(huowu(i):a(i,j))/vllimit(j)=b);
@for(huowu(i):@sum(huocang(j):a(i,j))=weight(i));
@bnd(0,b,1);
end
另一个
sets:
hc/1..3/:e,f;
hw/1..4/:a,b,c;
link(hc,hw):x;
endsets
data:
a=18 15 23 12;
b=480 650 580 390;
c=3100 3800 3500 2850;
e=10 18 8;
f=6800 8700 5300;
enddata
[email protected](hw(j):c(j)*@sum(hc(i):x(i,j)));
@for(hw(j):@sum(hc(i):x(i,j))<=a(j)); !货物吨数限制;
@for(hc(i):@sum(hw(j):x(i,j))<=e(i)); !货仓吨数限制;
@for(hc(i):@sum(hw(j):b(j)*x(i,j))<=f(i)); !货仓体积限制;
@sum(hw(j):x(2,j))*(5/2)/@sum(hw(j):x(3,j))[email protected](hw(j):x(1,j)); !成比例
10:16:8;
版权声明:本文为博主原创文章,未经博主允许不得转载。