数学建模社区-数学中国

标题: 飞行计划安排问题 [打印本页]

作者: 浅夏110    时间: 2020-6-16 10:05
标题: 飞行计划安排问题
例题:这个问题是以第二次世界大战中的一个实际问题为背景,经过简化而提出来 的。在甲、乙双方的一场战争中,一部分甲方部队被乙方部队包围长达 4 个月。由于乙 方封锁了所有水陆交通要道,被包围的甲方部队只能依靠空中交通维持供给。运送 4 个月的供给分别需要 2,3,3,4 次飞行,每次飞行编队由 50 架飞机组成(每架飞机需 要 3 名飞行员),可以运送 10 万吨物质。每架飞机每个月只能飞行一次,每名飞行员每 个月也只能飞行一次。在执行完运输任务后的返回途中有 20%的飞机会被乙方部队击 落,相应的飞行员也因此牺牲或失踪。在第 1 个月开始时,甲方拥有 110 架飞机和 330 名熟练的飞行员。在每个月开始时,甲方可以招聘新飞行员和购买新飞机。新飞机必须 经过一个月的检查后才可以投入使用,新飞行员必须在熟练飞行员的指导下经过一个月 的训练才能投入飞行。每名熟练飞行员可以作为教练每个月指导 20 名飞行员(包括他 自己在内)进行训练。每名飞行员在完成一个月的飞行任务后,必须有一个月的带薪假 期,假期结束后才能再投入飞行。; @/ b  I; F. T: m; S& j
& N/ x4 S3 p9 A# f' Z4 Z: C
已知各项费用(单位略去)如表 10 所示,请为甲方 安排一个飞行计划。+ Z: Y1 V- N8 W" q
$ y" J' d) {" G/ V6 @( F( J0 N; r
如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在 内)进行训练,模型和结果有哪些改变?
: e4 h/ i; b0 {% P" M: V+ d$ D
( L) l% H3 x' E7 g: ~
$ {+ c+ r7 V' h9 L
" a2 n4 D  T0 V: _# Z* f(1)问题分析
3 a: K  _* k' `" a& e& b
; q6 t, N" y! ~2 |: S, a: G这个问题看起来很复杂,但只要理解了这个例子中所描述的事实,其实建立优化 模型并不困难。首先可以看出,执行飞行任务以及执行飞行任务后休假的熟练飞行员数 量是常数,所以这部分费用(报酬)是固定的,在优化目标中可以不考虑。2 u4 z( M8 W* o& r2 m# u

& L  s# {$ N4 F; _' [(2)决策变量 $ h$ N' Q5 }) \5 ?# i, Q

  a' D( o# B/ o设 4 个月开始时甲方新购买的飞机数量分别为   ( i=1,2,3,4 )架,闲置的飞机数量分别为  架。4 个月中,飞行员中教练和新飞行员数量分别为   ( i=1,2,3,4 )人,闲置的熟练飞行员数量分别为  人。
7 z9 b& e5 |; ]; k+ k) J' y# h% j2 |- Q9 p/ a5 a
(3)目标函数
* S/ }4 F# N1 d0 A6 ~  X1 Z# l" ^. j% `; S) n
优化目标是
% [8 M4 J" ?- X* f; g" Y3 a$ Q* A3 V$ i: x7 l4 I+ D

  u& m& ]) c2 Q) O1 m
