数学建模社区-数学中国

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

作者: 浅夏110    时间: 2020-6-16 10:05
标题: 飞行计划安排问题
例题:这个问题是以第二次世界大战中的一个实际问题为背景,经过简化而提出来 的。在甲、乙双方的一场战争中,一部分甲方部队被乙方部队包围长达 4 个月。由于乙 方封锁了所有水陆交通要道,被包围的甲方部队只能依靠空中交通维持供给。运送 4 个月的供给分别需要 2,3,3,4 次飞行,每次飞行编队由 50 架飞机组成(每架飞机需 要 3 名飞行员),可以运送 10 万吨物质。每架飞机每个月只能飞行一次,每名飞行员每 个月也只能飞行一次。在执行完运输任务后的返回途中有 20%的飞机会被乙方部队击 落,相应的飞行员也因此牺牲或失踪。在第 1 个月开始时,甲方拥有 110 架飞机和 330 名熟练的飞行员。在每个月开始时,甲方可以招聘新飞行员和购买新飞机。新飞机必须 经过一个月的检查后才可以投入使用,新飞行员必须在熟练飞行员的指导下经过一个月 的训练才能投入飞行。每名熟练飞行员可以作为教练每个月指导 20 名飞行员(包括他 自己在内)进行训练。每名飞行员在完成一个月的飞行任务后,必须有一个月的带薪假 期,假期结束后才能再投入飞行。
0 o+ M* x7 V$ y
3 P2 Y  s- N7 H+ K1 W已知各项费用(单位略去)如表 10 所示,请为甲方 安排一个飞行计划。
) F) G* s  t$ D
$ n! B. S; R. |! Y) l; E) d如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在 内)进行训练,模型和结果有哪些改变?
2 W6 B4 g. y; S9 X& \
5 Q! A5 r- i. {9 ^. g4 p  U* P9 z! o/ K% t
8 }  K1 r9 Z3 s; o
(1)问题分析
) j  c( A/ Q7 v0 j" Y. P4 d/ e: Z0 }7 ?7 C2 _. l3 B1 u( X3 E- S; M
这个问题看起来很复杂,但只要理解了这个例子中所描述的事实,其实建立优化 模型并不困难。首先可以看出,执行飞行任务以及执行飞行任务后休假的熟练飞行员数 量是常数,所以这部分费用(报酬)是固定的,在优化目标中可以不考虑。
/ \3 J( e/ o  X! x4 |/ }3 x; ?% X6 N% t6 r& P
(2)决策变量 7 S8 t5 O( l& @" f( [

% ~3 H& q8 Z) |$ b* K0 ^5 c. y设 4 个月开始时甲方新购买的飞机数量分别为   ( i=1,2,3,4 )架,闲置的飞机数量分别为  架。4 个月中,飞行员中教练和新飞行员数量分别为   ( i=1,2,3,4 )人,闲置的熟练飞行员数量分别为  人。
' J  _3 d" }( S; a6 M
/ T) a! E- c* @: _(3)目标函数, d" L" b! `$ R3 i, q$ x

  _% y. ~( l+ O% v3 c, R7 z优化目标是 9 W; B( ?. j/ x! S* @9 b7 m

! p. m9 {4 e+ U9 _& O5 W9 v" [
. x# [; C) _5 }7 e% |! T7 r: X
(4)约束条件" S0 a- W- T2 C6 c& c& h

7 g6 V, E9 b) m) E7 r+ \% R需要考虑的约束包括:
+ U1 j: ^3 Y6 g( Y0 q
. P) e2 m6 s8 I# w4 z0 Li)飞机数量限制。4 个月中执行飞行任务的飞机分别为 100,150,150,200(架), 但只有 80,120,120,160(架)能够返回供下个月使用。 $ F) k. b$ P: q% q
3 ^2 ~4 \. s, k) I9 U' U

( u3 E9 Q! {( h0 e# {) }
5 B$ G8 j( K, j& j8 |ii)飞行员数量限制。4 个月中执行飞行任务的熟练飞行员分别为 300,450,450, 600(人),但只有 240,360,360,480(人)能够返回(下个月一定休假)。
$ V; k4 Y( ?* R+ u7 f6 O# a, [2 n" b
' L4 L7 _  T+ ^0 Y. W8 }/ ~  W
6 f# ], L+ I" B+ w7 Z' p
(5)求解 编写 LINGO 程序如下
# }9 T9 C* J0 f' _
* G. E& i: z3 Z) u/ _model: , s$ i3 i( u, l
sets: & c' ]) x7 }% r6 ^) t& E( z
col/1..4/:c1,c2,c3,x,u,v,y;
- @* k6 f! i/ h& ^& P7 H$ crow/1..3/:b1,b2;
+ |5 [8 E1 E' D0 Zendsets - o1 X$ K* z7 {* {0 g
data: $ a& y. L8 G2 S. W$ L* c9 d* f
c1=200 195 190 185; # m! J0 @2 w) G9 [
c2=10 9.9 9.8 9.7;
* s: G% z, n3 ]* E/ q9 w( bc3=7 6.9 6.8 6.7;
2 z5 _- F; U2 rb1=70 30 80; 7 L9 i. r" T" Z8 S$ C7 F
b2=450 210 240;
4 n# U1 b# A3 Jenddata0 Q- \; W5 D# P# N& m9 v
min=@sum(col:c1*x+c2*u+c3*v); $ y; q" r3 ?2 k& {. C
y(1)=10; $ n- z" |- F  F; Y' K' {1 Q9 ^: _
@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));
( K/ m* K# D2 u6 F) vend2 N1 H( ?) y3 I7 k# E' U
% X5 H- B( D# J, Q: e3 p& w
  f- Y3 t& v& k" |  ]- i
# K; f7 u( g. W1 i2 ]8 h1 t" K
6)问题讨论
& x+ j, _) P2 A+ z& N) M5 z. E# n$ a# T- P. ]
如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在内)进行训练,则应将教练与新飞行员分开。设4个月飞行员中教练为 (人),新飞行员数量分别为  (人)。其它符号不变。飞行员的数量限制约束为 & [; V  s2 B: e6 W  R

& x- x  X6 Y7 L- I1 W( I, ^3 j0 {2 r, C+ Y- u5 P& W% A& T, B

5 _) t9 A/ X' q7 S# R" Q# s目标函数作相应修改,输入 LINGO 如下:
1 @) c5 p0 Y5 C1 Q2 c" O& H* n, m+ v. w
model:
' R( M$ c9 [- X: _1 rsets: + S7 \/ F- ^( C# |8 E; m& y
col/1..4/:1 \  C7 y, J9 Y2 T  p+ M1 Q
c1,c2,c3,x,u,v,w,y;
) W# e) I6 D0 {  M" H- ^row/1..3/:b1,b2; % y# n9 S$ \( R. b2 x: e$ `9 ~5 ?
endsets
: |1 r7 M9 H# ]: }data:
3 j9 n* q4 L  o$ q2 dc1=200 195 190 185;
2 n7 C# m  |, lc2=10 9.9 9.8 9.7; & h  Y' Z8 Y# Y: f9 H7 {  y' X
c3=7 6.9 6.8 6.7; 7 s# b& v; Q* H0 Z1 @( S. X6 x
b1=70 30 80; 1 V6 ^" h6 ?  R9 r. h
b2=450 210 240; * A3 ~) H: w5 w' o) a2 o
enddata ( R" ?0 |4 D8 i/ K( B
min=@sum(col:c1*x+c2*(u+w)+c3*v);
! b! ~$ d! q/ `  [y(1)=10; ( o1 r) w6 F2 t! G, c7 y: y
@for(col(i)|i#lt#4:y(i)+x(i)-y(i+1)=b1(i)); u(1)+v(1)=30;
9 x+ d; ^: P9 H5 m3 @@for(col(i)|i#lt#4:u(i)+v(i)+w(i)-u(i+1)-v(i+1)=b2(i));
' V! w* v+ h" N7 {" G$ D@for(col(i)|i#lt#4:w(i)<20*u(i));   S' Q, o6 x: K, x7 R2 w
@for(colgin(x);@gin(u);@gin(v);@gin(w);@gin(y)); $ T; l( m. ~' v
end ; B( p0 q# c5 a5 c2 U

# [$ M  Q1 F; v# Z' O/ w8 P. O; J7 @1 M5 c0 k! V3 J
————————————————  d1 a% {4 E& o9 C6 F3 @2 R1 a# G
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
6 r3 H6 j( \! f# X. M原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89414595
  f# J7 m# J- l9 V( h$ \/ _. |' I3 ?
7 T* \1 ^( D+ x3 U2 ?9 @





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