CN112926837B - 基于数据驱动改进遗传算法求解作业车间调度问题的方法 - Google Patents
基于数据驱动改进遗传算法求解作业车间调度问题的方法 Download PDFInfo
- Publication number
- CN112926837B CN112926837B CN202110153601.6A CN202110153601A CN112926837B CN 112926837 B CN112926837 B CN 112926837B CN 202110153601 A CN202110153601 A CN 202110153601A CN 112926837 B CN112926837 B CN 112926837B
- Authority
- CN
- China
- Prior art keywords
- frequent
- procedure
- workpiece
- population
- executing
- 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 205
- 230000002068 genetic effect Effects 0.000 title claims abstract description 29
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 65
- 230000035772 mutation Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 56
- 238000003754 machining Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000007418 data mining Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- G06Q10/06316—Sequencing of tasks or work
-
- 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)
- Strategic Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Biology (AREA)
- Primary Health Care (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Manufacturing & Machinery (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本文发明提供一种数据驱动改进遗传算法(AR‑GA)解决作业车间调度问题的方法,有效的解决了传统遗传算法求解作业车间调度问题时,受限于初始种群质量而存在收敛速度慢、易陷入局部最优解等问题。该算法的改进之处在于:在遗传算法种群初始化阶段借助关联规则和组合调度规则获取基因序列中的频繁工序块以及每道工序出现各个基因位置及概率;在交叉阶段根据频繁工序块在待交叉种群中的分布设计了三种不同的交叉方式;变异过程中结合分段海明距离引导子代种群变异,并且在每次迭代后更新频繁工序块的信息。本发明提出的改进算法不仅在求解质量上具有优势,在提高求解效率、稳定性的作业车间调度问题也具有一定的优势。
Description
技术领域
本发明涉及车间调度技术领域,更具体地说,它涉及一种基于数据驱动改进遗传算法求解作业车间调度问题的方法。
背景技术
新一轮工业革命的到来,促使信息技术迅速融入到工业制造过程中,从而企业和工厂都积累了海量的生产调度数据,这些数据呈现出不规则性和多样性等特性。而传统作业车间调度问题研究往往忽略了工业生产中历史调度数据的潜在规律。因此,研究数据驱动在求解作业车间调度问题的应用研究方面影响具有重要的意义。
发明内容
为解决上述技术问题,本发明提供一种基于数据驱动改进遗传算法求解作业车间调度问题的方法,由于遗传算法不受限制性条件的约束,因此在作业车间调度问题上得到广泛应用,然而采用遗传算法求解作业车间调度问题,初始种群的质量对遗传算法求解效率有很大的影响,初始种群的质量越高,算法的起点就越高,从而可以提高遗传算法的求解效率和质量,可以更有效的求解车间调度问题。
本发明的上述技术目的是通过以下技术方案得以实现的:
基于数据驱动改进遗传算法求解作业车间调度问题的方法,包括以下步骤:
步骤一:从历史调度数据集中随机选取若干个体;
步骤二:利用关联规则获取频繁工序块,同时组合调度规则获取每道工序出现在各个基因的位置及概率;
步骤三:预先设置一阈值,判断频繁工序块位置上的基因出现概率是否大于阈值,如果是,执行步骤四;如果否,执行步骤五;
步骤四:按照组合调度规则生成的工序进行排列,并执行步骤六;
步骤五:保留该基因位置上的频繁工序块,并执行步骤六;
步骤六:将生成的种群a%+(1-a)%随机种群作为初始种群;
步骤七:进行锦标赛选择;
步骤八:判断选择的两个个体是否都具频繁工序块,如果是,执行步骤九;如果否,执行步骤十;
步骤九:判断待交叉个体中频繁工序块的数量是否等于1,如果是,执行单点交叉,如果否,执行两点交叉;然后执行步骤十一;
步骤十:判断两个个体是否都不具有频繁工序块,如果是,执行POX交叉;如果否,执行POX交叉,并更新频繁工序块;然后执行步骤十一;
步骤十一:进行变异操作,更新频繁工序块信息;
步骤十二:判断是否满足终止条件,如果是,输出最优结果;如果否,重复步骤七至步骤十二;终止条件为运算循环的次数达到迭代次数Niter时停止。
作为一种优选方案,步骤一中,从历史调度数据集中随机选取40-60%的个体。
作为一种优选方案,步骤二中,调度规则包括基于工序的加工时间Ra,i,基于工件的剩余加工时间Rb,i,基于工件的剩余加工工序数Rc,i和基于机器的加工时间Rd,i,调度规则的线性组合参数表现形式为Power。
作为一种优选方案,基于工序的加工时间的具体调度规则如下:
其中:tmax和tmin分别表示工序的最大加工时间和最小加工时间,表示工件i的第k道工序的加工时间,Ra,i表示工件i在规则a下的优先值;
基于工件的剩余加工时间的具体调度规则如下:
其中:fmax和fmin分别表示待加工工件的最大剩余加工时间和最小剩余加工时间,fi表示工件i的剩余加工时间,Rb,i表示工件i在规则b下的优先值;
基于工件的剩余加工工序数的具体调度规则如下:
其中:nmax和nmin分别表示待加工工件中的最大剩余工序数和最小剩余工序数,ni表示工件i的剩余工序数,Rc,i表示工件i在规则c下的优先加工值;
基于机器的加工时间的具体调度规则如下:
其中:Mmax表示所有机器开工时间的最大值,表示在加工工件i的第k道工序所在机器的总加工时间,Rd,i表示工件i在规则d下的优先加工值。
作为一种优选方案,步骤二中,所述频繁工序块的获取方法具体包括以下步骤:
S1:对历史调度数据集中随机选取若干个体,依次计算每个父代种群个体在第一基因点位置上各个工序号出现的概率,如果不满足Support≥S1,则计算下一个基因位置上的各个工序是否满足最小支持度;如果所有的基因点位上的工序都不满足最小支持度,则重新随机生成调度数据样本;如果满足Support≥S1,执行S2;
S2:计算在该工序发生的前提下,其相邻基因位置上的工序出现的概率是否满足Confidence≥C1,如果不满足,则重新计算该基因位置上的工序号出现的频率是否满足最小支持度,并重复S1步骤;如果满足最小置信度,则对满足最小支持度的工序和最小置信度的相邻工序进行记录;
S3:将S2中记录满足最小支持度与最小置信度的相邻工序作为一个频繁工序块;
S4:计算S4得到的频繁工序块出现的频率是否满足最小支持度;如果不满足Support≥S1,则停止操作,将该频繁工序块输出,并重复S1步骤;如果满足Support≥S1,则再次频繁工序块发生的前提下,计算下一相邻基因位置上的工序出现的概率是否满足Confidence≥C1,并执行S5;
S5:如果不满足Confidence≥C1,则输出S3过程中得到的频繁工序块,并重复S1步骤;如果满足Confidence≥C1,则将该道工序添加到频繁工序块中;
S6:重复S1至S5步骤,直至满足终止条件,输出所有满足条件的频繁工序块。
作为一种优选方案,步骤六中,初始种群的产生具体包括以下步骤:
T1:将步骤五得到的频繁工序块赋予一个权重因子h;
T2:利用提取规则对父代种群的分析,得到每道工序可能出现在各个基因位置上的概率;
T3:判断频繁工序块所在基因位置上被分配的工序出现的概率是否大于h,如果该道工序出现的概率大于h,则按照提取规则分配的工序进行排列,否则保留该基因位置上频繁工序块;
T4:重复T1至T3步骤,直至达到终止条件。
作为一种优选方案,步骤十一具体包括以下步骤:
取选取基因串中从第一个频繁工序块中的首块工序位置到最后一个频繁工序块中的尾块工序位置,这一段基因片段进行变异操作;在种群中选取适应度值最高的一个种群个体与其他个体进行分段式海明距离计算;如果被选中的种群个体的分段式海明距离为零,则该个体不再进行变异操作;如果被选中的种群个体的分段海明距离不为零,则随机选择其中几个相异点进行基因互换。
步骤1:参数设置,包括种群规模NPOP、迭代次数Niter、交叉概率PC、变异概率PM、最小支持度S1、最小置信度C1、四种调度规则:基于工序的加工时间Ra,i、基于工件的剩余加工时间Rb,i、基于工件的剩余加工工序数Rc,i和基于机器的加工时间Rd,i,调度规则的线性组合参数表现形式Power。
本发明算法的终止条件为:运算循环的次数达到最大迭代Niter时停止。
步骤2:通过关联规则和组合调度规则对历史调度数据集进行数据挖掘。
首先随机选取历史调度数据集规模50%的种群个体作为调度数据样本;然后,根据作业车间调度问题的特性,对关联规则中的最小支持度、最小置信度阈值和组合调度规则进行定义。
步骤3:将频繁工序块和组合调度规则获得的规则集进行“结合”,产生新的子代种群,并对该子代种群进行适应度值大小排列,选取前80%的子代个体和20%随机策略生成的个体作为遗传算法求解作业车间调度问题的初始种群。
步骤4:遗传算法中的选择操作为选择策略。
步骤5:在进行交叉操作时,通过判断具有频繁工序块的待交叉操个体的数量,来决定进行交叉操作的方式。
如果两个个体都具有频繁工序块,则进行两点交叉操作,如果基因序列中只有一个频繁工序块,则进行单点交叉操作;如果只有一个个体具有频繁工序块进行POX交叉操作,并比较父代、子代个体适应度值大小,如果子代个体优于父代个体,则对频繁工序块所处基因位置上的工序信息进行更新;如果两个体都不具有频繁工序块,则也进行POX交叉操作并且不再更新频繁工序块信息。
步骤6:执行变异操作;将“分段式海明距离”概念引入变异操作过程中,分段式海明距离表示为:只计算两个基因串中的某一部分基因片段进行相异的基因位置数目称作分段式海明距离,简称H。
挑选种群中适应度值最大者来计算分段式海明距离,这里取选取基因串中从第一个频繁工序块的首块工序位置到最后一个频繁工序块中尾块位置一段基因片段进行变异操作。
如果被选中的种群个体的分段式海明距离为零,则该个体不进行变异操作。
如果被选中的种群个体的分段海明距离不为零,则随机选择其中几个(偶数)相异点进行基因互换,来完成遗传算法的变异操作。
步骤7:更新当前最优解,直至满足终止条件。
综上所述,本发明具有以下有益效果:
本发明将传统的遗传算法经过改进以此来解决遗传算法求解作业车间调度问题时对初始种群质量的依赖性问题。在该发明中采用两种方式进行优化遗传算法初始种群,首先利用关联规则找出基因串中具有关联性的优势相邻工序组合,其次利用组合调度规则获得工序之间的排列顺序关系,两者结合产生“新的种群”作为遗传算法求解作业车间调度问题的初始种群;两种优化初始种群方式相混合产生初始种群的方法提高了种群整体初始解的质量以及种群个体之间的关联性;并且在遗传操作过程中引入“分段式海明距离”概念,在降低种群个体之间的差异的同时,还能减少迭代后期因变异操作对优良基因的破坏。
附图说明
图1本发明实施例中的AR-GA算法的流程图;
图2本发明实施例中的AR-GA算法测试案例示意图;
图3本发明实施例中的第一种两点交叉操作示意图;
图4本发明实施例中的第二种POX交叉操作示意图;
图5本发明实施例中的第三种POX交叉操作示意图;
图6本发明实施例中的变异操作示意图;
图7本发明实施例中的基准案例运算结果曲线图。
具体实施方式
本说明书及权利要求并不以名称的差异作为区分组件的方式,而是以组件在功能上的差异作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。
本说明书及权利要求的上下左右等方向名词,是结合附图以便于进一步说明,使得本申请更加方便理解,并不对本申请做出限定,在不同的场景中,上下、左右、里外均是相对而言。
以下结合附图对本发明作进一步详细说明。
本发明为一种数据驱动改进遗传算法求解作业车间调度问题的方法,包括如下步骤:
步骤1:参数设置:种群规模NPOP、迭代次数Niter、交叉概率PC、变异概率PM、最小支持度S1、最小置信度C1、四种调度规则:基于工序的加工时间Ra,i、基于工件的剩余加工时间Rb,i、基于工件的剩余加工工序数Rc,i和基于机器的加工时间Rd,i,调度规则的线性组合参数表现形式Power。
本文发明的算法的终止条件为:运算循环的次数达到迭代次数Niter时停止。
关于变量取值的说明:种群规模NPOP取值为300和500两种不同规模进行比较说明。
迭代次数本发明算法选取100代。
交叉概率PC,0<PC<1,一般在0.7左右,本发明取值为0.8。
变异概率PM,0<PM<1,一般取值在0.1左右,本发明取值为0.1。
步骤2:通过关联规则和组合调度规则进行数据挖掘。
频繁工序块的提取:
①、随机生成的海量调度数据样本种群个体并进行适应度值计算,然后选取适应度值前50%种群个体进行数据挖掘。
②、依次计算每个父代种群个体在第一个基因点位置上各个工序号出现的概率。
③、如果不满足Support≥S1时,则计算下一个基因位置上的各个工序是否满足最小支持度。如果所有的基因点位上的工序都不满足最小支持度时,则重新随机生成调度数据样本。
④、如果满足Support≥S1,则计算在该工序发生的前提下,其相邻基因位置上的工序出现的概率是否满足Confidence≥C1。
⑤、如果不满足Confidence≥C1,则重新计算该基因位置上的工序号出现的频率是否满足最小支持度,以下操作流程跳转到③。如果满足最小置信度时,则对满足最小支持度的工序和最小置信度的相邻工序进行记录。
⑥、将⑤中记录满足最小支持度与最小置信度的相邻工序作为一个频繁工序块;计算该频繁工序块出现的频率是否满足最小支持度;如果不满足Support≥S1,则停止操作,将该频繁工序块输出。跳转到③。
⑦、如果⑥中的频繁工序块出现的频率满足Support≥S1,则在此频繁工序块发生的前提下,计算下一个相邻基因位置上的工序出现的概率是否满足Confidence≥C1。
⑧、如果不满足Confidence≥C1,则输出⑤得到的频繁工序块,并跳转到③;如果满足Confidence≥C1,则将该道工序添加到频繁工序块中。
⑨、以此类推,直至满足终止条件,输出所有满足条件的频繁工序块。
组合调度规则的挖掘:本发明定义四种简单调度规则如下所示。
基于工序的加工时间:由于每一道工序的加工时间不同,不同的加工时间的排序也影响着解决方案的优劣。其中较短加工时间的工序具有容易插空、易排序的特点,而较长加工时间的工序的排序,影响着总加工时间的长度,所以较长加工时间的工序具有一定的优先加工权,公式如下。其中,tmax和tmin分别表示工序的最大加工时间和最小加工时间,表示工件i的第k道工序的加工时间,Ra,i表示工件i在规则a下的优先值。
基于工件的剩余加工时间:剩余加工时间是指在加工工件j的工序p之后,完成工件j还需要多少加工时间。由于各个工件的剩余加工时间的大小决定着工件的优先加工等级,所以本文较长剩余加工时间的工件具有优先加工权。公式如下,其中,fmax和fmin分别表示待加工工件的最大剩余加工时间和最小剩余加工时间,fi表示工件i的剩余加工时间,Rb,i表示工件i在规则b下的优先值。
基于工件的剩余加工工序数:在考虑剩余加工时间时,也需要考虑剩余加工工序数目对加工的影响。剩余加工工序数目就是指在加工工件j的工序p之后,还需要加工几道工序才能完成对工件j的加工。在求解作业车间调度问题时在合理分配工件之间的加工顺序的同时加快完成较短加工时间的工序,有利于降低总的完工时间,所以剩余加工工序数目较少的工件具有优先加工权。公式如下,其中,nmax和nmin分别表示待加工工件中的最大剩余工序数和最小剩余工序数,ni表示工件i的剩余工序数,Rc,i表示工件i在规则c下的优先加工值。
基于机器的加工时间:机器的加工时间是指加工完该机器上面分配的工件所需要的时间。由于每台机器的工作时间长度差异较大,合理调配各个机器的加工时间将较短完工时间的机器上的工序后移较长完工时间机器上的工序先加工,使每台机器的完工时间相近,这样有利于降低工件总的完工时间,所以分配在较长工作时间机器上的工件具有优先加工权。公式如下,其中,Mmax表示所有机器开工时间的最大值,表示在加工工件i的第k道工序所在机器的总加工时间,Rd,i表示工件i在规则d下的优先加工值。
步骤3:初始种群的产生.
将所得到的频繁工序块赋予一个权重因子,该权重因子大小为h(0<h<1)。
利用提取规则对父代种群的分析,可以得到每道工序可能出现在各个基因位置上的概率。
判断频繁工序块所在基因位置上被分配的工序出现的概率大于h;如果该道工序出现的概率大于h,则按照提取规则分配的工序进行排列,否则,保留该基因位置上频繁工序块。
重复此操作,直至达到终止条件。
为了确保初始种群的多样性,需要将得到的子代种群进行适应度值计算,并只保留适应度值前a%的种群个体与(1-a)%的随机生成的种群个体,作为遗传算法求解作业车间调度问题的初始种群。
步骤4:遗传算法中的选择操作为锦标赛选择策略。
步骤5:交叉操作会出现三种情况:
当出现选择的两个种群个体都具有频繁工序块时,采用两点交叉操作如图3(其中深色标记的为频繁工序块)所示,即对基因串上的每一个频繁工序块中第一个工序位置进行标记,然后随机选择其中两个标记点进行基因片段交换,如果基因串中只有一个频繁工序块,就进行单点交叉方式,以此来降低交叉操作对频繁工序块的破坏程度。
当出现二种情况时,采用POX交叉操作如图4示(其中深色标记为频繁工序块),因交叉操作产生的Child3、Child4子代个体,进行子代适应度值大小计算。如果子代个体的适应度值小于父代个体适应度值,则产生子代个体不含频繁工序块;反之,则Child3,Child4个体基因串对应父代频繁工序块的基因位置上的相邻工序作为新的频繁工序块,并且更新进行频繁工序块信息,通过产生新的频繁工序块来增加算法的局部搜索能力。
当出现第三种情况时,经过POX交叉操作产生的子代基因串不含频繁工序块,因此可以增加种群的多样性,如图5所示。
步骤6:为使基因串中的频繁工序块尽可能地保留下来,引入“分段式海明距离”的概念:只取两个基因串中的某一部分基因片段进行相异的基因位置个数计算称作分段式海明距离,简称H,如图所示6。
这里取选取基因串中从第一个频繁工序块中的首块工序位置到最后一个频繁工序块中的尾块工序位置,这一段基因片段进行变异操作。
在种群中选取适应度值最高的一个种群个体与其他个体进行分段式海明距离计算。
如果被选中的种群个体的分段式海明距离为零,则该个体不再进行变异操作;如果被选中的种群个体的分段海明距离不为零,则随机选择其中几个(偶数)相异点进行基因互换,以此降低两个种群个体之间的分段式海明距离,并且更新进行频繁工序块信息。
步骤7:判断算法是否终止。
依据参数中对算法终止条件的设定,判断算法是否终止,若算法终止,则输出当前最优解;反之,算法未终止,则返回步骤4。
本发明将传统的遗传算法经过改进以此来解决遗传算法求解作业车间调度问题时对初始种群质量的依赖性问题。在该发明中采用两种方式进行优化遗传算法初始种群,首先利用关联规则找出基因串中具有关联性的工序组合,其次利用组合调度规则获得工序之间的排列顺序关系,两者结合产生“新的种群”作为遗传算法求解作业车间调度问题的初始种群;两种优化初始种群方式相混合产生初始种群的方法提高了种群整体初始解的质量以及种群个体之间的关联性;并且在遗传操作过程中引入“分段式海明距离”概念,在降低种群个体之间的差异的同时,还能减少迭代后期因变异操作对优良基因的破坏。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (1)
1.基于数据驱动改进遗传算法求解作业车间调度问题的方法,其特征在于,包括以下步骤:
步骤一:从历史调度数据集中随机选取若干个体;
步骤二:利用关联规则获取频繁工序块,同时组合调度规则获取每道工序出现在各个基因的位置及概率;
步骤三:预先设置一阈值,判断频繁工序块位置上的基因出现概率是否大于阈值,如果是,执行步骤四;如果否,执行步骤五;
步骤四:按照组合调度规则生成的工序进行排列,并执行步骤六;
步骤五:保留该基因位置上的频繁工序块,并执行步骤六;
步骤六:将生成的种群a%+(1-a)%随机种群作为初始种群;
步骤七:进行锦标赛选择;
步骤八:判断选择的两个个体是否都具频繁工序块,如果是,执行步骤九;如果否,执行步骤十;
步骤九:判断待交叉个体中频繁工序块的数量是否等于1,如果是,执行单点交叉,如果否,执行两点交叉;然后执行步骤十一;
步骤十:判断两个个体是否都不具有频繁工序块,如果是,执行POX交叉;如果否,执行POX交叉,并更新频繁工序块;然后执行步骤十一;
步骤十一:进行变异操作,更新频繁工序块信息;
步骤十二:判断是否满足终止条件,如果是,输出最优结果;如果否,重复步骤七至步骤十二;终止条件为运算循环的次数达到迭代次数Niter时停止;
所述步骤一中,从历史调度数据集中随机选取40-60%的个体;
所述步骤二中,调度规则包括基于工序的加工时间Ra,i,基于工件的剩余加工时间Rb,i,基于工件的剩余加工工序数Rc,i和基于机器的加工时间Rd,i,调度规则的线性组合参数表现形式为Power;
基于工序的加工时间的具体调度规则如下:
其中:tmax和tmin分别表示工序的最大加工时间和最小加工时间,表示工件i的第k道工序的加工时间,Ra,i表示工件i在规则a下的优先值;
基于工件的剩余加工时间的具体调度规则如下:
其中:fmax和fmin分别表示待加工工件的最大剩余加工时间和最小剩余加工时间,fi表示工件i的剩余加工时间,Rb,i表示工件i在规则b下的优先值;
基于工件的剩余加工工序数的具体调度规则如下:
其中:nmax和nmin分别表示待加工工件中的最大剩余工序数和最小剩余工序数,ni表示工件i的剩余工序数,Rc,i表示工件i在规则c下的优先加工值;
基于机器的加工时间的具体调度规则如下:
其中:Mmax表示所有机器开工时间的最大值,表示在加工工件i的第k道工序所在机器的总加工时间,Rd,i表示工件i在规则d下的优先加工值;
所述步骤二中,所述频繁工序块的获取方法具体包括以下步骤:
S1:对历史调度数据集中随机选取若干个体,依次计算每个父代种群个体在第一基因点位置上各个工序号出现的概率,如果不满足Support≥S1,则计算下一个基因位置上的各个工序是否满足最小支持度;如果所有的基因点位上的工序都不满足最小支持度,则重新随机生成调度数据样本;如果满足Support≥S1,执行S2;
S2:计算在该工序发生的前提下,其相邻基因位置上的工序出现的概率是否满足Confidence≥C1,如果不满足,则重新计算该基因位置上的工序号出现的频率是否满足最小支持度,并重复S1步骤;如果满足最小置信度,则对满足最小支持度的工序和最小置信度的相邻工序进行记录;
S3:将S2中记录满足最小支持度与最小置信度的相邻工序作为一个频繁工序块;
S4:计算S4得到的频繁工序块出现的频率是否满足最小支持度;如果不满足Support≥S1,则停止操作,将该频繁工序块输出,并重复S1步骤;如果满足Support≥S1,则再次频繁工序块发生的前提下,计算下一相邻基因位置上的工序出现的概率是否满足Confidence≥C1,并执行S5;
S5:如果不满足Confidence≥C1,则输出S3过程中得到的频繁工序块,并重复S1步骤;如果满足Confidence≥C1,则将该道工序添加到频繁工序块中;
S6:重复S1至S5步骤,直至满足终止条件,输出所有满足条件的频繁工序块;
所述步骤六中,初始种群的产生具体包括以下步骤:
T1:将步骤五得到的频繁工序块赋予一个权重因子h;
T2:利用提取规则对父代种群的分析,得到每道工序可能出现在各个基因位置上的概率;
T3:判断频繁工序块所在基因位置上被分配的工序出现的概率是否大于h,如果该道工序出现的概率大于h,则按照提取规则分配的工序进行排列,否则保留该基因位置上频繁工序块;
T4:重复T1至T3步骤,直至达到终止条件;
所述步骤十一具体包括以下步骤:
取选取基因串中从第一个频繁工序块中的首块工序位置到最后一个频繁工序块中的尾块工序位置,这一段基因片段进行变异操作;在种群中选取适应度值最高的一个种群个体与其他个体进行分段式海明距离计算;如果被选中的种群个体的分段式海明距离为零,则该个体不再进行变异操作;如果被选中的种群个体的分段海明距离不为零,则随机选择其中几个相异点进行基因互换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110153601.6A CN112926837B (zh) | 2021-02-04 | 2021-02-04 | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110153601.6A CN112926837B (zh) | 2021-02-04 | 2021-02-04 | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112926837A CN112926837A (zh) | 2021-06-08 |
CN112926837B true CN112926837B (zh) | 2023-09-12 |
Family
ID=76170259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110153601.6A Active CN112926837B (zh) | 2021-02-04 | 2021-02-04 | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112926837B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113571134A (zh) * | 2021-07-28 | 2021-10-29 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 基于骨干粒子群算法的基因数据特征选择方法及装置 |
CN113807611B (zh) * | 2021-10-11 | 2023-04-14 | 江南大学 | 一种基于解可信度与双档案群智优化的作业车间调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805403A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于改进遗传算法的单件车间调度方法 |
CN111079987A (zh) * | 2019-11-28 | 2020-04-28 | 电子科技大学 | 基于遗传算法的半导体车间生产调度方法 |
CN111190401A (zh) * | 2019-12-30 | 2020-05-22 | 讯飞智元信息科技有限公司 | 指令调度方法、水利工程控制方法、设备及介质 |
CN111325443A (zh) * | 2020-01-21 | 2020-06-23 | 南京航空航天大学 | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301473B (zh) * | 2017-06-12 | 2018-06-15 | 合肥工业大学 | 基于改进遗传算法的同类平行机批调度方法及系统 |
-
2021
- 2021-02-04 CN CN202110153601.6A patent/CN112926837B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805403A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于改进遗传算法的单件车间调度方法 |
CN111079987A (zh) * | 2019-11-28 | 2020-04-28 | 电子科技大学 | 基于遗传算法的半导体车间生产调度方法 |
CN111190401A (zh) * | 2019-12-30 | 2020-05-22 | 讯飞智元信息科技有限公司 | 指令调度方法、水利工程控制方法、设备及介质 |
CN111325443A (zh) * | 2020-01-21 | 2020-06-23 | 南京航空航天大学 | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 |
Non-Patent Citations (1)
Title |
---|
基于关联规则的作业车间调度问题改进遗传算法研究;乔东平等;《河南理工大学学报(自然科学版)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112926837A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112926837B (zh) | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 | |
CN109034633B (zh) | 改进遗传算法求解带移动时间的柔性作业车间调度方法 | |
CN102929263A (zh) | 一种混合流水车间调度方法 | |
CN111325443B (zh) | 一种基于灾变机制的改进遗传算法求解柔性作业车间调度的方法 | |
CN111507641A (zh) | 一种批处理设备调度方法及其装置 | |
CN110909787B (zh) | 基于聚类的进化算法进行多目标批调度优化的方法和系统 | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN101901425A (zh) | 一种基于多种群协同进化的柔性作业车间调度方法 | |
CN110738365B (zh) | 一种基于粒子群算法的柔性作业车间生产调度方法 | |
CN113805545B (zh) | 一种考虑批处理的柔性流水车间组合调度规则生成方法 | |
CN112580922B (zh) | 一种基于多级邻域结构和混合遗传算法的柔性作业车间调度方法 | |
CN111798120A (zh) | 基于改进人工蜂群算法的柔性作业车间调度方法 | |
CN112561225B (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN113610233A (zh) | 一种基于改进遗传算法的柔性作业车间调度方法 | |
CN116227874B (zh) | 一种基于遗传算法的柔性作业车间调度方法和装置 | |
CN115796510A (zh) | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 | |
CN112668789A (zh) | 一种柔性作业车间带准备工序的自适应分批调度方法 | |
CN106339774B (zh) | 一种模具热处理车间动态批调度方法 | |
CN109214695B (zh) | 基于改进eda的高端装备研发制造协同调度方法及系统 | |
CN113689066A (zh) | 一种基于nsga-ii算法的物联网车间调度方法 | |
CN110598943A (zh) | 改良文化基因算法求解带运输时间柔性作业车间调度方法 | |
CN116757411A (zh) | 一种面向航天复杂构件的双资源柔性作业车间调度方法 | |
CN113505975B (zh) | 一种基于遗传算法和烟花算法的插单排程方法 | |
CN115981262A (zh) | 基于imoea的液压缸零部件车间生产调度方法 | |
CN115392616A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |