请选择 进入手机版 | 继续访问电脑版

QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1484|回复: 0

[建模教程] 面试顺序问题:用数学建模优化生产与服务运作中的管理问题

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

542

主题

15

听众

1万

积分

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

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    发表于 2020-6-16 14:57 |显示全部楼层
    |招呼Ta 关注Ta |邮箱已经成功绑定
    例题: 有 4 名同学到一家公司参加三个阶段的面试:公司要求每个同学都必须首先 找公司秘书初试,然后到部门主管处复试,最后到经理处参加面试,并且不允许插队(即 在任何一个阶段 4 名同学的顺序是一样的)。由于 4 名同学的专业背景不同,所以每人 在三个阶段的面试时间也不同,如表 5 所示。这 4 名同学约定他们全部面试完以后一起离开公司。假定现在时间是早晨 8:00,请问他们最早何时能离开公司?* {  \7 c3 g+ Z; V2 X  j, p

    # X4 E0 i+ ^- @0 T$ q9 w. i- B9 Y( h2 I5 B: U% [! D) J4 c

    4 }* \+ h8 b$ z& C2 P1 h 1 建立模型 ) P4 ~( a% j0 {; r
       实际上,这个问题就是要安排 4 名同学的面试顺序,使完成全部面试所花费的时 间最少。 ( [" H' j3 f4 [8 a6 Y- ]5 g
    9 C! ~1 W+ I% v- {, R
      为第i名同学参加第 j 阶段面试需要的时间(已知),令   表示第i名同学参加第 j 阶段面试的开始时间(不妨记早上 8:00 面试开始为 0 时刻) (i=1,2,3,4 ; j =1,2,3),T 为完成全部面试所花费的最少时间。 " Q* ~6 X8 h7 V+ _# R# [, ]
    ' j3 {8 _+ P9 u: P3 w3 }4 p
    优化目标为                            (1)& M- T$ p$ |' Y0 b/ \
    $ |$ k# J; a% r4 D( ]4 b/ b" e  `
    约束条件:
    % u/ p0 L1 b5 {; D$ h! u4 R: y& `$ U. s+ w+ B" X- j* j# _$ p
    1)时间先后次序约束(每人只有参加完前一个阶段的面试后才能进入下一个阶段):                                (2)% v: A0 v! p- T7 X% f6 K! F

    4 l  p2 u3 f, y( O& ~2 )每个阶段 j 同一时间只能面试 1 名同学:用  0− 1 变量  表示第k 名同学是否 排在第i名同学前面(1 表示“是”,0 表示“否”),则 4 A1 C; `8 k* Y
    8 A. `$ J) I- d2 [
        (3)
    5 f' r# O/ G% m
    ! t, \2 w6 _$ B( o/ C9 @可以将上述非线性的优化目标(1) 改写为如下线性优化目标:
    ( L% V3 N8 G, S: d, H5 }$ B1 E- B
    * c% e( ]/ ?- r9 L) Y7 m% s                   (4)
    / @; q! D. s. o5 p; @* ~2 k5 k% S1 Z% b; }8 D5 u& R& Y
    式(2)~(4)就是这个问题的  0−1  非线性规划模型(当然所有变量还有非负约束,变量   还有  0− 1约束)。 6 E/ k6 B2 C7 I) H

    4 G0 B% L% ~% g2  求解模型
      s8 A9 C9 j7 Q8 _0 Y8 i$ a编写 LINGO 程序如下:
    * y  f0 N/ E4 r% o! d2 }4 L1 G5 i. L. k3 }
    model:1 G: T) u' V! ^
    Title 面试问题;
    7 H7 j. j7 S# T" k4 k+ HSETS: Person/1..4/;
    * H% y4 I! R+ V% U" W( O. @Stage/1..3/;
    ; T' @6 f9 n  Y, w4 Q. g8 SPXS(Person,Stage): T, X;
    ( i2 P3 a9 Y4 g/ M/ S7 T6 ZPXP(Person,Person)|&1 #LT# &2: Y; , a. n& N! r% f$ B& j7 V
    ENDSETS
    0 U7 @3 ?6 ?" c( E) T1 Z1 \DATA: 0 _9 U5 S4 U' }7 y( R
    T=13, 15, 20, 10 , 20 , 18, 20, 16, 10, 8, 10, 15;
    $ d% C) S" A% N8 W5 RENDDATA % U. ^* k" M( V
    [obj] min=MAXT; 2 V( o. Y% p1 s
    MAXT>= @max(PXS(i,j)|j#EQ#@size(stage):x(i,j)+t(i,j));
      C' H! r0 _" e0 I3 p6 J' W! 只有参加完前一个阶段的面试后才能进入下一个阶段; " ^- l+ }/ o2 k2 |0 @- z
    @for(PXS(i,j)|j#LT#@size(stage):[ORDER]x(i,j)+t(i,j)<x(i,j+1));
    ' A1 w/ j5 e, Q1 J/ @  f* h! 同一时间只能面试1名同学;
    2 O  u+ S* V# t7 L; j2 i0 |, R0 e@for(Stage(j):   
    * n7 W. Y9 ^2 F. H    @for(PXP(i,k):[SORT1]x(i,j)+t(i,j)-x(k,j)<MAXT*Y(i,k));  
    ( C* D4 @2 y/ p  d: U' y2 n2 ~    @for(PXP(i,k):[SORT2]x(k,j)+t(k,j)-x(i,j)<MAXT*(1-Y(i,k)))); 1 u6 Z- l. m! o) A4 Y6 b- ^0 Y$ i7 t
    @for(PXP: @bin(y));
    9 l. ]" |+ g( L: ]. S# M& J( oend % Z  ^; u9 d( H/ }: {
    计算结果为,所有面试完成至少需要 84min,面试顺序为 4-1-2-3(丁-甲- 乙-丙)。早上 8:00 面试开始,最早 9:24 面试可以全部结束。
    ! W5 H( ~$ E6 E& _5 `' K————————————————
    % X. N# W. G  e  P0 i& U版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。+ ?/ l5 Z, l5 W, E* m
    原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89387723" e/ X- U: t! t$ s+ R0 {
    7 w4 y- m3 O3 G9 T7 ?5 s1 i% O1 b
    ! C) a5 J0 N3 l, K5 O' o7 `
    zan
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2024-3-29 16:24 , Processed in 0.627863 second(s), 51 queries .

    回顶部