运筹学LINGO建模,不是很懂,某航空公司在4个城市A、B、C和H之间有三个航线.公司提供两种价格的舱位,希望知道每一个航线顾客对每一种舱位的需求数量.注意H是一个换乘中心.三个航线分别是A

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 00:07:21
运筹学LINGO建模,不是很懂,某航空公司在4个城市A、B、C和H之间有三个航线.公司提供两种价格的舱位,希望知道每一个航线顾客对每一种舱位的需求数量.注意H是一个换乘中心.三个航线分别是A运筹学LI

运筹学LINGO建模,不是很懂,某航空公司在4个城市A、B、C和H之间有三个航线.公司提供两种价格的舱位,希望知道每一个航线顾客对每一种舱位的需求数量.注意H是一个换乘中心.三个航线分别是A
运筹学LINGO建模,不是很懂,
某航空公司在4个城市A、B、C和H之间有三个航线.公司提供两种价格的舱位,希望知道每一个航线顾客对每一种舱位的需求数量.注意H是一个换乘中心.三个航线分别是A到H、H到B和H到C.三个航线的运输能力分别是120、100和110.顾客的需求如下:
线路 头等舱需求 价格 二等舱需求 价格
AH 33 190 56 90
AB (via H) 24 244 43 193
AC (via H) 12 261 67 199
HB 44 140 69 80
HC 16 186 17 103
对于三个航线来说,头等舱提供多少?二等舱能提供多少?如果不考虑可行性的话,满足所有头等舱旅客的需求就是一个显而易见的解答.因此,AH航线将提供33 + 24 + 12 = 69头等舱;HB航线将提供 24 + 44 = 68头等舱;HC航线将提供12 + 16 = 28头等舱.总收入达到$38,854.

运筹学LINGO建模,不是很懂,某航空公司在4个城市A、B、C和H之间有三个航线.公司提供两种价格的舱位,希望知道每一个航线顾客对每一种舱位的需求数量.注意H是一个换乘中心.三个航线分别是A
代码:
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:Xn

这个问题根本用不着建模,首先头等舱必须得满足,再满足二等舱价格较大的则33*190+24*244+12*261+44*140+16*186+56*90+43*193+67*199+17*103+80*(330-33-24-12-44-16-56-43-67-17)=48557