ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:237.50KB ,
资源ID:570539      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/570539.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(生产调度问题及其优化算法.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

生产调度问题及其优化算法.doc

1、编号:第六届计算机仿真大赛参赛作品 题号:加工调度问题组别: 高年级组作者: 厚玉伟学院: 光电工程 联系电话:18716321594计算机仿真大赛组委会2012年 05月 01日生产调度问题及其优化算法背景及摘要这是一个典型的Job-Shop动态排序问题。目前调度问题的理论研究成果主要集中在以Job-Shop问题为代表的基于最小化完工时间的调度问题上。一个复杂的制造系统不仅可能涉及到成千上万道车间调度工序,而且工序的变更又可能导致相当大的调度规模。解空间容量巨大,N个工件、M台机器的问题包含种排列。由于问题的连环嵌套性,使得用图解方法也变得不切实际。传统的运筹学方法,即便在单目标优化的静态调

2、度问题中也难以有效应用。本文给出三个模型。首先通过贪婪法手工求得本问题最优解,既而通过编解码程序随机模拟优化方案得出最优解。最后采用现代进化算法中有代表性发展优势的遗传算法。文章有针对性地选取遗传算法关键环节的适宜方法,采用MATLAB软件实现算法模拟,得出优化方案,并与计算机随机模拟结果加以比较显示出遗传算法之优化效果。 对车间调度系列问题的有效解决具有一定参考和借鉴价值。二模型假设1每一时刻,每台机器只能加工一个工件,且每个工件只能被一台机器所加工 ,同时加工过程为不间断;2所有机器均同时开工,且工件从机器I 到机器J 的转移过程时间损耗不计;3各工件必须按工艺路线以指定的次序在机器上加工

3、多次;4操作允许等待,即前一操作未完成,则后面的操作需要等待,可用资源有限。三符号说明及初始数据表达分析 - 第i个工件 (i=16)- 机器顺序阵 表示i工件的第 j个操作的机器号- 第j台机器 (j=14)- 工件排列阵 表示i机器上第j次加工的工件号 - 加工时间阵 为i工件的第 j个操作的时间周期 - 整个任务完成时间整理数据后得到:= C A B C D 0 0 0 = 8 2 4 24 6 0 0 0 A D B C 0 0 0 0 4 5 3 4 0 0 0 0 C D A B A 0 0 0 3 7 15 20 8 0 0 0 B C D A D C 0 0 7 6 21 1

4、16 3 0 0 D B C D A C D 0 10 4 8 4 12 6 1 0 A B A C D A C A 1 4 7 3 5 2 5 8 上述二阵直接从题目得出,而则是我们要求的。关于工件的加工时间表:(表二)产品/工件(i):123456总计 总净加工时间(周期)441653544535247 加工工序总数(个)54567835关于机器的加工时间表:(表三)机器/设备(j):ABCD总计 总净加工时间60427075247 加工操作次数10610935分析:由于各产品总净加工时间和各机器总净加工时间之中最大值为 75,而总计为247,那么 总时间 C 介于75,247。同时各工件

5、加工繁杂程度不一,各机器的任务量也有轻重之别。合理的调度排序是对于节省时间和资源是必要的。希望最优化答案是75,这样达到最小值,如果答案是75,那么意味着机器D不间断工作,直至全部加工任务完成。四贪婪法快速求解如果按照一定规则排序,当多个工件出现“抢占”同一机器的局面的时候,我们可以制定如下的工序安排规则:1. 优先选择总剩余时间或总剩余操作较多的工件。(如果出现总剩余加工时间多者总剩余操作数反而较少的情况时,按照程度具体情况具体分析)。2. 机器方面来说,尽量避免等待空闲时间,优先考虑剩余净加工时间或者剩余加工总次数较多的机器,尤其是机器 D ,即倘若能够使机器D不间断工作且其他机器完工时间

6、均不多余75时,那么就可以得到最优解 。首先按照最优化时间为75的设想避免D出现等待,排序后得到升以下具体排列顺序。各机器承担任务表为(其中粗体字为对应工件产品号,括号内为对应时间周期段):操作1操作2操作3操作4操作5操作6操作7操作8操作9操作10A6(1)2(2-5)1(12-13)6(14-20)3(21-35)4(36)5(43-54)6(55-56)3(57-64)6(66-73)B4(1-7)6(8-11)5(12-15)1(16-19)3(36-55)2(56-58)C3(1-3)1(4-11)4(12-17)5(18-25)6(26-28)1(29-52)5(55-60)6(

7、61-65)2(66-69)4(70-72) D5(1-10)3(11-17)4(18-38)5(39-42)6(43-47)2(48-52)4(53-68)1(69-74)5(75) (表四) (图一) 上图为加工周期图(甘特图),标注数字为相应操作的周期,完工时间为第75周期。五计算机随机模拟(编程)1编码:随机产生生产的工序操作优先顺序,进行编码,如:K= 4 3 5 6 6 2 3 1 41 6 3 5 4 5 3 6 6 4 1 5 5 1 3 2 6 2 2 4 4 1 5 6 6 5 (注:同时作为下文的染色体之用) 意思为:工件4优先被考虑进行第一次操作,然后3进行其第一步操作

8、,然后5操作,6操作,再6操作其第二步工序,依次进行。如果前后互相不冲突,则可同时在不同机器上操作。通过排列组合得出,总共有类似K的排列序列 2多种!当然,这其中只对应解 75,247,意味着有大量排列序列对应同一加工方案,而大量加工方案又对应同一时间解。2解码: 即对编码进行翻译,产生具体可操作工序安排方案,这里采用活动化解码算法。例如工件2第i步操作(记为(2,i),且在机器A上进行)被安排在工件3第j步操作(记为JM(3,j)后面进行,那么如果安排好(3,j)后,只要(2,i)在工件2已经排序好的操作之后进行,那么操作(2,i)可插入到机器A处最前可安置的时间段进行。在这里,一个编码序列

9、对应一个加工方案,而一个加工方案可对应一个或多个编码序列,这就是二者之关系。3编程: 通过一组随机编码产生一生产加工优先序列,通过解码过程产生相应加工方案及其总耗费时间C . N次模拟后即可得出解C的概率密度分布情况以及相对最优解(N个C的最小值,如80,77等,甚至出现75)。4计算机模拟所得数据分析a. 进行100次模拟得出最优解情况: (共运行10次) 82,83,82,84,78,80,81,83,87,82 平均值 82.2,每回耗时约3秒b. 进行1000次模拟得出最优解情况:(共运行10次) 80,79,78,78,79,79,76,80,77,78 平均值 78.4 , 每回耗

10、时25秒c. 进行10000次模拟得出最优解情况:(共运行10次) 76,77,77,75,76,76,77,76,76,77 平均值 76.3, 每回耗时4分钟 d. 模拟1000000次得到的解C的概率密度分布情况为: (如图二所示)( 图二 ) (注:75处为17次(概率为17/1000000=1/58823),76处为40次,77处167次)结论:如果想将2中排序序列以平均出现一次的可能性进行模拟,即运行2次,计算机需运行将近150万亿年!当然,我们没有这个必要,因为我们只需要运行数万次,就很可能得到最优解75,(在随机模拟1000000次后出现17次75,那么意味着概率大约17/10

11、00000=1/58823,另外76处为40次,77处167次)。六遗传算法模型建立和步骤解法遗传算法(Genetic Algorithm)作为一种优化算法特别适合于对象模型难于建立、搜索空间非常庞大的复杂问题的优化求解。它和模糊控制技术一样,虽然在理论上还没有完善,但是在实践中已经得到了广泛的应用。遗传算法的基本思想是:模仿生物系统“适者生成的原理,通过选择、复制、交叉、变异等简单操作的多次重复来达到去劣存优的目的,从而获得问题的优化结果。遗传算法的实现由两个部分组成,一是编码与解码,二是遗传操作。其中遗传操作又包括选择、复制、交叉、变异等步骤。 本文根据实际情况采取了1-6整数编码。数字1

12、,2,3,4,5,6分别代表6件待加工产品。本文遗传算法基本流程:通过编码,解码程序随机产生N个(有一定数量,如50或100)个体构成初始种群a) 从初始中群中选取2个具有最优染色体(最有排序方案)的个体作为临时个体(父代);b) 如果此2个体中有一个个体通过解码操作能够实现最优排序(即使总时间为75周期),那么结束此算法,得到最优解;c) 对2个临时个体以一定方式(循环交叉)执行染色体交叉变换和变异选择(小概率,互换操作),产生2个新的个体;d) 对父代和子代共4个个体进行选择,从中选出最佳的2个个体,做为下一代的父代;e) 重复执行第二步(b)操作;f) 如果执行完M步后仍然未得出答案75

13、,那么将目前的最优解作为本算法的最优解答案。1编码和解码 (同上)2交叉变换(crossover) 对2个父代临时个体进行染色体交叉变换,采用循环交叉方法(Cycle crossover CX),如父代染色体为:X:9 2 6 4 7 3 5 8 1和Y:3 4 5 8 1 6 7 2 9,如果随机选到第二位开始交叉,那么X的2对应Y的4,X的4对应Y的8,X的8对应Y的2,这样就确定了以上为不变的染色体,其余位置的染色体互换位置,最后得到: 3 2 5 4 1 6 7 8 9, : 9 4 6 8 7 3 5 2 1,实现交叉变换。3变异选择(mutation) 采用互换操作(SWAP),即随机交换染色体中两不同基因的位置。如上面的染色体为:: 3 2 5 4 1 6 7 8 9 。随机产生变换位置号,如产生随机数3和5,那么交换数字后得到染色体: 3 2 1 4 5 6 7 8 9, 变异概率取0.1 。4选择操作(selection) 对父代2个体f1,f2和子代2个体f3,f4进行选择,通过编码操作确定具有最优解的2个个体,成为新一代f1和f2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1