




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面试顺序问题面试顺序问题一、摘要本文立足现实生活中面试排序问题的特点,站在面试者的角度,要求整个 面试过程中使用时间最短,即所有面试者能最早离开公司,分析问题。首先, 本文的问题概述如下:有4名同学到一家公司参加三个阶段的面试:公司要求 每个同学都必须首先找公司秘书初试,然后到部门主管处复试,最后到经理处 参加面试,并且不允许插队(即在任何一个阶段 4名同学的顺序是一样的)。 已知每个同学在各个阶段面试所需时间(详见附录三)。各同学约定他们全部面试完以后一起离开公司。假定现在时间是早晨 8:00 ,问他们最早何时能离开公司。针对这一问题,由于面试人数较少,运算 量不大,故可以运用枚举法将所有面
2、试的情况列举出来。根据题目可知,共有 4名同学参加面试,不难得出,4名同学面试顺序的所有情况共有 24种,然后 计算出所有情况下的面试结束时间,根据比较,可以得出题目要求下的最优结 果,枚举法虽然解题效率相对要低,但是考虑的情况较为全面,得出的结果是 可靠的。根据以上我们提到的枚举法解决该问题,可能做了很多的无用功,浪费了 宝贵的时间,效率低下。为此我们可以进行优化,对于枚举法产生的弊端,我 们可以运用0-1整数规划方法进行优化,根据题意建立较为优化的模型,建立 相应的目标函数和约束条件,并且对目标函数进行进一步的改善,能够提高解 题的效率,简化解决问题的过程,最后将我们的模型在lingo中求
3、解,得出结果与枚举法相一致,即4名同学面试完成的最短时间是84分钟,并且给出面试 时间最短排序(丁 -甲-乙-丙),为公司面试安排提供具有一定指导意义的建 议。关键词:面试问题 枚举法0-1整数线性规划二、问题重述题目给出有4名同学到一家公司参加三个阶段的面试,公司要求每位同学都必 须首先找到公司秘书初试,然后到主管处复试,最后到经理处参加面试,并且 不允许插队(即在任何一阶段,4名同学的顺序是一样的)。由于 4名同学的 专业背景不同,所以每人在三个阶段的面试时间也不同。表1秘书初试主观面试经理面试同学甲131520同学乙102018同学丙201610同学丁81015根据题意这四名同学约定他们
4、全部面试完成后一起离开公司,现在时间是早晨 8:00,本题需要我们给出一种最合理的排序方案,使得他们最早能够离开公 司。三、问题分析与基本假设在社会工作和生活中,面试顺序问题十分常见。题目中的面试流程分为三 个阶段,每一位面试官同时期只能面试一位同学,下一名同学面试之前需要等 待上一位该阶段面试结束,由于 4名同学在任何一阶段的顺序是一样的,公司 在安排面试顺序的时候只需要考虑一次,使得总面试时间最短。由于数据较少 运用枚举法可以得出真正正确的解。同时,这也是一个整数线性规划问题,针对本题,联系实际,可引入0-1变量,对目标函数进行优化求解。在进行数据分析时,不可能通过几个简单的 假设就建立出
5、一个完美的数学模型,这就需要对现有数据进行一个筛选,并在 此基础上建立出简易的数学模型。因此,我们假设如下:(1)假设早晨时间8:00为0时刻。(2)假设上一位同学面试结束后,下一位同学立刻开始该阶段面试,且时间问隔为00(3)假设整个面试过程中任何一位面试官都连续工作。(4)假设面试过程中没有任何同学退出。(5)假设同学和面试官都在早晨八点准时到场。(6)各位同学和各位面试官没有事先约定好面试顺序,整个过程公平公正四、基本符号说明枚举法符号说明:tj表示第i个人在第j轮面试结束的时间Xij表示第i个人在第j轮面试所经历的时间Tk表示每个面试顺序中每个面试者每轮面试结束时间矩阵Time表示各个
6、同学完成各阶段面试的时刻Timel. finaltime为每个面试顺序所对应的离开时间最优化方法符号说明:Xj表示第i个人面试第j阶段所用的时间;Tj表示第i个人面试第j阶段的开始时间;T表示4个人面试完成的总时间;M ik表示第k个人是否排在第i个人之前,M ik =1 ,表示第k个人排在第i个人之前,否则,Mik=0i=1,2,3,4;k=1,2,3,4; j =1,2,3五、模型建立与求解(一)枚举法.模型概述设第i个人在第j轮面试结束的时间为tj,所经历的时间为Xj ,每个面试顺序中每个面试者每轮面试结束时间设为矩阵Tk ( 0 k 24, 24 A:),则第一个人在第一轮结束的时间为
7、tij Xij , tij Xj max t i-1 j, ti j,1 ,则t43为最终结束时间。首先根据排列组合原理,可知所有面试顺序排列共有A 4 24种。确定每一种排序的面试结束时间为枚举对象,则每个矩阵中最后一行最后 一列的时间即最早离开时间。根据题意编制模型如下: TOC o 1-5 h z Xji1, j1Time j iXiji1,2j4Timejj Timei 1 jxjj1,2i3xj max Timei 1 j ,Timei j 12i 3,2j 4利用MATLA求解结果,得出每一种顺序下每位面试者结束时间矩阵(去掉 了第一行第一列的固定时间)。.模型求解与算法流程图为了
8、使过程更加显而易见,我们制作了简易的算法流程图,其想法是全排 列出每一种面试排序方法,然后建立计算公式分别计算每个面试者的结束时 问。笥日至小道.即信草能定开的肥间根据此思品&我们用MATLA踹写了相应程序得出81015131520102018201610最优解X5,此顺序的面试者结束时间矩阵为Time58 1821 3631 5651 725374843,模型的优点(1)结合了企业面试时的要求和特点,一一列举所有可能,得到的结果肯定是 正确的。(2)算法直观,容易理解,易于证明其正确性。(3)模型稳定,结果贴近实际。5,模型的缺点和改进由于枚举法穷举了所有可能, 运算量比较大,解题效率低下,
9、如果枚举范围太大,在时间上就难以承受,所以我们可以在以下方面进行改进:(1)减少状态总数(即减少枚举变量和枚举变量的值域),如采用隐枚举法可以设定条件减持。(2)减少重复计算。(3)将原问题化为更小的问题,比如考虑等待时间最小即结束时间最少的算法 实现。(二)优化模型.模型建立由于已知同学数量和阶段面试时间,只考虑固定一种顺序的情形,记Xj表示第i个同学面试第j阶段所用的时间,Tj表示第i个同学面试第j阶段的开始 时间。引入0-1变量Mik, Mik表示第k个人是否排在第i个同学之前,Mik=1,表示第k个人排在第i个同学之前,否则,Mik=0。(i 1,2,3,4; j1,2,3,4)1,第
10、k个人排在第i个同学之前Mik 0,第k个人排在第i个同学之后则Xi3为第i个同学面试第3阶段所用时间,13为第i个同学面试第3阶段的开始时间,要求四人完成面试后同时离开则可知Max(Xi3/3)表示四人完成面试后的结束时间,设为为目标函数T Max(Xi3 Ti3)。这样T越小则离开时间越早,于是对 0-1整数线性规划模型进行改善,改写为MinTMax(Xi3 Ti3)同时根据面试中的四人必须同时离开,可以建立约束X13 T13 TX23 T23 TX33 T33 TX43 T43 T此外,结合原题(1)每个人必须面试完上一轮才能开始下一轮面试Xij Tj Xj 1(i 1,2,3,4; j
11、 1,2)(2)每个阶段j只能面试一个人:用0-1变量M ik表示第k个人是否排在第i个人之前,即第k个人排在第i个人之前,Mik=1;否则,Mik =0若Mik=0, k排在i后面X T八 j1 ijX kjTkj若Mik=1,则k排在i前面XkjXijX jTjX kjX kj Tkj0(i,k1,2,3,4;j1,2,3; ik)T(i,k1,2,3,4;j1,2,3; ik)T(i,k1,2,3,4;j1,2,3;ik)0(i,k1,2,3,4;j1,2,3;ik)综上所述,可得XjTjXkjTM ik(i,k1,2,3,4; j1,2,3; ik)XkjTkjXjTM ik(i,k1
12、,2,3,4; j1,2,3; ik)加上之前的一个约束,综上,最终得出一个 0-1整数线性规划模型MinT Max(Xi3 Ti3)s.t. TOC o 1-5 h z XjTjXkjTMik,(i,k1,2,3,4;j1,2,3;ik)XkjTkjXjTMik,(i,k1,2,3,4;j1,2,3;ik)X13T13TX23T23TX33T33TX 43T43T1,第k个人排在第i个同学之前Mik0,第k个人排在第i个同学之后.模型求解该题是一个0-1整数线性规划问题,直接利用lingo编程求解。计算结果 见图2和附录二。UNGO 11.0 Sall/er Status Lingo 1So
13、htr StatusILTKalISonline uv;0Global OptLtfig4rs6jjectlre.94pCrtntrai ntsasilili q;4部Ln1 S32L1B-014598t。:49DiiiiMsr:0Ki力,胖日弋Nr 32SilvarBandE94G 孙*rtnr Man cry l5*J 与0l J E OIJJLd :Q4270Elapsed timt:me I.EK: nm: ss)0OC:Q0-OCIiitemipt 5jlverl Close图2根据结果,能使四人最早同时离开的面试排序用时 84分钟,同时计算并汇总出各同学面试时间和开始时间如下表 2
14、。表2各阶段开始时间各阶段使用时间各阶段结束时间甲(秘书初试)81321甲(主管初试)211536甲(经理面试)362036乙(秘书初试)361036乙(主管初试)362056乙(经理面试)561874丙(秘书初试)362056丙(主管初试)561672丙(经理面试)741084丁(秘书初试)088丁(主管初试)81018丁(经理面试)211536各同学各阶段面试时间及排序*空、之3 51、望、玄、壹飞微、 工厂3 t tS j&-B,1.及我上人余力金伞图3图4显示了每位同学在各阶段面试时间长短的排序,可以看出甲的主管面试、 乙的秘书面试、丁的经理面试,还有甲的经理面试、乙的主管面试、内的秘
15、书 初试,都分别是同时结束的。表3VariableValueM(S1,S2)0.000000M(S1,S3)0.000000M(S1,S4)1.000000M(S2,S3)0.000000M(S2,S4)1.000000M(S3,S4)1.000000又根据表5的0-1变量运算结果可知最优面试排序为丁、甲、乙、丙,显然计算结果与枚举法模型结果相一致,确定正确。(三)结果分析通过枚举法和规划方法,最终可以确定,公司应该安排四位同学按照丁、甲、乙、丙这样的顺序进行面试可以达到用时最短时间的效果,即 84分钟,早 晨9:24面试结束.枚举结果如下。表4厅P面试顺序完成面试所用时间厅P面试顺序完成面试
16、所用时间1丙乙甲10213乙丙甲932丙甲乙9714乙丙甲丁963乙丙甲8915乙丙甲934乙甲丙8616乙丁甲丙935丁甲乙丙8417乙甲丙936丁甲丙乙9518乙甲丙937丙乙甲10419甲丙乙1028丙甲乙9920甲丙乙979丙乙甲10921甲乙丙9110丙乙甲丁10922甲乙丙9111丙甲乙丁10423甲乙丙9112丙甲乙10424甲丙乙95如此一来同学可以完成共同离开的心愿,且公司可以以最高效率工作。但 是连续工作可能会导致面试官疲惫,公司可以适当在面试过程中添加休息时 问,比如在56分钟时进行休息,此时刚好第一、二位同学丁和甲三轮面试结 束,乙第二轮面试结束,内第二轮面试尚未开始,
17、所有人可以共同休息调整状。4图2为所有排序方法的结束用时计算结果,可以看出各种顺序的用时差别 相当大,当面试人数更多的时候,这一差距会更加显著,所以企业合理安排面 试顺序的具有重要现实意义。六、模型评价与改进本文首先通过枚举法列举出24种排序方案,并计算出每一种排序方式的所 用时间,虽然计算量较大,但程序较为容易实现,其正确性也较容易证明。但 是可以运用隐枚举法进行改进,提高解题效率。其次,构建了面试排队决策的优化模型,通过目标函数,从而建立成了一 个线性规划模型,求地了所有同学排序情况下,被排在最后的一个同学面试完 时所用总时间T (也即排序后,从第一个同学参加第一阶段面试时开始计时, 到最
18、后一个同学面试完最后一阶段的这段时间)中最小的一个,然后,又建立 了一个0-1变量表示其约束条件,并使用LINGO软件求解,所得结果具有一定 的正确性和指导意义。但是,本文只讨论了四个同学面试三个阶段的合理排序 方法,而没有讨论更多同学面试更多的阶段的合理排序的解决方案,从而使得 面试总时间最短。在实际应用中还存在许多更复杂但是类似相关的情形,此 时,若还用本文中的解决方案未必是合理的。因此,对更多同学面试更多的阶 段的合理排序的解决方案是进一步应该研究和改进的方向。七、参考文献1姜启源,谢金星,叶俊.数学模型(3版).北京:高等教育出版社,2003. 2徐玖平,胡知能.运筹学-数据决策.北京
19、:科学出版社,2006.3其诗松,程依明,濮晓龙.概率论与数理统计(第二版).北京:高等教育出 版社,20024赵静,但琦,数学建模与数学实验.北京:高等教育出版社,2003.5 Frank R.Giordano , Maurice D.Weir , W川iam P.Fox( 美).数学建模.叶其孝,姜启源等译.北京:机械工业出版社,20056宋兆基等.MATLABA&科学计算中的应用.北京:清华大学出版社。2005.八、附录附录一:MATLAB 序:student(1).shijian=13 15 20;student(2).shijian=10 20 18;student(3).shiji
20、an=20 16 10;student(4).shijian=8 10 15;%等各学生面试时间存到结构体studentT=pailie(4,student)%t到所有面试顺序所对应的面试时间存到结构体T for i=1:24 for i=1:24 string = sprintf(X%d, i) = T(i).rearray; eval(string); end end%等所有面试顺序所对应的面试时间保存为矩阵附录 1 (pailie.m 的内容):function T = pailie( k,S)%k为进行全排列的个数A=1:k;Q=perms(A);m,n=size(Q);for i=1
21、:m%t A进行全排列得到的数组%马到Q的大小a=Q(i,1);b=Q(i,2);c=Q(i,3);d=Q(i,4);T(i).rearray=S(a).shijian;S(b).shijian;S(c).shijian;S(d).shijian;%等全排列得到的面试者面试时间存到T结构体endendfor k=1:24string = sprintf(Time%d(1,1), k) sprintf( = X%d(1,1);,k);eval(string);%寸每一个面试顺序中第一个面试者中秘书初始结束时间string = sprintf(Time%d(1,2), k) sprintf( =
22、X%d(1,1),k)sprintf(+X%d(1,2);,k);eval(string);%寸每一个面试顺序中第一个面试者中主管复试结束时间string = sprintf(Time%d(1,3), k) sprintf( = X%d(1,1),k)sprintf(+X%d(1,2),k) sprintf(+X%d(1,3);,k);eval(string);%寸每一个面试顺序中第一个面试者中经理面试结束时间string = sprintf(Time%d(2,1), k) sprintf( = X%d(1,1),k)sprintf(+X%d(2,1);,k);eval(string);%寸每
23、一个面试顺序中第二个面试者中秘书初始结束时间string = sprintf(Time%d(3,1), k) sprintf( = X%d(1,1),k) sprintf(+X%d(2,1),k) sprintf(+X%d(3,1);,k);eval(string);%寸每一个面试顺序中第二个面试者中秘书初始结束时间string = sprintf(Time%d(4,1), k) sprintf( = X%d(1,1),k)sprintf(+X%d(2,1),k) sprintf(+X%d(3,1),k)sprintf(+X%d(4,1);,k);eval(string);%寸每一个面试顺序中
24、第二个面试者中秘书初始结束时间endfor k=1:24for i=2:4for j=2:3formatSpec=Time%d(i,j)=X%d(i,j)+max(Time%d(i-1,j),Time%d(i,j-1);str=sprintf(formatSpec,k,k,k,k);eval(str);%ffi每个面试顺序中每个面试者每轮面试剩下4个结束时间endendend则每个矩阵中最后一行最后一列的时间即最早离开时间for i=1:24time(i).final=T(i).rearray(4,3);end for i=1:24format=Time(i).finaltime=Time%d
25、(4,3);str1=sprintf(format,i);eval(str1);end喏巴24种面试顺序最终离开跌时刻输出为一个结构体bar(Time.finaltime)%f巴最终离开时刻做成一张柱状图运行结果:附录二:lingo程序:model:sets :students; !学生集三阶段面试模型 phases; !阶段集;sp(students,phases):t,x;ss(students,students)|&1 #LT# &2:m; end setsdata: students=s1.s4;phases=p1.p3;t=13 15 2010 20 1820 16 108 10 1
26、5;end datans=size(students); !学生数;np=size(phases); !阶段数;!单个学生面试时间先后次序的约束;for(sp(i,j)|j #LT# np:x(i,j)+t(i,j)=x(i,j+1);!学生问的面试先后次序保持不变的约束for(ss(i,k):for(phases(j):x(i,j)+t(i,j)-x(k,j)=200*m(i,k);x(k,j)+t(k,j)-x(i,j)=200*(1-m(i,k););!目标函数;min=TMAX;for(students(i):x(i,3)+t(i,3)=TMAX);!JEYm义0-1变量;for(ss
27、: bin(m);end运行结果:Global optimal solution found.Objective value:84.00000Objective bound:84.00000Infeasibilities:0.1532108E-13Extended solver steps:8Total solver iterations:598VariableValueReduced CostNS4.0000000.000000NP3.0000000.000000TMAX84.000000.000000T( S1, P1)13.000000.000000T( S1, P2)15.000000
28、.000000T( S1, P3)20.000000.000000T( S2, P1)10.000000.000000T( S2, P2)20.000000.000000T( S2, P3)18.000000.000000T( S3, P1)20.000000.000000T( S3, P2)16.000000.000000T( S3, P3)10.000000.000000T( S4, P1)8.0000000.000000T( S4, P2)10.000000.000000T( S4, P3)15.000000.000000X( S1, P1)8.0000000.000000X( S1,
29、P2)21.000000.000000X( S1, P3)36.000000.000000X( S2, P1)26.000000.000000X( S2, P2)36.000000.000000X( S2, P3)56.000000.000000X( S3, P1)36.000000.000000X( S3, P2)56.000000.000000X( S3, P3)74.000000.000000X( S4, P1)0.0000001.000000X( S4, P2)8.0000000.000000X( S4, P3)21.000000.000000M( S1, S2)0.000000-200.0000M( S1, S3)0.0000000.000000M( S1, S4)1.000000200.0000M( S2, S3)0.000000-200.0000M( S2, S4)1.0000000.000000M( S3, S4)1.0000000.000000RowSlack
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年调色软件项目投资价值分析报告
- 2025-2030年角锥反射器项目投资价值分析报告
- 语文写作中结构与内容的结合考核题目试题及答案
- 围绕心理咨询师试题及答案的探讨
- 初中语文非文学作品解析试题及答案
- 初中写作技巧的总结与提高试题及答案
- 如何帮助孩子克服学习障碍和挑战
- 跨国公司如何通过国际物流降低成本
- 2024学校春节联欢会发言稿
- 学生代表发言稿 范文大全
- 货币资金的清查方法课件
- 盘筑成型专题知识培训
- (完整版)CST使用教程
- Q∕SY 02098-2018 施工作业用野营房
- 六年级下册心理健康教案-第三十一课 为升学做准备 释放压力 轻松迎考|北师大版
- 浙教版劳动五年级下册 项目三 任务三 环保小车我来造 教案
- 山东大学毕业论文答辩通用ppt模板
- 天井施工方法及安全管理建议
- 隔膜压缩机(课堂PPT)
- 失效模式分析报告范例
- 风电齿轮箱结构原理及维护知识
评论
0/150
提交评论