针对多目标柔性作业车间调度问题的含救济算子的混合遗传算法制造技术

技术编号:15283475 阅读:119 留言:0更新日期:2017-05-06 10:08
一种针对多目标柔性作业车间调度问题的含救济算子的混合遗传算法。该算法第一阶段为准备阶段,产生Npop个初始解,更新精英组,更新救济空间,通过相对重要性确定各目标函数加权值,计算适应度函数值;第二阶段,对种群中的解同时进行遗传搜索、局部搜索和信念算子(只对劣解执行信念算子),然后使用轮盘赌选择法从产生的解中选择Npop个解;第三阶段为迭代,即重复上述过程(只有第一代需要产生初始解),直至迭代指定次数,最后更新精英组。本算法通过将遗传搜索、局部搜索和救济算子对每个解同时执行,大大提高了对每个解的利用程度,改进了传统的混合遗传算法。此外,新的编码方式简化了编码过程,根据相对重要性确定各目标函数权值的方法使权值的确定更加符合实际情况。

Hybrid genetic algorithm for multi objective flexible job shop scheduling with relief operator

A hybrid genetic algorithm for multi objective flexible job shop scheduling problem with relief operator. The first stage is the preparation stage, Npop produced an initial solution, update the elite group, updating relief space, by determining the relative importance of each target function weighted value, calculate the fitness function value; the second stage, at the same time, the population genetic search solutions in local search and belief operator (only to perform belief solutions operator), and then use the roulette selection method in Npop solution generated from the solution; the third stage is iterative, i.e. repeat the above process (only the first generation to produce the initial solution), until the specified number of iterations, the last update of elite group. In this algorithm, genetic algorithm, local search and relief operator are applied to each solution simultaneously, which greatly improves the utilization of each solution. In addition, the new coding method simplifies the encoding process, and determines the weight of each objective function according to the relative importance.

【技术实现步骤摘要】
所属
本专利技术用于制订多目标柔性作业车间调度的生产调度计划。
技术介绍
柔性作业车间调度问题是传统作业车间调度问题的一般化。不同于传统作业车间调度问题中每个工序只能在唯一一台机器上加工的特点,柔性作业车间调度问题中的每个工序通常能够在多台机器上加工,问题因此变得更加复杂,是一个NP困难问题。而实际生产环境中通常又会有多个目标,将问题变得更加复杂。以遗传搜索和邻域搜索组合的混合遗传算法已经被广泛运用于这类问题的求解,这种组合使算法同时具备了全局搜索能力和局部搜索能力。然而,算法对每个得到的解的利用仍有待提高。
技术实现思路
本算法是针对多目标柔性作业车间调度的混合遗传算法,通过对混合遗传算法的改进使算法对每个得到的解利用率大大提高。本算法对混合遗传算法的改进主要包括以下方面:本算法对传统遗传局部搜索算法的改进主要包括以下方面:第一,多目标柔性作业车间调度方案的编码方式的复杂性;第二,可行的解(调度方案)在经过交叉、变异操作后可能产生不可行的解(调度方案);第三,局部搜索可能作用于局部最优解,会产生无意义的搜索过程;第四,搜索过的解可能被重复搜索;第五,以加权法解决多目标问题时各目标函数的加权值不易确定;第六,一个解的邻域解数量非常多,占用计算时间过多;第七,已经产生的优良解(调度方案)可能在之后的迭代过程中被遗失。本专利技术解决其技术问题所采用的技术方案是:第一,采用一种新的编码方式;第二,采用一种专门用于本编码方式的交叉算子和突变算子;第三,采用一种通过各目标的相对重要性为各目标函数赋加权值;第四,对每个解同时进行遗传搜索和局部搜索;第五,在对每个解进行遗传搜索与局部搜索的同时,对劣解执行救济算子;第六,在局部搜索中,只随机选取每个当前解的部分邻域解进行检测;第七,设置精英组保存搜索过程中发现的非支配解。本专利技术的有益效果:第一,简化了编码过程;第二,避免了可行的解(调度方案)经交叉和突变后出现不可行的解(调度方案);第三,使各目标函数加权值更加符合实际生产情况;第四,对每个得到的解的利用率提高;第五,救济算子使劣解也得到了充分的利用;第六,避免了局部搜索占用过多的计算时间;第七,避免了非支配解的遗失。附图说明下面结合附图和实施例对本专利技术型进一步说明。图1是柔性作业车间调度的示例图。图2是编码结构的示意图。图3是机器选择部分编码方式的示例图。图4是工序序列部分编码方式的示例图。图5是解码过程的示例图。图6是非支配解的示意图。图7是救济算子的示例图。图8目标函数相对重要性的示例图。图9是两点交叉算子示意图。图10是基于工序编码交叉算子的示例图。图11是机器选择部分编码的突变算子的示例图。图12是工序序列部分编码的突变算子的示例图。图13是含救济算子的混合遗传算法的流程的示意图图14是算法详细流程的示意图。具体实施方式一、柔性作业车间调度问题在传统的作业车间调度问题中,每个工序只能在唯一一台机器上加工。而对于柔性作业车间调度问题而言,每个工序能够在多台机器上加工,这从图1的示例中可以看出(图1中的“-”表示该机器无法加工此工序)。这种改变使问题模型更加符合实际的生产情境,但同时也加大了问题的复杂性。二、生产信息的表示1.n个工件:J1,J2,…,Jn。2.m台机器:M1,M2,…,Mm。3.工件Ji的第j道工序:Oij。4.工序集W:将J1-Jn上的工序依次排列,W={w1,w2,…本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201510846517.html" title="针对多目标柔性作业车间调度问题的含救济算子的混合遗传算法原文来自X技术">针对多目标柔性作业车间调度问题的含救济算子的混合遗传算法</a>

【技术保护点】
一种针对多目标柔性作业车间调度问题的含救济算子的混合遗传算法,该算法用于作业车间技术领域,该算法在具备全局搜索与局部搜索的同时,优化了各解的利用率,其特征是:该算法采用了一种通过各目标的相对重要性(各目标函数间的相对重要性通常由生产者根据实际情况得出)来为各目标函数赋加权值的方法;该算法对每个解同时进行遗传搜索和局部搜索;该算法在对每个解进行遗传搜索与局部搜索的同时,对劣解执行救济算子;该算法在局部搜索中,只随机选取每个当前解的部分邻域解进行检测;该算法设置精英组保存搜索过程中发现的非支配解该算法的流程如下:步骤一—初始化种群1)根据生产信息分别产生全部工件的工序集W(式(1))和全部工序的机器集Mij(式(2));2)按照工序集中工序的顺序,依次从相应工序的机器集中随机选择一台机器,以机器集中的编号组成机器选择部分的编码;3)根据每个工件的工序数产生相应个数的数值为工件编号的数,并将这些数随机排列组成工序序列部分的编码;4)机器选择部分的编码在前,工序序列部分的编码在后,将它们组合;5)返回本步骤2,直至已经产生Npop个解;步骤二—更新精英组1)将当前种群中的非支配解复制入精英组;2)检测精英组中的解,将被其他解所支配的解从精英组中删除;步骤三——更新救济空间1)选择工件随机选择一个工件;2)确定救济空间对于机器选择部分,从最优解将被选择工件的工序所使用的加工机器编号提取;对于工序序列部分,从最优解中将被选择工件的工序的位置提取,将提取到的信息记入救济空间;步骤四—计算适应度函数值1)根据生产者给出的相对重要性关系,通过式(9)、式(10)、式(11)确定各目标函数的加权值;2)通过式(6)计算每个解的适应度函数值;步骤五——遗传搜索1)随机选择Npop/2个个体;2)交叉随机将被选择的解两两一组作为一对父代解;对每个解的机器选择部分使用如图9所示的两点交叉算子进行交叉,对每个解的工序序列部分采用如图10所示的基于工序编码交叉算子进行交叉;3)根据突变概率Pm计算进行交叉的解的数目,并随机选出相应数目的解;对每个解的机器选择部分和工序序列部分分别采用如图11所示的突变算子和如图12所示的突变算子进行突变步骤六—局部搜索(与步骤五同时进行)步骤七——救济算子(与步骤五同时进行)步骤七—选择采用轮盘赌选择法选择:1)通过式(12)计算每个个体(xi)被遗传到下一代的概率P(xi);2)通过式(13)计算每个个体(xi)的积累概率qi;3)在[0,1]之间产生一个随机数r;4)如果r< q1,则个体x1被选择;如果qk‑1<r≤qk,则选择个体xk;5)对3、4重复Npop次,以选择到Npop个个体;步骤八—迭代如果算法已经迭代了指定次数,则执行下一步骤(更新精英组);否则,返回步骤二;步骤九—更新精英组1)将当前种群中的非支配解复制入精英组;2)检测精英组中的解,将被其他解所支配的解从精英组中删除。...

【技术特征摘要】
1.一种针对多目标柔性作业车间调度问题的含救济算子的混合遗传算法,该算法用于作业车间技术领域,该算法在具备全局搜索与局部搜索的同时,优化了各解的利用率,其特征是:该算法采用了一种通过各目标的相对重要性(各目标函数间的相对重要性通常由生产者根据实际情况得出)来为各目标函数赋加权值的方法;该算法对每个解同时进行遗传搜索和局部搜索;该算法在对每个解进行遗传搜索与局部搜索的同时,对劣解执行救济算子;该算法在局部搜索中,只随机选取每个当前解的部分邻域解进行检测;该算法设置精英组保存搜索过程中发现的非支配解该算法的流程如下:步骤一—初始化种群1)根据生产信息分别产生全部工件的工序集W(式(1))和全部工序的机器集Mij(式(2));2)按照工序集中工序的顺序,依次从相应工序的机器集中随机选择一台机器,以机器集中的编号组成机器选择部分的编码;3)根据每个工件的工序数产生相应个数的数值为工件编号的数,并将这些数随机排列组成工序序列部分的编码;4)机器选择部分的编码在前,工序序列部分的编码在后,将它们组合;5)返回本步骤2,直至已经产生Npop个解;步骤二—更新精英组1)将当前种群中的非支配解复制入精英组;2)检测精英组中的解,将被其他解所支配的解从精英组中删除;步骤三——更新救济空间1)选择工件随机选择一个工件;2)确定救济空间对于机器选择部分,从最优解将被选择工件的工序所使用的加工机器编号提取;对于工序序列部分,从最优解中将被选择工件的工序的位置提取,将提取到的信息记入救济空间;步骤四—计算适应度函数值1)根据生产者给出的相对重要性关系,通过式(9)、式(10)、式(11)确定各目标函数的加权值;2)通过式(6)计算每个解的适应度函数值;步骤五——遗传搜索1)随机选择Npop/2个个体;2)交叉随机将被选择的解两两一组作为一对父代解;对每个解的机器选择部分使用如图9所示的两点交叉算子进行交叉,对每个解的工序序列部分采用如图10所示的基于工序编码交叉算子进行交叉;3)根据突变概率Pm计算进行交叉的解的数目,并随机选出相应数目的解;对每个解的机器选择部分和工序序列部分分别采用如图11所示的突变算子和如图12所示的突变算子进行突变步骤六—局部搜索(与步骤五同时进行)步骤七——救济算子(与步骤五同时进行)步骤七—选择采用轮盘赌选择法选择:1)通过式(12)计算每个个体(xi)被遗传到下一代的概率P(xi);2)通过式(13)计算每个个体(xi)的积累概率qi;3)在[0,1]之间产生一个随机数r;4)如果r<q1,则个体x1被选择;如果qk-1<r≤qk,则选择个体xk;5)对3、4重复Npop次,以选择到Npop个个体;步骤八—迭代如果算法已经迭代了指定...

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

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

1