CN111967654A - 一种基于混合遗传算法求解柔性作业车间调度的方法 - Google Patents

一种基于混合遗传算法求解柔性作业车间调度的方法 Download PDF

Info

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
Application number
CN202010731003.8A
Other languages
English (en)
Inventor
毋涛
贾培豪
齐琦
李科
崔璐
任永亮
潘华峰
陈莉媛
刘青青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Polytechnic University
Original Assignee
Xian Polytechnic University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Polytechnic University filed Critical Xian Polytechnic University
Priority to CN202010731003.8A priority Critical patent/CN111967654A/zh
Publication of CN111967654A publication Critical patent/CN111967654A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing 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)
  • General Factory Administration (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)
  • Management, Administration, Business Operations System, And Electronic Commerce (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个工件需要进行加工,那么每一个工件均包含
Figure BDA0002603116960000032
道工序,数列S的长度为l,且
Figure BDA0002603116960000031
数列S的基因S[t]∈[1,l],且S[t]不重复,然后,再构造一个数列C,数列C包含
Figure BDA0002603116960000033
个1,
Figure BDA0002603116960000034
个2,
Figure BDA0002603116960000035
个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)加工的总时间大于任意工件完工时间:
Figure BDA0002603116960000041
(2)
其中,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)同一时刻,同一工件的同一道工序都只能被一台机器所加工:
Figure BDA0002603116960000051
其中,j=1,2,…,n;h=1,2,…,hj
步骤4具体按照以下步骤实施:
步骤4.1、染色体选择,选用轮盘赌选择法对遗传算法染色体进行选择,个体选中概率与适应度函数成正比:
Figure BDA0002603116960000061
步骤4.2、染色体交叉,对双层遗传算子均采用两点交叉的方式进行,即随机选择2个染色体作为父代染色体,并在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换2个索引之间的基因片段,随即得到2个子代染色体;判断得到的子代染色体是否符合编码规范,若不符合则需对其进行修补,修补方式为取交叉片段的补集随机重排列到非交叉片段;
步骤4.3、染色体变异,染色体变异操作也是分双层进行,对于第一层遗传算子的变异操作采用两点变异,即在染色体长度范围之内随机产生2个大于等于0的数字作为索引,然后交换这2个索引所对应的基因的值,对于第二层遗传算子的变异操作则采用单点变异,即同样产生一个随机数作为索引,然后对该索引所对应的基因进行变异,变异范围为该道工序可用机器数。
步骤5具体按照以下步骤实施:
步骤5.1、鲸鱼个体位置转换,基于POS向量对鲸鱼个体进行表示,由机器指派编码得到POS中的机器号,由工序编码在对应机器上的加工顺序得到POS中的Seq值,以上两部分共同组成了POS向量,即鲸鱼个体在解空间当中的位置表示;
步骤5.2、鲸鱼移动,基于POS向量表示法进行鲸鱼个体间距离计算:
Figure BDA0002603116960000062
其中,Dis为鲸鱼X和鲸鱼Y之间的距离;n为工件个数;s为工件i的工序数;
Figure BDA0002603116960000073
Figure BDA0002603116960000074
为POS向量中的Seq值;ρ为选择不同机器对距离计算的影响因子,一般而言
Figure BDA0002603116960000071
若鲸鱼X和鲸鱼Y对应的POS向量中机器号相等时,则ρ=1;
步骤5.3、计算出鲸鱼个体间距离后由“较优且最近”的引导鲸鱼引导其移动,鲸鱼个体移动步骤为,首先以总工序数作为长度,随机生成一组由0和1组成的数组;然后保留数组中1所对应的鲸鱼个体工序及机器编码,复制到新鲸鱼个体中;最后对数组中0所对应的工序建立集合,在引导鲸鱼个体中寻找集合中对应工序以及机器编码,将其按照引导鲸鱼个体中的顺序依次填充新鲸鱼个体中的空缺部分;
鲸鱼群算法迭代过程如下:
Figure BDA0002603116960000072
其中,
Figure BDA0002603116960000075
为鲸鱼x中元素i在第t+1次迭代的位置;
Figure BDA0002603116960000076
为鲸鱼x中元素i在第t次迭代的位置;rand()为产生一个0到ρ的随机数;dX,Y为两条鲸鱼间的距离。
本发明的有益效果是:本发明基于混合遗传算法求解柔性作业车间调度的方法,通过将鲸鱼群算法计算出的鲸鱼个体与遗传算法得到的染色体进行重组,从而对遗传算法进行了改进,改善了传统遗传算法求解柔性作业车间调度问题容易陷入局部最优的不足,提高了算法的搜索深度,增强了求解精度与求解稳定性。
附图说明
图1是本发明一种基于混合遗传算法求解柔性作业车间调度的方法的流程图;
图2是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例1的WSA-GA进化收敛曲线;
图3是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例1调度结果甘特图;
图4是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例2的WSA-GA进化收敛曲线;
图5是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中实施例2调度结果甘特图;
图6是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中鲸鱼个体表示图;
图7是本发明一种基于混合遗传算法求解柔性作业车间调度的方法中鲸鱼个体移动步骤图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于混合遗传算法求解柔性作业车间调度的方法,如图1所示,具体按照以下步骤实施:
步骤1、定义柔性作业车间调度编码方式为双层编码方式;
对遗传算法中的染色体进行编码,其中第一层为工序编码,首先构造数列S,假设有Ji个工件需要进行加工,那么每一个工件均包含
Figure BDA0002603116960000093
道工序,数列S的长度为l,且
Figure BDA0002603116960000091
数列S的基因S[t]∈[1,l],且S[t]不重复,与此同时,再构造一个数列C,数列C包含
Figure BDA0002603116960000094
个1,
Figure BDA0002603116960000095
个2,
Figure BDA0002603116960000096
个3,以此类推得出数列C,根据数列S对数列C进行重排序,得到一个新的数列Sc,即为工序编码;
第二层为机器指派编码,同样构造一个数列M,数列M的长度与数列Sc长度相同,数列M的基因为与之索引相对应的工序加工采用第几个可用机器;例如,有两个工件J1和J2需要进行加工,共有三台机器可供选择,其中J1包含两道工序,J2包含四道工序,那么
Figure BDA0002603116960000092
有三台机器可供选择且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)加工的总时间大于任意工件完工时间:
Figure BDA0002603116960000111
其中,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)同一时刻,同一工件的同一道工序都只能被一台机器所加工:
Figure BDA0002603116960000121
其中,j=1,2,…,n;h=1,2,…,hj
步骤3、采用遗传算法和鲸鱼群算法对柔性车间调度问题中的参数以及种群初始化,随机生成初始种群;
步骤4、通过遗传算法求解柔性作业车间调度,具体按照以下步骤实施:
步骤4.1、染色体选择,选用轮盘赌选择法对遗传算法染色体进行选择,个体选中概率与适应度函数成正比:
Figure BDA0002603116960000122
步骤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向量表示法进行鲸鱼个体间距离计算:
Figure BDA0002603116960000131
其中,Dis为鲸鱼X和鲸鱼Y之间的距离;n为工件个数;s为工件i的工序数;
Figure BDA0002603116960000143
Figure BDA0002603116960000144
为POS向量中的Seq值;ρ为选择不同机器对距离计算的影响因子,一般而言
Figure BDA0002603116960000141
若鲸鱼X和鲸鱼Y对应的POS向量中机器号相等时,则ρ=1;
计算出鲸鱼个体间距离后由“较优且最近”的引导鲸鱼引导其移动,鲸鱼个体移动步骤如图7所示具体为:首先以总工序数作为长度,随机生成一组由0和1组成的数组;然后保留数组中1所对应的鲸鱼个体工序及机器编码,复制到新鲸鱼个体中;最后对数组中0所对应的工序建立集合,在引导鲸鱼个体中寻找集合中对应工序以及机器编码,将其按照引导鲸鱼个体中的顺序依次填充新鲸鱼个体中的空缺部分;
鲸鱼群算法迭代过程如下:
Figure BDA0002603116960000142
其中,
Figure BDA0002603116960000145
为鲸鱼x中元素i在第t+1次迭代的位置;
Figure BDA0002603116960000146
为鲸鱼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加工任务信息表
Figure BDA0002603116960000151
通过本发明的方法对其求解得其WSA-GA进化收敛曲线如图2所示,由图2可知通过本发明的方法能够在25代时收敛到11,说明本发明的方法在求解小型规模问题时可以实现快速收敛,并且11为Kacem4×5算例已知的最优结果,其对应调度结果甘特图如图3所示,甘特图为上述结果的一种具体描述,柔性车间调度问题甘特图是为了证明上述结果也就是该方法得到11这个值所进行的实验的真实性。
实施例2
对柔性作业调度的Kacem基准算例中的8×8来进行求解,其加工信息如表2所示,算法参数设置如下:种群规模为200,最大迭代次数为200,变异概率为0.1,交叉概率为0.7:
表2实施例2加工任务信息表
Figure BDA0002603116960000161
Figure BDA0002603116960000171
通过本发明的方法对其求解得其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包括:对遗传算法中的染色体进行编码,其中第一层为工序编码,第二层为机器指派编码,同时据此对鲸鱼群算法中的鲸鱼个体进行编码,并对按此编码规则对鲸鱼个体进行转换。
3.根据权利要求2所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述工序编码具体包括:首先构造数列S,设有Ji个工件需要进行加工,那么每一个工件均包含道工序,数列S的长度为l,且
Figure FDA0002603116950000012
数列S的基因S[t]∈[1,l],且S[t]不重复,然后,再构造一个数列C,数列C包含
Figure FDA0002603116950000013
个1,
Figure FDA0002603116950000014
个2,
Figure FDA0002603116950000015
个3,以此类推得出数列C,根据数列S对数列C进行重排序,得到一个新的数列Sc,即为工序编码。
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)加工的总时间大于任意工件完工时间:
Figure FDA0002603116950000031
其中,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)同一时刻,同一工件的同一道工序都只能被一台机器所加工:
Figure FDA0002603116950000042
其中,j=1,2,…,n;h=1,2,…,hj
6.根据权利要求1所述的一种基于混合遗传算法求解柔性作业车间调度的方法,其特征在于,所述步骤4具体按照以下步骤实施:
步骤4.1、染色体选择,选用轮盘赌选择法对遗传算法染色体进行选择,个体选中概率与适应度函数成正比:
Figure FDA0002603116950000043
步骤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向量表示法进行鲸鱼个体间距离计算:
Figure FDA0002603116950000051
其中,Dis为鲸鱼X和鲸鱼Y之间的距离;n为工件个数;s为工件i的工序数;
Figure FDA0002603116950000052
Figure FDA0002603116950000053
为POS向量中的Seq值;ρ为选择不同机器对距离计算的影响因子,一般而言
Figure FDA0002603116950000054
若鲸鱼X和鲸鱼Y对应的POS向量中机器号相等时,则ρ=1;
步骤5.3、计算出鲸鱼个体间距离后由“较优且最近”的引导鲸鱼引导其移动,鲸鱼个体移动步骤为,首先以总工序数作为长度,随机生成一组由0和1组成的数组;然后保留数组中1所对应的鲸鱼个体工序及机器编码,复制到新鲸鱼个体中;最后对数组中0所对应的工序建立集合,在引导鲸鱼个体中寻找集合中对应工序以及机器编码,将其按照引导鲸鱼个体中的顺序依次填充新鲸鱼个体中的空缺部分;
鲸鱼群算法迭代过程如下:
Figure FDA0002603116950000061
其中,
Figure FDA0002603116950000062
为鲸鱼x中元素i在第t+1次迭代的位置;
Figure FDA0002603116950000063
为鲸鱼x中元素i在第t次迭代的位置;rand()为产生一个0到ρ的随机数;dX,Y为两条鲸鱼间的距离。
CN202010731003.8A 2020-07-27 2020-07-27 一种基于混合遗传算法求解柔性作业车间调度的方法 Pending CN111967654A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 河北工业大学 一种基于遗传算法的柔性车间调度的混合优化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 一种批处理设备调度方法及其装置
CN111242503B (zh) 一种基于两层遗传算法的多目标柔性作业车间调度方法
CN111311077B (zh) 一种基于天牛须搜索的粒子群算法求解柔性作业车间调度的方法
CN109784603B (zh) 一种基于混合鲸鱼群算法求解柔性作业车间调度的方法
CN110796355B (zh) 一种基于动态解码机制的柔性作业车间调度方法
CN110389819B (zh) 一种计算密集型批处理任务的调度方法和系统
CN107590603A (zh) 基于改进变邻域搜索和差分进化算法的调度方法及系统
CN108460463B (zh) 基于改进遗传算法的高端装备流水线生产调度方法
CN110738365B (zh) 一种基于粒子群算法的柔性作业车间生产调度方法
CN113610233B (zh) 一种基于改进遗传算法的柔性作业车间调度方法
CN110543151A (zh) 基于改进nsga-ⅱ求解车间节能调度问题的方法
CN110909787B (zh) 基于聚类的进化算法进行多目标批调度优化的方法和系统
CN111667071A (zh) 一种基于改进遗传算法的传统作业车间调度方法
CN114266509A (zh) 随机贪婪初始种群遗传算法求解柔性作业车间调度方法
CN117075545A (zh) 一种多目标柔性作业车间调度方法、电子设备、介质
CN112668789A (zh) 一种柔性作业车间带准备工序的自适应分批调度方法
CN113569483A (zh) 基于人工蜂群算法求解多目标柔性作业车间调度的方法
CN111369000A (zh) 一种基于分解的高维多目标进化方法
CN110750079A (zh) 一种允许工序跳跃的混合流水车间调度优化方法
CN116560313A (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