CN113610233A - 一种基于改进遗传算法的柔性作业车间调度方法 - Google Patents
一种基于改进遗传算法的柔性作业车间调度方法 Download PDFInfo
- Publication number
- CN113610233A CN113610233A CN202110037735.1A CN202110037735A CN113610233A CN 113610233 A CN113610233 A CN 113610233A CN 202110037735 A CN202110037735 A CN 202110037735A CN 113610233 A CN113610233 A CN 113610233A
- Authority
- CN
- China
- Prior art keywords
- machine
- population
- job shop
- workpiece
- selecting
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 138
- 230000002068 genetic effect Effects 0.000 title claims abstract description 25
- 238000012966 insertion method Methods 0.000 claims abstract description 15
- 230000035772 mutation Effects 0.000 claims abstract description 11
- 238000010187 selection method Methods 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 238000013178 mathematical model Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 35
- 238000003754 machining Methods 0.000 claims description 26
- 108090000623 proteins and genes Proteins 0.000 claims description 24
- 210000000349 chromosome Anatomy 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000003491 array Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000011065 in-situ storage Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 8
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000002028 premature Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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
- 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)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Development Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Physiology (AREA)
- Computational Linguistics (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)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Primary Health Care (AREA)
- Manufacturing & Machinery (AREA)
- Educational Administration (AREA)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于改进遗传算法的柔性作业车间调度的方法,涉及柔性作业车间调度优化技术领域;建立柔性作业车间调度的数学模型;然后确定模型的约束条件;根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行种群初始化;通过锦标赛选择法选择出要进行后续操作的种群;对机器选择编码层采用多点交叉法;对机器选择编码层进行多重变异操作;对新一代的种群根据适应度进行排序,判断是否满足终止条件,终止条件为是否达到最大迭代次数gen,若满足进行下一个步骤,否则,重新进行使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群及后续步骤;最后,输出最优结果,并给出相关的收敛曲线和调度甘特图。
Description
技术领域
本发明涉及一种基于改进遗传算法柔性作业调度的优化,属于柔性作业车间调度优化技术领域。
背景技术
车间生产调度是制造系统的基础,生产调度的优化更是现代先进制造业的核心。有关资料表明,制造过程中说耗费的时间大约有95%处于未进行加工的阶段,因此生产调度在很大程度上影响着制造的成本与效益,对于实现先进制造企业的现代化具有重要的理论价值和实际意义。相对于传统作业车间调度问题(Job Shop Scheduling Problem,JSP),柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP)作为其延伸,具有更广泛的实际意义和应用环境。FJSP突破了传统加工资源的约束,每道工序可以有若干台机器进行选择,更加贴近实际生产活动,一直是国内外研究的热点。
遗传算法是John Holland于20世纪70年代提出一种模拟大自然生物进化的智能算法。其通过模拟自然环境,对种群进行选择、交叉和变异操作,得到下代种群,经过若干代的进化获得最终结果。因其鲁棒性好、隐性并行性和全局搜索能力强等特点,被广泛应用于各领域。
发明内容
本发明所要解决的技术问题是针对以往算法在柔性作业车间调度中局部搜索能力弱,容易陷入局部最优,过早收敛的问题提供一种基于改进遗传算法的柔性作业车间调度方法。
本发明为解决上述技术问题采用以下技术方案:
一种基于改进遗传算法的柔性作业车间调度方法,包括以下步骤:
步骤1、建立柔性作业车间调度的模型;
步骤2、确定模型的约束条件;
步骤3、按照先验知识进行种群初始化,采用并行双链式编码,根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行编码;
步骤4、使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群;
步骤5、对工序编码层采用IPOX交叉法,对机器选择编码层采用多点交叉法;
步骤6、对工序编码层进行局部搜索,对机器选择编码层进行多重变异操作;
步骤7、对新一代的种群根据适应度进行排序,保留当代的最优解;
步骤8、判断是否满足终止条件,终止条件为是否达到最大迭代次数gen,若满足执行步骤九,否则,返回步骤4;
步骤9、输出最优结果,并给出相关的收敛曲线和调度甘特图。
作为本发明一种基于改进遗传算法的柔性作业车间调度方法的进一步优选方案,在步骤1中,建立柔性作业车间调度的模型,具体步骤如下:
步骤1.1、建立数学模型,以最大完成时间最小为目标函数:f=min{max Ci},其中Ci表示工件i的完成时间,i=1,2,3,...,n;n是待加工工件的数量。
作为本发明一种基于改进遗传算法的柔性作业车间调度方法的进一步优选方案,在步骤2中,包含工序约束、机器约束和时间约束;
定义下列数学符号以方便描述:
Ω:所有工件集;
n:工件总数;
m:机器总数;
hi:工件i工序总数;
i:工件序号索引i=1,2,...,n;
j:工序序号索引j=1,2,...,hi;
k:机器序号索引k=1,2,...,m;
Oij:工件i的第j道工序;
Pij:Oij的可选加工机器集;
Oijk:Oij在机器k上加工;
Tijk:Oij在机器k上加工的时间;
PS:所有工件工序之和;
Ci:工件i的完工时间;
Sij:Oij的开始时间;
Cij:Oij的开始时间;
柔性作业车间问题的约束条件如下:
Sij+Xijk×Tijk≤Cij (1)
Ci(j-1)≤Sij (2)
Cij≤Cmax (3)
Sij+Tijk≤Sxy+H(1-Yijxyk) (4)
Ci(j-1)≤Sij+H(1-Yijxyk) (5)
Sij≥0,Cij≥0 (7)
式(1)和式(2)表示同一工件的工序必须按照顺序逐步加工;式(3)表示任意工序的完工时间都不得超过最大完工时间;式(4)和式(5)表示任一时刻的任一机器只允许同时处理一道工序,其中H是一个很大的数;式(6)表示在某一时刻一道工序只能同时由一台机器加工;式(7)表示任意工序的开始时间和完成时间均为非负的,且任意工件都可以从0时刻开始加工。
作为本发明一种基于改进遗传算法的柔性作业车间调度方法的进一步优选方案,在步骤3中,按照先验知识进行种群初始化,采用并行双链式编码,根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行编码;具体步骤如下:
步骤3.1:工序层上每一个数字表示一道工序,机器层上的每一个数字表示对应工序的选择机器;
步骤3.2、对机器选择部分的编码按照启发式规则进行初始化以代替随机初始化,分别是完全加工时间最小机器选择、部分加工时间最小机器选择和随机加工时间机器选择;
步骤3.3、设置改进遗传算法求解柔性作业车间调度问题的相关参数,包括种群规模pop,交叉概率pc,变异概率pm,最大迭代次数gen;
步骤3.4、算法的终止条件为是否达到最大迭代次数。
作为本发明一种基于改进遗传算法的柔性作业车间调度方法的进一步优选方案,在步骤4中,使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群,具体步骤如下:
随着工件加工数量的积累,各机器上会出现加工空闲,造成机器负载率的降低的同时,也加大了最大完成时间,故而采用最优插入法来提高求解质量;
步骤4.1、在满足机器约束和工件约束的情况下,将当前加工工序插入到一个与它加工时间最接近的空闲时间段里;
通过锦标赛选择法选出后续操作的种群,其步骤如下:
步骤4.2、从当前种群中随机选择若干个个体;
步骤4.3、对选择的个体进行适应度计算,将适应度最高的个体插入到新种群中;
步骤4.4、重复上述步骤直到新种群中的个体数量等于旧种群。
作为本发明一种基于改进遗传算法的柔性作业车间调度方法的进一步优选方案,在步骤5中,对工序编码层采用IPOX交叉法,对机器选择编码层采用多点交叉法,具体步骤如下:
编码为双层编码,进行交叉操作时分别对各层进行交叉,确保没有非法解产生,使后续的操作仍然可行;
对工序编码层的IPOX交叉步骤如下:
步骤5.1、从父代种群中随机选取两个个体father1和father2;
步骤5.2、判断是否满足交叉概率pc,若满足则执行步骤5.3,否则返回步骤5.1;
步骤5.3、将n个工件随机分为两个工件集Ω1和Ω2;
步骤5.4、将father1中包含在工件集Ω1中的工序号保留相对位置复制到子代个体child1中,将father2中包含在Ω2中的工序号保留相对位置复制到子代个体child2中;
步骤5.5、将father2中包含在工件集Ω2中的工序号按照顺序插入到child1空白位置,将father1中包含在工件集Ω1中的工序号按照顺序插入到child2的空白位置;
步骤5.6、将child1和child2放入到子代种群中;
步骤5.7、判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回步骤5.1;
机器选择部分的交叉步骤操作如下:
步骤5.8、随机选择两个父代个体father1和father2;
步骤5.9、判断是否满足交叉概率,若满足,执行步骤5.10,否则,返回步骤5.8;
步骤5.10、随机产生一组0、1数组L;
步骤5.11、子代个体child1继承father1对应L数组为1位置的基因,子代个体child2继承father2对应L数组为1位置的基因;
步骤5.12、将father2中剩余未被复制的基因按照顺序插入到child1的空白位置,将father1中剩余未被复制的基因按照顺序插入到child2的空白位置;
步骤5.13、将child1和child2放入到子代种群中
步骤5.14、判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回步骤5.8。
作为本发明一种基于改进遗传算法的柔性作业车间调度方法的进一步优选方案,在步骤6中,对工序编码层进行局部搜索,对机器选择编码层进行多重变异操作;具体步骤如下:
对机器选择编码层进行多重变异操作步骤如下:
步骤6.1、随机选择一个父代个体father1;
步骤6.2、随机从n个工件中选择若干个工件
步骤6.3、从被选中的每一个工件随机选择一道工序;
步骤6.4、未被选中的father1基因保持原位不动,对选中的部分进行枚举排序,得到一组新染色体;
步骤6.5、对新得出的染色体组进行适应度计算,如果存在适应度大于father1的新个体child1,则替换father1;否则,不做任何操作。
对工序编码层进行局部搜索步骤如下:
步骤6.6、随机选择一个父代个体father1;
步骤6.7、判断是否满足变异概率,如果满足,执行步骤6.8,否则,返回步骤6.6;
步骤6.8、随机选择一个与当前机器不同的机器加工,如果只有一台机器可供选择,则不执行任何操作;
步骤6.9、father1中与数组L为1对应位置的工序选择加工时间最短的机器进行加工;
步骤6.10、将得到的子代个体child1替换种群的father1。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明突破了传统加工资源的约束,每道工序可以有若干台机器进行选择,更加满足生产活动的需求;
2、本发明解决了以往的算法在柔性作业车间调度中局部搜索能力弱的问题,不容易陷入局部最优,提高了算法的收敛速度;
3、本发明鲁棒性好、隐形并行性和全局搜索能力强,被广泛应用于诸多场景。
附图说明
图1是本发明的算法总流程图;
图2为并行双链式编码;
图3为最优插入法示意图;
图4为锦标赛选择示意图;
图5为多点交叉示意图;
图6为MK04的收敛曲线;
图7为MK04的最优解调度甘特图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于改进遗传算法的柔性作业车间的调度方法,其可以解决以往算法在柔性作业车间调度中局部搜索能力弱,容易陷入局部最优,过早收敛等缺陷,另一方面,也提高了算法的收敛速度。
如图1所示,一种基于改进遗传算法的柔性作业车间调度方法,包括以下步骤:
步骤1、建立柔性作业车间调度的模型;
在步骤1中,建立柔性作业车间调度的模型,具体步骤如下:
步骤1.1、建立数学模型,以最大完成时间最小为目标函数:f=min{max Ci},其中Ci表示工件i的完成时间,i=1,2,3,...,n;n是待加工工件的数量。
步骤2、确定模型的约束条件;
在步骤2中,包含工序约束、机器约束和时间约束;
定义下列数学符号以方便描述:
Ω:所有工件集;
n:工件总数;
m:机器总数;
hi:工件i工序总数;
i:工件序号索引i=1,2,...,n;
j:工序序号索引j=1,2,...,hi;
k:机器序号索引k=1,2,...,m;
Oij:工件i的第j道工序;
Pij:Oij的可选加工机器集;
Oijk:Oij在机器k上加工;
Tijk:Oij在机器k上加工的时间;
PS:所有工件工序之和;
Ci:工件i的完工时间;
Sij:Oij的开始时间;
Cij:Oij的开始时间;
每一工件的每道工序只能同时由一台机器加工。
同一机器在同一时间只能加工一个工件。
工序一旦开始加工就不能停止。
所有工件工序无优先级配置。
同一工件的工序具有先后约束,不同工件之间没有先后约束。
柔性作业车间问题的约束条件如下:
Sij+Xijk×Tijk≤Cij (1)
Ci(j-1)≤Sij (2)
Cij≤Cmax (3)
Sij+Tijk≤Sxy+H(1-Yijxyk) (4)
Ci(j-1)≤Sij+H(1-Yijxyk) (5)
Sij≥0,Cij≥0 (7)
式(1)和式(2)表示同一工件的工序必须按照顺序逐步加工;式(3)表示任意工序的完工时间都不得超过最大完工时间;式(4)和式(5)表示任一时刻的任一机器只允许同时处理一道工序,其中H是一个很大的数;式(6)表示在某一时刻一道工序只能同时由一台机器加工;式(7)表示任意工序的开始时间和完成时间均为非负的,且任意工件都可以从0时刻开始加工。
步骤3、按照先验知识进行种群初始化,采用并行双链式编码,根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行编码;
在步骤3中,按照先验知识进行种群初始化,采用并行双链式编码,根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行编码;具体步骤如下:
步骤3.1:工序层上每一个数字表示一道工序,机器层上的每一个数字表示对应工序的选择机器;
步骤3.2、对机器选择部分的编码按照启发式规则进行初始化以代替随机初始化,分别是完全加工时间最小机器选择、部分加工时间最小机器选择和随机加工时间机器选择;
步骤3.3、设置改进遗传算法求解柔性作业车间调度问题的相关参数,包括种群规模pop,交叉概率pc,变异概率pm,最大迭代次数gen。
步骤3.4、算法的终止条件为是否达到最大迭代次数。
步骤4、使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群;
在步骤4中,使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群,具体步骤如下:
随着工件加工数量的积累,各机器上会出现加工空闲,造成机器负载率的降低的同时,也加大了最大完成时间,故而采用最优插入法来提高求解质量;
步骤4.1、在满足机器约束和工件约束的情况下,将当前加工工序插入到一个与它加工时间最接近的空闲时间段里;
通过锦标赛选择法选出后续操作的种群,其步骤如下:
步骤4.2、从当前种群中随机选择若干个个体;
步骤4.3、对选择的个体进行适应度计算,将适应度最高的个体插入到新种群中;
步骤4.4、重复上述步骤直到新种群中的个体数量等于旧种群。
步骤5、对工序编码层采用IPOX交叉法,对机器选择编码层采用多点交叉法;
在步骤5中,对工序编码层采用IPOX交叉法,对机器选择编码层采用多点交叉法,具体步骤如下:
编码为双层编码,进行交叉操作时分别对各层进行交叉,确保没有非法解产生,使后续的操作仍然可行;
对工序编码层的IPOX交叉步骤如下
步骤5.1、从父代种群中随机选取两个个体father1和father2;
步骤5.2、判断是否满足交叉概率pc,若满足则执行步骤5.3,否则返回步骤5.1;
步骤5.3、将n个工件随机分为两个工件集Ω1和Ω2;
步骤5.4、将father1中包含在工件集Ω1中的工序号保留相对位置复制到子代个体child1中,将father2中包含在Ω2中的工序号保留相对位置复制到子代个体child2中;
步骤5.5、将father2中包含在工件集Ω2中的工序号按照顺序插入到child1空白位置,将father1中包含在工件集Ω1中的工序号按照顺序插入到child2的空白位置;
步骤5.6、将child1和child2放入到子代种群中;
步骤5.7、判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回步骤5.1;
机器选择部分的交叉步骤操作如下:
步骤5.8、随机选择两个父代个体father1和father2;
步骤5.9、判断是否满足交叉概率,若满足,执行步骤5.10,否则,返回步骤5.8;
步骤5.10、随机产生一组0、1数组L;
步骤5.11、子代个体child1继承father1对应L数组为1位置的基因,子代个体child2继承father2对应L数组为1位置的基因;
步骤5.12、将father2中剩余未被复制的基因按照顺序插入到child1的空白位置,将father1中剩余未被复制的基因按照顺序插入到child2的空白位置;
步骤5.13、将child1和child2放入到子代种群中
步骤5.14、判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回步骤5.8。
步骤6、对工序编码层进行局部搜索,对机器选择编码层进行多重变异操作;
在步骤6中,对工序编码层进行局部搜索,对机器选择编码层进行多重变异操作;具体步骤如下:
对机器选择编码层进行多重变异操作步骤如下:
步骤6.1、随机选择一个父代个体father1;
步骤6.2、随机从n个工件中选择若干个工件
步骤6.3、从被选中的每一个工件随机选择一道工序;
步骤6.4、未被选中的father1基因保持原位不动,对选中的部分进行枚举排序,得到一组新染色体;
步骤6.5、对新得出的染色体组进行适应度计算,如果存在适应度大于father1的新个体child1,则替换father1;否则,不做任何操作。
对工序编码层进行局部搜索步骤如下:
步骤6.6、随机选择一个父代个体father1;
步骤6.7、判断是否满足变异概率,如果满足,执行步骤6.8,否则,返回步骤6.6;
步骤6.8、随机选择一个与当前机器不同的机器加工,如果只有一台机器可供选择,则不执行任何操作;
步骤6.9、father1中与数组L为1对应位置的工序选择加工时间最短的机器进行加工;
步骤6.10、将得到的子代个体child1替换种群的father1。
步骤7、对新一代的种群根据适应度进行排序,保留当代的最优解;
步骤8、判断是否满足终止条件,终止条件为是否达到最大迭代次数gen,若满足执行步骤九,否则,返回步骤4;
步骤9、输出最优结果,并给出相关的收敛曲线和调度甘特图。
本发明将遗传算法经过改进应用到柔性作业车间调度问题中。每个个体都采用并行双链式的编码方式,能够解决任意工件数、任意机器数和任意工序数的柔性作业车间调度问题,编码了在算法运行中非法解的产生。种群的初始化采取三种混合规则产生;为了缩短机器上的空闲时间,提高解的质量,使用最优插入法进行解码;对不同的编码层采取不同的交叉方法,在尽量继承优良基因的同时能够对解空间进行高效搜索;为了保持种群的多样性,避免种群陷入局部最优,使用多重变异手段和局部搜索策略对种群进行局部扰动形成新解。
实施实例一
建立数学模型之后,选取适当的初始参数,设置种群规模pop=200,交叉概率pc=0.8;变异概率pm=0.05;最大迭代次数gen=100。
算例采取Brandimarte算例中的MK04,其具体参数见表1,其中“—”表示当前工序不能在该机器上加工。
表1
为了保证后续操作不会产生非法解,采用如图2所示的编码方式,工序层编码(operation sequence,OS)和机器选择层编码(machine sequence,MS)。图2中OS层第一个“1”表式工件1的第一道工序,第一个“2”表式工件2的第一道工序,第二次出现的“1”表示工件1的第二道工序,以此类推。MS层采取顺序编码,从1号工件的第一道工序按顺序排列直到2号工件的第三道工序,如一号工件第一道工序可以在机器1、2、3和6上加工,在对应机器上的加工时间分别为2、5、8和4。OS层和MS层的长度相等。
本发明采用随机初始化、完全最小加工时间机器和部分随机最小加工时间机器三种方式进行种群初始化。三种方式的比例分别为50%,25%,25%。
高效的解码方式能够对解的领域空间进行搜索,探索到优秀解的概率也就越大。由于加工工件之间存在空隙,造成机器的功耗浪费,本发明使用一种最优插入的方法来提高解的质量。
最优插入法的原理图如图3所示。工序Oih将在机器Mb上加工,根据当前加工情况,有三段空闲可供选择,空闲1、空闲2和空闲3均大于等于Oih的加工时间。空闲1的起始时间大于工序Oi(h-1)的结束时间,不满足约束条件;空闲2和空闲3都满足插入条件,且空闲2的空闲时间更接近Oih的加工时间,因而选择空闲2插入。该策略能够为后续工序的插入提供更多的空间,获取更优质的解。
为了使具有高适应度的个体保留,让具有良好基因的个体参与后续进化,本发明采取锦标赛选择,以获取更快的收敛速度和更低的计算复杂性。
锦标赛选择的示意图如图4所示。
针对不同的编码层使用两种不同的交叉方式。因IPOX交叉具有低约束和良好基因继承等特性,用其完成OS层的交叉操作;MS层采取顺序编码方式,对交叉的要求较高,故而采用不破坏基因有效序列的多点交叉方式。
IPOX交叉的步骤如下
1)从父代种群中随机选取两个个体father1和father2;
2)判断是否满足交叉概率pc,若满足执行3),否则返回1);
3)将n个工件随机分为两个工件集Ω1和Ω2;
4)将father1中包含在工件集Ω1中的工序号保留相对位置复制到子代个体中,将father2中包含在Ω2中的工序child1号保留相对位置复制到子代个体child2中;
5)将father2中包含在工件集Ω2中的工序号按照顺序插入到child1空白位置,将father1中包含在工件集Ω1中的工序号按照顺序插入到child2的空白位置;
6)将child1和child2放入到子代种群中;
7)判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回1)。
多点交叉的示意图如图5所示。其步骤如下:
1)随机选择两个父代个体father1和father2;
2)判断是否满足交叉概率,若满足,执行3),否则,跳1);
3)随机产生一组0、1数组L;
4)子代个体child1继承father1对应L数组为1位置的基因,子代个体child2继承father2对应L数组为1位置的基因;
5)将father2中剩余未被复制的基因按照顺序插入到child1的空白位置,将father1中剩余未被复制的基因按照顺序插入到child2的空白位置;
6)将child1和child2放入到子代种群中;
7)判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回1)。
在FJSP中,机器选择往往比工序排列对结果影响更大,因此本文采用多种机器的多重变异策略随机机器和最小加工时间机器选择,以维持种群多样性。
多重变异步骤如下:
1)随机选择一个父代个体father1;
2)判断是否满足变异概率,如果满足,执行3),否则,跳1);
3)随机产生一个0、1数组L,两种变异方法随机选择一种,如果是随机机器变异,跳转4),否则跳转5);
4)随机选择一个与当前机器不同的机器加工,如果只有一台机器可供选择,则不执行任何操作;
5)father1中与数组L为1对应位置的工序选择加工时间最短的机器进行加工;
6)将得到的子代个体child1替换种群的father1。
虽然引入了基于MS染色体的变异操作,在一定程度上能够增加种群的多样性,但OS染色体部分未做改进,算法仍然可能陷入局部最优。针对这一问题,设计了基于OS染色体的局部搜索策略,使得整个算法能在局部范围进行开发以获得更优的解,具体操作流程如下:
1)随机选择一个父代个体father1;
2)随机从n个工件中选择若干个工件;
3)从被选中的每一个工件随机选择一道工序;
4)未被选中的father1基因保持原位不动,对选中的部分进行枚举排序,得到一组新染色体;
5)对新得出的染色体组进行适应度计算,如果存在适应度大于father1的新个体child1,则替换father1;否则,不做任何操作。
得益于初始化方法和最优插入法策略,由于初始解并不是完全随机化,而是根据一定的先验知识,使得种群在解空间均匀分布的同时也提高了初始解的质量;另一方面最优插入方法的引入,能够对每个个体进行高效解码,提高每个解的质量。
MK04收敛曲线如图6所示,种群在20代前收敛地极快,在30代左右就收敛至低谷,但是种群均值仍然存在下降趋势,说明算法采取的变异操作和局部搜索策略有效地保持了种群的多样性,与前面采取的策略相结合,能够实现平衡算法的“开发”和“探索”。
图7给出了MK04算例的调度结果甘特图。
最后应说明的几点是:首先,在本申请的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变,则相对位置关系可能发生改变;
其次:本发明公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计,在不冲突情况下,本发明同一实施例及不同实施例可以相互组合;
最后:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于改进遗传算法的柔性作业车间调度方法,其特征在于,包括以下步骤:
步骤1、建立柔性作业车间调度的模型;
步骤2、确定模型的约束条件;
步骤3、按照先验知识进行种群初始化,采用并行双链式编码,根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行编码;
步骤4、使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群;
步骤5、对工序编码层采用IPOX交叉法,对机器选择编码层采用多点交叉法;
步骤6、对工序编码层进行局部搜索,对机器选择编码层进行多重变异操作;
步骤7、对新一代的种群根据适应度进行排序,保留当代的最优解;
步骤8、判断是否满足终止条件,终止条件为是否达到最大迭代次数gen,若满足执行步骤九,否则,返回步骤4;
步骤9、输出最优结果,并给出相关的收敛曲线和调度甘特图。
2.根据权利要求1所述的一种基于改进遗传算法的柔性作业车间调度方法,其特征在于:在步骤1中,建立柔性作业车间调度的模型,具体步骤如下:
步骤1.1、建立数学模型,以最大完成时间最小为目标函数:f=min{max Ci},其中Ci表示工件i的完成时间,i=1,2,3,...,n;n是待加工工件的数量。
3.根据权利要求1所述的一种基于改进遗传算法的柔性作业车间调度方法,其特征在于:在步骤2中,包含工序约束、机器约束和时间约束;
定义下列数学符号:
Ω:所有工件集;
n:工件总数;
m:机器总数;
hi:工件i工序总数;
i:工件序号索引 i=1,2,...,n;
j:工序序号索引 j=1,2,...,hi;
k:机器序号索引 k=1,2,...,m;
Oij:工件i的第j道工序;
Pij:Oij的可选加工机器集;
Oijk:Oij在机器k上加工;
Tijk:Oij在机器k上加工的时间;
PS:所有工件工序之和;
Ci:工件i的完工时间;
Sij:Oij的开始时间;
Cij:Oij的开始时间;
柔性作业车间问题的约束条件如下:
Sij+Xijk×Tijk≤Cij (1)
Ci(j-1)≤Sij (2)
Cij≤Cmax (3)
Sij+Tijk≤Sxy+H(1-Yijxyk) (4)
Ci(j-1)≤Sij+H(1-Yijxyk) (5)
Sij≥0,Cij≥0 (7)
式(1)和式(2)表示同一工件的工序必须按照顺序逐步加工;式(3)表示任意工序的完工时间都不得超过最大完工时间;式(4)和式(5)表示任一时刻的任一机器只允许同时处理一道工序,其中H是一个很大的数;式(6)表示在某一时刻一道工序只能同时由一台机器加工;式(7)表示任意工序的开始时间和完成时间均为非负的,且任意工件都可从0时刻开始加工。
4.根据权利要求1所述的一种基于改进遗传算法的柔性作业车间调度方法,其特征在于:在步骤3中,按照先验知识进行种群初始化,采用并行双链式编码,根据柔性作业车间调度的两个子问题:机器选择和工序排列,进行编码;具体步骤如下:
步骤3.1:工序层上每一个数字表示一道工序,机器层上的每一个数字表示对应工序的选择机器;
步骤3.2、对机器选择部分的编码按照启发式规则进行初始化以代替随机初始化,分别是完全加工时间最小机器选择、部分加工时间最小机器选择和随机加工时间机器选择;
步骤3.3、设置改进遗传算法求解柔性作业车间调度问题的相关参数,包括种群规模pop,交叉概率pc,变异概率pm,最大迭代次数gen;
步骤3.4、算法的终止条件为是否达到最大迭代次数。
5.根据权利要求1所述的一种基于改进遗传算法的柔性作业车间调度方法,其特征在于:在步骤4中,使用最优插入法对每个个体进行适应度计算,通过锦标赛选择法选择出要进行后续操作的种群,具体步骤如下:
随着工件加工数量的积累,各机器上会出现加工空闲,造成机器负载率的降低的同时,也加大了最大完成时间,故而采用最优插入法来提高求解质量;
步骤4.1、在满足机器约束和工件约束的情况下,将当前加工工序插入到一个与它加工时间最接近的空闲时间段里;
通过锦标赛选择法选出后续操作的种群,其步骤如下:
步骤4.2、从当前种群中随机选择若干个个体;
步骤4.3、对选择的个体进行适应度计算,将适应度最高的个体插入到新种群中;
步骤4.4、重复上述步骤直到新种群中的个体数量等于旧种群。
6.根据权利要求1所述的一种基于改进遗传算法的柔性作业车间调度方法,其特征在于:在步骤5中,对工序编码层采用IPOX交叉法,对机器选择编码层采用多点交叉法,具体步骤如下:
编码为双层编码,进行交叉操作时分别对各层进行交叉,确保没有非法解产生,使后续的操作仍然可行;
对工序编码层的IPOX交叉步骤如下:
步骤5.1、从父代种群中随机选取两个个体father1和father2;
步骤5.2、判断是否满足交叉概率pc,若满足则执行步骤5.3,否则返回步骤5.1;
步骤5.3、将n个工件随机分为两个工件集Ω1和Ω2;
步骤5.4、将father1中包含在工件集Ω1中的工序号保留相对位置复制到子代个体child1中,将father2中包含在Ω2中的工序号保留相对位置复制到子代个体child2中;
步骤5.5、将father2中包含在工件集Ω2中的工序号按照顺序插入到child1空白位置,将father1中包含在工件集Ω1中的工序号按照顺序插入到child2的空白位置;
步骤5.6、将child1和child2放入到子代种群中;
步骤5.7、判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回步骤5.1;
机器选择部分的交叉步骤操作如下:
步骤5.8、随机选择两个父代个体father1和father2;
步骤5.9、判断是否满足交叉概率,若满足,执行步骤5.10,否则,返回步骤5.8;
步骤5.10、随机产生一组0、1数组L;
步骤5.11、子代个体child1继承father1对应L数组为1位置的基因,子代个体child2继承father2对应L数组为1位置的基因;
步骤5.12、将father2中剩余未被复制的基因按照顺序插入到child1的空白位置,将father1中剩余未被复制的基因按照顺序插入到child2的空白位置;
步骤5.13、将child1和child2放入到子代种群中
步骤5.14、判断终止条件,如果子代种群个体数等于父代种群则终止,否则,返回步骤5.8。
7.根据权利要求1所述的一种基于改进遗传算法的柔性作业车间调度方法,其特征在于:在步骤6中,对工序编码层进行局部搜索,对机器选择编码层进行多重变异操作;具体步骤如下:
对机器选择编码层进行多重变异操作步骤如下:
步骤6.1、随机选择一个父代个体father1;
步骤6.2、随机从n个工件中选择若干个工件
步骤6.3、从被选中的每一个工件随机选择一道工序;
步骤6.4、未被选中的father1基因保持原位不动,对选中的部分进行枚举排序,得到一组新染色体;
步骤6.5、对新得出的染色体组进行适应度计算,如果存在适应度大于father1的新个体child1,则替换father1;否则,不做任何操作。
对工序编码层进行局部搜索步骤如下:
步骤6.6、随机选择一个父代个体father1;
步骤6.7、判断是否满足变异概率,如果满足,执行步骤6.8,否则,返回步骤6.6;
步骤6.8、随机选择一个与当前机器不同的机器加工,如果只有一台机器可供选择,则不执行任何操作;
步骤6.9、father1中与数组L为1对应位置的工序选择加工时间最短的机器进行加工;
步骤6.10、将得到的子代个体child1替换种群的father1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110037735.1A CN113610233B (zh) | 2021-01-12 | 2021-01-12 | 一种基于改进遗传算法的柔性作业车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110037735.1A CN113610233B (zh) | 2021-01-12 | 2021-01-12 | 一种基于改进遗传算法的柔性作业车间调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113610233A true CN113610233A (zh) | 2021-11-05 |
CN113610233B CN113610233B (zh) | 2023-08-15 |
Family
ID=78303243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110037735.1A Active CN113610233B (zh) | 2021-01-12 | 2021-01-12 | 一种基于改进遗传算法的柔性作业车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113610233B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186749A (zh) * | 2021-12-16 | 2022-03-15 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN115685927A (zh) * | 2022-10-29 | 2023-02-03 | 福州大学 | 基于进化优化算法的氨纶盘头作业动态调度方法 |
CN116029516A (zh) * | 2023-02-01 | 2023-04-28 | 上海交大智邦科技有限公司 | 机加工车间排产方法及系统 |
CN116227874A (zh) * | 2023-03-10 | 2023-06-06 | 东北农业大学 | 一种基于遗传算法的柔性作业车间调度方法和装置 |
CN116596293A (zh) * | 2023-07-18 | 2023-08-15 | 西安电子科技大学广州研究院 | 基于遗传算法的分布式全流程作业车间调度方法及终端 |
CN116993126A (zh) * | 2023-09-14 | 2023-11-03 | 东北农业大学 | 一种基于混合遗传算法的柔性生产调度方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998014891A1 (en) * | 1996-10-04 | 1998-04-09 | Bbn Corporation | Genetic algorithm scheduling system and method |
CN102929263A (zh) * | 2012-11-16 | 2013-02-13 | 北京理工大学 | 一种混合流水车间调度方法 |
CN108287531A (zh) * | 2018-01-10 | 2018-07-17 | 华中科技大学 | 一种用于混合流水车间调度问题的改进候鸟优化方法 |
CN111967654A (zh) * | 2020-07-27 | 2020-11-20 | 西安工程大学 | 一种基于混合遗传算法求解柔性作业车间调度的方法 |
-
2021
- 2021-01-12 CN CN202110037735.1A patent/CN113610233B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998014891A1 (en) * | 1996-10-04 | 1998-04-09 | Bbn Corporation | Genetic algorithm scheduling system and method |
CN102929263A (zh) * | 2012-11-16 | 2013-02-13 | 北京理工大学 | 一种混合流水车间调度方法 |
CN108287531A (zh) * | 2018-01-10 | 2018-07-17 | 华中科技大学 | 一种用于混合流水车间调度问题的改进候鸟优化方法 |
CN111967654A (zh) * | 2020-07-27 | 2020-11-20 | 西安工程大学 | 一种基于混合遗传算法求解柔性作业车间调度的方法 |
Non-Patent Citations (5)
Title |
---|
GUOHUI ZHANG 等: "An effective genetic algorithm for the flexible job-shop scheduling problem", 《EXPERT SYSTEMS WITH APPLICATIONS》, vol. 38, no. 4, pages 3563 - 3573 * |
张超勇 等: "基于改进非支配排序遗传算法的多目标柔性作业车间调度", 《机械工程学报》, vol. 46, no. 11, pages 156 - 164 * |
张超勇 等: "考虑加工成本和时间的柔性作业车间调度问题研究", 机械科学与技术, vol. 28, no. 08, pages 1005 - 1011 * |
林丹 等: "基于实数编码的遗传算法的收敛性研究", 计算机研究与发展, vol. 37, no. 11, pages 1321 - 1327 * |
王玉芳 等: "一种求解柔性作业车间的改进遗传算法", 《《重庆理工大学学报(自然科学)》, pages 1 - 9 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186749A (zh) * | 2021-12-16 | 2022-03-15 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN114186749B (zh) * | 2021-12-16 | 2022-06-28 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN115685927A (zh) * | 2022-10-29 | 2023-02-03 | 福州大学 | 基于进化优化算法的氨纶盘头作业动态调度方法 |
CN116029516A (zh) * | 2023-02-01 | 2023-04-28 | 上海交大智邦科技有限公司 | 机加工车间排产方法及系统 |
CN116029516B (zh) * | 2023-02-01 | 2023-08-18 | 上海交大智邦科技有限公司 | 机加工车间排产方法及系统 |
CN116227874A (zh) * | 2023-03-10 | 2023-06-06 | 东北农业大学 | 一种基于遗传算法的柔性作业车间调度方法和装置 |
CN116227874B (zh) * | 2023-03-10 | 2023-08-29 | 东北农业大学 | 一种基于遗传算法的柔性作业车间调度方法和装置 |
CN116596293A (zh) * | 2023-07-18 | 2023-08-15 | 西安电子科技大学广州研究院 | 基于遗传算法的分布式全流程作业车间调度方法及终端 |
CN116596293B (zh) * | 2023-07-18 | 2024-02-23 | 西安电子科技大学广州研究院 | 基于遗传算法的分布式全流程作业车间调度方法及终端 |
CN116993126A (zh) * | 2023-09-14 | 2023-11-03 | 东北农业大学 | 一种基于混合遗传算法的柔性生产调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113610233B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113610233B (zh) | 一种基于改进遗传算法的柔性作业车间调度方法 | |
CN107590603B (zh) | 基于改进变邻域搜索和差分进化算法的调度方法及系统 | |
CN109034633B (zh) | 改进遗传算法求解带移动时间的柔性作业车间调度方法 | |
Man et al. | Genetic algorithms: concepts and designs | |
CN113159383B (zh) | 一种面向多机协作加工车间的制造资源重构调度方法及系统 | |
CN114186749B (zh) | 基于强化学习及遗传算法的柔性车间调度方法及模型 | |
CN101901425A (zh) | 一种基于多种群协同进化的柔性作业车间调度方法 | |
CN113034026B (zh) | 基于Q-learning和GA的多目标柔性作业车间调度自学习方法 | |
CN110288185B (zh) | 一种分布式柔性流水线调度方法 | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN110738365B (zh) | 一种基于粒子群算法的柔性作业车间生产调度方法 | |
CN112580922B (zh) | 一种基于多级邻域结构和混合遗传算法的柔性作业车间调度方法 | |
CN112381273B (zh) | 一种基于u-nsga-iii算法的多目标作业车间节能优化方法 | |
CN111798120A (zh) | 基于改进人工蜂群算法的柔性作业车间调度方法 | |
CN110084401B (zh) | 一种基于预留维修时间的调度优化方法及装置 | |
CN111966049B (zh) | 一种混合流水车间生产设备调度控制方法 | |
CN113705812B (zh) | 基于混合并行遗传和变邻域算法的生产调度方法和系统 | |
CN114266509A (zh) | 随机贪婪初始种群遗传算法求解柔性作业车间调度方法 | |
CN110531716A (zh) | 基于离散鲸鱼算法求解低碳车间调度问题的方法 | |
CN113988396A (zh) | 一种基于nsga-iii算法的工序排序多目标优化方法 | |
CN114519455A (zh) | 一种带运输过程的分布式柔性车间调度方法及系统 | |
Ławrynowicz | Genetic algorithms for solving scheduling problems in manufacturing systems | |
CN114021934A (zh) | 基于改进spea2求解车间节能调度问题的方法 | |
CN109255484A (zh) | 数据驱动的离散制造资源协同优化方法及系统 | |
CN116757411A (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 |