欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    面试的时间最优化问题.doc

    • 资源ID:4081314       资源大小:36KB        全文页数:9页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面试的时间最优化问题.doc

    面试的时间最优化问题摘要:首先我们对给出的面试时间表格进行分析,用MATLAB编程算出任意两个求职者按照不同的顺序参加面试时,求职者等求职者的时间和考官等求职者的时间之和,然后用图论法建模,将算出的时间表达有向赋权图的权值,问题转化成求有向赋权图中连接四个顶点的路径最短问题。我们利用MATLAB编程,按从小到大的顺序依次找出n-1(n表示参加面试的人数)条权值最小边,然后用人工参与的方式,将找出的n-1条边排出最优顺序。最后,得出丁、甲、乙、丙的顺序为最优方案,共用84分钟。即:三人可在9:24一起离开公司。模型假设:(1)、假设面试者从一个阶段到下一个阶段参加面试的时间间隔为0;(2)、假定中途任何一位面试者均能通过面试,进入下一阶段的面试,即没有中途退出的面试者;(3)、假定面试者都能在8:00准时到达面试地点;(4)、参加面试的求职者没有约定他们面试的先后顺序,并且他们面试的顺序与考官无关,即可以任意排列面试者的面试顺序。符号说明:i(=1,2,3,4):分别表示甲、乙、丙、丁四位同学;j(=1,2,3):分别表示秘书初试、主管复试和经理面试的三个阶段;aij(i=1,2,3;j=1,2,3):为求职者i在j阶段参加面试所用时间;tDK:表示在面试者中任取两名D和K,并且按D在前K在后的顺序参加面试,在该指定顺序中,K等待D的时间与考官等待K的时间之和,将tDK赋给有向赋权图中由D到K的向量的权值xDK;cDK:表示在求职者中任取两名D和K,按D在前K在后的顺序参加面试,在该指定顺序中,D完成面试到K完成面试的时间间隔;S:为最优路径的总时间。问题的分析:按照公司的要求,四名求职者的顺序一旦确定,在以下各阶段中面试的顺序将不再改变,由于每个求职者,在三个阶段面试的时间不同且固定,所以对任意两名求职者A、B,按A在前,B在后的顺序进行面试时,可能存在两种情况:I、当A进行完一个阶段j的面试后,B还未完成前一阶段j-1的面试,所以j阶段的考官必须等待B完成j-1阶段的面试后,才可对B进行j阶段的面试,这样就出现了考官等待求职者的情况。II、当B完成j-1阶段的面试后,A还未完成j阶段的面试,所以,B必须等待A完成j阶段的面试后,才能进入j阶段的面试,这样就出现了求职者等待求职者(考官)的情况。以上两种情况,必然延长了整个面试过程的时间。要想使四个求职者能一起最早离开公司,即他们所用的面试时间最短,只要是考官等候求职者的时间和求职者等候求职者(考官)的时间之和最短,这样就使求职者和考官的时间利用率达到了最高,他们就能以最短的时间完成面试一起离开公司。模型的建立与求解:首先由题中所给条件可得原始时间矩阵: Aij=a11a12a13a21a22a23a31a32a33a14a43a43为:13152010201820161081015下面我们来求有向赋权图的权值:由题意分析,求权值tDK可分为三种情况:1. 当a22-a11>=0,a23-a12>=0,说明若按顺序2>1(乙>甲)则1(甲)想进入第二阶段参加面试,需等候2(乙)的时间为(a22-a11),想进入第三阶段面试需等候2(乙)的时间为(a23-a12)。则:t21=(a22-a11)+(a23-a12)。此时时间差c21=a13,因为1(甲)求职者是在等候2(乙)求职者完成第三阶段的面试后才进入第三阶段进行面试,而1(甲)求职者在第三阶段面试共需时间a13,即是他俩完成各自面试的时间差值。2.当a22-a11>0,a23-a12<0,说明按照顺序2>1(乙>甲)进行面试,1(甲)想进入第二阶段参加面试,需等候2(乙)的时间为(a22-a11),想进入第三阶段面试,第三阶段的主考官需等候1(甲)求职者的时间为(a23-a12),则:t21=(a22-a11)+|a23-a12| 此时时间差c21=| a23-a12 |+a13,因为第3阶段的主考官在给1(甲)进行面试前已经等候的时间为|a23-a12|,而1(甲)在进行第三阶段的面试时间是a13,故是两时间之和。3. 当a22-a11<0,按顺序2>1(乙>甲)进行面试,第二阶段主考官需等候1(甲)求职者的时间为|a22-a11|,而这段时间的拖延,导致了第三阶段的考官也等候1(甲)的时间为| a22-a11 |,不管a23-a12>0,还是a23-a12<0,即不论后段是主考官在等,还是学生在等,这种顺序所用的总时间t21=|2*( a22-a11) |+| a23 a12 |, 时间差c21=2 * | a22-a11 |+| a23 a12 | + a13。算法总结:通过以上假设讨论,我们总结出计算权值tDK及时间差cDK的方法:1.当aD2-aK1>=0时1)tDK=| aD2-aK1 |+| aD3-aK2 |2)当aD3-aK2>=0时,cDK=aK33)当aD3-aK3<0时,cDK=| aD3-aK2 | + aK32.当aD2-aK1<0时tDK=| 2*(aD2-aK1)+(aD3-aK2) |cDK=| 2*(aD2-aK1)+(aD3-aK2) |+aK3以上算法可以通过MatLab编程实现(见附一)。由运行结果可得:TDK= 0 5 6 17 10 0 2 20 8 16 0 8 6 5 21 0 然后我们用MatLab找出TDK中的最短路径(见附二)。经程序运行得出权值最小的边为:t41,t12,t23。即顺序为丁甲、甲乙、乙丙。可得出最优的顺序为:丁甲乙丙。 所以最优路径的总时间为:S=丁所用总时间+c41+c12+c23=84min 综上所述,完成所有面试至少需要84分钟,即9点24分为他们的最早离开时间。面试顺序为:4-1-2-3(丁-甲-乙-丙)。 附录附录一:function rst=CrtPower(a) %Find the Power of the matrix.%*% This is Help Information About Power() Function.% Find the min number in the matrix.% Verison:1.0.0 Finish Date:27/08/2004% Usage:% Power(a) %a is matrix .% return a rst.%*a=13,15,20;10,20,18;20,16,10;8,10,15;Rows=length(a(:,1); %Get the Rows of the matrix.Col1=a(:,1);Col2=a(:,2);Col3=a(:,3);rst=zeros(Rows);for Count1=1:Rows; for Count2=1:Rows; if Col2(Count1)-Col1(Count2)>=0; rst(Count1,Count2)=abs(Col2(Count1)-Col1(Count2)+abs(Col3(Count1)-Col2(Count2); elserst(Count1,Count2)=2*abs(Col2(Count1)-Col1(Count2)+abs(Col3(Count1)-Col2(Count2); end; if Count1=Count2 rst(Count1,Count2)=inf; end; end;end;CrtPower(a)附录二:function rst=FindMinParam(a,iCount,Diff)%*% This is Help Information About FindMinParam() Function.% Find the min number in defferent Rows and Cols the matrix.% Verison:1.1.2 Finish Date:28/08/2004 % Usage:% FindMinParam(a,iCount,Diff)% a is matrix .% iCount is Counter.% Diff is the parame to Find the mininum in Different Row. %*a=13,15,20;10,20,18;20,16,10;8,10,15;if nargout>1 error('Too many output arguments!');else if (nargin=0 | nargin>3) error('Too many input arguments!'); else Cols=length(a(1,:); Rows=length(a(:,1); if nargin=1 iCount=Rows * Cols; Diff=0; end; if nargin=2 | nargin=3 if iCount>Rows * Cols error('The search number is too big!'); iCount=Rows * Cols; elseif iCount<1 error('The mininum is 1'); iCount=1; else iCount=iCount; end; if nargin=3 if Diff=1 Diff=1; else Diff=0; end; else Diff=0; end; end; rst=zeros(iCount,3); for Count=1:iCount Succ=0; for RowCount=1:Rows; for ColCount=1:Cols; if (min(min(a)=a(RowCount,ColCount); tmpMin=min(min(a); tmpRow=RowCount; tmpCol=ColCount; if Diff=1 a(RowCount,:)=inf; a(:,ColCount)=inf; else a(RowCount,ColCount)=inf; end; Succ=1; break; end; end %End For if Succ=1 break; end; end; if Succ=1 rst(Count,1)=tmpMin; rst(Count,2)=tmpRow; rst(Count,3)=tmpCol; end; end; disp(rst); end;end;FindMinParam(CrtPower(a),3,1)

    注意事项

    本文(面试的时间最优化问题.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开