CN111967654A - 一种基于混合遗传算法求解柔性作业车间调度的方法 - Google Patents
一种基于混合遗传算法求解柔性作业车间调度的方法 Download PDFInfo
- Publication number
- CN111967654A CN111967654A CN202010731003.8A CN202010731003A CN111967654A CN 111967654 A CN111967654 A CN 111967654A CN 202010731003 A CN202010731003 A CN 202010731003A CN 111967654 A CN111967654 A CN 111967654A
- Authority
- CN
- China
- Prior art keywords
- whale
- genetic algorithm
- machine
- sequence
- workpiece
- 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
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 108
- 230000002068 genetic effect Effects 0.000 title claims abstract description 72
- 241000283153 Cetacea Species 0.000 claims abstract description 103
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000005215 recombination Methods 0.000 claims abstract description 4
- 230000006798 recombination Effects 0.000 claims abstract description 4
- 210000000349 chromosome Anatomy 0.000 claims description 57
- 230000035772 mutation Effects 0.000 claims description 21
- 108090000623 proteins and genes Proteins 0.000 claims description 18
- 238000003754 machining Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 9
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 5
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 5
- 238000010187 selection method Methods 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 8
- 230000007547 defect Effects 0.000 description 6
- 241000282461 Canis lupus Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000002922 simulated annealing Methods 0.000 description 3
- 230000002860 competitive effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 244000144980 herd Species 0.000 description 1
- 239000003016 pheromone Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Evolutionary Computation (AREA)
- Educational Administration (AREA)
- Molecular Biology (AREA)
- Primary Health Care (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Factory Administration (AREA)
- Artificial Intelligence (AREA)
Abstract
本发明公开了一种基于混合遗传算法求解柔性作业车间调度的方法,具体按照以下步骤实施:1、定义柔性作业车间调度编码方式为双层编码方式;2、定义适应度函数,以求解完成加工的最短时间为优化目标;3、采用遗传算法和鲸鱼群算法对柔性车间调度问题中的参数以及种群初始化,随机生成初始种群;4、通过遗传算法求解柔性作业车间调度;5、通过鲸鱼群算法求解柔性作业车间调度;6、通过编码重组,实现鲸鱼群算法对遗传算法的迭代优化,输出最优调度方案。本发明的方法提高了算法的搜索深度,增强了求解精度与求解稳定性。
Description
技术领域
本发明属于柔性作业车间调度技术领域,涉及一种基于混合遗传算法求解柔性作业车间调度的方法。
背景技术
传统的作业车间调度问题(Job-shop Scheduling Problem,JSP)中,一道工序只存在一台加工机器,但在企业实际车间生产过程中往往会出现并行机器的现象,这就导致传统的作业车间调度不能很好地满足企业实际需求,由此,柔性作业车间调度问题(Flexible Job-shop Scheduling Problem,FJSP)便应运而生了。FJSP是JSP的一种扩展,它相较于JSP而言更为灵活,在规定工序的同时,还需对每道工序分配加工机器,是复杂的NP(Non-deterministic Polynomial Complete,即多项式复杂程度的非确定性)的问题。正是由于FJSP具有较高的复杂性和解的灵活性,所以它更符合车间生产的实际需求,因此成为了车间调度领域的重点研究方向。
现有的多层次空间竞争性分布式遗传算法的算法求解FJSP,虽然具有竞争优势,但是计算成本较高;改进模拟退火算法求解FJSP,该算法具有部分调度机制和冷却机制,较之标准模拟退火算法有着更快的收敛速度;针对蚁群算法求解FJSP问题时计算效率低且容易陷入局部最优解的情况提出了一种结合先验知识、概率搜索和随机搜索的新节点选择方法,当搜索陷入局部最优解中时,可以通过调整信息素并增加随机选择概率来进一步搜索解空间,从而实现对传统蚁群算法的优化;基于改进灰狼算法求解柔性车间调度问题提出一种改进灰狼算法求解FJSP,改进狼群初始化机制,通过结合遗传算法和模拟退火算法提出一种哨兵狼机制,提高了种群多样性,改进了灰狼优化算法收敛慢、容易早熟的缺点。综上所述,单一的智能算法在求解FJSP时或多或少存在着一些不足,如计算效率低下、求解稳定性差等,因此对传统智能算法进行改进亦或是将多种智能算法混合使用来优化传统智能算法的不足是研究的必然趋势。
对1990年到2014年期间发表的191篇关于求解柔性作业车间调度问题的论文进行调查分析,发现34%的论文都是通过遗传算法或混合遗传算法来求解FJSP。由此可知,遗传算法已经是解决FJSP的主流方法,但遗传算法在实际应用过程中往往容易陷入局部最优陷阱。因此本文提出一种鲸鱼群-遗传混合算法,通过将鲸鱼群算法与遗传算法结合使用来提高标准遗传算法求解FJSP时的搜索深度,进而改善遗传算法容易陷入局部最优陷阱的不足。
发明内容
本发明的目的是提供一种基于混合遗传算法求解柔性作业车间调度的方法,解决了现有技术中存在的柔性作业车间调度问题中求解结果不稳定、求解精度低问题。
本发明所采用的技术方案是,一种基于混合遗传算法求解柔性作业车间调度的方法,具体按照以下步骤实施:
步骤1、定义柔性作业车间调度编码方式为双层编码方式;
步骤2、定义适应度函数,以求解完成加工的最短时间为优化目标;
步骤3、采用遗传算法和鲸鱼群算法对柔性车间调度问题中的参数以及种群初始化,随机生成初始种群;
步骤4、通过遗传算法求解柔性作业车间调度;
步骤5、通过鲸鱼群算法求解柔性作业车间调度;
步骤6、通过编码重组,将移动后得到的鲸鱼个体与遗传算法得到的染色体进行比较,替换掉遗传算法中适应度较低的染色体个体,通过鲸鱼群算法对遗传算法的迭代优化,输出最优调度方案。
本发明的特点还在于:
步骤1包括:对遗传算法中的染色体进行编码,其中第一层为工序编码,第二层为机器指派编码,同时据此对鲸鱼群算法中的鲸鱼个体进行编码,并对按此编码规则对鲸鱼个体进行转换。
工序编码具体包括:首先构造数列S,设有Ji个工件需要进行加工,那么每一个工件均包含道工序,数列S的长度为l,且数列S的基因S[t]∈[1,l],且S[t]不重复,然后,再构造一个数列C,数列C包含个1,个2,个3,以此类推得出数列C,根据数列S对数列C进行重排序,得到一个新的数列Sc,即为工序编码。
机器指派编码具体包括:构造一个数列M,数列M的长度与数列Sc长度相同,数列M的基因为与之索引相对应的工序加工采用第几个可用机器。
步骤2具体按照以下步骤实施:
步骤2.1、柔性作业车间调度问题描述如下:
假设m为机器数;n为工件数;i,e为机器序号,其中i,e=1,2,…,m;j,k为工件序号,其中j,k=1,2,…,n;hj为工件j的工序数;l为工序序号,其中l=1,2,…,hj;mjh为工件j的第h道工序的可选加工机器数;Ojh为工件j的第h道工序;Mijh为工件j的第h道工序在机器i上进行加工;Pijh为工件j的第h道工序在机器i上加工所需的时间;Sjh为工件j的第h道工序加工开始时间;Cjh为工件j的第h道工序加工结束时间;α为一个无限大的正数;Cj为每个工件的完工时间;Cmax为最大完工时间;xijh为标识,如果工序Ojh选择在机器i上进行加工则其值为1,否则为0;yijhkl为标识,如果工序Ojh先于工序Okl在机器i上进行加工,则其值为1,否则为0;
步骤2.2、设目标函数Fgoal为:
Fgoal=min(max(Cj)) (1)
其中,1≤j≤n;
目标函数约束如下:
a)加工的总时间大于任意工件完工时间:
其中,j=1,2,…,n;
b)每个工件加工的顺序不得改变,前一道工序的加工必须在后一道工序加工开始之前完成:
Sjh+xijh×Pijh≤Cjh (3)
其中,i=1,2,…,m;j=1,2,…,n;h=1,2,…,hj;
Cjh≤Sj(h+1) (4)
其中,j=1,2,…,n;h=1,2,…,hj-1;
c)任何一个时间节点上,一台机器只允许加工一个工件:
Sjh+Pijh≤Skl+α(1-yijhkl) (5)
其中,j=0,1,…,n;k=1,2,…,n;h=1,2,…,hj;l=1,2,…hk;i=1,2,…,m;
Cjh≤Sj(h+1)+α(1-yiklj(h+1)) (6)
其中,j=1,2,…,n;k=0,1,…,n;h=1,2,…,hj-1;l=1,2,…hk;i=1,2,…,m;
d)所有的工件都需要在0时刻才能开始进行加工:
Sjh≥0,Cjh≥0 (7)
e)同一时刻,同一工件的同一道工序都只能被一台机器所加工:
其中,j=1,2,…,n;h=1,2,…,hj。
步骤4具体按照以下步骤实施:
步骤4.1、染色体选择,选用轮盘赌选择法对遗传算法染色体进行选择,个体选中概率与适应度函数成正比:
步骤4.2、染色体交叉,对双层遗传算子均采用两点交叉的方式进行,即随机选择2个染色体作为父代染色体,并在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换2个索引之间的基因片段,随即得到2个子代染色体;判断得到的子代染色体是否符合编码规范,若不符合则需对其进行修补,修补方式为取交叉片段的补集随机重排列到非交叉片段;
步骤4.3、染色体变异,染色体变异操作也是分双层进行,对于第一层遗传算子的变异操作采用两点变异,即在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换这2个索引所对应的基因的值,对于第二层遗传算子的变异操作则采用单点变异,即同样产生一个随机数作为索引,然后对该索引所对应的基因进行变异,变异范围为该道工序可用机器数。
步骤5具体按照以下步骤实施:
步骤5.1、鲸鱼个体位置转换,基于POS向量对鲸鱼个体进行表示,由机器指派编码得到POS中的机器号,由工序编码在对应机器上的加工顺序得到POS中的Seq值,以上两部分共同组成了POS向量,即鲸鱼个体在解空间当中的位置表示;
步骤5.2、鲸鱼移动,基于POS向量表示法进行鲸鱼个体间距离计算:
其中,Dis为鲸鱼X和鲸鱼Y之间的距离;n为工件个数;s为工件i的工序数;和为POS向量中的Seq值;ρ为选择不同机器对距离计算的影响因子,一般而言若鲸鱼X和鲸鱼Y对应的POS向量中机器号相等时,则ρ=1;
步骤5.3、计算出鲸鱼个体间距离后由“较优且最近”的引导鲸鱼引导其移动,鲸鱼个体移动步骤为,首先以总工序数作为长度,随机生成一组由0和1组成的数组;然后保留数组中1所对应的鲸鱼个体工序及机器编码,复制到新鲸鱼个体中;最后对数组中0所对应的工序建立集合,在引导鲸鱼个体中寻找集合中对应工序以及机器编码,将其按照引导鲸鱼个体中的顺序依次填充新鲸鱼个体中的空缺部分;
鲸鱼群算法迭代过程如下:
本发明的有益效果是:本发明基于混合遗传算法求解柔性作业车间调度的方法,通过将鲸鱼群算法计算出的鲸鱼个体与遗传算法得到的染色体进行重组,从而对遗传算法进行了改进,改善了传统遗传算法求解柔性作业车间调度问题容易陷入局部最优的不足,提高了算法的搜索深度,增强了求解精度与求解稳定性。
附图说明
图1是本发明一种基于混合遗传算法求解柔性作业车间调度的方法的流程图;
图2是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例1的WSA-GA进化收敛曲线;
图3是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例1调度结果甘特图;
图4是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例2的WSA-GA进化收敛曲线;
图5是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例2调度结果甘特图;
图6是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中鲸鱼个体表示图;
图7是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中鲸鱼个体移动步骤图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于混合遗传算法求解柔性作业车间调度的方法,如图1所示,具体按照以下步骤实施:
步骤1、定义柔性作业车间调度编码方式为双层编码方式;
对遗传算法中的染色体进行编码,其中第一层为工序编码,首先构造数列S,假设有Ji个工件需要进行加工,那么每一个工件均包含道工序,数列S的长度为l,且数列S的基因S[t]∈[1,l],且S[t]不重复,与此同时,再构造一个数列C,数列C包含个1,个2,个3,以此类推得出数列C,根据数列S对数列C进行重排序,得到一个新的数列Sc,即为工序编码;
第二层为机器指派编码,同样构造一个数列M,数列M的长度与数列Sc长度相同,数列M的基因为与之索引相对应的工序加工采用第几个可用机器;例如,有两个工件J1和J2需要进行加工,共有三台机器可供选择,其中J1包含两道工序,J2包含四道工序,那么有三台机器可供选择且M的长度等于6,则该问题下一个合格的染色体可以表示为“3,4,1,5,2,6,1,2,2,1,2,3”,其中数列S为{3,4,1,5,2,6},生成的数列C为{1,1,2,2,2,2},那么根据数列S对数列C进行重排序得到数列Sc为{2,2,1,2,1,2},其中数列Sc中索引为0的数字2表示零件2的第1道加工工序,索引为1的2表示零件2的第2道加工工序,以此类推。数列M为{1,2,2,1,2,3},其中索引为0的数字1表示零件1的第1道加工工序选用它可用机器的第1个进行加工,索引为1的数字2表示零件1的第2道加工工序选用它可用机器的第2个进行加工,以此类推;
步骤2、定义适应度函数,优化目标为“最大完工时间”,即完成加工所需的总时间越短则个体适应度越好,具体按照以下步骤实施;
步骤2.1、柔性作业车间调度问题描述如下:
假设m为机器数;n为工件数;i,e为机器序号,其中i,e=1,2,…,m;j,k为工件序号,其中j,k=1,2,…,n;hj为工件j的工序数;l为工序序号,其中l=1,2,…,hj;mjh为工件j的第h道工序的可选加工机器数;Ojh为工件j的第h道工序;Mijh为工件j的第h道工序在机器i上进行加工;Pijh为工件j的第h道工序在机器i上加工所需的时间;Sjh为工件j的第h道工序加工开始时间;Cjh为工件j的第h道工序加工结束时间;α为一个无限大的正数;Cj为每个工件的完工时间;Cmax为最大完工时间;xijh为标识,如果工序Ojh选择在机器i上进行加工则其值为1,否则为0;yijhkl为标识,如果工序Ojh先于工序Okl在机器i上进行加工,则其值为1,否则为0;
步骤2.2、设目标函数Fgoal为:
Fgoal=min(max(Cj)) (1)
其中,1≤j≤n;
目标函数约束如下:
a)加工的总时间大于任意工件完工时间:
其中,j=1,2,…,n;
b)每个工件加工的顺序不得改变,前一道工序的加工必须在后一道工序加工开始之前完成:
Sjh+xijh×Pijh≤Cjh (3)
其中,i=1,2,…,m;j=1,2,…,n;h=1,2,…,hj;
Cjh≤Sj(h+1) (4)
其中,j=1,2,…,n;h=1,2,…,hj-1;
c)任何一个时间节点上,一台机器只允许加工一个工件:
Sjh+Pijh≤Skl+α(1-yijhkl) (5)
其中,j=0,1,…,n;k=1,2,…,n;h=1,2,…,hj;l=1,2,…hk;i=1,2,…,m;
Cjh≤Sj(h+1)+α(1-yiklj(h+1)) (6)
其中,j=1,2,…,n;k=0,1,…,n;h=1,2,…,hj-1;l=1,2,…hk;i=1,2,…,m;
d)所有的工件都需要在0时刻才能开始进行加工:
Sjh≥0,Cjh≥0 (7)
e)同一时刻,同一工件的同一道工序都只能被一台机器所加工:
其中,j=1,2,…,n;h=1,2,…,hj。
步骤3、采用遗传算法和鲸鱼群算法对柔性车间调度问题中的参数以及种群初始化,随机生成初始种群;
步骤4、通过遗传算法求解柔性作业车间调度,具体按照以下步骤实施:
步骤4.1、染色体选择,选用轮盘赌选择法对遗传算法染色体进行选择,个体选中概率与适应度函数成正比:
步骤4.2、染色体交叉,对双层遗传算子均采用两点交叉的方式进行,即随机选择2个染色体作为父代染色体,并在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换2个索引之间的基因片段,随即得到2个子代染色体;判断得到的子代染色体是否符合编码规范,若不符合则需对其进行修补,修补方式为取交叉片段的补集随机重排列到非交叉片段;例如,产生随机数rand1=1,rand2=3,若2条父代染色体分别为“1,3,2,5,4,6”和“1,2,4,5,3,6”,则交叉片段为索引1到索引3的值,即“3,2,5”和“2,4,5”;进行基因片段互换,得到2条子代染色体为“1,2,4,5,4,6”和“1,3,2,5,3,6”,可以看出,染色体交叉后不符合规范,因此对其进行修补,按照上述方法修补后的2条染色体分别为“1,2,4,5,3,6”和“1,3,2,5,4,6”,至此完成交叉操作;
步骤4.3、染色体变异,染色体变异操作也是分双层进行,对于第一层遗传算子的变异操作采用两点变异,即在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换这2个索引所对应的基因的值,例如,产生随机数rand1=2,rand=2,一条染色体为“1,3,4,6,5,2”,则交换索引为2和索引为3的值,即得到新的染色体“1,3,6,4,5,2”,对于第二层遗传算子的变异操作则采用单点变异,即同样产生一个随机数作为索引,然后对该索引所对应的基因进行变异,变异范围为该道工序可用机器数,例如,产生随机数rand1=1,一个染色体为“1,2,2,1,2,3”,则变异后的染色体为“1,3,2,1,2,3”;
步骤5、通过鲸鱼群算法求解柔性作业车间调度;
步骤5.1、鲸鱼个体位置转换,一个完整的编码为{1,2,2,1,2,3,2,2,1,2,1,2},则基于POS向量对鲸鱼个体进行表示,鲸鱼个体表示图如图6所示,由机器指派编码得到POS中的机器号,由工序编码在对应机器上的加工顺序得到POS中的Seq(即sequence)值,以上两部分共同组成了POS向量,即鲸鱼个体在解空间当中的位置表示;
步骤5.2、鲸鱼移动,基于POS向量表示法进行鲸鱼个体间距离计算:
其中,Dis为鲸鱼X和鲸鱼Y之间的距离;n为工件个数;s为工件i的工序数;和为POS向量中的Seq值;ρ为选择不同机器对距离计算的影响因子,一般而言若鲸鱼X和鲸鱼Y对应的POS向量中机器号相等时,则ρ=1;
计算出鲸鱼个体间距离后由“较优且最近”的引导鲸鱼引导其移动,鲸鱼个体移动步骤如图7所示具体为:首先以总工序数作为长度,随机生成一组由0和1组成的数组;然后保留数组中1所对应的鲸鱼个体工序及机器编码,复制到新鲸鱼个体中;最后对数组中0所对应的工序建立集合,在引导鲸鱼个体中寻找集合中对应工序以及机器编码,将其按照引导鲸鱼个体中的顺序依次填充新鲸鱼个体中的空缺部分;
鲸鱼群算法迭代过程如下:
其中,为鲸鱼x中元素i在第t+1次迭代的位置;为鲸鱼x中元素i在第t次迭代的位置;rand()为产生一个0到ρ的随机数;dX,Y为两条鲸鱼间的距离,由此可以看出,当鲸鱼x和鲸鱼y之间的距离很大时,它将反向随机地选择“较近且最优的”鲸鱼,反之则正向随机地选择“较近且最优的”鲸鱼;
步骤6、通过编码重组,将移动后得到的鲸鱼个体与遗传算法得到的染色体进行比较,替换掉遗传算法中适应度较低的染色体个体,通过鲸鱼群算法对遗传算法的迭代优化,输出最优调度方案。
通过实施例进行仿真实验,并于其他智能算法进行对比分析来验证本发明方法的可行性和优越性;实验环境为:Window10系统,16G内存,处理器四核I5-7300HQ 2.5GHz,实验工具MatlabR2016a。
实施例1
对柔性作业调度的Kacem基准算例中的4×5来进行求解,其加工信息如表1所示,算法参数设置如下:种群规模为200,最大迭代次数为100,变异概率为0.1,交叉概率为0.7:
表1实施例1加工任务信息表
通过本发明的方法对其求解得其WSA-GA进化收敛曲线如图2所示,由图2可知通过本发明的方法能够在25代时收敛到11,说明本发明的方法在求解小型规模问题时可以实现快速收敛,并且11为Kacem4×5算例已知的最优结果,其对应调度结果甘特图如图3所示,甘特图为上述结果的一种具体描述,柔性车间调度问题甘特图是为了证明上述结果也就是该方法得到11这个值所进行的实验的真实性。
实施例2
对柔性作业调度的Kacem基准算例中的8×8来进行求解,其加工信息如表2所示,算法参数设置如下:种群规模为200,最大迭代次数为200,变异概率为0.1,交叉概率为0.7:
表2实施例2加工任务信息表
通过本发明的方法对其求解得其WSA-GA进化收敛曲线如图4所示,由图4可知算法能够在71代时收敛到14,而14为Kacem8×8算例已知最优结果,说明本发明的方法在求解中型规模问题时可以较快的实现收敛且求解结果较为稳定,可用于实际企业生产调度问题中去,其对应调度结果甘特图如图5所示。
针对传统遗传算法求解FJSP时表现出的容易陷入局部最优陷阱的不足,本发明通过将新型启发式算法鲸鱼群算法与传统遗传算法相结合,提出一种基于混合遗传算法求解柔性作业车间调度的方法,通过将鲸鱼群算法的鲸鱼个体与遗传算法的染色体进行编码重组,以此改进传统遗传算法后期的局部搜索能力,进而提高算法求解质量。为了验证算法的有效性与可行性,使用Kacem01与Kacem05两种规模的标准算例对算法进行仿真实验,Kacem算例是柔性作业车间调度问题的一种基准算例,是公开的数据集,其中4×5和8×8目前已知的最优结果就是11和14,因此通过上述结果可知,本发明的方法在算例测试中均获得了当前最优解具有有效性和可行性。
Claims (7)
1.一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,具体按照以下步骤实施:
步骤1、定义柔性作业车间调度编码方式为双层编码方式;
步骤2、定义适应度函数,以求解完成加工的最短时间为优化目标;
步骤3、采用遗传算法和鲸鱼群算法对柔性车间调度问题中的参数以及种群初始化,随机生成初始种群;
步骤4、通过遗传算法求解柔性作业车间调度;
步骤5、通过鲸鱼群算法求解柔性作业车间调度;
步骤6、通过编码重组,将移动后得到的鲸鱼个体与遗传算法得到的染色体进行比较,替换掉遗传算法中适应度较低的染色体个体,通过鲸鱼群算法对遗传算法的迭代优化,输出最优调度方案。
2.根据权利要求1所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述步骤1包括:对遗传算法中的染色体进行编码,其中第一层为工序编码,第二层为机器指派编码,同时据此对鲸鱼群算法中的鲸鱼个体进行编码,并对按此编码规则对鲸鱼个体进行转换。
4.根据权利要求2所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述机器指派编码具体包括:构造一个数列M,数列M的长度与数列Sc长度相同,数列M的基因为与之索引相对应的工序加工采用第几个可用机器。
5.根据权利要求1所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述步骤2具体按照以下步骤实施:
步骤2.1、柔性作业车间调度问题描述如下:
假设m为机器数;n为工件数;i,e为机器序号,其中i,e=1,2,…,m;j,k为工件序号,其中j,k=1,2,…,n;hj为工件j的工序数;l为工序序号,其中l=1,2,…,hj;mjh为工件j的第h道工序的可选加工机器数;Ojh为工件j的第h道工序;Mijh为工件j的第h道工序在机器i上进行加工;Pijh为工件j的第h道工序在机器i上加工所需的时间;Sjh为工件j的第h道工序加工开始时间;Cjh为工件j的第h道工序加工结束时间;α为一个无限大的正数;Cj为每个工件的完工时间;Cmax为最大完工时间;xijh为标识,如果工序Ojh选择在机器i上进行加工则其值为1,否则为0;yijhkl为标识,如果工序Ojh先于工序Okl在机器i上进行加工,则其值为1,否则为0;
步骤2.2、设目标函数Fgoal为:
Fgoal=min(max(Cj)) (1)
其中,1≤j≤n;
目标函数约束如下:
a)加工的总时间大于任意工件完工时间:
其中,j=1,2,…,n;
b)每个工件加工的顺序不得改变,前一道工序的加工必须在后一道工序加工开始之前完成:
Sjh+xijh×Pijh≤Cjh (3)
其中,i=1,2,…,m;j=1,2,…,n;h=1,2,…,hj;
Cjh≤Sj(h+1) (4)
其中,j=1,2,…,n;h=1,2,…,hj-1;
c)任何一个时间节点上,一台机器只允许加工一个工件:
Sjh+Pijh≤Skl+α(1-yijhkl) (5)
其中,j=0,1,…,n;k=1,2,…,n;h=1,2,…,hj;l=1,2,…hk:i=1,2,…,m;
Cjh≤Sj(h+1)+α(1-yiklj(h+1)) (6),
其中,j=1,2,…,n;k=0,1,…,n;h=1,2,…,hj-1;l=1,2,…hk;i=1,2,…,m;
d)所有的工件都需要在0时刻才能开始进行加工:
Sjh≥0,Cjh≥0 (7)
e)同一时刻,同一工件的同一道工序都只能被一台机器所加工:
其中,j=1,2,…,n;h=1,2,…,hj。
6.根据权利要求1所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述步骤4具体按照以下步骤实施:
步骤4.1、染色体选择,选用轮盘赌选择法对遗传算法染色体进行选择,个体选中概率与适应度函数成正比:
步骤4.2、染色体交叉,对双层遗传算子均采用两点交叉的方式进行,即随机选择2个染色体作为父代染色体,并在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换2个索引之间的基因片段,随即得到2个子代染色体;判断得到的子代染色体是否符合编码规范,若不符合则需对其进行修补,修补方式为取交叉片段的补集随机重排列到非交叉片段;
步骤4.3、染色体变异,染色体变异操作也是分双层进行,对于第一层遗传算子的变异操作采用两点变异,即在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换这2个索引所对应的基因的值,对于第二层遗传算子的变异操作则采用单点变异,即同样产生一个随机数作为索引,然后对该索引所对应的基因进行变异,变异范围为该道工序可用机器数。
7.根据权利要求1所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述步骤5具体按照以下步骤实施:
步骤5.1、鲸鱼个体位置转换,基于POS向量对鲸鱼个体进行表示,由机器指派编码得到POS中的机器号,由工序编码在对应机器上的加工顺序得到POS中的Seq值,以上两部分共同组成了POS向量,即鲸鱼个体在解空间当中的位置表示;
步骤5.2、鲸鱼移动,基于POS向量表示法进行鲸鱼个体间距离计算:
其中,Dis为鲸鱼X和鲸鱼Y之间的距离;n为工件个数;s为工件i的工序数;和为POS向量中的Seq值;ρ为选择不同机器对距离计算的影响因子,一般而言若鲸鱼X和鲸鱼Y对应的POS向量中机器号相等时,则ρ=1;
步骤5.3、计算出鲸鱼个体间距离后由“较优且最近”的引导鲸鱼引导其移动,鲸鱼个体移动步骤为,首先以总工序数作为长度,随机生成一组由0和1组成的数组;然后保留数组中1所对应的鲸鱼个体工序及机器编码,复制到新鲸鱼个体中;最后对数组中0所对应的工序建立集合,在引导鲸鱼个体中寻找集合中对应工序以及机器编码,将其按照引导鲸鱼个体中的顺序依次填充新鲸鱼个体中的空缺部分;
鲸鱼群算法迭代过程如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010731003.8A CN111967654A (zh) | 2020-07-27 | 2020-07-27 | 一种基于混合遗传算法求解柔性作业车间调度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010731003.8A CN111967654A (zh) | 2020-07-27 | 2020-07-27 | 一种基于混合遗传算法求解柔性作业车间调度的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111967654A true CN111967654A (zh) | 2020-11-20 |
Family
ID=73363161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010731003.8A Pending CN111967654A (zh) | 2020-07-27 | 2020-07-27 | 一种基于混合遗传算法求解柔性作业车间调度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967654A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257296A (zh) * | 2020-11-27 | 2021-01-22 | 西南交通大学 | 基于改进遗传算法的带有缓存约束的作业车间调度方法 |
CN112907150A (zh) * | 2021-04-07 | 2021-06-04 | 江苏西格数据科技有限公司 | 一种基于遗传算法的生产排程方法 |
CN113011767A (zh) * | 2021-03-30 | 2021-06-22 | 大连交通大学 | 一种多目标柔性作业车间调度用混合遗传方法 |
CN113361813A (zh) * | 2021-07-02 | 2021-09-07 | 武汉理工大学 | 一种圆晶设备排产系统优化调度方法 |
CN113610233A (zh) * | 2021-01-12 | 2021-11-05 | 南京信息工程大学 | 一种基于改进遗传算法的柔性作业车间调度方法 |
CN114186749A (zh) * | 2021-12-16 | 2022-03-15 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN114326649A (zh) * | 2022-01-13 | 2022-04-12 | 福州大学 | 基于遗传算法与粒子群算法相结合的流水车间调度方法 |
CN115204525A (zh) * | 2022-09-14 | 2022-10-18 | 中科航迈数控软件(深圳)有限公司 | 一种加工任务调度方法、装置、终端及存储介质 |
CN115438970A (zh) * | 2022-09-13 | 2022-12-06 | 韶关液压件厂有限公司 | 一种适用于工件离散制造的大规模生产调度方法 |
CN116300763A (zh) * | 2023-03-31 | 2023-06-23 | 华中科技大学 | 考虑机器配置的混合流水车间数学启发式调度方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933200A (zh) * | 2015-12-31 | 2017-07-07 | 中国科学院沈阳计算技术研究所有限公司 | 基于遗传算法的解决柔性作业车间调度问题的控制方法 |
CN109784603A (zh) * | 2018-11-15 | 2019-05-21 | 长安大学 | 一种基于混合鲸鱼群算法求解柔性作业车间调度的方法 |
CN109886588A (zh) * | 2019-02-28 | 2019-06-14 | 长安大学 | 一种基于改进鲸鱼算法求解柔性作业车间调度的方法 |
CN110531716A (zh) * | 2019-08-12 | 2019-12-03 | 陕西科技大学 | 基于离散鲸鱼算法求解低碳车间调度问题的方法 |
CN111027773A (zh) * | 2019-12-11 | 2020-04-17 | 河北工业大学 | 一种基于遗传算法的柔性车间调度的混合优化方法 |
-
2020
- 2020-07-27 CN CN202010731003.8A patent/CN111967654A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933200A (zh) * | 2015-12-31 | 2017-07-07 | 中国科学院沈阳计算技术研究所有限公司 | 基于遗传算法的解决柔性作业车间调度问题的控制方法 |
CN109784603A (zh) * | 2018-11-15 | 2019-05-21 | 长安大学 | 一种基于混合鲸鱼群算法求解柔性作业车间调度的方法 |
CN109886588A (zh) * | 2019-02-28 | 2019-06-14 | 长安大学 | 一种基于改进鲸鱼算法求解柔性作业车间调度的方法 |
CN110531716A (zh) * | 2019-08-12 | 2019-12-03 | 陕西科技大学 | 基于离散鲸鱼算法求解低碳车间调度问题的方法 |
CN111027773A (zh) * | 2019-12-11 | 2020-04-17 | 河北工业大学 | 一种基于遗传算法的柔性车间调度的混合优化方法 |
Non-Patent Citations (4)
Title |
---|
FEI LUAN等: "improved whale algorithm for solving the flexible job shop schedulling problem", MATHEMATICS, vol. 07, no. 05, pages 384 * |
付坤: "基于鲸鱼群算法的柔性作业车间调度方法研究", 中国优秀硕士学位论文全文数据库工程科技Ⅱ辑, no. 03, pages 029 - 280 * |
贾培豪: "一种求解FJSP的混合遗传算法", 西安工程大学学报, vol. 34, no. 05, pages 80 - 86 * |
陈亮: "基于AGA-WOA混合算法的移动机器人路径规划研究", 中国优秀硕士学位论文全文数据库信息科技辑, no. 04, pages 140 - 184 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257296B (zh) * | 2020-11-27 | 2021-06-25 | 西南交通大学 | 基于改进遗传算法的带有缓存约束的作业车间调度方法 |
CN112257296A (zh) * | 2020-11-27 | 2021-01-22 | 西南交通大学 | 基于改进遗传算法的带有缓存约束的作业车间调度方法 |
CN113610233B (zh) * | 2021-01-12 | 2023-08-15 | 南京信息工程大学 | 一种基于改进遗传算法的柔性作业车间调度方法 |
CN113610233A (zh) * | 2021-01-12 | 2021-11-05 | 南京信息工程大学 | 一种基于改进遗传算法的柔性作业车间调度方法 |
CN113011767A (zh) * | 2021-03-30 | 2021-06-22 | 大连交通大学 | 一种多目标柔性作业车间调度用混合遗传方法 |
CN112907150A (zh) * | 2021-04-07 | 2021-06-04 | 江苏西格数据科技有限公司 | 一种基于遗传算法的生产排程方法 |
CN113361813A (zh) * | 2021-07-02 | 2021-09-07 | 武汉理工大学 | 一种圆晶设备排产系统优化调度方法 |
CN114186749A (zh) * | 2021-12-16 | 2022-03-15 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN114326649A (zh) * | 2022-01-13 | 2022-04-12 | 福州大学 | 基于遗传算法与粒子群算法相结合的流水车间调度方法 |
CN114326649B (zh) * | 2022-01-13 | 2024-02-06 | 福州大学 | 基于遗传算法与粒子群算法相结合的流水车间调度方法 |
CN115438970A (zh) * | 2022-09-13 | 2022-12-06 | 韶关液压件厂有限公司 | 一种适用于工件离散制造的大规模生产调度方法 |
CN115438970B (zh) * | 2022-09-13 | 2023-05-02 | 韶关液压件厂有限公司 | 一种适用于工件离散制造的大规模生产调度方法 |
CN115204525A (zh) * | 2022-09-14 | 2022-10-18 | 中科航迈数控软件(深圳)有限公司 | 一种加工任务调度方法、装置、终端及存储介质 |
CN115204525B (zh) * | 2022-09-14 | 2022-12-16 | 中科航迈数控软件(深圳)有限公司 | 一种加工任务调度方法、装置、终端及存储介质 |
CN116300763A (zh) * | 2023-03-31 | 2023-06-23 | 华中科技大学 | 考虑机器配置的混合流水车间数学启发式调度方法及系统 |
CN116300763B (zh) * | 2023-03-31 | 2024-05-24 | 华中科技大学 | 考虑机器配置的混合流水车间数学启发式调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967654A (zh) | 一种基于混合遗传算法求解柔性作业车间调度的方法 | |
CN109034633B (zh) | 改进遗传算法求解带移动时间的柔性作业车间调度方法 | |
CN111507641B (zh) | 一种批处理设备调度方法及其装置 | |
CN111311077B (zh) | 一种基于天牛须搜索的粒子群算法求解柔性作业车间调度的方法 | |
CN110796355B (zh) | 一种基于动态解码机制的柔性作业车间调度方法 | |
CN109784603B (zh) | 一种基于混合鲸鱼群算法求解柔性作业车间调度的方法 | |
CN110389819B (zh) | 一种计算密集型批处理任务的调度方法和系统 | |
CN111242503A (zh) | 一种基于两层遗传算法的多目标柔性作业车间调度方法 | |
CN107590603A (zh) | 基于改进变邻域搜索和差分进化算法的调度方法及系统 | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN113610233B (zh) | 一种基于改进遗传算法的柔性作业车间调度方法 | |
CN110909787B (zh) | 基于聚类的进化算法进行多目标批调度优化的方法和系统 | |
CN110738365B (zh) | 一种基于粒子群算法的柔性作业车间生产调度方法 | |
CN110543151A (zh) | 基于改进nsga-ⅱ求解车间节能调度问题的方法 | |
CN111667071A (zh) | 一种基于改进遗传算法的传统作业车间调度方法 | |
CN116560313A (zh) | 一种多目标柔性作业车间问题的遗传算法优化调度方法 | |
CN117075545A (zh) | 一种多目标柔性作业车间调度方法、电子设备、介质 | |
CN115796510A (zh) | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 | |
CN114266509A (zh) | 随机贪婪初始种群遗传算法求解柔性作业车间调度方法 | |
CN112668789A (zh) | 一种柔性作业车间带准备工序的自适应分批调度方法 | |
CN111369000A (zh) | 一种基于分解的高维多目标进化方法 | |
CN110750079A (zh) | 一种允许工序跳跃的混合流水车间调度优化方法 | |
CN107798413B (zh) | 皮革多轮廓加工快进路径优化方法 | |
CN114819728A (zh) | 一种自适应局部搜索的柔性车间生产调度方法 | |
CN114021934A (zh) | 基于改进spea2求解车间节能调度问题的方法 |
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 |