多台设备同时故障的最优维修次_第1页
多台设备同时故障的最优维修次_第2页
多台设备同时故障的最优维修次_第3页
多台设备同时故障的最优维修次_第4页
多台设备同时故障的最优维修次_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

参赛人参赛人1:参赛人2:参赛人3:兰州交通大学2013年大学生数学建摸竞赛论文题目:多台设备同时故障时的最优维修次序参赛组号:姓名学院班级姓名贾月娟学院班级姓名学院土木工程学院班级论文编号:学校统一编号个人不得填写多台设备同时故障的最优维修次序一、摘要本文是关于降低企业生产中经济损失的设计问题,即在生产中多台设备发生故障时的维修次序的优化,在同样的维修条件下,将经济损失降到最低。本文是关于多台设备同时故障的最优维修次序的模型设计,通过建模及程序流程图的分析,得到了以下的解答,为设备维修的最优化设计提供参考:在只有一名维修工人的情况下,由于数据量不是很大,所以运用穷举法来进行优化设计,并最终根据所给的数据测试,得到了最优化的维修次序为:第2组,第5组,第1组,第6组,第3组,第4组,第7组。最优化后的最小损失为162.5000万元。在有两名维修工人的情况下,运用穷举法,最终得到最优化的设计次序为:第5组,第2组,第6组,第3组,第4组,第1组,第7组。其中,与(1)不同的是,每个工人在做完自己的工作后,再接在另外一个工人后面的机器序号进行维修。最优化后的最小损失为:108.5000万元。模型推广中,运用已建立好的模型一,并给出相应的程序流程图,为企业在实际操作中提供参考。二、问题的提出对生产企业而言,其生产设备都会在寿命期内出现各种原因的故障,需要进行维修后方能继续进行正常的生产。对设备进行维修,不仅需要企业承担一定数额的维修成本,更重要的原因是因设备故障耽搁的生产会给企业造成更大的经济损失,尤其是大型企业,后者对企业造成的经济损失是非常巨大的。因此为了使企业的经济损失降到最低,一旦出现设备故障,就要及时对设备进行维修,使其尽快投入生产,但如果发生多台设备同时出现故障,由于维修工人的数量有限,就只能按照一定的次序进行维修,维修好的设备马上投入生产,维修工人再接着维修其它其它受损的设备。在这种情景下,由于不同设备停工给企业造成的经济损失不同,维修所需要的时间也不同。因此,如果出现多台设备发生故障,维修工人的数量少于受损设备数量时,寻求一种最优的维修次序,把企业的经济损失降低到最小是企业生产管理中的一项重要内容。现考虑一个具体的问题:某一企业同时有7台设备出现故障,每台设备维修所需要的时间和停工给企业造成的经济损失如下表所列机器编号1234567维修所需要的时间(小时)58784913停工所造成损失(万元/每小时)0.61.81.20.80.81.71.0针对这一情况的设备维修问题解决一下问题:.如果维修工人只有一名,试建立数学模型求解使总损失达到最小的设备维修次序。.如果维修工人有两名,每台机器的维修只能由一人单独完成,试重新回答问题(1)。.对该问题进行推广,如果同时有n台设备需要维修,而每台设备的维修时间和停工造成的经济损失都是已知的,并且只有一名维修工人的情况下,建立是总损失达到最小的数学模型,并给出求解该问题的算法。三、问题的分析对于本类问题,可以看到这是一个最优化的分析问题。在这个问题中,可以看到的是需要求解的三个问题都是在人数少,而机器多的情况下,对故障进行排查。题意要求的是选取可以选取损失最小的方案,对于题目要求的三个条件,可以使用最优化模型来解决。.在维修工人只有一名的情况下,首先可以想到的是可以使用贪婪算法,即选取对损失造成最大的机器优先处理,这样可以使得企业的损失降低到最小。但是在运用贪婪算法的时候,会产生一个问题,就是在贪婪算法中,只会先解决对损失造成最大的机器,而忘记考虑时间了。当机器修好后,就可以正常投入使用,这样它就产生了减少损失的隐现效应。所以我们在考虑此类问题进行线性最优化,将工人维修的可能产生所有的情况进行列列举,即使用穷举法,产生最小的损失。.在有两名工人的情况下,也可以采用这种穷举法,即在问题(1)的基础上,选取最小损失方案。在问题(2)中,其实是将问题(1)的一维线性组合变成了二维线性组合的问题,求解思想和思路也是一样的。.在一名维修工人的情况下,将问题推广,实际上是对这个问题进行了一定的扩充,这样的更适用于实际问题的求解中,所以对于这类问题的求解,可以建立一个求解此类问题的方案,并最终获得一个比较好的方案。四、模型假设与符号假设4.1模型的假设假设该工人在工作的过程中不会出现怠工的情况,并且工人在维修该机器时,是不会出现超时的现象。假设该工人能够连续的完成任务,中间不会有休息的过程,这样可以使得模型在最短的时间里解决问题使得企业的损失最小。4.2符号假设i:机器编号;七:第i台机器每小时造成的损失;p:维修第i台机器产生的总损失;sum:所需的总费用;t.:维修第i台所需要的时间;min:最小损失;五、模型的建立与求解5.1模型一的建立在问题一的分析中,我们已经否认了贪婪算法,而采用了穷举法,在使用穷举法的同时,使用MATLAB对优化问题进行求解,得到了很好的效果。因为数据量比较的小,所以很容易实现。由排列组合可知,计算量一共为5040次,将这些排列数存入一个数组中,每次从这些数组中取出一个数,进行计算。在模型一中,在维修一台机器的同时,别的机器处于未维修的状态,故会产生损失。设第一次维修的机器为第i台机器,则它造成的损失为:p=t尸x(1)j=1当第维修另外一台机器时,设此机器编号为k,则在维修第k台机器造成的损失为:=tkWxj=1j圭I用同样的方法,计算剩下的5台机器,当一台机器维修完成后,即投入使用,此时在下一次时,就无须再计算一次损失了。即计算的公式为:TOC\o"1-5"\h\z计算第i台机器维修时间内造成的损失Pz.