: [, t8 G: \8 y2 s) }* x(4)约束条件
( ?( t2 I" \" c2 `7 L; ?0 I( }+ B3 c0 X7 v
需要考虑的约束包括:2 L6 ]9 f$ D* s; \0 g
) H1 q4 l1 v. L) n6 L1 Y
i)飞机数量限制。4 个月中执行飞行任务的飞机分别为 100,150,150,200(架), 但只有 80,120,120,160(架)能够返回供下个月使用。
2 I4 j- T3 c$ C
4 a: k  H  A4 S
4 [& D) K5 [- w4 z% k7 X% l, z4 k7 F0 D- P: ]; \% z" ~& K/ k$ \
ii)飞行员数量限制。4 个月中执行飞行任务的熟练飞行员分别为 300,450,450, 600(人),但只有 240,360,360,480(人)能够返回(下个月一定休假)。
+ k# X: e) S9 S, p& K
: a4 y" U' p" g1 x7 |5 I1 G3 r% l5 A, H: o* G6 g7 G, i% p" O
! \8 {* C9 ~% C
(5)求解 编写 LINGO 程序如下
+ D8 y  \: w+ \/ R  j/ i' `' u% l  n. _% A# \! @
model:
* a1 D: n0 t( t  y( m. Csets:   g2 T1 C9 r7 Z% A% q  M  ?
col/1..4/:c1,c2,c3,x,u,v,y;
2 A  C  i1 a' E" f6 K0 A' Crow/1..3/:b1,b2;
  X& ^( R  f: J3 N# M7 W# dendsets
/ b: E4 t. C. r. jdata:
5 A% n& \+ I2 I% l! R# Ic1=200 195 190 185;
1 J  @! [! c% T! p0 D! Bc2=10 9.9 9.8 9.7; ) a4 F+ h+ `9 Z; r' F; n- V+ {
c3=7 6.9 6.8 6.7; ' e& v# y1 _/ i  h0 M. z7 v, E
b1=70 30 80; 0 X; B2 S/ o) f, E& s) L) o
b2=450 210 240;
) m) d& D; V: W7 k2 zenddata3 B! O0 [2 \/ K& |! W7 R+ _
min=@sum(col:c1*x+c2*u+c3*v); ' k9 p0 E$ R8 i1 X# P9 @
y(1)=10; $ [3 N& [7 A5 ?4 \; Q; `  s  f) U
@for(col(i)|i#lt#4:y(i)+x(i)-y(i+1)=b1(i)); 0.05*u(1)+v(1)=30; @for(col(i)|i#lt#4:u(i)+v(i)-0.05*u(i+1)-v(i+1)=b2(i)); @for(colgin(x);@gin(u);@gin(v);@gin(y)); 3 b" I1 g" D  ]0 w* o" w
end6 K5 K$ A2 Z# X6 P2 ?" X

; f0 i+ ~! H+ ?
. K8 A# B* |! V! J" n! ~9 R# }) I, K
6)问题讨论
* M: e' K6 v, `% J5 b6 K9 u" M4 W
如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在内)进行训练,则应将教练与新飞行员分开。设4个月飞行员中教练为 (人),新飞行员数量分别为  (人)。其它符号不变。飞行员的数量限制约束为
+ g+ k2 b' v+ X1 T  U, R' J3 a
2 U& `7 X" l7 e. F7 @: q0 y% p6 r  ~3 m) O. ]" U6 G' \
+ j% j" Q1 e# d- Z) [' \2 _7 H
目标函数作相应修改,输入 LINGO 如下: ) w6 E* |+ K" [2 y1 G6 l) |7 V
  S( T! {# S" E9 ?9 @, _
model: ( r$ H( a+ b/ N9 H9 y- R+ G4 d5 `
sets: $ m. T  ?; M& d5 ~1 c4 y3 V& ]
col/1..4/:
7 w; j9 X% k3 b: ^) D6 t8 z2 Oc1,c2,c3,x,u,v,w,y; 2 ?" L& p7 v, _3 s2 C, e/ t
row/1..3/:b1,b2;
  ?- m9 B1 F$ W6 p6 N; Gendsets 7 M  g7 J3 F9 P! G4 R$ s1 Y+ T2 }# l
data:
$ p8 j4 o( ?9 `& Wc1=200 195 190 185;
& r" W0 z9 k. Q' T# Z/ Ac2=10 9.9 9.8 9.7;
9 B$ a  R. N1 ?) Cc3=7 6.9 6.8 6.7; ' r, B) D  o' r
b1=70 30 80; " a- G) g* O4 Y4 w. H: N
b2=450 210 240;
! h" r; U+ G! @3 s3 _/ v' wenddata 9 Y/ O% k7 {: \2 X( B( h
min=@sum(col:c1*x+c2*(u+w)+c3*v);
8 Y2 G$ ?+ I3 @y(1)=10; 6 p5 }/ H- E! t1 l2 f" Z
@for(col(i)|i#lt#4:y(i)+x(i)-y(i+1)=b1(i)); u(1)+v(1)=30; 8 X! B4 J! m2 I) a( S/ ~
@for(col(i)|i#lt#4:u(i)+v(i)+w(i)-u(i+1)-v(i+1)=b2(i));
6 {" ]$ n% o! B@for(col(i)|i#lt#4:w(i)<20*u(i));
, a) j: t5 E# g! H0 c$ _* w: ^@for(colgin(x);@gin(u);@gin(v);@gin(w);@gin(y)); / i$ e0 U6 n; S: b- b
end + V1 b) x: C# {$ c* O3 R' f. Y
9 H1 b" P; X: e6 \/ p6 q: j
1 G- \1 M& c' H) e1 \
————————————————
% N8 R' g1 M" ~8 n, }/ s- }$ j版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
1 |- n" i0 a. P' W+ J9 t原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89414595  j+ v7 F- v* x
' ?1 {& V3 ]+ v) I5 \! t' |
$ {: J1 Z2 `0 `2 y! b8 D* p





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5