QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2962|回复: 0
打印 上一主题 下一主题

[建模教程] 飞行计划安排问题

[复制链接]
字体大小: 正常 放大
浅夏110 实名认证       

542

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2020-11-14 17:15
  • 签到天数: 74 天

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    跳转到指定楼层
    1#
    发表于 2020-6-16 10:05 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    例题:这个问题是以第二次世界大战中的一个实际问题为背景,经过简化而提出来 的。在甲、乙双方的一场战争中,一部分甲方部队被乙方部队包围长达 4 个月。由于乙 方封锁了所有水陆交通要道,被包围的甲方部队只能依靠空中交通维持供给。运送 4 个月的供给分别需要 2,3,3,4 次飞行,每次飞行编队由 50 架飞机组成(每架飞机需 要 3 名飞行员),可以运送 10 万吨物质。每架飞机每个月只能飞行一次,每名飞行员每 个月也只能飞行一次。在执行完运输任务后的返回途中有 20%的飞机会被乙方部队击 落,相应的飞行员也因此牺牲或失踪。在第 1 个月开始时,甲方拥有 110 架飞机和 330 名熟练的飞行员。在每个月开始时,甲方可以招聘新飞行员和购买新飞机。新飞机必须 经过一个月的检查后才可以投入使用,新飞行员必须在熟练飞行员的指导下经过一个月 的训练才能投入飞行。每名熟练飞行员可以作为教练每个月指导 20 名飞行员(包括他 自己在内)进行训练。每名飞行员在完成一个月的飞行任务后,必须有一个月的带薪假 期,假期结束后才能再投入飞行。
    , ]8 x+ e3 K7 h" M8 I+ r- [6 U1 m" j
    # V1 ~5 ^2 H8 T已知各项费用(单位略去)如表 10 所示,请为甲方 安排一个飞行计划。
    # A) D4 f: _2 S; e9 U& B9 M# J2 D+ a& G7 R/ R8 k
    如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在 内)进行训练,模型和结果有哪些改变?0 o8 J) |  d# T  a6 \8 [

    : m' u- e8 \, |6 _" C* t
    % W- f  U% K* [" [1 S! \1 ?( y
    " _4 q2 t2 r. G- o(1)问题分析8 J7 N# T- V8 z7 [8 T

    3 K# c  K* D: u; A9 e  s! ^2 v这个问题看起来很复杂,但只要理解了这个例子中所描述的事实,其实建立优化 模型并不困难。首先可以看出,执行飞行任务以及执行飞行任务后休假的熟练飞行员数 量是常数,所以这部分费用(报酬)是固定的,在优化目标中可以不考虑。9 C2 I0 h! z" M' K  u0 Y5 B" |' `

    % D2 S6 r* ?+ p. I( ](2)决策变量 6 ~7 c5 S4 h/ f2 M
    & w/ `! S% ~9 j: ~
    设 4 个月开始时甲方新购买的飞机数量分别为   ( i=1,2,3,4 )架,闲置的飞机数量分别为  架。4 个月中,飞行员中教练和新飞行员数量分别为   ( i=1,2,3,4 )人,闲置的熟练飞行员数量分别为  人。
    . L; W+ c8 A5 |( i+ I5 g2 h# t/ M; {) t. J% T
    (3)目标函数
    5 l) g" \+ `8 x$ B
    % U, a5 ~: H7 p优化目标是
    & L+ u2 W& J1 F7 ~& A; B
    " W" _. T0 e8 k, o6 X: L  K, m0 @% U; g

    7 ?8 k3 A9 f4 i/ g5 O3 X(4)约束条件
    ' e/ M; g9 G% ~9 G2 ]
    0 h3 F0 E- `# i& B- ?) y需要考虑的约束包括:6 o8 V4 l. D' V% {) y) W- H# h9 O

      U5 e* H7 s4 p( e- c" i, Ti)飞机数量限制。4 个月中执行飞行任务的飞机分别为 100,150,150,200(架), 但只有 80,120,120,160(架)能够返回供下个月使用。 0 f) S( q; s2 O! F

    , g% Z/ A/ A* g+ }& p/ U. R  ]* g+ Z1 d7 c0 o' O. i  @
    8 n, {. i0 h/ r4 q+ d/ m6 j
    ii)飞行员数量限制。4 个月中执行飞行任务的熟练飞行员分别为 300,450,450, 600(人),但只有 240,360,360,480(人)能够返回(下个月一定休假)。
    % O$ q- f. V4 I+ _: s0 [4 w
    ; o- a" E& j2 V, L: \; }; u" J. k
    $ m5 d1 O1 M0 j& p- `+ o' C5 [
    9 s, t; ?$ ^& U5 d' j0 S3 H(5)求解 编写 LINGO 程序如下$ L8 B7 E$ v3 I. P& ?4 [9 Q/ Z. v

    ) Y% j  w) n% }9 H: Jmodel:
    9 ?% \9 N; v, o9 X  K3 Wsets:
    3 m3 n# P, V+ r+ I7 Acol/1..4/:c1,c2,c3,x,u,v,y; & I1 W2 K) t  @, N
    row/1..3/:b1,b2;
    " K& T% l0 K: ^, s) Nendsets
    ! M1 y5 b  b$ A; e' s7 {$ _. `data:
    4 f$ z8 a( g8 T/ f& O  Bc1=200 195 190 185; . S+ r- F. R( y+ N) m! T
    c2=10 9.9 9.8 9.7;
    0 Q. J) q( `* p( Zc3=7 6.9 6.8 6.7;
    " b; G3 @1 {& N) ob1=70 30 80;
    - @2 ]0 B) x) }b2=450 210 240;
    - R  @) X1 r  renddata& f1 w- S" K' Y, n: v( d- g4 f
    min=@sum(col:c1*x+c2*u+c3*v); 5 O- @5 }; w" o
    y(1)=10;
    ; G+ h+ B4 I" {@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)); + O6 s/ |# X& A
    end
    + Z) }& P& q( {) ^/ n* K& ~! Z; D5 F, f+ Q) j) G7 C2 ]/ Y7 w0 V
    ; I+ I4 g; X+ J4 J: \, ?
    ; Y) }3 W% z0 z/ M
    6)问题讨论
    8 a/ b# l1 f  H5 {7 Z) o! t  H$ P3 I; B: M
    如果每名熟练飞行员可以作为教练每个月指导不超过 20 名飞行员(包括他自己在内)进行训练,则应将教练与新飞行员分开。设4个月飞行员中教练为 (人),新飞行员数量分别为  (人)。其它符号不变。飞行员的数量限制约束为
    : \, W1 y9 j; y8 e" {4 z/ I" T8 ^! G* }3 _) [+ F! v! ~. R# x* j
    3 u! U+ m. v$ _7 J" V# ^2 p& |

    ' s+ l+ k9 W; D$ T  E; L+ H目标函数作相应修改,输入 LINGO 如下: 2 A( E; C9 p+ X: f
    ( S6 u- P0 x# O4 |! b
    model: % K3 M, C! C+ M% R
    sets: " ~, y& n0 A+ R) A9 J! G
    col/1..4/:, i. j" i* @3 M& ^; O" @
    c1,c2,c3,x,u,v,w,y;
    7 A: I9 J, ~4 ]3 k! Brow/1..3/:b1,b2; ' R0 L- G' i7 q+ p: l# c0 ~5 l3 j
    endsets 4 p; `9 l4 L2 A9 K( R2 P
    data:
    # B) J4 f7 H7 s! ac1=200 195 190 185;   Y9 {7 ]6 Q  ?
    c2=10 9.9 9.8 9.7;
    / n6 d/ Y% |4 c1 uc3=7 6.9 6.8 6.7; 3 ~0 F  Q& N- [: R3 Z
    b1=70 30 80;
    , t( a! A  I# \9 L! vb2=450 210 240;
    : `" v( H, ^) V; V2 ~- j! A. G4 zenddata ( x" n  v2 R+ D: S/ U$ g, S
    min=@sum(col:c1*x+c2*(u+w)+c3*v); 4 t) R0 I, U" T- F8 S9 q5 `
    y(1)=10;
    2 _" K6 S- b/ Z8 m0 i+ j@for(col(i)|i#lt#4:y(i)+x(i)-y(i+1)=b1(i)); u(1)+v(1)=30;
    8 e# g) ?. L4 a5 O; o  ]. U1 e@for(col(i)|i#lt#4:u(i)+v(i)+w(i)-u(i+1)-v(i+1)=b2(i));
    . O. K" c) t! Y4 N8 [@for(col(i)|i#lt#4:w(i)<20*u(i)); 9 N& ~& u, g9 h. k7 ?9 `" |
    @for(colgin(x);@gin(u);@gin(v);@gin(w);@gin(y));
    0 X7 T: v7 l# J5 y3 w' t8 t6 tend
    * q! {- y/ i) H+ r* l! ^/ \
    1 ~4 p7 |0 V. L( o$ s. Y$ r  m5 }9 ]7 F* Z
    ————————————————
    5 [! d* n1 D; s& s8 g+ y版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。0 ^0 {5 y% I) q
    原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89414595' n/ x. f% J  y2 A8 q9 n

    8 B7 y! d8 n& n
    5 U& d' U1 u- K) T7 D/ p
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-28 19:18 , Processed in 0.639945 second(s), 51 queries .

    回顶部