s.t.已经维修好的机器不计算在内'故由上述(1)、(2)、(3)式可以得到了一个损失模型,其总损失为:\o"CurrentDocument"sum=歹p(4)i=1然后把第一组的结果存入min中记为最小损失:\o"CurrentDocument"min=sum(5)记下此时的最优次序,然后再继续求第二组。如果此时的sum的数值比min

小,则替换此时的最小值,并记下此时的最优次序:(6)min=sums.t.sum>min(6)重复(1)到(6)的步骤,并得出一个最小的损失,此时记下的维修次序就是最优化的维修次序。5.2模型一的求解对于模型一,可以由建立的模型画出程序流程图,即为:开始是否min>sun是计算是否结束?结束,并输出min,以及次序取第一组进行计算,将结果存入min中取另外一组开始是否min>sun是计算是否结束?结束,并输出min,以及次序取第一组进行计算,将结果存入min中取另外一组的元素计算其值sum否将7组元素进行排列组合存入数组中min=sum记下此时的次序010002000300040000100020003000400050006000Min=162.5000万元)(7)此时的最优化的次序为:2516347即维修机器的顺序为:第2组,第5组,第1组,第6组,第3组,第4组,第7组。此时,可以绘制出每一次的求解图形,并最终验证了最优化模型的正确性。如图2所示,进行5040次计算后,所显示的图形。280260240220200180160图2穷举法图示5.3模型二的建立在模型二中,我们可以采用和模型一完全相同的方式来解决,只是此时的一维变量变成了二维变量。在此时会产生一个出现一个问题,即工人A在维修的时候,工人B已经维修完成,而此时产生的数据会出现不均匀分布的情况,而且此时每台机器只能由一个人完成,在这种情况下计算就产生了连续性。在这种情况依然采用穷举法,只不过此时维修的次数就变成了从开始依次进行维修,即在数组中从第一个数开始,等到维修完成后,就开始往下继续维修,直到所有的维修完成。假设维修的次序为1、2、3、4、5、6、7,则工人先维修第一台机器和第二台机器,由于第一台机器所维修的时间比第二台少,所以当工人维修完成第一台机器后,就维修序号为3的机器,这样依次类推,直到所有的机器维修完成。在穷举法中,计算出最小的损失费用。设从第i台和第j台开始维修,则在此阶段中,会有时间上的差距。若:TOC\o"1-5"\h\zt>t(8)则使用tj的时间来计算此次损失费用:\o"CurrentDocument"p=t£x⑼k=1由于此时第i台还未维修完,而工人A又转到另外一台机器上维修,所以在此时产生新的计算过程,即可以求出在匕-1^的这段过程中产生的费用:\o"CurrentDocument"p=(t-1)^7x(10)k=1

