CN111325443B - 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 - Google Patents
一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 Download PDFInfo
- Publication number
- CN111325443B CN111325443B CN202010068709.0A CN202010068709A CN111325443B CN 111325443 B CN111325443 B CN 111325443B CN 202010068709 A CN202010068709 A CN 202010068709A CN 111325443 B CN111325443 B CN 111325443B
- Authority
- CN
- China
- Prior art keywords
- machine
- population
- individuals
- catastrophe
- algorithm
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 187
- 230000002068 genetic effect Effects 0.000 title claims abstract description 25
- 230000035772 mutation Effects 0.000 claims description 55
- 210000000349 chromosome Anatomy 0.000 claims description 39
- 238000011423 initialization method Methods 0.000 claims description 18
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 108090000623 proteins and genes Proteins 0.000 claims description 6
- 238000012966 insertion method Methods 0.000 claims description 4
- 230000037435 normal mutation Effects 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims 1
- 230000002028 premature Effects 0.000 abstract description 2
- 230000009191 jumping Effects 0.000 abstract 1
- 238000004519 manufacturing process Methods 0.000 description 12
- 108700028369 Alleles Proteins 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 4
- 238000010353 genetic engineering Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Marketing (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Manufacturing & Machinery (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Physiology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Primary Health Care (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Factory Administration (AREA)
Abstract
一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法,它引入了灾变机制,并且对传统遗传算法结构进行改进,实现柔性作业车间调度。为平衡全局搜索和局部搜索能力,本发明引入灾变机制和大变异概率机制,为的是在算法迭代过程中施加必要的扰动,从而使算法有较大的概率跳出局部最优。同时,在算法初始化种群上,本发明引进差异度阈值策略,为的是增加种群的多样性,提高种群质量;在遗传操作上也引进差异度阈值策略,如若差异度达到阈值,则先两层交叉后变异;否则,先变异后两层交叉,从而能有效防止算法早熟的出现,提高了调度方案质量,该发明能够很好地被运用在作业车间调度领域。
Description
技术领域
本发明涉及一种生产调度技术,具体地说是一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法,该方法在单目标柔性作业车间调度优化问题中取得很好的效果。
背景技术
20世纪以来世界制造业发生了翻天覆地的变化,美国提出要重振美国制造业,德国提出工业4.0战略计划,而在人工智能以及5g的时代,我国制造业面临着很严峻的形势,由于我国制造业本来就处于世界制造业产业链的下游,因此高效率、高柔性、高可靠性是我国制造业在下一步的主要突破口。有效的车间调度方法与优化技术的研究,对于实现先进制造企业的现代化具有重要的理论价值和实际意义。
随着柔性制造系统和数控加工中心的普及,以往的经典作业车间调度系统不再适用,柔性作业车间调度问题也就成了重中之重,它是JSP的扩展,工件的一道工序可以在多台设备上加工。这样的加工情况有明显的优点:
(1)极大提高了设备利用率,机器一旦空闲就可以安排机器加工,能够减少设备的空闲等待时间,降低能源损耗。
(2)提高了生产效率,缩短了生产周期。主要是同一个工件的多道工序可以在同一机器上加工,减少了工件运输以及装卸的加工时间,利用工序之间的空闲时间来加工某道工序,可以减小最大完工时间。
(3)增加了加工制造的柔性以及鲁棒性,一旦机器发生了故障,在这一机器上的工序可以选择其他机器进行加工,以免导致整个调度的延期,避免延误交货期。
综上所述,柔性制造系统有着诸多优势,深入研究柔性制造系统,并寻找出一种高效的人工智能算法对求解柔性作业车间调度问题,提高制造系统运行效率十分有必要。
发明内容
本发明的目的是针对现有的遗传算法在求解柔性作业车间调度问题中存在可用性不足的问题,发明一种基于灾变机制的改进遗传算法的求解柔性作业车间调度的方法。
本发明的技术方案是:
一种基于灾变机制的改进遗传算法的求解柔性作业车间调度的方法,它引入了灾变机制,并且对遗传算法结构进行改进,实现柔性作业车间调度,其特征在于它包括以下步骤:
步骤2:初始化种群,种群初始化对于算法求解的速度与质量有很大的影响,当新个体与已有个体之间差异度未达到阈值,就重新生成新个体,目的是为了增加种群的多样性;
步骤3:判断是否达到灾变条件,如若达到,则进行灾变操作;否则继续正常的遗传操作。在每次灾变操作中,选取适应度大小排名偏中间的部分个体,对它们的机器编码部分进行最早完工机器选择操作(ECM)来重新设定染色体的机器选择,然后利用剩余工件时间最长、剩余工序数最多、随机初始化三种初始化方法,以4:4:2的比例对它们的工序序列进行重新初始化,然后与之前重新生成的机器序列重新组合成新的染色体来替换掉原有的个体。记录每次灾变时种群的最优个体的适应度值,如果在下次灾变过程中最优解没有得到改善,则重新设定灾变周期T,增加受灾变种群的数量;
步骤4:两层交叉操作,个体的机器序列每交叉1次,工序序列就交叉K次,交叉的一对个体差异度要达到给定交叉阈值;否则,调整顺序,先变异再两层交叉;从交叉后生成的所有子代个体中选择两个最佳的个体与父代个体进行比较,如果优于父代个体则进行替换,否则舍弃;
步骤5:自适应变异操作,自适应变异概率同该个体的适应度值与种群平均适应度值的大小关系息息相关。大变异操作的执行是通过在每次迭代过程中,判断平均适应度是否达到最大适应度的α倍(α为密集因子),如若达到,则以较大的概率进行自适应变异;否则以正常概率进行自适应变异;对于染色体的机器编码部分的变异操作采用单点变异,即随机挑一个基因,在其可选机器集中随机挑取一个机器来代替现有值;对于工序编码部分的变异方法为:首先求出甘特图上的关键路径,然后找出该调度的瓶颈机器,在该机器上挑选某道工序且其必须在关键路径上,从该工序的可选机器集中挑选一个完工时间最小的机器,将该工序移到该机器上加工,之后重新生成染色体。经过变异的个体如果比原有种群中最差个体的适应度值还差,则舍弃该变异个体;另外,提前变异的概率pme要比正常变异的概率要大,并且其为固定值;
步骤6:变邻域搜索,变邻域搜索的算法采用阈值接受法来实现。由于遗传算法跳出局部最优解的能力较弱,利用变邻域算法可以提升该算法的局部搜索能力,选取约占种群数量的15%的优秀个体进行变邻域局部搜索,变邻域搜索共有三种邻域结构,这三种邻域结构分别是:
(1)邻域结构N1:将位于关键路径上的某一道工序,移到该工序可选机器集中的另外一台机器上加工,选择一个使该机器的完工时间最小的位置;
(2)邻域结构N2:将染色体中不同工件的工序进行交换,若工序数相等,直接进行交换;若工序数不等,先将工序数少的工件移动到工序数多的工件位置上,然后在剩余位置上补上未被安排的工序;
(3)邻域结构N3:将位于关键路径上的某一关键块上的块内工序在满足工序先后顺序约束条件下移到块首或者块尾;
步骤7:判断是否满足终止准则,若满足终止条件则结束;否则转到步骤3。
所述的机器序列的初始化方法包括:全局选择、局部选择和随机选择;其中,全局选择和局部选择主要是为了扩大解空间的搜索范围,平衡机器间负荷,这三种初始化方法的比例为6:3:1;工序序列初始化方法也包括三种方法:改进插入法、与启发式规则相结合的主动调度、与启发式规则相结合的无延迟调度,这三种初始化方法的比例为5:4:1。
所述的差异度为染色体的海明距离,海明距离广义上定义为两条长度相同的染色体在相同位置上的编码值不同的总位数;而在本发明中,机器序列部分的海明距离通过直接比较两条染色体相同位置上的元素不同的位数得到;工序序列部分的海明距离,需要对染色体进行解码,比较每道工件工序在染色体中的位置,由于多条不同的染色体可能对应同一个析取图,即同一个调度方案,因此,仅仅比较每道工序在染色体中的位置其实并不准确,因此工序序列的海明距离相对而言不如机器序列的精确,因此需要给机器序列和工序序列的海明距离加上不同的权值,设定机器序列与工序序列的海明距离的权值分别为0.6、0.4,最后再把两个已加权的海明距离相加,得到差异度。
所述的先两层交叉后变异操作,即工序部分交叉选择的是基于工件位置的交叉和基于工件优先顺序的交叉(POX),各有50%的选择概率,机器部分交叉选择的是多点交叉,机器部分变异选择的是单点变异,工序部分变异选择的是基于关键路径上的变异,即在瓶颈机器上选择关键路径上的工序,并将其移动到可选机器集中完工时间最小的一台机器上;所述的先变异后两层交叉操作,即工序变异操作选择的是EPRR变异方法,机器部分交叉操作选择的是JMX交叉方法,工序部分交叉选择的是子路径交叉算子和基于次序的交叉算子,各有50%的选择概率。
所述的灾变机制是为了防止种群过于早熟而设定的;灾变即在种群迭代过程中选取一部分适应度不差的个体,用新的初始化种群来替代被选个体,本发明中灾变的主要方法是对那部分被选中的种群的机器编码部分先进行最早完工机器选择操作(ECM),重新设定染色体的机器序列,目的是扩大解空间的搜索范围,提高机器选择质量,然后再利用工件剩余时间最长、剩余工序数最多、随机初始化三种方法,以4:4:2的比例重新生成工序序列,与之前重新生成的机器序列组成新的一批染色体,重新放回种群,替代旧有个体。灾变操作按照设定的周期来进行,当种群中的适应度值没有得到改善,应减小灾变周期T的大小来提高灾变频率,增加受灾变的个体数量来扩大受灾范围;引入灾变机制有利于产生更好的优良个体,从而使算法以更大概率收敛到全局最优。
所述的大变异操作是,在算法的后期迭代过程中,当种群的平均适应度值比较接近优秀个体的最好适应度值时,种群就具备了最佳适应度形式,此时给种群施加比较大的变异概率,有利于增加种群的多样性,产生新的优良个体,进而生成适应度值更好的个体。
本发明的有益效果是:
本发明有效地解决了传统遗传算法在求解柔性作业车间调度问题中的可用性不足的难题。为平衡全局搜索和局部搜索能力,本发明引入灾变机制和大变异概率机制,为的是在迭代后期,适当降低染色体之间的相似度,从而有更大机会生成更优秀的个体。同时,在算法的初始化种群上,本发明引进差异度阈值策略,极大增加了种群的多样性,提高了种群质量,为后续遗传操作提供了很好的基础;在遗传操作上也引进差异度阈值策略,如若差异度达到阈值,则先两层交叉后变异;否则,则先变异后两层交叉,从而有效防止算法早熟的出现,提高调度方案质量,该发明能够很好地被运用在作业车间调度领域。
本发明还针对遗传算法局部搜索能力弱的问题,引进变邻域搜索算法,大大提高了局部搜索能力,将其巧妙融入到改进的遗传算法里面,从而实现了全局搜索能力与局部搜索能力之间的平衡。
附图说明
图1为本发明的EPRR变异过程图。
图2为本发明的JMX交叉过程图。
图3为本发明的算法流程图。
图4为本发明的算法调度方案甘特图。
具体实施方式
下面结合附图和实例对本发明做进一步说明。
如图1-2所示。
一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法,它改进了传统遗传算法的结构,同时融合了变邻域搜索算法,实现柔性作业车间调度,它包括以下步骤:
差异度阈值:初始化的差异度阈值通常为工序编码长度的55%-60%,一般情况下,初始种群的平均差异度值大概接近工序编码长度的2/3,随着迭代次数逐渐变化,差异度也随之发生改变,因此交叉阈值的大小也必然和迭代次数有关,交叉阈值的公式为:
其中,l为工序编码长度,i为当前代数,max为最大迭代次数,Ct为交叉阈值,c2为交叉阈值参数。所述的差异度为染色体的海明距离,在本发明中,机器序列部分的海明距离通过直接比较两条染色体相同位置上的元素不同的位数得到;工序序列部分的海明距离,需要对染色体进行解码,比较每道工件工序在染色体中的位置,由于多条不同的染色体可能对应同一个析取图,即同一个调度方案,因此,仅仅比较每道工序在染色体中的位置其实并不准确,因此工序序列的海明距离相对而言没有机器序列的精确,因此需要给机器序列和工序序列的海明距离加上不同的权值,设定机器序列与工序序列的海明距离的权值分别为0.6、0.4,最后再把两个已加权的海明距离相加,得到差异度。
自适应变异率:自适应变异率与每个个体的适应度值大小在整个种群中所处的位置有关,适应度较高的个体变异率较小,防止丢失优良基因,适应度较低的个体变异率较高,是为了让种群能够生成不同于其他个体的新个体,自适应调整公式为:
其中,c1为自适应变异参数,当正常变异时c1在0.1-0.3之间;当大变异时c1在0.4-0.8之间,f′为个体适应度值,fav为种群平均适应度值,fmax为种群最大适应度值,n为当前迭代次数
大变异操作:当某代中种群的平均适应度值比较接近最优个体的适应度值时,此时以一个远大于正常的变异概率对种群进行一次变异操作,具有大变异概率的变异操作能够随机、独立地产生许多新个体,避免种群陷入早熟。判定是否执行大变异操作的公式为:
αfmax<fav
其中,fmax为种群最大适应度值,fav为种群平均适应度值,α为密集因子,表征个体的集中程度,0.5<α<1
最早完工机器选择操作策略(简称ECM):ECM是按照工序序列的先后顺序,使用贪婪式的插入法重新设定染色体的机器选择。即满足工序约束条件下,获取当前工序的所有可运行的机器,按照贪婪式插入的方式将其插入到所有可运行机器上最好的位置,最后选择该工序完工时间最小的一台机器来加工。
EPRR变异方法:
Step 1:比较两个父代P1与P2,找出相同等位基因;
Step 2:将P1中的相同等位基因逆转后复制到子代C1,位置不变;将P2中的相同等位基因复制到C2;
Step 3:将P1中的不同等位基因逆转后复制到C2,位置不变;将P2中的不同基因复制到C1;
图1是一种3×3调度问题的EPRR变异过程:
JMX机器交叉:随机选择两个不一样的工件,交换其工件工序对应的加工机器。
图2是两个机器序列JMX交叉的过程:
步骤2:初始化种群,种群初始化对于算法求解的速度与质量有很大的影响,当新个体与已有个体之间差异度未达到阈值,就重新生成新个体,目的是为了增加种群的多样性。
步骤3:判断是否达到灾变条件,如若达到,则进行灾变操作;否则继续正常的遗传操作。在每次灾变操作中,选取适应度大小排名偏中间的部分个体,对它们的机器编码部分进行最早完工机器选择操作(ECM)来重新设定染色体的机器选择,然后利用剩余工件时间最长、剩余工序数最多、随机初始化三种初始化方法,以4:4:2的比例对它们的工序序列进行重新初始化,然后与之前重新生成的机器序列重新组合成新的染色体来替换掉原有的个体。记录每次灾变时种群的最优个体的适应度值,如果在下次灾变过程中最优解没有得到改善,则重新设定灾变周期T,增加受灾变种群的数量。
步骤4:两层交叉操作,个体的机器序列每交叉1次,工序序列就交叉K次,交叉的一对个体差异度要达到给定交叉阈值;否则,调整顺序,先变异再两层交叉;从交叉后生成的所有子代个体中选择两个最佳的个体与父代个体进行比较,如果优于父代个体则进行替换,否则舍弃。
步骤5:自适应变异操作,自适应变异概率同该个体的适应度值与种群平均适应度值的大小关系息息相关。大变异操作的执行是通过在每次迭代过程中,判断平均适应度是否达到最大适应度的α倍(α为密集因子),如若达到,则以较大的概率进行自适应变异;否则以正常概率进行自适应变异;对于染色体的机器编码部分的变异操作采用单点变异,即随机挑一个基因,在其可选机器集中随机挑取一个机器来代替现有值;对于工序编码部分的变异方法为:首先求出甘特图上的关键路径,然后找出该调度的瓶颈机器,在该机器上挑选某道工序且其必须在关键路径上,从该工序的可选机器集中挑选一个完工时间最小的机器,将该工序移到该机器上加工,之后重新生成染色体。经过变异的个体如果比原有种群中最差个体的适应度值还差,则舍弃该变异个体;另外,提前变异的概率pme要比正常变异的概率要大,并且其为固定值。
步骤6:变邻域搜索,变邻域搜索的算法采用阈值接受法来实现。由于遗传算法跳出局部最优解的能力较弱,利用变邻域算法可以提升该算法的局部搜索能力,选取约占种群数量的15%的优秀个体进行变邻域局部搜索,变邻域搜索共有三种邻域结构,这三种邻域结构分别是:
邻域结构N1:将位于关键路径上的某一道工序,移到该工序可选机器集中的另外一台机器上加工,选择一个使该机器的完工时间最小的位置。
邻域结构N2:将染色体中不同工件的工序进行交换,若工序数相等,直接进行交换;若工序数不等,先将工序数少的工件移动到工序数多的工件位置上,然后在剩余位置上补上未被安排的工序。
邻域结构N3:将位于关键路径上的某一关键块上的块内工序在满足工序顺序约束条件下移到块首或者块尾。
步骤7:判断是否满足终止准则,若满足终止条件则结束;否则转到步骤3。
所述的机器序列的初始化方法包括:全局选择、局部选择和随机选择;其中,全局选择和局部选择主要是为了扩大解空间的搜索范围,平衡机器间负荷,这三种初始化方法的比例为6:3:1;工序序列初始化方法也包括三种方法:改进插入法、与启发式规则相结合的主动调度、与启发式规则相结合的无延迟调度,这三种初始化方法的比例为5:4:1。
所述的先两层交叉后变异操作,即工序部分交叉选择的是基于工件位置的交叉和基于工件优先顺序的交叉(POX),各有50%的选择概率,机器部分交叉选择的是多点交叉,机器部分变异选择的是单点变异,工序部分变异选择的是基于关键路径上的变异,即在瓶颈机器上选择关键路径上的工序,并将其移动到可选机器集中完工时间最小的一台机器上;所述的先变异后两层交叉操作,即工序部分的变异操作选择的是EPRR变异方法,机器部分交叉操作选择的是JMX交叉方法,工序部分交叉选择的是子路径交叉算子和基于次序的交叉算子,各有50%的选择概率。
所述的灾变机制是为了防止种群过于早熟而设定的;灾变即在种群迭代过程中选取一部分适应度不差的个体,用新的初始化种群来替代被选个体,本发明中灾变的主要方法是对那部分被选中的种群的机器编码部分先进行最早完工机器选择操作(ECM),重新设定染色体的机器序列,目的是扩大解空间的搜索范围,提高机器选择质量,然后再利用工件剩余时间最长、剩余工序数最多、随机初始化三种方法,以4:4:2的比例重新生成工序序列,与之前重新生成的机器序列组成新的一批染色体,重新放回种群,替代旧有个体。灾变操作按照设定的周期来进行,当种群中的适应度值没有得到改善,应减小灾变周期T的大小来提高灾变频率,增加受灾变的个体数量来扩大受灾范围;引入灾变机制有利于产生更好的优良个体,从而使算法以更大概率收敛到全局最优。
详述如下:
一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法,它改进了传统遗传算法的结构,同时融合了变邻域搜索算法,实现柔性作业车间调度,算法流程如图3所示,此处以表1所示的柔性作业车间调度实例为例加以说明:
Mk01案例是一个有10种工件,6台机器,总工序数量为55的一个经典的柔性作业车间调度案例,以最大工件完工时间最小为目标进行优化。
步骤1:设置参数:种群规模N=200,最大迭代次数max=100,交叉率pc=0.9,正常自适应变异的参数c1=0.15,大变异的自适应变异的参数c1=0.6,大变异密集因子α=0.9,交叉阈值参数c2=0.8,初始化差异度阈值提前变异的概率pme=0.15,适应度值为最大完工时间的倒数。
步骤2:初始化种群,种群初始化对于算法求解的速度与质量有很大的影响,当新个体与已有个体之间差异度未达到阈值,就重新生成新个体,目的是为了增加种群的多样性。机器序列初始化方法包括:全局选择、局部选择、随机选择,按照6:3:1的比例进行初始化;工序序列初始化方法包括:改进插入法、与启发式规则相结合的主动调度、与启发式规则相结合的无延迟调度,这三种初始化方法比例为5:4:1。
步骤3:判断是否达到灾变条件,如若达到,则进行灾变操作;否则继续正常的遗传操作。在每次灾变中,选取适应度大小排名偏中间的20%的个体,对它们的机器编码进行最早完工机器选择操作(简称ECM)重新设定染色体的机器选择,然后对它们的工序序列利用剩余工件时间最长、剩余工序数最多、随机初始化三种初始化方法,以4:4:2的比例进行重新初始化;同时,记录每次灾变时种群的最优个体的适应度值,如果在下次灾变过程中最优解没有得到改善,则提高灾变频率,增加受灾变种群的数量。初始的灾变周期T=15。
步骤4:两层交叉操作,个体的机器序列每交叉1次,工序序列就交叉K次,交叉的一对个体差异度要达到给定交叉阈值;否则,调整顺序,先变异再两层交叉;从交叉后生成的所有子代个体中选择两个最佳的个体与父代个体进行比较,如果优于父代个体则进行替换,否则舍弃。
步骤5:自适应变异操作,自适应变异概率同该个体的适应度值与种群平均适应度值的大小关系息息相关。大变异操作的执行是通过在每次迭代过程中,判断平均适应度是否达到最大适应度的α倍(α为密集因子,α=0.9),如若达到,则以较大的概率进行自适应变异;否则以正常概率进行自适应变异;对于染色体的机器编码部分的变异操作采用单点变异,即随机挑一个基因,在其可选机器集中随机挑取一个机器来代替现有值;对于工序编码部分的变异方法为:首先求出甘特图上的关键路径,然后找出该调度的瓶颈机器,在该机器上挑选某道工序且其必须在关键路径上,从该工序的可选机器集中挑选一个完工时间最小的机器,将该工序移到该机器上加工,之后重新生成染色体。经过变异的个体如果比原有种群中最差个体的适应度值还差,则舍弃该变异个体;另外,提前变异的概率pme要比正常变异的概率要大,并且其为固定值。
步骤6:变邻域搜索,变邻域算法采用阈值接受法来实现。由于遗传算法跳出局部最优解的能力较弱,利用变邻域算法可以提升该算法的局部搜索能力,选取约占种群数量的15%的优秀个体进行变邻域局部搜索,变邻域搜索共有三种邻域结构如下:
邻域结构N1:将位于关键路径上的某一道工序,移到该工序可选机器集中的另外一台机器上加工,选择一个使该机器的完工时间最小的位置。
邻域结构N2:将染色体中不同工件的工序进行交换,若工序数相等,直接进行交换;若工序数不等,先将工序数少的工件移动到工序数多的工件位置上,然后在剩余位置上补上未被安排的工序。
邻域结构N3:将位于关键路径上的某一关键块上的块内工序在满足工序顺序约束条件下移到块首或者块尾。
步骤7:判断是否满足终止准则,若满足终止条件则结束;否则转到步骤3。
最终,该算法所得调度方案甘特图,如图4所示。
表1 MK01案例的详细数据
本发明未涉及部分与现有技术相同或可采用现有技术加以实现。
Claims (6)
1.一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法,所述方法引入灾变机制,并且对遗传算法结构进行改进,实现柔性作业车间调度,其特征在于,包括以下步骤:
步骤 1:设置参数:种群规模N,最大迭代次数max,交叉率,自适应变异参数,大变异密集因子,交叉阈值参数,初始化差异度阈值,提前变异概率,适应度值为最大完工时间的倒数;
步骤 2:初始化种群,种群初始化对于算法求解的速度与质量有很大的影响,当新个体与已有个体之间差异度未达到阈值,就重新生成新个体,目的是为了增加种群的多样性;
步骤 3:判断是否达到灾变条件,如若达到,则进行灾变操作;否则继续正常的遗传操作;在每次灾变操作中,选取适应度大小排名偏中间的部分个体,对它们的机器编码部分进行最早完工机器选择操作ECM来重新设定染色体的机器选择,然后利用剩余工件时间最长、剩余工序数最多、随机初始化三种初始化方法,以4:4:2的比例对它们的工序序列进行重新初始化,然后与之前重新生成的机器序列重新组合成新的染色体来替换掉原有的个体;记录每次灾变时种群的最优个体的适应度值,如果在下次灾变过程中最优解没有得到改善,则重新设定灾变周期T,增加受灾变种群的数量;
步骤 4:两层交叉操作,个体的机器序列每交叉1次,工序序列就交叉K次,交叉的一对个体差异度要达到给定交叉阈值;否则,调整顺序,先变异再两层交叉;从交叉后生成的所有子代个体中选择两个最佳的个体与父代个体进行比较,如果优于父代个体则进行替换,否则舍弃;
步骤 5:自适应变异操作,自适应变异概率同该个体的适应度值与种群平均适应度值的大小关系息息相关;大变异操作的执行是通过在每次迭代过程中,判断平均适应度是否达到最大适应度的α倍,所述α为密集因子,如若达到,则以较大的概率进行自适应变异;否则以正常概率进行自适应变异;对于染色体的机器编码部分的变异操作采用单点变异,即随机挑一个基因,在其可选机器集中随机挑取一个机器来代替现有值;对于工序编码部分的变异方法为:首先求出甘特图上的关键路径,然后找出该调度的瓶颈机器,在该机器上挑选某道工序且其必须在关键路径上,从该工序的可选机器集中挑选一个完工时间最小的机器,将该工序移到该机器上加工,之后重新生成染色体;经过变异的个体如果比原有种群中最差个体的适应度值还差,则舍弃该变异个体;另外,提前变异的概率要比正常变异的概率要大,并且其为固定值;
步骤 6:变邻域搜索,变邻域搜索算法采用阈值接受法来实现;由于遗传算法跳出局部最优解的能力较弱,利用变邻域算法可以提升该算法的局部搜索能力,选取约占种群数量的15%的优秀个体进行变邻域局部搜索,变邻域搜索共有三种邻域结构,这三种邻域结构分别是:
(1)邻域结构N1:将位于关键路径上的某一道工序,移到该工序可选机器集中的另外一台机器上加工,选择一个使该机器的完工时间最小的位置;
(2)邻域结构N2:将染色体中不同工件的所有工序进行交换,如若工序数相等,直接进行交换;如若工序数不等,先将工序数少的工件移动到工序数多的工件位置上,然后在剩余位置上补上未被安排的工序;
(3)邻域结构N3:将位于关键路径上的某一关键块上的块内工序在满足工序先后顺序约束条件下移到块首或者块尾;
步骤 7:判断是否满足终止条件,若满足终止条件则结束;否则转到步骤3。
2.根据权利要求1所述的方法,其特征是机器序列的初始化方法包括:全局选择、局部选择和随机选择;其中,全局选择和局部选择主要是为了扩大解空间的搜索范围,平衡机器间负荷,这三种初始化方法的比例为6:3:1;工序序列初始化方法也包括三种方法:改进插入法、与启发式规则相结合的主动调度、与启发式规则相结合的无延迟调度,这三种初始化方法的比例为5:4:1。
3.根据权利要求1所述的方法,其特征是所述的差异度为染色体的海明距离,海明距离广义上定义为两条长度相同的染色体在相同位置上的编码值不同的总位数;而在本发明中,机器序列部分的海明距离通过直接比较两条染色体相同位置上的元素不同的位数得到;工序序列部分的海明距离,需要对染色体进行解码,比较每道工件工序在染色体中的位置,由于多条不同的染色体可能对应同一个析取图,即同一个调度方案,因此,仅仅比较每道工序在染色体中的位置其实并不准确,因此工序序列的海明距离相对而言不如机器序列的精确,因此需要给机器序列和工序序列的海明距离加上不同的权值,设定机器序列与工序序列的海明距离的权值分别为0.6、0.4,最后再把两个已加权的海明距离相加,得到差异度。
4.根据权利要求1所述的方法,其特征是先两层交叉后变异操作即工序部分交叉选择的是基于工件位置的交叉和基于工件优先顺序的交叉POX,各有50%的选择概率,机器部分交叉选择的是多点交叉,机器部分变异选择的是单点变异,工序部分变异选择的是基于关键路径上的变异,即在瓶颈机器上选择关键路径上的工序,并将其移动到可选机器集中完工时间最小的一台机器上;所述的先变异后两层交叉操作,即工序部分的变异操作选择的是EPRR变异方法,机器部分交叉操作选择的是JMX交叉方法,工序部分交叉选择的是子路径交叉算子和基于次序的交叉算子,各有50%的选择概率。
5.根据权利要求1所述的方法,其特征是所述的灾变机制是为了防止种群过于早熟而设定的;灾变即在种群迭代过程中选取一部分适应度不差的个体,用新的初始化种群来替代被选个体;灾变操作按照设定的周期来进行,当种群中的适应度值没有得到改善,应减小灾变周期T的大小来提高灾变频率,增加受灾变的个体数量来扩大受灾范围;引入灾变机制有利于产生更好的优良个体,从而使算法以更大概率收敛到全局最优。
6.根据权利要求1所述的方法,其特征为所述的大变异操作,是在算法的后期迭代过程中,当种群的平均适应度值比较接近优秀个体的最好适应度值时,种群就具备了最佳适应度形式,此时给种群施加比较大的变异概率,有利于增加种群的多样性,产生新的优良个体,进而生成适应度值更好的个体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068709.0A CN111325443B (zh) | 2020-01-21 | 2020-01-21 | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068709.0A CN111325443B (zh) | 2020-01-21 | 2020-01-21 | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111325443A CN111325443A (zh) | 2020-06-23 |
CN111325443B true CN111325443B (zh) | 2023-04-18 |
Family
ID=71170947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010068709.0A Active CN111325443B (zh) | 2020-01-21 | 2020-01-21 | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111325443B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112561225B (zh) * | 2020-09-30 | 2023-11-07 | 北京工业大学 | 一种基于标杆协同进化算法的柔性作业车间调度方法 |
CN112327786A (zh) * | 2020-11-19 | 2021-02-05 | 哈尔滨理工大学 | 设备非占用时间段动态调整的综合调度方法 |
CN112859922B (zh) * | 2021-01-25 | 2022-09-06 | 西安工业大学 | 改进自适应遗传-变领域协同搜索的多无人机长时工作路径规划方法 |
CN112926837B (zh) * | 2021-02-04 | 2023-09-12 | 郑州轻工业大学 | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 |
CN113011767B (zh) * | 2021-03-30 | 2024-08-02 | 大连交通大学 | 一种多目标柔性作业车间调度用混合遗传方法 |
CN114280490B (zh) * | 2021-09-08 | 2024-02-09 | 国网湖北省电力有限公司荆门供电公司 | 一种锂离子电池荷电状态估计方法及系统 |
CN113935610A (zh) * | 2021-10-09 | 2022-01-14 | 北京理工大学 | 一种柔性制造系统的多机器人联合调度方法 |
CN114186749B (zh) * | 2021-12-16 | 2022-06-28 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN114358661A (zh) * | 2022-03-10 | 2022-04-15 | 电子科技大学长三角研究院(湖州) | 基于金字塔变种群演化的共享巴士调度方法 |
CN117808439A (zh) * | 2024-03-01 | 2024-04-02 | 世纪开元智印互联科技集团股份有限公司 | 一种用于印刷厂的排产方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610654A (zh) * | 2015-12-29 | 2017-05-03 | 四川用联信息技术有限公司 | 针对柔性作业车间调度的改进遗传算法 |
CN110009235A (zh) * | 2019-04-10 | 2019-07-12 | 南京航空航天大学 | 一种基于改进遗传算法的柔性作业车间调度方法 |
-
2020
- 2020-01-21 CN CN202010068709.0A patent/CN111325443B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111325443A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325443B (zh) | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 | |
CN108320057B (zh) | 一种基于有限制稳定配对策略的柔性作业车间调度方法 | |
CN111242503B (zh) | 一种基于两层遗传算法的多目标柔性作业车间调度方法 | |
CN112257296B (zh) | 基于改进遗传算法的带有缓存约束的作业车间调度方法 | |
CN111507641B (zh) | 一种批处理设备调度方法及其装置 | |
CN101901425A (zh) | 一种基于多种群协同进化的柔性作业车间调度方法 | |
CN110070235A (zh) | 一种多移动机器人的柔性调度方法 | |
CN111382915B (zh) | 一种共融agv的柔性作业车间调度方法 | |
CN106125684A (zh) | 基于不确定环境下的多目标流水车间逆调度方法 | |
CN113705812B (zh) | 基于混合并行遗传和变邻域算法的生产调度方法和系统 | |
CN114926033A (zh) | 基于改进nsgaii的柔性作业车间动态事件调度方法 | |
CN115796510A (zh) | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 | |
CN117075545A (zh) | 一种多目标柔性作业车间调度方法、电子设备、介质 | |
CN112926837A (zh) | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 | |
CN114266509A (zh) | 随机贪婪初始种群遗传算法求解柔性作业车间调度方法 | |
CN117035364A (zh) | 基于改进混合模因算法的分布式异构流水车间调度方法 | |
CN113762811B (zh) | 一种考虑加班的无拖期Job Shop调度问题求解方法及系统 | |
CN115249113A (zh) | 一种带准备时间分布式零等待流水车间调度方法与系统 | |
CN117077975A (zh) | 基于混合初始化模因算法的分布式异构流水车间调度方法 | |
CN116300763A (zh) | 考虑机器配置的混合流水车间数学启发式调度方法及系统 | |
CN110705844A (zh) | 基于非强制空闲时间的作业车间调度方案鲁棒优化方法 | |
CN110598943A (zh) | 改良文化基因算法求解带运输时间柔性作业车间调度方法 | |
CN110570134A (zh) | 一种改进的文化基因算法解决柔性车间带运输时间的调度方法 | |
CN113011767B (zh) | 一种多目标柔性作业车间调度用混合遗传方法 | |
CN113283819B (zh) | 基于规则解码的Job Shop调度问题求解方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |