求解置换流水车间调度问题的改进遗传算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

求解置换流水车间调度问题的改进遗传算法作者:李小缤白焰耿林霄
来源:《计算机应用》2013年第12期
摘要:目前求解置换流水车间调度问题的遗传算法中,加工顺序编码方法导致交叉、变异算子复杂,且子代与父代不相似,算法易陷入局部最优为解决以上问题,提出了一种基于优先权值编码并含有限优算子的改进遗传算法利用各工件的优先权值进行编码,避免遗传算子中不合法编码的出现;加入限优算子限制种群中最优个体的繁殖数量,防止种群陷入局部最优点,改善寻优质量实验结果表明,该算法中的编码方法可行且易于应用于求解紧急工件优先加工的实际问题;同时用基准算例验证了具有限优算子的改进算法求解结果相对误差小且求解稳定性高
关键词:置换流水车间调度;遗传算法;优先权值;最大完工时间;局部收敛
中图分类号: TP18 文献标志码:A
0引言
置换流水车间调度问题(Permutation Flow shop Scheduling Problem,PFSP)是流水车间调度中的典型问题之一,也是实际制造系统中重要的规划问题该调度问题被广泛应用于实际生产,尤其适用于单件大批量生产制造企业,可以有效提高企业生产效率与设备利用率由于工件加工顺序的多样性置换流水车间调度问题属于典型的NP问题[1],开发和研究高效的求解算法具有非常重要的理论和实际意义已有的研究成果表明粒子群算法[2]、禁忌搜索算法[3]、遗传算法[4]以及蚁群优化算法[5]等智能算法均对此调度优化问题得到了最优解或接近最优解
本文在目前已有成果的基础上,进一步研究置换流水车间调度问题,提高解的质量和求解稳定性首先,目前应用的遗传算法均采用工件加工顺序编码作为算法中的染色体,由于重复基因将导致不合法编码,故算法中交叉和变异算子都比较复杂本文提出了基于工件优先权值的编码方法,能避免不合法编码的出现,简化交叉、变异算子该编码方法还可以由人工定义工件优先权值,通过实验证实这一特性易于实现紧急工件优先加工等实际生产需求问题考虑到置换流水车间调度问题存在多个局部最优的特点以及遗传算法求解易陷入局部最优的缺陷,提出了一种限优算子,限制种群中最优个体繁殖数量,本文将该遗传算法称为限优遗传算法(Optimum Limited Generic Algorithm, OLGA),最后通过对基准算例仿真实验验证算法性能
1问题描述
置换流水车间调度问题的目的是根据设定的目标,确定工件的加工顺序,使所有工件最大完工时间(Makespan)最短置换流水车间调度问题具有以下特征:n个工件以相同顺序在m台机器上加工,所有工件在每台机器上的加工顺序也是相同的;同一工件在任一时刻只允许在一
台机器上加工;每台机器同时只能加工一个工件;工件在上一个机器加工完成后,立即送到下一台机器加工;工件在每台机器上加工的过程不允许中断[6]
2限优遗传算法
置换流水车间调度问题是组合优化的典型问题,可行解的数量随工件数的增多而骤增,工件数目为n的加工方案数为n!遗传算法是一种以自然进化和选择机制为基础的算法,在很多领域得到应用,优点有全局近优、快速、易实现等[7],同时也有易陷入局部最优和编码困难的缺点目前相关文献中置换流水车间调度问题的遗传算法都使用工件加工顺序进行编码[8-11],即把一个染色体编码为一组元素为1到n的排列,例如4个工件,n=4,一个染色体编码为(3,4,2,1),表示各台机器先加工工件3,再依次加工工件4、2、1此编码方法若采用常规的交叉、变异算子会使染色体中出现重复基因,导致不合法的编码为防止不合法编码出现,各文献中使用的交叉算子都比较复杂,变异算子则由禁忌搜索、退火等综合方法构成,并且,这些复杂算子得到的子代有极大的可能性与父代不具有相似性,很难保留父代的优良特性
本文提出一种基于工件优先权值的编码方法,简化求解过程,并能保证子代与父代的相似性另外,针对遗传算法易陷入局部最优的缺陷,提出一种具有限优算子的遗传算法——限优遗传算法(OLGA)
2.1基于优先权值的编码方法
置换流水车间调度问题求解,首先要解决编码问题,编码的主要目的是使优化问题解的表现形式适宜于用遗传算法运算本文提出基于工件优先权值的编码方法,设vi为工件i的优先权值,为保证交叉算子的有效性,考虑一般问题的工件数量,经测试后将vi的定义域设置为
vi∈[0,2]n个工件的优先权值v={v1,v2,…,vn},即为本文遗传算法的染色体编码若va>vb(a,b∈[1,n]),则加工顺序中工件a在工件b之前例如n=4,一种加工顺序πq下的编码vπq={01234 05675 17342 13765},按大小排序可知,该个体解码得加工顺序为πq={3,4,2,1}若染色体中出现重复基因vc=vd,则按工序编号排列,如c
该编码方法使遗传算法中可以使用常规交叉、变异算子,保证交叉、变异产生的子代继承父代特性;同时,该编码方法易于应用于实际工程中紧急工件优先加工问题目前研究中的遗传算法由于其交叉、变异算子的复杂性,用于紧急工件优先加工问题的限制较多,而本文提出的编码方法中,当要求某一工件Xj紧急加工时,将该工件的优先权值vj设为大于2的数,且该工件不参与遗传操作,该算法求解结果即能满足Xj在各工序均优先加工,得到满足紧急工件优先加工条件的最短最大完工时间和对应的加工顺序
2.2初始种群的产生
根据实际问题规模,选定种群大小N,并根据基于优先权值的编码方法,以0到2的随机数,对种群中的染色体个体进行初始化,保证种群个体的多样性
2.3适应度函数
2.4选择算子
本文算法中,把父代种群和交叉、变异操作后的种群(称为预子代种群)合并为一个待选择种群,在种群中随机两两配对比较,根据适应度函数保留适应度函数大的个体,作为子代种群,比赌轮选择法、最优保存策略法等传统方法能更好地保证种群多样性在选择的同时,记录下该代种群中最优的个体v*
2.5交叉算子
2.6变异算子
对预子代个体中所有染色体个体,循环每一个基因位,以变异概率pm对该位基因进行变异操作
2.7限优算子
本文提出限优算子,以解决遗传算法易陷入局部最优解的问题在连续g代种群的最优适应度不变时,计算当前种群中每个个体解码所得加工顺序与该种群中最优个体v*解码所得加工顺序的汉明距离,将汉明距离等于0的个体的每个基因重新以0到2之间的随机数赋值,即把与当前最优种群相同的个体消灭,让新产生的个体与剩余个体继续进行交叉、变异操作,保证种群个体多样性,避免陷入局部最优点
在消灭最优个体的同时,将记录下的v*放入操作后的种群中,即保留且仅保留一个当前最优个体继续与其他个体进行遗传操作,防止当前优秀基因丢失
基于以上条件,本文提出的改进遗传算法的流程如图1所示
3实验结果与分析
3.1求解紧急工件优先加工问题能力测试
实验1:求解Car7最短Makespan,输出对应最优值的甘特图甘特图横坐标表示加工时间,各行为各机器加工顺序,方框表示工件加工时长,方框内数字表示工件编号
实验2:设定工件3的优先权值为2.5,使算法求解工件3优先加工时的最短Makespan,输出甘特图
实验3:从实验1甘特图得无紧急工件时首先加工的工件为X,在此将此工件权值设为2.5,求解工件X优先加工时的最短Makespan,输出甘特图,与实验1结果进行对比
分析实验结果:
1)由图3可知,实验2设定工件3的优先权值为2.5,得到的加工顺序满足工件3优先加工,证明该编码方法可以实现求解紧急工件优先加工问题
2)由图2可知,实验1得到的最短完工时间与文献[12]中提供的Car7最优值(6590)一致,求解正确,且得到实验1中对应最优值的加工顺序中工件5为首先加工工件故实验3设定工件5的优先权值为2.5,由图4知,实验3所得求解结果和甘特图与实验1一致,证明了该编码方法在求解紧急工件优先加工问题应用的可行性和正确性
3.2算法性能测试
为测试本文算法的性能,选择Carlier提出的Car系列的基准测试问题[12],以及Reeves提出的Rec基准测试问题[13]进行仿真实验
用Matlab软件编程实现,硬件环境的处理器主频为2.13GHz,内存为2GB,操作系统为Windows 7;
参数设置根据问题的规模调整,如Car8问题中,进化次数M=50,种群规模N=100,交叉概率pc=1,变异概率pm=0.01,限优操作判断代数g=5
C*为问题最优值或目前已知下界值,RE表示算法求出的最优值C与C*的相对误差(RE=(C-C*)/C*×100%)BRE表示最佳相对误差,ARE表示平均相对误差,WRE表示最差相对误差,分别表示对算例独立运行20次得到的最佳值、平均值以及最差值与C*的相对误差,以这三个指标评价算法性能表1为本文提出的OLGA与目前已有研究中综合性能相对优越的一种综合遗传算法(Comprehensive Generic Algorithm, CGA)[14]和一种混合遗传算法(Hybrid Heuristic Generic Algorithm, HGA)[15]的性能比较
由实验结果可知:
1)本文算法OLGA具有很好的优化质量,对20×10及以下规模的问题均能得到最优解,尤其对Car系列的基准测试问题能100%得到最优解对较大规模的问题能够获得较好的近似最优解,除Rec31、Rec33的最佳值比CGA、HGA略差外,其他算例最佳值均大大优于CGA、HGA并且,计算得三种算法对29组算例的平均BRE分别为0.48%、0.69%、062%,平均ARE分别为0.92%、1.23%、1.16%;平均WRE分别为1.33%、2.27%、1.89%,可以明显看出本文算法在总体求解质量上的优越性
2)本文算法OLGA具有很好的稳定性,对较大规模的问题也能保持平均相对误差很小,除Rec33算例略差外,ARE均为三种算法中最优并且,三种算法的最差与最佳相对误差之差(WRE-ARE)分别为0.84%,1.58%,1.26%,可以看出本文算法的稳定性更优
3)本文算法OLGA避免陷入局部最优点的能力较好,除Rec31算例求解比HGA略差外,最差相对误差全面地大大优于CGA、HGA,自身波动性小,利于实际应用
分析Rec31、Rec33算例算法效果不明显的原因应该是其局部最优点过深而难以跳出,限优算子中消灭最优个体后剩下的次优个体群极易带动种群再次陷入局部最优点,但现实中这样的情况不多
CGA和HGA提出时已证明能够大幅度优于传统GA,而本文实验数据证明OLGA的求解质量优于CGA和HGA
4结语
本文提出了求解置换流水车间调度问题的一种基于工件优先权值编码的改进遗传算法(OLGA),通过实验证明了本文提出的编码方法的可行性及其在求解紧急工件优先加工问题的有效性经Car和Rec基准问题测试表明本文提出的改进遗传算法的相对误差比现有算法大幅缩小,验证了该改进算法在求解质量、求解稳定度上的优越性基于该改进算法的良好性能,下一步研究中,可经过适当改进,将算法运用于解决置换流水车间的动态调度等问题
参考文献:
[1]GAREY M R, JOHNSON D S, SHTHI R. The complexity of flowshop and jobshop scheduling[J]. Mathematics of Operations Research, 1976,1(2):117-129.
[2]张其亮,陈永生,韩斌等.改进的粒子群算法求解置换流水车间调度问题 [J].计算机应用,2012,32(4):1022-1024,1029.
[3]NOWICKI E, SMUTNICKI C. A fast tabu search algorithm for the permutation flowshop problem [J]. European Journal of Operational Research, 1996, 91(1): 160-175.
[4]求解置换Flowshop调度问题的改进遗传算法[J].计算机工程与应用,2007,43(22):41-44.
[5]刘延风,刘三阳. 置换流水车间调度的蚁群优化算法[J].计算机应用, 2008,28(2):302-304.
[6]SVIRIDENKO M, WOEGINGER G J. Approximability and inapproximability results for nowait shop scheduling[C]// FOCS 00: Proceedings the 41st Annual Symposium on Foundations of Computer Science. Washington, DC: IEEE Computer Society, 2000:116-124.
[7]RUIZ R, MAROTO C. A comprehensive review and evaluation of permutation flowshop heuristics[J]. European Journal of Operational Research, 2005,165(2):479-494.
[8]涂雪平,施灿涛,李铁克.求解置换流水车间调度问题的改进遗传算法[J].计算机工程与应用, 2009,45(36):50-53,70.
[9]DUAN J H, ZHANG M, QIAO G Y, et al. A genetic algorithm for permutation flowshop scheduling with total flowtime criterion[C]// CCDC 2011: Proceedings of the 2011 Chinese Control and Decision Conference. Piscataway: IEEE, 2011:1514-1517.
[10]IYER S K, SAXENA B. Improved genetic algorithm for the permutation flowshop scheduling problem [J]. Computer and Operations Research, 2004,31(4):593-606.
[11]A block mining and recombination enhanced genetic algorithm for the permutation flowshop scheduling problem[J]. Economics,2013,141(1):45-55.
[12]CARLIER J. Ordonnancements à contraintes disjonctives [J]. RAIRO — Operations Research — Recherche Opérationnelle, 1978,12(4): 333-350.
[13]REEVES C R. A genetic algorithm for flowshop sequencing [J]. Computers and Operations Research, 1995,22(1): 5-13.
[14]王凌.车间调度及其遗传算法[M].北京:清华大学出版社, 2003:114-122.
[15]ZHENG D Z, WANG L. An effective hybrid heuristic for flow shop scheduling [J]. International Journal of Advanced Manufacturing Technology, 2003, 21(1):38-44.。

相关文档
最新文档