飞行计划问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
飞行计划问题
摘要
本文针对飞行经费问题,通过对被困甲方飞机,飞行员以及飞行时间进行优化配置的分析,给出了关于飞行计划问题及资源优化配置等问题的一个数学模型。
甲方新招聘飞行员和新购买的飞机飞行可用线性规划的方法实现,求解目标为在满足供给的前提下,使总的费用最低的最优解。
总费用为购买新飞机的花费、闲置的熟练飞行员报酬、教练和飞行员报酬(包括培训费用)、执行飞行任务的熟练飞行员报酬、休假期间的熟练飞行员报酬之和。
对于这一类约束最优解的模型,首先,我们可以根据题目给出的要求写出对应的目标函数,其次再根据题目中的约束条件建立相应的约束函数,最后用matlab软件输入相应的代码,求出约束条件下目标函数的最优解。
关键词:飞行员数量飞机数量教练数目约束最优化模型费用最低
一、问题提出
在甲、已双方的一场战争中,一部分甲方部队被乙方部队包围,需坚守长达
4个月。
由于乙方封锁了所有水、陆交通通道,被包围的甲方部队只能依靠空中交通维持供给。
运送4个月的供给分别需要2,3,3,4次飞行,每次飞行编队由50架飞机组成(每架飞机需要3名飞行员),可以运送10万吨物资。
每架飞机每个月只能飞行一次,每名飞行员每个月也只能飞行一次。
在执行完运输任务后的返回途中有20%的飞机会被乙方部队击落,相应的飞行员也因此牺牲或失踪。
在第一个月开始时,甲方拥有110架飞机和330名熟练的飞行员。
在每个月开始时,甲方可以招聘新飞行员和购买新飞机。
新飞机必须经过一个月的检查后才可以投入使用,新飞行员必须在熟练飞行员的指导下经过一个月的训练才能投入飞行。
每名熟练飞行员可以作为教练每个月指导20名飞行员(包括他自己在内)进行训练。
每名飞行员在完成一个月的飞行任务后,必须有一个月的带薪假期,假期结束后才能再投入飞行。
已知各项费用(单位略去)如下表所示,请为甲方安排一个飞行计划,使得所需要的费用最低。
模型分析
有题目的条件知,飞行计划的新购飞机与新招聘的飞行员的可以分开计算,只要二者各自所需的费用都达到最低时,甲方的飞行计划所需的总的费用即为最低。
同时,为了甲方的飞机和飞行员在题目条件下发挥最大作用以及在此条件下合理的给予甲方被困人员物资援助,我们令甲方的飞机和飞行员在每个月的飞行将飞行时间平分。
即第一个月的第10天、第20天,第二个月的第7天、第14天、第21天,第三个月的第7天、第14天、第21天,第四个月的第6天、第12天、第18天、第24天,执行任务。
二、模型假设与符号说明
模型假设
1.甲方部队被乙方部队包围的时间为一个自然月的月一。
2.飞行员的报酬在当月的月初发放。
3.只要本月飞行员执行任务,即在月初按执行任务的熟练飞行员的报酬发放。
4.每个月甲方执行飞行计划时,仅在他们返回途中有20%的飞机被击落。
另外在训练、运送物资及闲置等时候飞机不会出事。
5.假设新飞机经一个月检查后都可以投入使用;新飞行员经一个月训练后都可以投入飞行,而且被训练后的新飞行员便成为了熟练飞行员。
6.假设没有援军等其它因素来干扰甲乙双方的战争;每月甲方的空中运送计划没有其他因素影响,空运的物资、次数及飞机数目不变。
7.假设飞行员数目只因为飞机被击落而减少,不受疾病、退休等因素影响。
8.假设新飞行员训练时不占用飞机,新飞机检查时不占用飞行员。
9.飞机执行完任务30天以后,才能再次执行任务。
符号说明
1.每个月购买的新飞机数量为X i。
2.每个月新招聘的飞行员的数量为Y i。
3.每个月飞行员应花费的费用为W i。
4.四个月飞行员应花费的总费用为W。
三、模型建立与求解
在执行任务过程中,甲方的飞机和飞行员有被击落的可能,所以甲方的飞行计划中应有甲方招聘新飞行员和购买新飞机的数量。
新购飞机的计算
因为每个月未执行任务的飞机数量的飞机数量应大于等于0,故得到线性规划的约束条件
X1−60≥0
X1+X2−90 ≥0
X1+X2+X3−170≥0
有题目的条件知购买飞机所用的费用为200X1+195X2+190X3+185X4
由matlab求解
Min(200X1+195X2+190X3+185X4)
X1−60≥0
X1+X2−90 ≥0
得
X1+X2+X3−170≥0
X1,X2,X3,X4≥0
x =
60.0000 f_opt =
30.0000
80.0000 key: 33050
即第一个月新购飞机的数量为60,第二个月新购飞机的数量为30,第三个
月新购飞机的数量为80,第四个月新购飞机的数量为0,这样即可在不影响正常执行任务的情况下,将购买飞机所用的费用降到最低。
新招聘飞行员的计算
闲置的熟练飞行员报酬、执行任务的熟练飞行员报酬与休假期间的熟练飞行员报
酬之和。
即W1=Y1+Y1
19∗10+30−Y1
19
∗7+300∗9+0∗5.0
W2=Y2+Y2
19∗9.9+Y1−Y2
19
−420∗6.9+450∗8.9+240∗4.9
W3=Y3+Y3
19∗9.8+Y1+Y2−Y3
19
−630∗6.8+450∗9.8+360∗4.8
W4=Y4+Y4
19∗9.7+Y1+Y2+Y3−Y4
19
−870∗6.7+600∗9.7+360∗4.7
则W =
290395
∗Y 1+
223895
Y 2+
63338
Y 3+
1873190
Y 4+7275
因为第一月至第四月闲置的熟练飞行员数量必须大于等于零,故得到线性规划的约束条件
30−Y 1
19≥0Y 1−Y
219−420≥0
Y 1+Y 2−Y 3
19
−630≥0
Y 1+Y 2+Y 3−Y 419−870≥0
由matlab 求解 Min(285395
∗Y 1+
87938
Y 2+
3103190
Y 3+
18319
Y 4)
30−Y 1
19≥0Y 1−Y
219−420≥0
Y 1+Y 2−Y 3
19
−630≥0
Y 1+Y 2+Y 3−Y 419−870≥0 得
x = f_opt =
431.1000 key: 2.1549e+04 210.9000 228.0000 -0.0000
因为Y i 必须为整数,所以对Y 1=431.1000,Y 2=210.9000进行讨论。
由表格知,Y 1=432,Y 2=210
因为教练的数量只能为整数,所以飞行员各项费用调整如下表
甲方飞行计划
四、模型的评价和推广
本题中根据题目条件我们建立了一个约束最优化模型,这样的求解约束最优化模型的方法和思路可以用来求解任何约束最优化的问题,并且用matlab软件可很方便的求解这一类问题,从而使得我们的模型易于理解和推广。
从这个角度来看,约束最优化问题和线性规划具有统一性。
本题中这样的建模方法和求解思路可以用来求解实际生活中的很多问题如运输问题(不同型号的车,运送货物到不同的目的地,要求总的运费最少),不同的运输方式的结合以及在新型娱乐城中各娱乐项目的配合放置等问题也是求解约束最优化的问题。
如果题目中没有约束条件,对于本题我们建立的模型比较单一,这样使模型的推广受到一定的限制,可以在题目条件下修改运送货物的重量以及不同飞机的配合运输等以改善约束条件对模型推广的限制。
五、参考文献
[1]马莉,MATLAB数学实验与建模,清华大学出版社:北京,2010.1.
六、附录
新购飞机和新招聘的飞行员数量用matlab软件求解的源代码及运行结果:
新购飞机
f=[200.0 195.0 190.0 185.0]';
A=[-1 0 0 0;-1 -1 0 0;-1 -1 -1 0];
B=[-60;-90;-170];Ae=[];Be=[];
xm=[0,0,0,0];
ff=optimset;
rgeScale='off';
ff.TolFun=1e-20;
ff.TolCon=1e-20;
ff.Display='iter';
[x,f_opt.key,C]=linprog(f,A,B,Ae,Be,xm,[],[],ff)
Optimization terminated.
Optimization terminated.
x =
60.0000
30.0000
80.0000
f_opt =
key: 33050
C =
1
新招聘的飞行员
f=[2853/95 879/38 3103/190 183/19]';
A=[1 0 0 0;-1 1/19 0 0;-1 -1 1/19 0;-1 -1 -1 1/19];
B=[570;-420;-630;-870];Ae=[];Be=[];
xm=[0,0,0,0];
ff=optimset;
rgeScale='off';
ff.TolFun=1e-20;
ff.TolCon=1e-20;
ff.Display='iter';
[x,f_opt.key,C]=linprog(f,A,B,Ae,Be,xm,[],[],ff) Optimization terminated.
Optimization terminated.
x =
431.1000
210.9000
228.0000
-0.0000
f_opt =
key: 2.1549e+04
C =
1。