改进编码方式的遗传算法解分布式柔性作业车间调度问题制造技术

技术编号:15271164 阅读:172 留言:0更新日期:2017-05-04 09:16
改进编码方式的遗传算法解分布式柔性作业车间调度问题,该算法适用于柔性作业车间调度领域。分布式柔性作业车间调度问题是指生产活动在几个工厂和制造单元进行的情况,他们不仅包含柔性作业车间调度问题的信息,还包括合适的工厂和柔性制造单元的选择,因为分配具体的工件到不同的工厂会得到不同的生产调度,这将影响供应链。现有技术对这一问题的研究甚少,本发明专利技术提出了用遗传算法解决这一问题,但传统的遗传算法易陷入局部最优导致早熟收敛,且编码方式会得到不可行解等问题。本发明专利技术提出了使用基于概率的改进的编码方式,且引入了禁忌表的交叉,基于邻域搜索的变异,避免了上述问题。本发明专利技术考虑了实际生产情况,具有实用性强等特点。

Genetic algorithm based on improved coding method for distributed flexible job shop scheduling problem

The genetic algorithm is used to solve the flexible job shop scheduling problem, which is suitable for flexible job shop scheduling. Distributed flexible job shop scheduling problem refers to the production activities in several factories and manufacturing units, they not only include the flexible job shop scheduling problem, including appropriate factories and flexible manufacturing unit choice, because the work piece assign specific to different factories are different production scheduling, which will affect the supply of chain. Study on the existing technology on this issue is very little, the invention is proposed to solve this problem with genetic algorithm, but the traditional genetic algorithm is easy to fall into local optimum leads to premature convergence, and the encoding method can not get the feasible solution problem. The invention provides an improved coding method based on probability, and introduces the crossover of the tabu list and the mutation based on neighborhood search to avoid the problem. The invention takes into account the actual production situation, and has strong practicability.

【技术实现步骤摘要】
所属
本专利技术涉及作业车间调度领域,具体地涉及分布式柔性作业车间调度领域。
技术介绍
全球化商业模式的出现和技术的进步导致了制造环境的巨大变化。为了接近市场和制造资源,企业已经从一个单工厂演变成了一个多工厂的制造环境,这导致了调度系统从一个作业车间调度系统变成了一个柔性作业车间调度系统,甚至到一个分布式柔性作业车间调度系统。分布式柔性作业车间调度问题是指生产活动在几个工厂和制造单元进行的情况。对经典的柔性作业车间调度问题,包含以下问题:1)每一台设备的工序顺序;2)一个工件的工序优先约束;3)适当考虑设备能力约束的设备选择。分布式柔性作业车间调度问题可以认为是柔性作业车间调度问题的一个延伸,他们不仅包含柔性作业车间调度问题的信息,还包括合适的工厂和柔性制造单元的选择,因为分配具体的工件到不同的工厂会得到不同的生产调度,这将影响供应链。分布式柔性作业车间调度问题也是Np-hard问题。面对分布式问题更加符合制造实际且更加复杂,关于它的研究甚少,本专利技术提出一种遗传算法解决这个难题。遗传算法具有很强的鲁棒性和固有的并行性,能有效地处理规模较大的优化问题,但同时也存在着求解易陷入局部最优、早熟停滞等不足;以及如何将问题的解编码成染色体,保证染色体的可行性、合法性和映射的唯一性的问题。
技术实现思路
针对上述不足之处,本专利技术要解决的技术问题是提供一种改进的编码方式和改进的交叉变异求解分布式柔性作业车间调度问题。本算法的目标是:第一.解决分布式柔性作业车间调度问题,将工件分配合适的制造单元或车间;第二.解决传统遗传算法的编码方式会生成不可行解的问题;第三.解决遗传算法容易陷入局部最优,出现早熟收敛的问题。本专利技术为实现上述目的所采用的技术方案是:采用改进编码方式的遗传算法解分布式柔性作业车间调度问题,该算法包括如下步骤:步骤1:参数设定:设种群规模为M,子代规模为N,交叉概率为Pc,变异概率为Pm,进化代数为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:根据交叉概率Pm在父代种群中随机地选择两个个体,对染色体的工序部分和设备工厂部分分别进行交叉操作,得到子代新个体;步骤6.4:计算子代新个体适应度值,如果子代新个体的适应度值比保存的父代的平均适应值高,则将该适应度值放入禁忌表同时将此子代新个体放入下一代,更新禁忌表;步骤6.5:如果子代新个体的适应度值比保存的父代的平均适应值低,且该适应度值不在禁忌表中,则将该适应度值放入禁忌表,同时将此子代新个体放入下一代(目的是保持子代解的多样性),更新禁忌表;步骤6.6:如果子代新个体的适应度值比保存的父代的平均适应值低,且该适应度值在禁忌表中,则从父代中选择适应度值最高的个体放入下一代(目的是子代直接继承父代的优良个体),将该最高适应度值放入禁忌表,同时更新禁忌表;步骤6.7:若禁忌表已满,则替换最早放入禁忌表的值,解禁;步骤6.8:子代种群个数是否达到最大规模,是则转步骤6.9,否则转步骤6.3;步骤6.9:结束;步骤7:基于邻域搜索的变异步骤:7.1:设i=0;(i为基于邻域搜索变异程序的迭代次数)步骤7.2:判断i≤N×Pm是否成立(N是子代种群规模,Pm是变异概率),是则转到步骤8.3,否则转步骤7.6;步骤7.3:取变异染色体上λ个不同的基因,将他们工序顺序编码部分(即整数部分)生成其排序的所有邻域;步骤7.4:评价所有邻域的适应度值,取其中的最佳个体步骤7.5:i=i+1;步骤7.6:结束。步骤8:返回步骤4,重复程序本专利技术的有益效果是:第一.改进编码方式的遗传算法能够有效解决分布式柔性作业车间调度问题;第二.基于概率的改良的编码方式能够避免产生不可行解,避免使用修复程序校正染色体;第三.引入禁忌表的交叉算子提高了算法的收敛速度和稳定性;第四.改进遗传算法的变异算子优化了遗传算法的性能,避免了算法过早收敛,陷入局部最优。附图说明图1表示本算法的详细流程图图2表示三个工厂的分布式柔性作业车间调度问题的示例图3表示基于图2所得的可用资源表,这是编码的基础,确定可行解空间图4表示该编码方式生成的染色体图5表示一对染色体交叉的过程。图6表示一条染色体变异的过程。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图和实施例对本专利技术进一步详细说明。应当理解此处所描述的具体实施例仅仅用于解释本专利技术并不用于限定本专利技术。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术针对现有技术易出现早熟收敛且编码方式会产生不可行解,且现有技术对分布式柔性作业车间调度研究甚少的问题,提出了改进编码方式、交叉、变异的遗传算法求解分布式柔性作业车间调度问题。本专利技术加强了算法的性能考虑了实际生产情况,实用性强。下面结合附图对本专利技术详细说明。分布式柔性作业车间调度问题结合图2是指在分布式制造环境下的调度,当企业接受许多工件时,必须把他们分配到合适的工厂。每一个工件涉及几个工序顺序,可以在一组具体的设备上加工,完成的工件交付到一个中枢。为了解决这个问题,假设在生产调度准备好之后工件的顺序不允许改变。每一道工序的加工时间是给定且固定的,不考虑设备停机、损坏和材料短缺。一旦工件开始加工,不能被中断,不允许中断后重加工。目标函数和约束用下面的符号和公式表示:Fm={F1,F2,…,Fm本文档来自技高网...
改进编码方式的遗传算法解分布式柔性作业车间调度问题

【技术保护点】
改进编码方式的遗传算法解分布式柔性作业车间调度问题,该算法适用于柔性作业车间调度领域,解分布式柔性柔性作业车间调度问题,其特征是:该算法的步骤如下:步骤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,重复程序。...

【技术特征摘要】
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:如果子代新个体的适应度值比保存的父代的平均适应值低,且该适应度值不在禁忌表中,则将该适应度值放入禁忌表,同时将此子代新个体放入下一代(目的是保持子代...

【专利技术属性】
技术研发人员:龚晓慧胡成华
申请(专利权)人:四川用联信息技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1