P1187加工生产调度.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案 精彩文档 P1187加工生产调度 题目解析: 本题是要求一个加工顺序使得总的加工时间最少,而要使加工时间最少,就是让各车间的空闲时间最少。一旦A车间开始加工,便会不停地进行加工(我们不要去管车间是否能够一直生产,因为他们有三班,可以24时间不停地运转)。关键是B车间在生产的过程中,有可能要等待A车间的初加工产品。很显然所安排的第一个产品在A车间加工时,B车间是要等待的,最后一个产品在B车间加工时,A车间已经完成了任务。 要使总的空闲时间最少: (1)就要把在A车间加工时间最短的部件优先加工,这样使得B车间能以最快的速度开始加工; (2)把放在B车间加工时间最短的产品放在最后加工,这样使得最后A车间的空闲时间最少。 设计出这样的贪心法: 设Mi=min{Ai,Bi} 将M按照由小到大的顺序排序,然后从第一个开始处理,如果Mi=Ai,则将它安排在从头开始的已经安排的生产顺序后面,如果Mi=Bi,则将它安排在从尾开始的已安排的生产顺序前面。 这种安排是否是最少的加工时间,还要通过数学证明。证明如下: (请学生自行证明完成!) 特殊案例分析: (1)考虑Ai=Bi的任务的高度情况怎样为最优方案。 (2)考虑Ai=Bi的任务的调度情况怎样为最优方案。 提出、分析、证明。 (概念1:最大缓冲区域) 设S=J1,J2,…,Jn),是等待加工的作业序列,如果A车间开始加工S中的产品时,B车间还在加工其他产品,t时刻后B车间就可利用A车间加工过的产品。在这样的条件下,加工S中任务所要的最短时间T(S, t)=min{Ai+T(s-{Ji},Bi+max{t-Ai, 0})},其中,Ji∈S。 图3-1是加工作业i时A车间等待B车间的情况: 图3-1 A等B的情况 图3-2是加工作业i时B车间等待A车间的情形: 图3-2 B等A的情况 假设最佳的方案中,先加工作业Ji,然后再加工作业Jj,则有: 如果,则 如果,则 如果,则 如果将作业Ji和作业Jj的加工顺序调整,则有: 其中, 按照上面的假设,有T=T’,所以有: 从而有: 即: 这说是所谓的Johnson公式,也就是说在此公式成立的条件下,优先安排任务Ji在Jj之前可以得到最优解。也就是在A车间加工时间短的安排在前面,在B车间加工时间短的任务安排在后面。 以样例数据为例: (A1, A2, A3, A4, A5)=(3, 5, 8, 7, 10) (B1, B2, B3, B4, B5)=(6, 2, 1, 4, 9) 则(m1, m2, m3, m4, m5)=(3, 2, 1, 4, 9) 排序之后为:(m3, m2, m1, m4, m5) 处理m3,因为m3=B3,所以m3安排在后面(,,,,3); 处理m2,因为m2=B2,所以m2安排在后面(,,,2,3); 处理m1,因为m1=A1,所以m1安排在前面(1,,,2,3); 处理m4,因为m4=B4,所以m4安排在后面(1,,4,2,3); 处理m5,因为m5=B5,所以m5安排在后面(1,5,4,2,3)。 从而得到加工的顺序1,5,4,2,3。计算出最短的加工时间34。 【补充说明】 由于本题的原始数据并没有保证数据间没有重复,所以在数据有重复的情况下生产调度安排并不是惟一的。但是最少的加工时间是惟一的。 思考2:任务j(如果aj=bj)在A车间的加工时间与其在B车间的加工时间相同的话,任务j的加工处理在任何时侯处理都相同,也就是说加工过程中如果我们在最优方案基础上,仅仅是调整任务j的加工顺序,则将得到一个等效的加工方案。 证明: 在已知的最优方案中,如果有任务i,并且Ai=Bi,则如果改变其加工顺序。我们将得到一个等效的最优加工方案。 (根据以上特征,为了让输出解达到唯一,我们只有进而求其次,我在测试数据中修改了一下,将所有的测试数据均改为AiBi) (概念1:最大缓冲区域) program prod; type data=record {任务数据特征分析:序号、A车间加工时间、B车间加工时间,最小时间} num,tima,timb,min:integer; end; arr=array[1..1000]of data; var a,b:arr; n,i,j,k:integer; sa,sb:longint; {快速排序,不稳定,排序过程按min的值从小到大进行} procedure qsort(var a:arr; l,r:integer); var i,j,m:integer; t:data; begin i:=l; j:=r; m:=a[(i+j)div 2].min;

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档