CN115796510A - 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 - Google Patents
一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 Download PDFInfo
- Publication number
- CN115796510A CN115796510A CN202211484894.7A CN202211484894A CN115796510A CN 115796510 A CN115796510 A CN 115796510A CN 202211484894 A CN202211484894 A CN 202211484894A CN 115796510 A CN115796510 A CN 115796510A
- Authority
- CN
- China
- Prior art keywords
- neighborhood
- population
- machine
- probability
- chromosome
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,包括:初始化种群、参数及外部记忆库;计算动态交叉概率P并根据P用轮盘赌方法选择个体进行交叉操作;在变异概率Pm下对当前种群中的个体进行变异;合并外部记忆库和当前种群并进行快速非支配排序,将排序等级1的个体按概率0.5进行邻域搜索,计算拥挤度并生成外部记忆库;判断是否达到最大迭代次数,是则输出结果,否则转到交叉操作。本发明方法引入全局选择、局部选择和随机选择的机器选择方法、动态交叉概率以及变邻域搜索算法等,提高了种群多样性以及算法的全局搜索能力,能在短时间内求解柔性作业车间调度问题。
Description
技术领域
本发明属于车间调度控制技术领域,涉及一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法。
背景技术
柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP)是传统作业车间调度问题(Job Shop Scheduling Problem,JSP)的进一步发展,多数JSP只考虑工件具有唯一确定的加工工艺路线的情况,而在FJSP则具有更多的不确定性,具体表现在每道工序可以在多台机器上加工,并且在不同的机器上加工所需的时间不同。FJSP减少了机器约束,让问题变得更加复杂,是非确定多项式疑难问题。在实际生产中,往往会对多个指标存在要求,然而这些指标之间往往会存在冲突,仅对单目标进行优化可能会导致其他指标变得很差,不能满足加工要求,因此在解决调度问题时对多个目标进行优化非常有必要。针对多目标优化问题的遗传算法通常是使用快速非支配排序与拥挤度计算方法对种群进行筛选,但该算法所获得的非支配解集往往都集中在某个特定的范围,无法在全局的情况下获得优秀的解,其在迭代多次后往往就陷入了局部最优的困境,此时由于种群多样性不够优秀,无法再继续搜索。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,针对现有遗传算法存在的容易收敛到局部最优、种群多样性不足等问题,引入全局选择、局部选择和随机选择的机器选择方法、自适应动态交叉概率以及变邻域搜索算法,提高了算法的局部搜索能力和全局搜索能力。
为解决上述技术问题,本发明采用以下技术方案。
一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,涉及一个多目标柔性作业车间调度问题即问题A:包括n个工件J={J1,J2,...,Jn}及m台机器M={M1,M2,...,Mm},其中任意一个工件包含一到多道工序,这些工序可以在多台机器上进行加工且在不同机器上具有不同的加工时间;
问题A的目标函数包括:
A-1.最小化最大完工时间Cm,Cj为工件j的完成时间
A-2.最小化机器最大负荷Wm,Wk为第k台机器的加工时间
A-3.最小化总机器负荷Wt
所述的多目标柔性作业车间调度方法,包括以下步骤:
步骤1、初始化参数、种群和外部记忆库:
初始化参数:设置种群规模Pop为100,最大迭代次数Iter为200,变异概率Pm为0.01,最大交叉概率Pmax为0.8,最小交叉概率Pmin为0.4,全局选择、局部选择、随机选择的机器选择占比PGS、PLS、PRS分别为0.6、0.2、0.2;
种群初始化:采用整数编码方式进行编码,并引入全局选择、局部选择和随机选择结合的机器选择方法及随机选择的工序排序方法完成种群的初始化;
生成初始外部记忆库:利用插入式解码得到每个染色体个体的调度方案和适应度值,并对当前种群进行快速非支配排序和拥挤度计算,输出的染色体个体组成了初始外部记忆库,引入独立于种群的外部记忆库并让外部记忆库随着种群一起更新,保留进化过程中表现优良的染色体个体;
步骤2、计算动态交叉概率P并根据P利用轮盘赌方法选择染色体个体进行交叉操作,即:选择下面给出的两种方式中的一种进行操作,直到新产生的染色体个体数量达到种群数为止;
(1)在动态交叉概率P下:随机从外部记忆库中选择一个染色体个体,使用轮盘赌方法从当前种群中选择一个染色体个体进行交叉;
(2)在概率1-P下:使用轮盘赌方法从当前种群中选取两个染色体个体进行交叉;
对被选中的两个染色体个体进行交叉操作:工序排序部分采用基于工件优先顺序的交叉和基于工件的交叉,两种交叉方式被选择的概率各占50%,机器选择部分采用两点交叉的交叉方式,采用多种交叉算子;
步骤3、在变异概率Pm下对当前种群中的染色体个体进行变异:其中,工序排序部分采用互换变异和基于邻域搜索变异,机器选择部分选择基于更换机器的变异,采用多种变异算子提高了算法的局部搜索能力;
步骤4、合并外部记忆库和当前种群并进行快速非支配排序,将排序等级为1的染色体个体按照概率0.5进行邻域搜索,计算拥挤度并生成外部记忆库:采用多种邻域结构,并设计一种考虑机器更换的邻域结构,同时使用基于机器选择序列的邻域结构和基于工序排序的邻域结构;
步骤5、判断是否达到最大迭代次数,若是,输出结果;否则转到交叉操作即步骤2。
进一步地,所述步骤1中的生成初始外部记忆库,具体包括:
插入式解码:对每个染色体个体的工序排序部分从左到右进行读取,采用机器选择部分选择的机器进行解码,在满足加工需求的情况下将工序插入到最早的位置进行加工,得到每个染色体个体对应的调度方案和适应度值,将适应度函数f设计为:
其中Cm为最大完工时间,Wm为最大负荷机器,Wt为总机器负荷,m为机器数量,该适应度函数结合了三个优化目标;
快速非支配排序:因为是多目标优化算法,必须使用一种方法对种群内的染色体个体进行排序,假设解1和解2是种群中的解,若解1各个目标函数下的值均不劣于解2在各个目标函数下的值,且解1有至少一个目标值优于解2,则解1支配解2,根据这种支配关系,将种群按优到劣分为多层;
拥挤度计算:对于非支配排序中处于同一层的染色体个体,其相互间存在拥挤度关系,当非支配排序层级相同时,优先输出拥挤度较大的染色体个体,用来保持种群的多样性。
进一步地,所述步骤2中:
动态交叉概率P为:
其中,Pmax为最大交叉概率,Pmin为最小交叉概率,Iter为最大迭代次数,k为当前迭代次数;
染色体个体i被选择的概率Pi设计为:
其中,fi是染色体个体i的适应度值,Pop为种群规模,当每个优化目标的值都较小时fi较大,该染色体个体被选中的概率较大,选出在三个目标上表现优良的染色体个体进行交叉;
将被选中的两条染色体记为P1、P2,将交叉生成的两条染色体记为O1、O2,则具体操作分别为:
基于工件优先顺序的交叉:将作业集随机分为两组作业集1和作业集2;将P1中属于作业集1的所有基因复制到O1中的相同位置,并在P1中删除;将P2中属于作业集1的所有基因复制到O2中相同的位置,并在P2中删除;将P2中的剩余基因按顺序复制到O1中的剩余位置;并将P1中的剩余基因被依次复制到O2中的剩余位置;
基于工件的交叉:将作业集随机分为两组作业集1和作业集2;将P1中属于作业集1的所有基因复制到O1中的相同位置,并在P1中删除;将P2中属于作业集2的所有基因复制到O2中相同的位置,在P2中删除;将P2中的剩余基因按顺序复制到O1中的剩余位置;并将P1中的剩余基因被依次复制到O2中的剩余位置。
进一步地,所述步骤3中:
互换变异,即在工序排序序列中随机生成两个位置并交换两个位置上的基因;
基于邻域搜索变异,要求在工序排序序列中随机选择几个不同的基因,排序生成所有的邻域解并在多个邻域解中任选一个邻域解进行变异;
基于更换机器的变异即在机器选择序列中随机选择一半的基因并替换为对应工序的可选机器集中的中加工时间最短的机器进行变异。
进一步地,在步骤4中所述的邻域搜索包括:
邻域1:在机器选择序列中随机生成两个不同的位置,将这两个位置的机器随机替换为对应工序的机器集中的其他机器,同时将最后一个基因上的机器替换为对应工序的机器集中加工时间最短的机器;
邻域2:在工序排序序列中随机生成两个不同位置,将这两个位置的工序交换以生成新的邻域解;
邻域3:为基于关键路径的邻域,交换第一个关键块的块尾两工序,交换中间关键块的块首两工序并交换块尾两工序,交换最后一个关键块的块首两工序。
与现有技术相比,本发明具有以下优点和有益效果:
1.本发明通过改进的变邻域遗传算法,引入独立于种群的外部记忆库并让外部记忆库随着种群一起更新,保留了进化过程中表现优良的染色体个体,与普通的遗传算法相比该算法的收敛速度更快。
2.本发明采用自适应动态交叉概率选择不同的染色体个体进行交叉,在算法搜索的初期动态交叉概率较大,种群中就有更多的染色体个体同外部记忆库中表现优良的染色体个体进行交叉,使种群快速的向优良的染色体个体的方向进化,随着迭代的次数增加动态交叉概率减小,种群中与外部记忆库中染色体个体进行交叉的染色体个体逐渐减少,染色体个体向着不同的方向进化,提高了种群的多样性,与普通的遗传算法相比,该算法最后得到的帕累托解集中解的数量更多。
3.本发明引入轮盘赌的方法选取染色体个体进行交叉,结合三个优化目标设计了适应度函数与种群中染色体个体被选取的概率,综合考虑了三个优化目标,使表现优良的染色体个体更容易被选到,并采用三种交叉算子,提高了算法的全局搜索能力。
4.本发明通过改进的变邻域遗传算法,结合变邻域搜索算法,采用三种邻域结构,并设计了一种考虑机器更换的邻域结构,同时使用了基于机器选择序列的邻域结构和基于工序排序的邻域结构,使算法的搜索范围更广,提高了算法的局部搜索能力,与普通的遗传算法相比该算法最后得到的解的质量更高。
5.本发明可有效解决:多目标柔性作业车间调度中相关算法所存在的全局搜索能力不足,容易收敛到局部最优,种群多样性不足等问题。
附图说明
图1为本发明基于改进的变邻域遗传算法的多目标柔性作业车间调度方法的一种实施例的方法流程图。
图2为本发明的一个实验验证案例Kacem8×8所求出的非支配解目标函数值为[14,12,77]的一个甘特图。
具体实施方式
本发明的一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,涉及一个多目标柔性作业车间调度问题,包括:初始化种群、参数及外部记忆库;计算动态交叉概率P并根据P利用轮盘赌方法选择染色体个体进行交叉操作;在变异概率Pm下对当前种群中的染色体个体进行变异;合并外部记忆库和当前种群并进行快速非支配排序,将排序等级为1的染色体个体按照概率0.5进行邻域搜索,计算拥挤度并生成外部记忆库;判断是否达到最大迭代次数,是的话输出结果,否则转到交叉操作。本发明方法引入全局选择、局部选择和随机选择的机器选择方法、动态交叉概率以及变邻域搜索算法等,提高了种群多样性以及算法的全局搜索能力,能在短时间内求解柔性作业车间调度问题。
下面结合附图对本发明做进一步详细说明。
如图1所示,本发明的一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,涉及一个多目标柔性作业车间调度问题即问题A:
其问题A包括n个工件J={J1,J2,...,Jn}及m台机器M={M1,M2,...,Mm},其中任意一个工件包含一到多道工序,这些工序可以在多台机器上进行加工且在不同机器上具有不同的加工时间;
问题A的目标函数包括:
(1)最小化最大完工时间Cm,Cj为工件j的完成时间
(2)最小化机器最大负荷Wm,Wk为第k台机器的加工时间
(3)最小化总机器负荷Wt
本发明方法所述问题A采用改进的变邻域遗传算法进行处理,包括以下步骤:
步骤1、初始化种群、参数及外部记忆库:
初始化参数:设置种群规模Pop为100,最大迭代次数Iter为200,变异概率Pm为0.01,最大交叉概率Pmax为0.8,最小交叉概率Pmin为0.4,全局选择、局部选择、随机选择的机器选择占比PGS、PLS、PRS分别为0.6、0.2、0.2;
种群初始化:采用整数编码方式进行编码,并引入全局选择、局部选择和随机选择结合的机器选择方法及随机选择的工序排序方法完成种群的初始化,其中全局选择保证了各个机器的工作负荷均衡,局部选择保证了加工时间最短的机器被优先选到,有效地缩短了加工周期,随机选择保证了种群的多样性,该初始化方法的引入提高了初始解的质量;
生成初始外部记忆库:利用插入式解码得到每个染色体个体的调度方案和适应度值,并对当前种群进行快速非支配排序和拥挤度计算,输出的染色体个体组成了初始外部记忆库,引入独立于种群的外部记忆库并让外部记忆库随着种群一起更新,保留了进化过程中表现优良的染色体个体,提高了算法的收敛速度;
其中:
插入式解码:对每个染色体个体的工序排序部分从左到右进行读取,采用机器选择部分选择的机器进行解码,在满足加工需求的情况下将工序插入到最早的位置进行加工,得到每个染色体个体对应的调度方案和适应度值,将适应度函数f设计为:
其中Cm为最大完工时间,Wm为最大负荷机器,Wt为总机器负荷,m为机器数量,该适应度函数结合了三个优化目标;
快速非支配排序:因为是多目标优化算法,必须使用一种方法对种群内的染色体个体进行排序,假设解1和解2是种群中的解,若解1各个目标函数下的值均不劣于解2在各个目标函数下的值,且解1有至少一个目标值优于解2,则解1支配解2,根据这种支配关系,将种群按优到劣分为多层;
拥挤度计算:对于非支配排序中处于同一层的染色体个体,其相互间存在拥挤度关系,当非支配排序层级相同时,优先输出拥挤度较大的染色体个体,用来保持种群的多样性。
步骤2、计算动态交叉概率P并根据P利用轮盘赌方法选择染色体个体进行交叉操作:
计算动态交叉概率P并根据P选择下面给出的两种方式中的一种进行操作,直到新产生的染色体个体数量达到种群数为止;
(1)在动态交叉概率P下:随机从记忆库中选择一个染色体个体,使用轮盘赌方法从当前种群中选择一个染色体个体进行交叉;
(2)在概率1-P下:使用轮盘赌方法从当前种群中选取两个染色体个体进行交叉;
对被选中的两个染色体个体进行交叉操作:工序排序部分采用基于工件优先顺序的交叉和基于工件的交叉,两种交叉方式被选择的概率各占50%,机器选择部分采用两点交叉的交叉方式,采用多种交叉算子,提高了算法的全局搜索能力;
其中:
动态交叉概率P为:
其中,Pmax为最大交叉概率,Pmin为最小交叉概率,Iter为最大迭代次数,k为当前迭代次数,在算法搜索的初期P较大,种群中有更多的染色体个体同外部记忆库中表现优良的染色体个体进行交叉,使种群快速的向优良的染色体个体的方向进化,随着迭代的次数增加P减小,与外部记忆库中的染色体个体进行交叉的染色体个体逐渐减少,染色体个体向着不同的方向进化,提高了种群的多样性;
染色体个体i被选择的概率Pi设计为:
其中,fi是染色体个体i的适应度值,Pop为种群规模,当每个优化目标的值都较小时fi较大,该染色体个体被选中的概率较大,可以选出在三个目标上表现优良的染色体个体进行交叉;
将被选中的两条染色体记为P1、P2,将交叉生成的两条染色体记为O1、O2,基于工件优先顺序的交叉和基于工件的交叉两种交叉的具体操作为:
基于工件优先顺序的交叉:将作业集随机分为两组作业集1和作业集2;将P1中属于作业集1的所有基因复制到O1中的相同位置,并在P1中删除;将P2中属于作业集1的所有基因复制到O2中相同的位置,并在P2中删除;将P2中的剩余基因按顺序复制到O1中的剩余位置;并将P1中的剩余基因被依次复制到O2中的剩余位置;
基于工件的交叉:将作业集随机分为两组作业集1和作业集2;将P1中属于作业集1的所有基因复制到O1中的相同位置,并在P1中删除;将P2中属于作业集2的所有基因复制到O2中相同的位置,在P2中删除;将P2中的剩余基因按顺序复制到O1中的剩余位置;并将P1中的剩余基因被依次复制到O2中的剩余位置。
步骤3、在变异概率Pm下对当前种群中的染色体个体进行变异:其中工序排序部分采用互换变异和基于邻域搜索变异,机器选择部分选择基于更换机器的变异,采用多种变异算子提高了算法的局部搜索能力;
其中:
互换变异即在工序排序序列中随机生成两个位置并交换两个位置上的基因;基于邻域搜索变异要求在工序排序序列中随机选择几个不同的基因,排序生成所有的邻域解并在多个邻域解中任选一个邻域解进行变异;基于更换机器的变异即在机器选择序列中随机选择一半的基因并替换为对应工序的可选机器集中的中加工时间最短的机器进行变异。
步骤4、合并外部记忆库和当前种群并进行快速非支配排序,将排序等级为1的染色体个体按照概率0.5进行邻域搜索,计算拥挤度并生成外部记忆库:采用多种邻域结构,并设计了一种考虑机器更换的邻域结构,同时使用了基于机器选择序列的邻域结构和基于工序排序的邻域结构使算法的搜索范围更广,提高了算法的局部搜索能力;
其中邻域搜索包括三种邻域:
邻域1:在机器选择序列中随机生成两个不同的位置,将这两个位置的机器随机替换为对应工序的机器集中的其他机器,同时将最后一个基因上的机器替换为对应工序的机器集中加工时间最短的机器;
邻域2:在工序排序序列中随机生成两个不同位置,将这两个位置的工序交换以生成新的邻域解;
邻域3:为基于关键路径的邻域,交换第一个关键块的块尾两工序,交换中间关键块的块首两工序并交换块尾两工序,交换最后一个关键块的块首两工序。
步骤5、判断是否达到最大迭代次数,若是,输出结果;否则转到交叉操作即步骤2。
实验验证说明:
如图2所示,以Kacem8×8案例为例,该案例是一个8个工件,8台机器,总工序数量为27的一个经典的柔性作业车间调度案例,分别以最大工件完工时间、最大机器负载、机器总负载为优化目标进行柔性作业车间调度多目标优化。
Kacem8×8案例的详细数据如下表所示:
使用该案例可求得的解如下表所示:
使用普通的遗传算法可求得的解如下表:
案例 | 案例解[C<sub>m</sub>,W<sub>m</sub>,W<sub>t</sub>] |
Kacem8×8 | [15,14,78],[16,13,73],[16,11,79],[17,12,77] |
从上述案例可看出:
改进的变邻域遗传算法可以有效的解决多目标柔性作业车间调度问题,可以在短时间内求解出在解的数量上和解的质量上都十分优秀的帕累托解集。
Claims (5)
1.一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,其特征在于:
涉及一个多目标柔性作业车间调度问题即问题A:包括n个工件J={J1,J2,...,Jn}及m台机器M={M1,M2,...,Mm},其中任意一个工件包含一到多道工序,这些工序可以在多台机器上进行加工且在不同机器上具有不同的加工时间;
问题A的目标函数包括:
A-1.最小化最大完工时间Cm,Cj为工件j的完成时间
A-2.最小化机器最大负荷Wm,Wk为第k台机器的加工时间
A-3.最小化总机器负荷Wt
所述的多目标柔性作业车间调度方法,包括以下步骤:
步骤1、初始化参数、种群和外部记忆库:
初始化参数:设置种群规模Pop为100,最大迭代次数Iter为200,变异概率Pm为0.01,最大交叉概率Pmax为0.8,最小交叉概率Pmin为0.4,全局选择、局部选择、随机选择的机器选择占比PGS、PLS、PRS分别为0.6、0.2、0.2;
种群初始化:采用整数编码方式进行编码,并引入全局选择、局部选择和随机选择结合的机器选择方法及随机选择的工序排序方法完成种群的初始化;
生成初始外部记忆库:利用插入式解码得到每个染色体个体的调度方案和适应度值,并对当前种群进行快速非支配排序和拥挤度计算,输出的染色体个体组成了初始外部记忆库,引入独立于种群的外部记忆库并让外部记忆库随着种群一起更新,保留进化过程中表现优良的染色体个体;
步骤2、计算动态交叉概率P并根据P利用轮盘赌方法选择染色体个体进行交叉操作,即:选择下面给出的两种方式中的一种进行操作,直到新产生的染色体个体数量达到种群数为止;
(1)在动态交叉概率P下:随机从外部记忆库中选择一个染色体个体,使用轮盘赌方法从当前种群中选择一个染色体个体进行交叉;
(2)在概率1-P下:使用轮盘赌方法从当前种群中选取两个染色体个体进行交叉;
对被选中的两个染色体个体进行交叉操作:工序排序部分采用基于工件优先顺序的交叉和基于工件的交叉,两种交叉方式被选择的概率各占50%,机器选择部分采用两点交叉的交叉方式,采用多种交叉算子;
步骤3、在变异概率Pm下对当前种群中的染色体个体进行变异:其中,工序排序部分采用互换变异和基于邻域搜索变异,机器选择部分选择基于更换机器的变异,采用多种变异算子提高了算法的局部搜索能力;
步骤4、合并外部记忆库和当前种群并进行快速非支配排序,将排序等级为1的染色体个体按照概率0.5进行邻域搜索,计算拥挤度并生成外部记忆库:采用多种邻域结构,并设计一种考虑机器更换的邻域结构,同时使用基于机器选择序列的邻域结构和基于工序排序的邻域结构;
步骤5、判断是否达到最大迭代次数,若是,输出结果;否则转到交叉操作即步骤2。
2.根据权利要求1所述的一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,其特征在于,所述步骤1中的生成初始外部记忆库,具体包括:
插入式解码:对每个染色体个体的工序排序部分从左到右进行读取,采用机器选择部分选择的机器进行解码,在满足加工需求的情况下将工序插入到最早的位置进行加工,得到每个染色体个体对应的调度方案和适应度值,将适应度函数f设计为:
其中Cm为最大完工时间,Wm为最大负荷机器,Wt为总机器负荷,m为机器数量,该适应度函数结合了三个优化目标;
快速非支配排序:因为是多目标优化算法,必须使用一种方法对种群内的染色体个体进行排序,假设解1和解2是种群中的解,若解1各个目标函数下的值均不劣于解2在各个目标函数下的值,且解1有至少一个目标值优于解2,则解1支配解2,根据这种支配关系,将种群按优到劣分为多层;
拥挤度计算:对于非支配排序中处于同一层的染色体个体,其相互间存在拥挤度关系,当非支配排序层级相同时,优先输出拥挤度较大的染色体个体,用来保持种群的多样性。
3.根据权利要求1所述的一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,其特征在于,所述步骤2中:
动态交叉概率P为:
其中,Pmax为最大交叉概率,Pmin为最小交叉概率,Iter为最大迭代次数,k为当前迭代次数;
染色体个体i被选择的概率Pi设计为:
其中,fi是染色体个体i的适应度值,Pop为种群规模,当每个优化目标的值都较小时fi较大,该染色体个体被选中的概率较大,选出在三个目标上表现优良的染色体个体进行交叉;
将被选中的两条染色体记为P1、P2,将交叉生成的两条染色体记为O1、O2,则具体操作分别为:
基于工件优先顺序的交叉:将作业集随机分为两组作业集1和作业集2;将P1中属于作业集1的所有基因复制到O1中的相同位置,并在P1中删除;将P2中属于作业集1的所有基因复制到O2中相同的位置,并在P2中删除;将P2中的剩余基因按顺序复制到O1中的剩余位置;并将P1中的剩余基因被依次复制到O2中的剩余位置;
基于工件的交叉:将作业集随机分为两组作业集1和作业集2;将P1中属于作业集1的所有基因复制到O1中的相同位置,并在P1中删除;将P2中属于作业集2的所有基因复制到O2中相同的位置,在P2中删除;将P2中的剩余基因按顺序复制到O1中的剩余位置;并将P1中的剩余基因被依次复制到O2中的剩余位置。
4.根据权利要求1所述的一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,其特征在于,所述步骤3中:
互换变异,即在工序排序序列中随机生成两个位置并交换两个位置上的基因;
基于邻域搜索变异,要求在工序排序序列中随机选择几个不同的基因,排序生成所有的邻域解并在多个邻域解中任选一个邻域解进行变异;
基于更换机器的变异即在机器选择序列中随机选择一半的基因并替换为对应工序的可选机器集中的中加工时间最短的机器进行变异。
5.根据权利要求1所述的一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法,其特征在于,在所述步骤4中的邻域搜索包括:
邻域1:在机器选择序列中随机生成两个不同的位置,将这两个位置的机器随机替换为对应工序的机器集中的其他机器,同时将最后一个基因上的机器替换为对应工序的机器集中加工时间最短的机器;
邻域2:在工序排序序列中随机生成两个不同位置,将这两个位置的工序交换以生成新的邻域解;
邻域3:为基于关键路径的邻域,交换第一个关键块的块尾两工序,交换中间关键块的块首两工序并交换块尾两工序,交换最后一个关键块的块首两工序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484894.7A CN115796510A (zh) | 2022-11-24 | 2022-11-24 | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484894.7A CN115796510A (zh) | 2022-11-24 | 2022-11-24 | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115796510A true CN115796510A (zh) | 2023-03-14 |
Family
ID=85441195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211484894.7A Pending CN115796510A (zh) | 2022-11-24 | 2022-11-24 | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115796510A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993126A (zh) * | 2023-09-14 | 2023-11-03 | 东北农业大学 | 一种基于混合遗传算法的柔性生产调度方法和装置 |
CN117057492A (zh) * | 2023-10-13 | 2023-11-14 | 合肥工业大学 | 基于概率最大覆盖模型的应急船舶救援基地选址优化方法 |
-
2022
- 2022-11-24 CN CN202211484894.7A patent/CN115796510A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993126A (zh) * | 2023-09-14 | 2023-11-03 | 东北农业大学 | 一种基于混合遗传算法的柔性生产调度方法和装置 |
CN117057492A (zh) * | 2023-10-13 | 2023-11-14 | 合肥工业大学 | 基于概率最大覆盖模型的应急船舶救援基地选址优化方法 |
CN117057492B (zh) * | 2023-10-13 | 2024-02-02 | 合肥工业大学 | 基于概率最大覆盖模型的应急船舶救援基地选址优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115796510A (zh) | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 | |
CN112257296B (zh) | 基于改进遗传算法的带有缓存约束的作业车间调度方法 | |
CN110796355B (zh) | 一种基于动态解码机制的柔性作业车间调度方法 | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN111967654A (zh) | 一种基于混合遗传算法求解柔性作业车间调度的方法 | |
CN110738365B (zh) | 一种基于粒子群算法的柔性作业车间生产调度方法 | |
CN111382915B (zh) | 一种共融agv的柔性作业车间调度方法 | |
CN111325443A (zh) | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 | |
CN112749776B (zh) | 一种基于改进混合遗传算法的作业车间调度方法 | |
CN111667071A (zh) | 一种基于改进遗传算法的传统作业车间调度方法 | |
CN117035364A (zh) | 基于改进混合模因算法的分布式异构流水车间调度方法 | |
CN114266509A (zh) | 随机贪婪初始种群遗传算法求解柔性作业车间调度方法 | |
CN110750079A (zh) | 一种允许工序跳跃的混合流水车间调度优化方法 | |
CN117075545A (zh) | 一种多目标柔性作业车间调度方法、电子设备、介质 | |
CN113569483A (zh) | 基于人工蜂群算法求解多目标柔性作业车间调度的方法 | |
CN116560313A (zh) | 一种多目标柔性作业车间问题的遗传算法优化调度方法 | |
CN117555305B (zh) | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 | |
CN111665799B (zh) | 一种基于协同算法的时间约束型并行机节能调度方法 | |
CN114021934A (zh) | 基于改进spea2求解车间节能调度问题的方法 | |
CN117077975A (zh) | 基于混合初始化模因算法的分布式异构流水车间调度方法 | |
CN113689066A (zh) | 一种基于nsga-ii算法的物联网车间调度方法 | |
CN112541694A (zh) | 一种考虑准备时间和工件分批的柔性作业车间调度方法 | |
CN112926837A (zh) | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 | |
CN115981262B (zh) | 基于imoea的液压缸零部件车间生产调度方法 | |
CN113792494B (zh) | 基于迁徙鸟群算法和交叉融合的多目标柔性作业车间调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |