运筹学LINGO建模,期末作业,不是很懂,请求高手指点,谢谢!!

2025-05-23 13:32:29
推荐回答(1个)
回答(1):

代码:
model:
sets:
hx/1..5/:Xmax,Ymax,Xc,Yc,Xn,Yn;
!hx(1)~hx(5)依次代表航线AH,AB,AC,HB,HC,Xn(i)、Yn(i)代表实际提供的一等舱和二等仓;
endsets
data:
Xmax=33 24 12 44 16;
Ymax=56 43 67 69 17;
Xc=190 244 261 140 186;
Yc=90 193 199 80 103;
enddata
max=@sum(hx:Xn*Xc+Yn*Yc);
@for(hx:XnXn(1)+Yn(1)+Xn(2)+Yn(2)+Xn(3)+Yn(3)<120;
Xn(2)+Yn(2)+Xn(4)+Yn(4)<100;
Xn(3)+Yn(3)+Xn(5)+Yn(5)<110;
@for(hx:@gin(Xn);@gin(Yn));
end
运行结果:
Global optimal solution found.
Objective value: 39344.00
Extended solver steps: 0
Total solver iterations: 6

Variable Value Reduced Cost
XMAX( 1) 33.00000 0.000000
XMAX( 2) 24.00000 0.000000
XMAX( 3) 12.00000 0.000000
XMAX( 4) 44.00000 0.000000
XMAX( 5) 16.00000 0.000000
YMAX( 1) 56.00000 0.000000
YMAX( 2) 43.00000 0.000000
YMAX( 3) 67.00000 0.000000
YMAX( 4) 69.00000 0.000000
YMAX( 5) 17.00000 0.000000
XC( 1) 190.0000 0.000000
XC( 2) 244.0000 0.000000
XC( 3) 261.0000 0.000000
XC( 4) 140.0000 0.000000
XC( 5) 186.0000 0.000000
YC( 1) 90.00000 0.000000
YC( 2) 193.0000 0.000000
YC( 3) 199.0000 0.000000
YC( 4) 80.00000 0.000000
YC( 5) 103.0000 0.000000
XN( 1) 33.00000 -190.0000
XN( 2) 10.00000 -244.0000
XN( 3) 12.00000 -261.0000
XN( 4) 44.00000 -140.0000
XN( 5) 16.00000 -186.0000
YN( 1) 0.000000 -90.00000
YN( 2) 0.000000 -193.0000
YN( 3) 65.00000 -199.0000
YN( 4) 46.00000 -80.00000
YN( 5) 17.00000 -103.0000
即实际提供路线AH、AB、AC、HB、HC一等舱各33、10、12、44、16个,二等仓0、0、65、46、17个;获取最大利益39344; 楼上同仁没考虑约束条件很危险啊。