数学建模社区-数学中国

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

作者: 浅夏110    时间: 2020-6-16 10:05
标题: 飞行计划安排问题
例题:这个问题是以第二次世界大战中的一个实际问题为背景,经过简化而提出来 的。在甲、乙双方的一场战争中,一部分甲方部队被乙方部队包围长达 4 个月。由于乙 方封锁了所有水陆交通要道,被包围的甲方部队只能依靠空中交通维持供给。运送 4 个月的供给分别需要 2,3,3,4 次飞行,每次飞行编队由 50 架飞机组成(每架飞机需 要 3 名飞行员),可以运送 10 万吨物质。每架飞机每个月只能飞行一次,每名飞行员每 个月也只能飞行一次。在执行完运输任务后的返回途中有 20%的飞机会被乙方部队击 落,相应的飞行员也因此牺牲或失踪。在第 1 个月开始时,甲方拥有 110 架飞机和 330 名熟练的飞行员。在每个月开始时,甲方可以招聘新飞行员和购买新飞机。新飞机必须 经过一个月的检查后才可以投入使用,新飞行员必须在熟练飞行员的指导下经过一个月 的训练才能投入飞行。每名熟练飞行员可以作为教练每个月指导 20 名飞行员(包括他 自己在内)进行训练。每名飞行员在完成一个月的飞行任务后,必须有一个月的带薪假 期,假期结束后才能再投入飞行。
$ s( m3 z( f; q( u0 \) w3 V+ w! M, `0 j0 ~+ ~
已知各项费用(单位略去)如表 10 所示,请为甲方 安排一个飞行计划。9 n$ q, B; w* X9 B# ?" x

1 _: ?" B  x, R4 g3 S" b如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在 内)进行训练,模型和结果有哪些改变?
: g0 \/ R2 w$ L8 ?! r
& c- D6 M$ d7 o( V1 D" B6 @* y* f$ X- @

" x6 v* ]2 j$ P8 ^1 [& ^5 W: c(1)问题分析
* f" u- B: t9 o) R0 H+ x7 ~+ Q) c" A4 U( Q
这个问题看起来很复杂,但只要理解了这个例子中所描述的事实,其实建立优化 模型并不困难。首先可以看出,执行飞行任务以及执行飞行任务后休假的熟练飞行员数 量是常数,所以这部分费用(报酬)是固定的,在优化目标中可以不考虑。% J% n' Y- P5 A
% l/ q- d# b  D
(2)决策变量
; h/ i8 t6 n, G, P! C6 I& B  g, A0 H9 Z7 _, b  c8 j3 G
设 4 个月开始时甲方新购买的飞机数量分别为   ( i=1,2,3,4 )架,闲置的飞机数量分别为  架。4 个月中,飞行员中教练和新飞行员数量分别为   ( i=1,2,3,4 )人,闲置的熟练飞行员数量分别为  人。
, y  w9 o- R: g8 U0 H+ l& d. g- M9 o5 a9 }
(3)目标函数
4 g, [9 H5 y, w" C2 ^; s6 G' ^* x4 r8 o% `: W( h
优化目标是 . x) Z+ R, I& J& r5 T

' ^% C, Z4 X& U3 C3 x) C
$ m5 F9 u4 d5 U! J/ J. }
1 f; Z8 `3 r) V, I" M0 y' n7 y( g(4)约束条件
! H- R7 E1 K6 W& I, _4 k& W
4 {! C; U# t; D7 [1 p. B+ n需要考虑的约束包括:* _3 }. k- f6 |! m4 d0 Q- |# R( o
4 E+ d, P( b: H
i)飞机数量限制。4 个月中执行飞行任务的飞机分别为 100,150,150,200(架), 但只有 80,120,120,160(架)能够返回供下个月使用。 3 l4 r+ }) E1 n0 |4 @5 X5 l
9 }( p7 {' S$ b; B1 l- o) S: ~0 I5 u

( V" l% J9 Y& Y/ q" w- r8 M, u! K4 O' R# X/ H1 M) v: o
ii)飞行员数量限制。4 个月中执行飞行任务的熟练飞行员分别为 300,450,450, 600(人),但只有 240,360,360,480(人)能够返回(下个月一定休假)。% i, T; B5 F) J8 k

  e/ V5 \8 k/ H: X  [: r/ u2 r! E( ~' S# b1 l

5 H$ ~6 [' q, q% C1 j8 s% c(5)求解 编写 LINGO 程序如下
$ p+ F" \. J" ~& H; V# t8 Y4 {6 ]/ W9 y/ F6 Q  N
model: + c3 P$ @0 X! s# d# B
sets:
3 x3 R! a, k  m3 M/ G% j1 Ccol/1..4/:c1,c2,c3,x,u,v,y; 4 }! ^5 k: R2 n# Z
row/1..3/:b1,b2; 8 f/ `; R7 J, i
endsets 5 B  X: z7 ^0 ^( E) Q- j( M
data: $ p. P! z" ]4 H# r2 _
c1=200 195 190 185;
# n# N8 i* d# j0 p/ @c2=10 9.9 9.8 9.7;
. R7 W8 d* a8 b# Fc3=7 6.9 6.8 6.7;
7 q+ A) Q6 c, {* E, [! Cb1=70 30 80;
# V/ m$ b. o8 L# W0 \b2=450 210 240; & N' P" p* c- a) h7 |$ K8 m3 y9 w
enddata
( ]5 F4 R6 m, m/ j. ?8 emin=@sum(col:c1*x+c2*u+c3*v);
* L  @' J! G" M/ zy(1)=10;
4 l4 F1 W# W7 D: J% \@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)); " D9 Q4 i2 s: W1 w/ I' y, e7 N6 ^7 w2 m
end: g( d9 ^, n' T/ `
+ E' ]. G; J8 a5 y) C9 a+ s
" k7 _. ?& p" x( G) T8 R' i( u
$ K+ \7 e- ~: ~  G9 ]  r, I
6)问题讨论 / C8 }, O$ O6 a

" ]$ U8 s' S- |) m4 D; k  ~如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在内)进行训练,则应将教练与新飞行员分开。设4个月飞行员中教练为 (人),新飞行员数量分别为  (人)。其它符号不变。飞行员的数量限制约束为 ( u8 V9 D: E. Y
! ^8 V. h7 B" b( w' I

; n1 m: b' L! n4 X' _' z3 a2 t( B+ p( Z7 G$ g2 I" l/ K
目标函数作相应修改,输入 LINGO 如下: : @( h* ~8 Q# b% y5 k4 V
7 B% z5 U6 i' q0 O7 Y% q8 u
model:
0 @; n, c2 E3 Y- @* Vsets: 7 U+ t2 X% r& Y  g
col/1..4/:
5 b+ r2 ?& F$ b8 G$ ^4 jc1,c2,c3,x,u,v,w,y; " V6 O% Y: l4 t# Y5 m
row/1..3/:b1,b2;
% n5 H" [4 d' Q: \endsets 5 a6 c7 Y) D: n& }. T& y
data:
( p/ W) ~: K, E# w3 ^1 {# }1 Nc1=200 195 190 185; ! b/ F+ J' }* |* X+ b
c2=10 9.9 9.8 9.7; 4 e9 f8 {3 V3 {+ V6 t' D* d) f
c3=7 6.9 6.8 6.7; 4 f3 x8 v5 q. t
b1=70 30 80; 2 e4 A3 z+ s" Q" P
b2=450 210 240;
: }, y8 T+ v' |, [  m: Denddata
  ^3 T$ Q: I. ]& ^! `" }3 ]: ]min=@sum(col:c1*x+c2*(u+w)+c3*v); 2 y' `% h# W2 _+ k/ G- g
y(1)=10; ' a" V/ ?' y7 h! _6 d0 o
@for(col(i)|i#lt#4:y(i)+x(i)-y(i+1)=b1(i)); u(1)+v(1)=30; 7 H( E0 p- k6 S8 r/ a) H3 b. ^
@for(col(i)|i#lt#4:u(i)+v(i)+w(i)-u(i+1)-v(i+1)=b2(i)); , X" q  a! m+ j) S0 h
@for(col(i)|i#lt#4:w(i)<20*u(i));
1 J" N: h, G2 f1 u6 R3 e2 C@for(colgin(x);@gin(u);@gin(v);@gin(w);@gin(y));
  s6 k: V. E, p$ ]end
" M1 F+ M# W0 U/ i3 F2 E0 f
) n) k$ E9 [+ j+ v
6 a7 D7 u: }) M" l  r& G————————————————2 d' X) f. l1 J+ [" B
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' C: z' Y0 S; G# i+ P$ K8 u
原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89414595
5 E' n  L2 M8 }9 R; z( \9 Y! r1 ?2 u( s: v" L+ L

# a* N- k/ Y2 E+ ~




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