[发明专利]改进编码方式的遗传算法解分布式柔性作业车间调度问题在审
申请号: | 201510970446.1 | 申请日: | 2015-12-22 |
公开(公告)号: | CN106610652A | 公开(公告)日: | 2017-05-03 |
发明(设计)人: | 龚晓慧;胡成华 | 申请(专利权)人: | 四川用联信息技术有限公司 |
主分类号: | G05B19/418 | 分类号: | G05B19/418 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610054 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 改进 编码 方式 遗传 算法 分布式 柔性 作业 车间 调度 问题 | ||
1.改进编码方式的遗传算法解分布式柔性作业车间调度问题,该算法适用于柔性作业车间调度领域,解分布式柔性柔性作业车间调度问题,其特征是:该算法的步骤如下:
步骤1:参数设定:设种群规模为M,子代规模为N,交叉概率为,变异概率为,进化代数为G,禁忌表规模为T;
步骤2:使用改进的编码算子产生初始种群M:
步骤2.1:基于工厂、设备、工件之间的关系创造一个可用资源表;
步骤2.2:根据工件的数量和工序的数量编码染色体的整数部分;
步骤2.3:编码候选工厂和选择设备,随机产生0到1之间的小数作为工厂选择和设备选择一个预定义的阈值;
步骤2.4:重复步骤2.2、2.3,直到产生M个初始个体;
步骤3:评估染色体的适应度值;
步骤4:判断是否达到最大进化代数,未达到执行下一步骤;否则输出最优调度方案,结束程序;
步骤5:使用锦标赛选择法选择N个子代种群;
步骤6:引入禁忌表的交叉:
步骤6.1:初始化参数,禁忌表设为空;
步骤6.2:计算父代个体的适应度值及平均适应度并记录;
步骤6.3:根据交叉概率在父代种群中随机地选择两个个体,对染色体的工序部分和设备工厂部分分别进行交叉操作,得到子代新个体;
步骤6.4:计算子代新个体适应度值,如果子代新个体的适应度值比保存的父代的平均适应值高,则将该适应度值放入禁忌表同时将此子代新个体放入下一代,更新禁忌表;
步骤6.5:如果子代新个体的适应度值比保存的父代的平均适应值低,且该适应度值不在禁忌表中,则将该适应度值放入禁忌表,同时将此子代新个体放入下一代( 目的是保持子代解的多样性) ,更新禁忌表;
步骤6.6:如果子代新个体的适应度值比保存的父代的平均适应值低,且该适应度值在禁忌表中,则从父代中选择适应度值最高的个体放入下一代( 目的是子代直接继承父代的优良个体) ,将该最高适应度值放入禁忌表,同时更新禁忌表;
步骤6.7:若禁忌表已满,则替换最早放入禁忌表的值,解禁;
步骤6.8:子代种群个数是否达到最大规模,是则转步骤6.9,否则转步骤 6.3;
步骤6.9:结束;
步骤7:基于邻域搜索的变异:
步骤:7.1:设i= 0 (i为基于邻域搜索变异程序的迭代次数);
步骤7.2:判断iNPm是否成立(N是子代种群规模,Pm是变异概率),是则转到步骤8.3,否则转步骤7.6;
步骤7.3:取变异染色体上λ个不同的基因,将他们工序顺序编码部分(即整数部分)生成其排序的所有邻域;
步骤7.4:评价所有邻域的适应度值,取其中的最佳个体;
步骤7.5:i= i+ 1;
步骤7.6:结束;
步骤8:返回步骤4,重复程序。
2.根据权利要求1所述的改进编码方式的遗传算法解分布式柔性作业车间调度问题,其特征是:所述步骤6本发明通过在交叉操作中引入禁忌搜索算法的特性对重复出现的个体进行有效禁忌操作,提高算法的收敛效率和解的稳定性。
3.根据权利要求1所述的改进编码方式的遗传算法解分布式柔性作业车间调度问题,其特征是:所述步骤6.3对染色体工序部分进行交叉的步骤如下:
设父代染色体Parent1和Parent2,交叉产生Children1和Children2
(1)、随机划分工件集{1,2,3,…,i}为两个非空的子集J1和J2;
(2)、复制Parent1包含在J1的工件到Children1,Parent2包含在J1的工件到Children2,保留它们的位置;
(3)、复制Parent2包含在J2的工件到Children1,Parent1包含在J2的工件到Children2,保留它们的顺序。
4.根据权利要求1所述的改进编码方式的遗传算法解分布式柔性作业车间调度问题,其特征是:所述步骤6.3工厂和设备选择部分使用两点交叉,即随机选择两个点,两点之间的部分复制到下一代,其余的部分由另一个父代交叉确定。
5.根据权利要求1所述的改进编码方式的遗传算法解分布式柔性作业车间调度问题,其特征是:所述步骤2.1创造可用资源表的步骤如下:
步骤2.1.1:定义参数是所有设备的集合,是能够加工具体工序的设备集合,是分配到设备的可行工序的集合,是设备的数量,(m表示工厂的编号,k表示设备的编号,i表示工件的号,j是工序号);
步骤2.1.2:如果一道工序属于设备可行工序集合,将设备存放到可行设备集合;
步骤2.1.3:重复直到Num=0,如果Num=0转到下一道工序;
步骤2.1.4:重复,直到完成所有的工序 。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川用联信息技术有限公司,未经四川用联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510970446.1/1.html,转载请声明来源钻瓜专利网。