您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 运筹学课程设计报告(附代码)
《运筹学》课程设计报告姓名:班级:学号:一、问题描述1、机型指派问题机型指派优化设计是航空公司制定航班计划的重要内容,它要求在满足航班频率和时刻安排以及各机型飞机总数约束的条件下,将各机型飞机指派给相应的航班,使运行成本最小化。本课程设计要求建立机型指派问题的数学模型,应用优化软件Lindo/Lingo进行建模求解,给出决策建议,包括各机型执行的航班子集和相应的运行成本。2、问题描述已知某航空公司航班频率和时刻安排如《运筹学课程设计指导书》中表1所示,航班需求数据和运输距离如表2所示,其中,OrignA/P表示起飞机场,Dep.T.表示起飞时间,Dest.A/P表示目标机场,Dist表示轮挡距离,Demand表示航班需求量,StdDev.表示需求的标准差。该航空公司的机队有两种机型:9架B737-800,座位数162;6架B757-200,座位数200。飞八个机场:A,B,I,J,L,M,O,S。B737-800的CASM(座英里成本)是0.34元,B757-200是0.36元。两种机型的RASM(座英里收益)都是1.2元。以成本最小为目标进行机型指派,在成本方面不仅考虑运行成本,还必须考虑旅客溢出成本,否则将偏向于选取小飞机,使航空公司损失许多旅客。旅客溢出成本是指旅客需求大于航班可提供座位数时,旅客流失到其他航空公司造成的损失。旅客需求服从N(μ,σ)的正态分布。如果机票推销工作做得好,溢出旅客并不全部损失,有部分溢出旅客将该成本航空公司其他航班,这种现象叫做“再获得”(Recapture)。设有15%的溢出旅客被再获得。将飞机指派到航班上去,并使飞机总成本最小。二、分析建模1.确定决策变量经过对问题描述的分析得出,要解决飞机机型指派问题,我设定了两类变量:(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=iXiiDistSCASM1,*)(**101≤i≤142B757-200:C2=iXiiDistSCASM2,*)(**101≤i≤142CASM表示飞机座英里成本,S表示飞机座位数,Dist(i)表示第i条航线的轮挡距离(2)旅客溢出成本B737-800:C1’=旅客溢出数期望值*机票价格=iXiiDistRASMdE1,*)(**)(%)151(101≤i≤142B757-200:C2’=旅客溢出数期望值*机票价格=iXiiDistRASMdE2,*)(**)(%)151(101≤i≤142RASM表示飞机座英里收益其中,对于两种机型的旅客溢出期望值E(d)=cdddfcd)()(=/)()(2/1dccxe-(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节点A2的约束条件:GA2,1=GA1,1+x131,1节点A3的约束条件:GA3,1=GA2,1-x111,1节点A4的约束条件:GA4,1=GA3,1+x132,1节点A5的约束条件:GA5,1=GA4,1-x112,1节点A6的约束条件:GA6,1=GA5,1+x133,1对于机型2而言有如下约束条件节点A2的约束条件:GA2,2=GA1,2+x131,2)节点A3的约束条件:GA3,2=GA2,2+x111,2)节点A4的约束条件:GA4,2=GA3,2+x132,2)节点A5的约束条件:GA5,2=GA4,2+x112,2)节点A6的约束条件:GA6,2=GA5,2+x133,2)机场B机场I节点L1DEP8:10节点L2ARR12:00节点L4ARR17:05节点L5DEP18:00节点L3DEP13:10节点L6ARR20:35110131133112132111节点L1DEP6:15节点L2ARR9:10节点L3DEP10:00节点L4ARR14:00节点L6ARR23:00节点L5DEP15:00116140137138139117118141142节点L5ARR16:15节点L4DEP14:25节点L3ARR13:00节点L2DEP8:15节点L1ARR7:20节点L6DEP18:30119120121机场L机场M机场O机场S节点L1DEP5:00节点L3ARR13:05节点L4DEP15:20节点L5ARR21:30节点L2DEP9:45节点L6ARR0:30101102122103123124节点L6ARR21:10节点L5DEP18:15节点L4ARR18:10节点L3DEP14:30节点L2ARR13:35节点L1DEP9:10136115135114134113节点L6ARR0:30节点L1DEP0:30节点L2ARR0:30节点L5DEP0:30节点L3DEP0:30节点L4ARR0:30节点L2DEP0:30节点L3ARR0:30节点L4DEP0:30节点L5ARR0:30节点L6ARR0:30节点L1DEP0:30130109129128108107127126106125105104机场J节点L1DEP6:20节点L2DEP7:25节点L3DEP7:35节点L8DEP10:05节点L10A-D10:35节点L6ARR9:15节点L4DEP7:40节点L5ARR7:45节点L7A-D9:30节点L9ARR10:30节点L11ARR10:40节点L12ARR11:30节点L14ARR12:10节点L15DEP12:30节点L16ARR14:20节点L17DEP14:35节点L18DEP15:05节点L19DEP15:10节点L20A-D15:15节点L21ARR15:20节点L25DEP16:00节点L24ARR15:40节点L23DEP15:30节点L22ARR15:25节点L26ARR16:30节点L27ARR17:30节点L28DEP18:05140125137122116119107131128101117110104134138108132129135142105102120126111114118123133141节点L13DEP12:00113(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;节点L29DEP18:10136节点L34ARR20:30节点L33DEP20:00节点L32ARR19:30节点L30DEP19:00节点L31ARR19:10节点L37DEP21:00节点L36ARR20:55节点L38ARR21:15节点L35ARR20:50124127139130节点L39DEP21:30109121103106115112Airport/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;!以对各机场的时间线节点为序的集;endsetsdata:Dist,Demand,std_dev,Orign_AP,Dist_AP=@OLE('D:\data1.xls');!轮挡距离、航班需求量、需求标准差、起飞机场以及降落机场可从excel表格中直接读去数据;flightno,flag=@ole('D:\data2.xls');seat=162,200;casm=0.34,0.36;rasm=1.2;Recapture=0.15;enddata!objective目标函数;min=@sum(flight_assign(i,j):x(i,j)*casm(j)*seat(j)*Dist(i)+x(i,j)*rasm*Dist(i)*std_dev(i)*(1-Recapture)*@psl(((seat(j)-Demand(i))/std_dev(i))));!目标为成本最小,运输成本和旅客溢出成本;!constraint约束条件;@for(flight_assign:@bin(x));!对每条航线的机型,指派后只能为0或1;@for(flight(i):@sum(Planetype(j):x(i,j))=1);!对每条航线,两种机型只能任选其一,故和为1;!各机场的节点飞机流平衡条件如下:对于第一机场(即A机场);G(1,1,1)=G(1,6,1)-x(10,1);G(1,1,2)=G(1,6,2)-x(10,2);!对两种机型过夜节点与第一个节点联系;@for(planetype(k):@for(Timenode(j)|j#ge#2:G(1,j,k)=G(1,j-1,k)+x(flightno(j)-100,k)*flag(j)));!按时间线上的节点顺序,建立平衡条件;!对于第二机场(即B机场);G(2,1,1)=G(2,6,1)-x(16,1);G(2,1,2)=G(2,6,2)-x(16,2);@for(planetype(k):@for(Timenode(j)|j#ge#2:G(2,j,k)=G(2,j-1,k)+x(f
本文标题:运筹学课程设计报告(附代码)
链接地址:https://www.777doc.com/doc-2015240 .html