运筹学课程设计报告附代码Word文档格式.docx
《运筹学课程设计报告附代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《运筹学课程设计报告附代码Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
经过对问题描述的分析得出,要解决飞机机型指派问题,我设定了两类变量:
(1)针对各条航线的机型,令B737-800和B757-200分别为机型1和机型2,设变量Xi,j.其中101≤i≤142,j=1或2。
且对于变量Xi,j=0或1,当Xi,j=1,表示第i条航线由第j种飞机运营。
例如,X101,1=1,则第101号航班由第1种机型飞行,且X101,2=0
(2)针对机场时间节点飞机流的变量,设变量Gm,j.表示对于第m个节点上第j种机型的数量,例如,GA1,1表示A机场第1个节点上第1种机型的数量。
2.目标函数
以飞机总成本最小为指派目标,而单个航班的飞机总成本包括两个部分:
1.运输成本;
2.旅
客溢出成本;
其中运输成本的表达式为:
B737-800的架数*162*0.34*该航班的轮挡距离+B757-200的架数*200*0.36*该航班的轮挡距离;
旅客溢出成本的表达式为:
航班旅客溢出的期望值*1.2*该航班的轮挡距离*0.85。
详细计算公式如下:
(1)营运成本
B737-800:
C1=
101≤i≤142
B757-200:
C2=
CASM表示飞机座英里成本,S表示飞机座位数,Dist(i)表示第i条航线的轮挡距离
(2)旅客溢出成本
B737-800:
C1’=旅客溢出数期望值*机票价格
=
B757-200:
C2’=旅客溢出数期望值*机票价格
101≤i≤142
RASM表示飞机座英里收益
其中,对于两种机型的旅客溢出期望值
E(d)=
e-(x2/2)dx
μ表示航班需求量的期望,σ表示需求的标准差,c表示飞机的座位数
(3)建立目标函数
MinC=C1+C2+C1’+C2’
2.时空网络建模及其约束条件
(1)节点飞机平衡条件
对于每种机型,在时空网络中各节点的飞机流必须保持平衡。
如某机型有一定数量航班到达,一定数量航班出发,因此该节点后该机型留下飞机数=原有飞机数+到达飞机数-离开飞机数。
下面会对各个机场的具体节点飞机流量状况进行解释说明。
(已设定B737-800为机型1,B757-200为机型2)
如分析A机场的各机型飞机流量状况。
根据节点平衡条件,节点A1的约束条件:
GA1,1=GA6,1-X110,1(或者为GA1,2=GA6,2-X110,2)。
其中GA1,1代表该机场节点现存飞机数目,其中A代表机场,A1,1中前一个1代表机场A的第一个节点,第二个1代表机型1。
X110,1中代表飞入或飞出飞机架数,只能为0或1,110代表航班代号,1代表第一种机型。
以下约束条件具有相似的意义,将不作详细阐述。
并且只详尽列出节点A的约束条件,其他节点的情况可以同理写出。
对于机型1而言有如下约束条件机场A
110
节点L1DEP8:
10
节点A2的约束条件:
GA2,1=GA1,1+x131,1
节点A3的约束条件:
GA3,1=GA2,1-x111,1
131
节点L2ARR12:
00
节点A4的约束条件:
GA4,1=GA3,1+x132,1
节点A5的约束条件:
GA5,1=GA4,1-x112,1
111
节点L3DEP13:
节点A6的约束条件:
GA6,1=GA5,1+x133,1
对于机型2而言有如下约束条件
132
节点L4ARR17:
05
GA2,2=GA1,2+x131,2)
GA3,2=GA2,2+x111,2)
112
节点L5DEP18:
GA4,2=GA3,2+x132,2)
GA5,2=GA4,2+x112,2)
133
节点L6ARR20:
35
GA6,2=GA5,2+x133,2)
机场B机场I
节点L1ARR7:
20
140
116
节点L1DEP6:
15
141
142
117
118
137
138
139
119
节点L2DEP8:
节点L2ARR9:
节点L3ARR13:
节点L3DEP10:
120
节点L4DEP14:
25
节点L4ARR14:
节点L5ARR16:
节点L5DEP15:
121
节点L6DEP18:
30
节点L6ARR23:
节点L2ARR13:
节点L2DEP9:
45
124
136
115
135
114
134
113
节点L6ARR21:
节点L4ARR18:
节点L3DEP14:
节点L1DEP9:
101
123
103
122
102
节点L6ARR0:
节点L5ARR21:
节点L4DEP15:
节点L1DEP5:
机场L机场M
节点L5DEP0:
节点L4ARR0:
节点L3DEP0:
节点L1DEP0:
节点L2ARR0:
127
126
106
125
105
104
130
109
129
108
128
107
节点L5ARR0:
节点L4DEP0:
节点L3ARR0:
节点L2DEP0:
机场O机场S
机场J
节点L13DEP12:
00
节点L12ARR11:
节点L27ARR17:
节点L28DEP18:
节点L26ARR16:
节点L25DEP16:
节点L24ARR15:
40
节点L23DEP15:
节点L22ARR15:
节点L21ARR15:
节点L20A-D15:
节点L19DEP15:
节点L18DEP15:
节点L17DEP14:
节点L15DEP12:
节点L16ARR14:
节点L14ARR12:
节点L11ARR10:
节点L10A-D10:
节点L9ARR10:
节点L8DEP10:
节点L7A-D9:
节点L6ARR9:
节点L5ARR7:
节点L4DEP7:
节点L3DEP7:
节点L2DEP7:
节点L35ARR20:
50
节点L29DEP18:
10
节点L39DEP21:
节点L38ARR21:
15
节点L37DEP21:
节点L36ARR20:
55
节点L34ARR20:
30
节点L33DEP20:
节点L32ARR19:
节点L31ARR19:
节点L30DEP19:
(2)飞机总数约束
每基地机场各机型过夜飞机数之和不超过该型飞机的总数
对于机型1,有如下的总数约束:
GA6,1+GB6,1+GI6,1+GJ40,1+GL6,1+GM6,1+GO6,1+GS6,1≤9
对于机型2,有如下的总数约束:
GA6,2+GB6,2+GI6,2+GJ40,2+GL6,2+GM6,2+GO6,2+GS6,2≤6
(3)对每条航线飞机数的限制
∑Xi,k=1i代表航线,如101;
k代表机型,只能是1和2。
具体表达如:
X101,1+X101,2=1,并且X101,1和X101,2只能一个取0,一个取1
三.模型求解
Model:
sets:
flight/@OLE('
data.xls'
'
Flight_No'
)/:
Dist,Demand,std_dev,Orign_AP,Dist_AP;
Airport/1..8/;
!
个机场;
airline/1..42/;
共42条航线;
Timenode/1..6/;
对于除基地J机场外的7个机场,每个均有6个节点;
Planetype/1,2/:
seat,casm;
两种机型,座位数和座英里成本;
flight_assign(flight,Planetype):
x;
由航线和机型组成的指派二维变量;
Airparking(Airport,airline,Planetype):
G;
由机场,节点和机型组成的三维变量;
link/1..84/:
flightno,flag;
以对各机场的时间线节点为序的集;
endsets
data:
Dist,Demand,std_dev,Orign_AP,Dist_AP=@OLE('
D:
\data1.xls'
);
轮挡距离、航班需求量、需求标准差、起飞机场以及降落机场可从excel表格中直接读去数据;
flightno,flag=@ole('
\data2.xls'
seat=162,200;
casm=0.34,0.36;
rasm=1.2;
Recapt