- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于遗传算法柔性车间作业调度
基于遗传算法柔性车间作业调度【摘要】目前柔性车间作业调度问题已成为研究热点,本文采用遗传算法求解该问题。针对柔性车间作业调度问题的特点设计了染色体编码方法,即将基于工序的编码和基于机器的编码方式结合。同时在遗传操作方面设计了相应的交叉和变异算子。这些改进方法可以保证遗传操作每一步产生的染色体在工艺约束和选择机器方面都是合法的,避免了传统柔性车间作业调度中繁琐的染色体合法化修复工作。为了得到活动调度,在进行适应度计算时对染色体中的基因序列进行调整。仿真结果表明设计的遗传算法求解柔性车间作业调度是有效的。
【关键词】柔性车间作业调度;活性调度;遗传算法
1.引言
在基本的车间作业调度问题(Job Shop Problem,简称JSP)中,所有工件的工序都只能由指定的某一台机器进行加工。随着加工技术、自动化技术的发展,特别是柔性制造系统的出现,此传统限制已被突破,工件具有多个可选择的加工路线,即路径柔性已经成为生产的实际需求。生产技术的进步推动着调度理论研究的进深,具有柔性路径的柔性车间作业调度(Flexible Job Shop Problem,简称FJSP)研究也开始进入人们的视野并引起重视[1-3]。
目前,遗传算法以其优良的计算性能和显著的应用效果,在求解JSP问题和FJSP问题中获得了很大的成功[4-11]。本文使用遗传算法来求解FJSP问题,提出了多维矩阵的编码方式,以及相应的选择、交叉、变异操作设计,保证遗传操作每一步产生的染色体都是合法的,避免了传统柔性车间作业调度中繁琐的染色体合法化修复工作。最后用一个调度实例验证了算法的正确性和有效性。
2.调度问题描述
n种工件J={Ji|i=1,…,n}在一个由m台不同的加工机器组成的制造系统中进行加工。加工工件Ji需要p(i)道工序,每道工序都有一个可选的机器集合,其加工时间随机器的选择不同而变化。调度目标是确定每台机器上各工件的加工顺序及开工时间,使得系统的最大完成时间Cmax最小,同时给出满足要求的活动调度。假设:
(1)各工件经过准备时间后即可开始加工;
(2)每个工件在某一个时刻只能在一台机器上加工,中途不能打断;
(3)每台机器每次只能加工一个工件;
(4)不考虑工件之间的加工优先权。
3.遗传算子设计
3.1 适应度函数f(i)
染色体i的适应度值由以下公式给出,其中C是一个大的正整数。
f(i)=C-Cmax
3.2 编码
op=aring;(i=1,…,n)p(i):所有工件工序数量总和。
定义染色体为矩阵ch[3][op],该染色体蕴涵工序和机器选择的双重信息。
第一行是基于工序的编码:数字i代表工件Ji。从左到右扫描,数字i的第j次出现代表工件Ji的第j道工序,记为Oij。
第二行是基于机器的编码:[k11,k12,…,k1p(1),…,kn1,kn2,…,knp(n)],其中kij表示工序Oij所选择的机器号码。
第三行提供了加工时间的信息:[t11,t12,…,t1p(1),…,tn1,tn2,…,tnp(n)],其中tij代表工序Oij在机器kij上进行加工所需要的加工时间。
3.3 交叉与变异
为了避免交叉操作之后产生非法个体(某道工序选择了不可用的机器),规定仅仅对染色体的第二行、第三行数据,以概率pc进行两点交叉操作。
设计两种变异算子。
对染色体第一行数据,以概率pmop进行互逆变异操作,其目的在于生成新的调度。
对染色体第二行数据,以概率pmch改变某基因的值,注意要保证选择的机器合法。之后改变染色体第三行相应位置上的值,赋予其新机器上的加工时间。
以上的编码方式结合交叉、变异操作可使得生成的染色体在工序和机器选择方面都是合法染色体。
3.4 活动调度的调整
对染色体解码时,从左到右依次扫描第一行基于工序的编码串,确定工序信息Oij,之后在第二行的编码串中找到该工序选择的机器号码,扫描完毕即得到了该染色体对应的调度形式。按照这种解码方式一般只能得到半活动调度,而不是活动调度[12]。因此,将一种插入式算法嵌入到适应度计算过程中,在有必要时调整染色体的基因序列,使其解码后生成活动调度。
这种插入算法针对所有工件的非首道工序进行处理,将其插入到对应机器上最佳可行的加工时刻安排加工,以这种方式保证所有工序都安排在最佳可行的地方,使得机器利用率最大化。
stij:当前工序Oij的开工时间;
opij:当前工序Oij的加工时间,j1;
fti(j-1):同一工件前道工序Oi(j-1)的完工时间,j1;
ftm:工序Oij所选用机器目前的可用时间;
原创力文档


文档评论(0)