k我接着在维修第三台和第四台机器时,按照同样的方法来进行求解,最终可以得到一个计算的控制条件:(11)J计算每一次产生的费用p.(11)[st.选取时间小的作为当时计算时间按照这种控制方式,最终可以求得最终的损失:(12)sum=£pi

=1(12)然后把第一组的结果存入min中记为最小损失:(13)min=sum(13)记下此时的最优次序,然后再继续求第二组。如果此时的sum的数值比min小,则替换此时的最小值,并记下此时的最优次序:fmin=sum\.(14)[s.t.sum>min重复(8)到(14)的步骤,并得出一个最小的损失,此时记下的维修次序就是最优化的维修次序。5.4模型二的求解同样的,我们采用MATLAB对程序进行控制,可以求出一个最优化的解。可由建立的模型绘制出程序流程图,如下图3所示。开始t1>t2t=t2-t1min>summm=sum并记下此时的顺序是结束,并输出min,维修顺序是/t=t1-t2否<是否结束?取第一编号f和第二编号的机器进行维修sum=£pi否是将7组元素进行排列组合存入数组中并使第一组为min费用:p=txM图3模型二的程序流程图在附录中可以看到原程序,并最终可以求出最小的损失为:(15)Min=108.5000(万元)(15)维修的次序为:5263417即维修机器序号为:第5组,第2组,第6组,第3组,第4组,第1组,第7组。此时,可以绘制出每一次的求解图形,并最终验证了最优化模型的正确性。此时,可以绘制出每一次的求解图形,并最终验证了最优化模型的正确性。如图4所示,进行5040次计算后,所显示的图形。图4图4模型二的所有图像5.5模型三的建立对于模型三,实际上是对模型一的推广和应用,在建立模型三的时候,我们也可以考虑穷举法。由于计算机的计算速度已经达到了相当快的速度,所以可以忽略对于计算量的追求,我们依然采用模型一的结构与方法。由于此时的维修工人只有一个,故我们在建立模型的时候,可以采用的是维建模方式,这样就不用考虑其它的因素。此时,维修的机器数变为n台。在维修一台机器的同时,别的机器处于未维修的状态,故会产生损失。设第一次维修的机器为第i台机器,则它造成的损失为:当第维修另外一台机器时,片xj为:当第维修另外一台机器时,片xj=1设此机器编号为k,则在维修第k台机器造成的(16)=t£x=t£xj=1

jn用同样的方法,计算剩下的n-2台机器,当一台机器维修完成后Pk(17)即投入使用,此时在下一次时,就无须再计算一次损失了。即计算的公式为:(18)(19)(20)计算第i台机器维修时间内造成的损失P.

s.t.已经维修好的机器不计算在内'(18)(19)(20)故由上述(16)、(17)、(18)式可以得到了一个损失模型,其总损失为:sum=£pii=1然后把第一组的结果存入min中记为最小损失:min=sum记下此时的最优次序,然后再继续求第二组。如果此时的sum的数值比min小,则替换此时的最小值,并记下此时的最优次序:[min=sum\.(21)[s.t.sum>min重复(16)到(21)的步骤,并得出一个最小的损失,此时记下的维修次序就是最优化的维修次序。5.6模型三的程序流程图在模型三的建立中,我们可以绘制出其程序流程图,并求解出最优化的损失,程序流程图如图5所示。在模型三中,我们会发现这是和模型一类似的一种算法。这样可以说模型一是模型三的一个特例,这样做有一个明显的好处就是模型在实际应用中可以通用,而不是针对专门的函数进行求解。

图5模型三的程序流程图六、模型的结果分析应用该模型,需要大量的数据计算,这就需要计算机来完成。在模型二中,我们会发现有一些冗余量的产生,但这并不会影响最终的计算结果。而且计算机的性能和速度的提高,足以弥补这少量冗余的产生。在模型一和模型三中,因为只有一个工人,所以不会产生数据量的冗余,而且运用穷举法考虑了所有的情况,是一个比较好的模型。特别是模型三,在实际解决问题中,是一个很好的模型。建模的同时,也给出了程序流程图,这样更适用于实际解决,也更方便人们利用计算机编程解决。七、模型的优缺点模型中每一步推理都通过建模及程序流程图的分析,因此计算结果也较符合实际问题,在计算中运用穷举法来进行优化设计,因此简化了计算证明的复杂程度;这样做有一个明显的好处就是模型在实际应用中可以通用,而不是针对专门的函数进行求解。但是我们会发现有一些冗余量的产生,这样会导致计算量过大,求解困难。[序号]作者1,作者2.书名.出版地:出版社.出版时间.八、参考文献[1]焦永兰.《运筹学》.北京:中国铁道出版社.2010.[2]姜启源.《数学模型》(第2版).北京:高等教育出版社.1993.[3]王沫然.《MATLAB5.X与科学计算》.北京:清华大学出版社.2000.[4]邓建中,刘之行《计算方法》(第2版).西安:西安交通大学出版社.2001.九、附录模型一求解的MATLAB程序:m=perms(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论