CN116258308A - 一种基于混合遗传算法的动态柔性作业车间调度方法 - Google Patents
一种基于混合遗传算法的动态柔性作业车间调度方法 Download PDFInfo
- Publication number
- CN116258308A CN116258308A CN202211383410.XA CN202211383410A CN116258308A CN 116258308 A CN116258308 A CN 116258308A CN 202211383410 A CN202211383410 A CN 202211383410A CN 116258308 A CN116258308 A CN 116258308A
- Authority
- CN
- China
- Prior art keywords
- workpiece
- agv
- machine
- time
- tool
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- 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
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- 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—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
Abstract
本发明公开的一种基于混合遗传算法的动态柔性作业车间调度方法,属于柔性作业车间调度技术领域。针对车间中资源种类多和动态干扰事件发生的问题,本发明建立动态柔性车间调度问题的数学模型,以最小化最大完工时间为目标函数,使得调度目标得到优化;使用混合遗传算法求解初始调度方案,得到第一阶段调度方案;判断是否有紧急工件插入,如果没有,则执行目前调度方案;否则,重新规划,采用贪心算法对紧急工件的工序集合进行作业调度,得到下阶段调度方案,即动态柔性作业车间调度结果。本发明能保证对动态事件的快速反应的同时提高生产效率。本发明适用于生产制造等领域,通过对车间多种资源的协同调度以及重调度,提高生产效率,缩短完工周期。
Description
技术领域
本发明涉及一种基于混合遗传算法的动态柔性作业车间调度方法,属于柔性作业车间调度技术领域。
背景技术
作业车间调度问题(Job Shop Scheduling Problem,JSP)是生产调度问题中较早出现并被广泛研究的一类问题,可以简述为:车间内一批工件,每个工件有既定的工艺路线,工艺路线中的每道工序都有对应且唯一的机床进行加工,机床在同一时刻只能加工一个工件,需要确定每台机床的加工工序及其顺序以优化一个或多个目标。柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP)是车间调度问题中一种更一般的情况,相比于JSP,该问题有多台机床可供每道工序进行选择,随着车间具有相同功能机床的增加,降低了工序对资源的竞争。随着柔性作业车间的发展,FJSP的扩展研究越来越多,求解空间越来越大,车间作业调度问题在算法和应用层面不断丰富。
从车间的辅助资源维度来说,辅助资源包括刀具、夹具、量具等,这些资源也会影响调度,如果开始加工前这些辅助资源不准备好就会影响开工时间。另外对于数量比较少的辅助资源,还会存在竞争现象,因此调度过程中不仅要考虑机床还要考虑辅助资源,这就是著名的多资源调度。
在生产实践中,制造系统在运行过程中会遇到动态事件而引发原本的生产计划的变化,如工件的插入,那么原有的调度方案性能就会大大降低,所以必须采取措施来提供新的调度方案,使之适用于变化后的生产情况。因此,车间调度管理人员为了应对可能发生的动态事件,寻找一种能够适应生产变化的动态调度方法是必要的。
发明内容
针对车间中资源种类多和动态干扰事件发生的问题,本发明的主要目的是提出一种基于混合遗传算法的动态柔性作业车间调度方法,通过对车间多种资源的协同调度以及重调度,提高生产效率,缩短完工周期。
本发明的目的是通过下述技术方案实现的。
本发明公开的一种基于混合遗传算法的动态柔性作业车间调度方法,包含以下步骤:
步骤一、建立动态柔性车间调度模型;
1.1、为了和其他因素不同的调度问题区别开来,做出以下说明:
在本发明公开的一种基于混合遗传算法的动态柔性作业车间调度方法中
a、工序的加工时间和AGV的行驶时间是确定的;
b、工件的装卸时间包含在AGV的行驶时间内,加工准备时间、工装准备时间包括在在工序加工时间内;
c、工件在机器上的加工是连续进行的,不能被其他工件抢占;
d、每台AGV在同一时刻只能搬运同一工件或同一工装,同一台机器在某一时刻最多加工一个工件;
e、各AGV是完全相同的,即所有AGV在运载和运行性能上是相同的,因此对于一项搬运任务,可以选择它们中的任何一台来完成;
f、每一件工装在同一时刻只能辅助加工一个工件;
g、每台机器附近有足够的缓冲空间容纳AGV、工件和工装;
h、工件的每道工序在同一时刻只能选择一台机器加工;
i、不考虑堵塞、机器故障和停机时间等问题。
1.2、该模型以最小化最大完工时间Cmax为目标函数,合理地安排工序的加工机器集合、各台机器上的待加工工序顺序、搬运工件的AGV、搬运工装的AGV,使得调度目标得到优化,约束如下:
a)最大完工时间不小于任何一道工序的完工时间:
i,i′:工件索引
j,j′:工序索引
Cmax:最大完工时间
pmij:工序Oij在机器m上的加工时间
Oij:工件i的第j个工序
O:工件集合
b)每道工序只能在一台机器上进行加工,每道工序在加工时至多需要一件特定的工装,并且一个搬运任务只需分配一台AGV:
xijm:如果Oij在机器m上加工则为1,否则为0
uijn:如果工序Oij的加工需要工装n则为1,否则为0
v(n)ijr:如果搬运任务T(n)ij被编号为r的AGV执行则为1,否则为0
c)任意两道工序需要在同一台机器上加工时,在当前工序完成之前,不能开始加工另外的工序,也就是说加工任务是非抢占式的:
pij:工序Oij的加工时间
L:一个极大的正整数
yiji′j′:如果Oij先于Oi′j′在同一台机器上加工则为1,否则为0
m,m′:机器索引
M:可用机器集合
Mij:工序Oij的可选加工机器集合
Om:选择在机器m上加工的工序集合
d)当两道工序需要同一件工装时,工装的使用也是非抢占式的:
mij:加工工序Oij的机器
wiji′j′:如果Oij先于Oi′k′需要工装n则为1,否则为0
n,n′:工装索引
N:工装集合
tmm′:AGV从机器m到m′的行驶时间
On:加工时需要工装n的工序集合
e)一道工序在当前所处的机器上加工完成后,该工序所属的工件才可以被转运,并且一个工件在它被转运至相应的机器后才可以被加工:
f)在所需工装到达相应的机器后,该工序才可以被加工:
g)同一台AGV在完成当前的搬运任务后,有足够的时间移动到下一项搬运任务中工件/工装的初始位置,满足这种条件才可以开始下一项搬运任务,其中的三对公式分别描述三种情况:两项工装搬运任务的时间关系、两项工件搬运任务的时间关系、一项工装搬运任务和一项工件搬运任务的时间关系:
r,r′:AGV索引
R:AGV集合
Tij:工序Oij的搬运任务
Or:编号为r的AGV执行的搬运工序Tij集合
z(n)ij(n′)i′j′:如果搬运任务T(n)ij先于T(n′)i′j′被同一台AGV执行则为1,否则为0
h)定义变量的取值范围:
步骤二、使用混合遗传算法求解初始调度方案,得到第一阶段调度方案;
2.1、参数设置并输入相关的制造信息;
设置问题的相关参数,包括种群规模,交叉概率,变异概率,迭代次数;输入相关的制造信息。
2.2、初始化迭代次数t=0,初始化种群p(t):
2.2.1、编码:采用基于工序的编码形式,在算法中解的表现形式为一个四阶矩阵,其中第一行表示的是工序Oij,第二行表示的是工序选择的加工机器mij,第三行表示的是工序选择的搬运工件的AGV rij,第四行表示的是工序选择的搬运工装的AGVrnij。
其中在第一层的数字表示工件编号,数字出现的次数表示该工件的工序号;第二层的数字表示工序在其可选加工机器集合中选择的机器编号;第三层的数字表示工序所选择的用来搬运工件的AGV编号;第四层的数字表示工序所选择的用来搬运工装的AGV编号,编号为0则表示该工序的加工不需要额外的在车间共享的工艺装备。
2.3、判断算法结束条件:根据参数中对算法停止条件的设定,即迭代次数达到所设定数值,则执行步骤2.9,否则继续执行步骤2.4。
2.4、迭代次数加1,t=t+1;
2.5、运行AGV和机器分配算法,对染色体的二三四行进行操作,即对机器层、AGV-搬运层和AGV-运输层进行排序。首先对机器进行分配,选取在机器上最后一道已调度的工序的完工时间和加工工序消耗时间之和最小的机器;然后再分配搬运工件的AGV,选取拾取时间最小的AGV,拾取时间等于AGV从当前位置到达工件位置,再接到工件的时间加上AGV从工件当前位置运输到加工工件的机器的时间;最后分配搬运工装的AGV,同样选取拾取时间最小的AGV,拾取时间等于AGV从当前位置到达工装位置,再接到工件的时间加上AGV从工装当前位置运输到加工工件的机器的时间。
2.6、评估个体的适应度:对于染色体i,适应度的评估可以由下列公式得到,其中Cmax(i)是染色体i的最大完工时间:
2.7、选择并执行:基于二元锦标赛和精英保留的选择策略,随机在进化种群中选择两个个体,再根据个体的适应度值选择较优的个体加入新的种群中以进行下一步的交叉操作,重复N-1次上述的选择操作,形成新的待进化种群。
2.8、交叉并执行:基于多父辈POX交叉算子(Multi-parents PrecedenceOperation Crossover,MPOX)的交叉策略,通过排序划分种群得到一定比例的优良个体,在这批个体中选择参与交叉的父辈Parent3,而Parent1和Parent2从整个种群中随机选取;然后把编号为{1,2,3,…,n}的工件集随机划分为两个非空对立子集J1和J2;复制Parent1中属于J2的基因并保持原本的位置赋给Child1,复制Parent3中属于J1的基因按顺序赋给Child1;同样的,复制Parent2中属于J1的基因并保持原本的位置赋给Child2,复制Parent3中属于J2的基因按顺序赋给Child2。
2.9、变异并执行:采用新型的自适应变异算子,该算子由Logistic函数和余弦函数构成的复合函数非线性地调整变异率,当种群中的多数个体的适应度相似,且平均适应度接近最大适应度时,则判定种群多样性或算法探索能力减弱,此时多数个体的变异率增加。对于适应度接近最大适应度值的个体,变异概率降低,从而使优良个体得以保留,并使算法可以跳出局部最优解。公式(19)是变异概率的计算方法,其中Pmmax为最大变异概率,Pmmin为最小变异概率,favg为种群平均适应度值,fmin为种群中的最小适应度值,Pm和f分别为当前个体的变异概率和适应度值,其中的Logistic函数值域为[0,1],A的取值范围为[9.900000,9.100000]。
2.10、输出原始调度方案并且执行。
步骤三、判断是否有紧急工件插入,如果没有,则执行步骤的第一阶段调度方案;否则,采用贪心算法对紧急工件的工序集合进行作业调度,输出动态柔性作业车间调度方案;
3.1、确定当前制造信息,包括机器、AGV、工件和工装的状态。
3.2、根据紧急工件插入时间确定重调度对象并将其分为三类:第一类是紧急工件的工序集合Y,第二类是工件及其配套工装已在运输途中的工序集合N;第三类是工件及其配套工装没在运输途中的工序集合M。若向下只执行步骤3.4;若/>向下顺序执行步骤3.3,步骤3.4;若/>向下顺序执行步骤3.3和步骤3.5,跳过步骤3.4;由于已经生成了原始方案,所以不存在/>的情况。
3.3、对于集合N中的工序,这些工序选择的加工机器,相应选择的搬运工件的AGV,以及选择的搬运工装的AGV不变,更新开始加工时间和完工时间即可;
3.4、对于集合Y中的工序,采用贪心算法进行作业调度,输出这一步的调度结果并执行;
贪心算法是指对于集合Y中的工序,采用枚举的方式将其工序组合顺序全部列出,之后针对每一种工序组合采用步骤2.5中的机器和AGV分配算法生成相对应的机器和AGV序列,最后选取Cmax最小的组合并执行。
3.5、合并集合Y和M,重新划分为Y′和M′,对于集合Y′中的工序,用贪心算法求解,进行作业调度,输出这一步的调度结果并执行;对于集合M′中的工序,采用混合遗传算法求解,即采用步骤2.1到2.10进行求解。
在步骤3.5中,通过两个阶段的动态调度能够及时地对紧急工件做出反应,其中集合的重新划分需要满足条件:
步骤四、根据步骤二、三得到的车间调度方案,通过对车间多种资源的协同调度以及重调度,保证对动态事件的快速反应的同时提高生产效率、缩短完工周期。
有益效果
1、本发明公开的一种基于混合遗传算法的动态柔性作业车间调度方法,基于初始时刻的设备、工件、工装、AGV及各项时间的约束,建立以最小化最大完工时间为目标函数的数学模型,实现对车间多资源的协同调度,提高生产效率。
2、本发明公开的一种基于混合遗传算法的动态柔性作业车间调度方法,针对动态柔性车间调度问题,采用了一种两阶段的调度方法,既能够保证对动态事件的快速反应,又能提高生产效率,减小完工周期。
附图说明
为了更清楚地说明本发明实例或者现有技术中的技术方案,下面将对实施例1或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例1,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种基于混合遗传算法的动态柔性作业车间调度方法的流程图;
图2为实施例1中根据表1所列编码方式的染色体图;
图3为实施例1中基于工序染色体的MPX交叉图;
图4为实施例1中的染色体变异图;
图5为实施例1的求解初始方案所得的调度结果甘特图;
图6为实施例1的求解初始方案中所得的AGV时空路径图;
图7为实施例1的求解初始方案中所得的各AGV时空路径图;
其中图(a)为AGV1的时空路径图;图(b)为AGV2的时空路径图;图(c)为AGV3的时空路径图;图(d)为AGV4的时空路径图;
图8为实施例1求解对应调度结果的甘特图。
具体实施方式
下面将结合附图和实施例对本发明加以详细说明。同时也叙述了本发明技术方案解决的技术问题及有益效果,需要指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
本实施例柔性作业车间调度问题描述如下:车间里有4台机器用于加工工件,有4件可在车间共享的工艺装备(简称“工装”)配合完成工件加工,有4台自动导引车辆(Automated Guided Vehicle,AGV)用于执行搬运任务,一批加工需求中有11个工件,每个工件的加工存在既定的工艺路线,一条工艺路线存在若干工序,这些工序需要按照一定的顺序依次在相应的机器上进行加工。每道工序在其可选的机器中选择任何一台机器完成该工序的加工任务,工件在不同机器之间的搬运任务是通过AGV完成的,并且各工序的加工还需要相应的工装,这些工装的转运也通过AGV来完成。初始时刻,AGV是从装卸点(L/U站)出发的,工件和工装的初始位置也在L/U站。随着时间的推移,紧急工件可能随时进入车间,这些工件的到达时间,工艺路线,工序加工时间,可选机器集合等信息并非事先知道,而是随着时间推移逐渐得到的。
本实施例1设计了一种基于混合遗传算法的动态柔性作业车间动态调度的方法,如图1所示,具体按照以下步骤实施:
步骤一、建立动态柔性车间调度问题的数学模型:
1.1、在本发明公开的基于混合遗传算法的动态柔性作业车间动态调度法中上述调度问题中,为了和其他考虑因素不同的调度问题区别开来,做出一下说明:
a、工序的加工时间和AGV的行驶时间是确定的;
b、工件的装卸时间包含在AGV的行驶时间内,加工准备时间、工装准备时间已考虑在工序加工时间内;
c、工件在机器上的加工是连续进行的,不能被其他工件抢占;
d、每台AGV在同一时刻只能搬运同一工件或同一工装,同一台机器在某一时刻最多加工一个工件;
e、各AGV是完全相同的,即所有AGV在运载和运行性能上是相同的,因此对于一项搬运任务,可以选择它们中的任何一台来完成;
f、每一件工装在同一时刻只能辅助加工一个工件;
g、每台机器附近有足够的缓冲空间容纳AGV、工件和工装;
h、工件的每道工序在同一时刻只能选择一台机器加工;
i、不考虑堵塞、机器故障和停机时间等问题。
1.2、该模型以最小化最大完工时间Cmax为目标函数,合理地安排工序的加工机器集合、各台机器上的待加工工序顺序、搬运工件的AGV、搬运工装的AGV,使得调度目标得到优化,为解决该问题,定义约束如下:
z(n)ij(n′)i′j′:如果搬运任务T(n)ij先于T(n′)i′j′被同一台AGV执行则为1,否则为0
具体的约束为:
a)最大完工时间不小于任何一道工序的完工时间:
i,i′:工件索引
j,j′:工序索引
Cmax:最大完工时间
pmij:工序Oij在机器m上的加工时间
Oij:工件i的第j个工序
O:工件集合
b)每道工序只能在一台机器上进行加工,每道工序在加工时至多需要一件特定的工装,并且一个搬运任务只需分配一台AGV:
xijm:如果Oij在机器m上加工则为1,否则为0
uijn:如果工序Oij的加工需要工装n则为1,否则为0
v(n)ijr:如果搬运任务T(n)ij被编号为r的AGV执行则为1,否则为0
c)任意两道工序需要在同一台机器上加工时,在当前工序完成之前,不能开始加工另外的工序,也就是说加工任务是非抢占式的:
pij:工序Oij的加工时间
L:一个极大的正整数
yiji′j′:如果Oij先于Oi′j′在同一台机器上加工则为1,否则为0
m,m′:机器索引
M:可用机器集合
Mij:工序Oij的可选加工机器集合
Om:选择在机器m上加工的工序集合
d)当两道工序需要同一件工装时,工装的使用也是非抢占式的:
mij:加工工序Oij的机器
wiji′j′:如果Oij先于Oi′j′需要工装n则为1,否则为0
n,n′:工装索引
N:工装集合
tmm′:AGV从机器m到m′的行驶时间
On:加工时需要工装n的工序集合
e)一道工序在当前所处的机器上加工完成后,该工序所属的工件才可以被转运,并且一个工件在它被转运至相应的机器后才可以被加工:
f)在所需工装到达相应的机器后,该工序才可以被加工:
g)同一台AGV在完成当前的搬运任务后,有足够的时间移动到下一项搬运任务中工件/工装的初始位置,满足这种条件才可以开始下一项搬运任务,其中的三对公式分别描述三种情况:两项工装搬运任务的时间关系、两项工件搬运任务的时间关系、一项工装搬运任务和一项工件搬运任务的时间关系:
r,r′:AGV索引
R:AGV集合
Tij:工序Oij的搬运任务
Or:编号为r的AGV执行的搬运工序Tij集合
z(n)ij(n′)i′j′:如果搬运任务T(n)ij先于T(n′)i′j′被同一台AGV执行则为1,否则为0
h)定义变量的取值范围:
2)使用混合遗传算法求解初始方案:
2.1)参数设置;设置问题的相关参数,包括种群规模,交叉概率,变异概率,迭代次数;输入相关的制造信息。
2.2)初始化参数t=0,初始化种群p(t):
2.2.1)编码:本文采用基于工序的编码形式,在算法中解的表现形式为一个四阶矩阵,其中第一行表示的是工序Oij,第二行表示的是工序选择的加工机器mij,第三行表示的是工序选择的搬运工件的AGVrij,第四行表示的是工序选择的搬运工装的AGVrnij。
其中在第一层的数字表示工件编号,数字出现的次数表示该工件的工序号,例如第三个数字表示工件1的第2道工序;第二层的数字表示工序在其可选加工机器集合中选择的机器编号;第三层的数字表示工序所选择的用来搬运工件的AGV编号;第四层的数字表示工序所选择的用来搬运工装的AGV编号,编号为0则表示该工序的加工不需要额外的在车间共享的工艺装备。
如:一个11×4的柔性作业车间调度实例如表1和表2所示(“-”代表当前机器不能对该工序进行加工,“0”代表不需要AGV搬运)。在表1中,O11代表第一个工件J1的第一道工序,O111代表工件第十一个工件J11的第一道工序。
表1 11×4柔性作业车间调度实例
表2车间布局中站点间的行驶时间
根据表1和表2,这种编码方式的染色体如图2所示。
2.3)判断算法中止条件:根据参数中对算法停止条件的设定,即迭代次数是否达到所设定数值,则执行步骤1.9),否则继续执行步骤1.4。
2.4)迭代次数加1,t=t+1;
2.5)运行AGV和机器分配算法,这个算法是对染色体的二三四行进行操作,即对机器层,AGV-搬运层和AGV-运输层进行排序,具体的操作如表3所示:
表3机器和AGV分配算法伪代码
其中使用的缩写符号解释如下:op:在机器上加工的工序;
pre:op的上一道工序;
mpre:在机器上已调度的工序数量;
ct:机器上最后一道已调度的工序的完工时间;
tlp:AGV从当前位置到加工pre的机器的行驶时间;
tpd:AGV从加工pre的机器到加工op的机器的行驶时间;
tlt:AGV从当前位置到op需要的工装当前所在机器的行驶时间;
ttd:AGV从op需要的工装当前所在机器到加工op的机器的行驶时间;
pretool:使用与op相同的工装的上一道工序。
2.6)评估个体的适应度:对于染色体i,适应度的评估可以由下列公式得到,其中Cmax(i)是染色体i的最大完工时间:
2.7)选择并执行:本文使用的是基于二元锦标赛和精英保留的选择策略。假设种群中的个体数量为N,精英保留机制的应用体现在首先选取种群中适应度最高的个体直接进入新的待进化种群中。然后再通过二元锦标赛机制填满这个新的种群,具体步骤为:随机在进化种群中选择两个个体,再根据个体的适应度值选择较优的个体加入新的种群中以进行下一步的交叉操作,重复N-1次上述的选择操作,这样以来,就形成了新的待进化种群。
2.8)交叉并执行:本文采用的是基于MPOX的交叉策略。多父辈POX交叉算子(Multi-parents Precedence Operation Crossover,MPOX),在这种交叉方式中,通过排序划分种群可以得到一定比例的优良个体,在这批个体中选择参与交叉的父辈Parent3,而Parent1和Parent2从整个种群中随机选取;然后把编号为{1,2,3,…,n}的工件集随机划分为两个非空对立子集J1和J2;复制Parent1中属于J2的基因并保持原本的位置赋给Child1,复制Parent3中属于J1的基因按顺序赋给Child1;同样的,复制Parent2中属于J1的基因并保持原本的位置赋给Child2,复制Parent3中属于J2的基因按顺序赋给Child2。
图3是实施例1的交叉过程,其中J1为{1,2,3,4,5,6},J2为{7,8,9,10,11},其中J1标注为蓝色。
2.9)变异并执行:本文采用了新型的自适应变异算子,该算子由Logistic函数和余弦函数构成的复合函数非线性地调整变异率,当种群中的多数个体的适应度相似,且平均适应度接近最大适应度时,说明种群多样性或算法探索能力减弱,此时多数个体的变异率就增加。对于适应度接近最大适应度值的个体,变异概率降低,从而使优良个体得以保留,并使算法可以跳出局部最优解。以下公式是变异概率的计算方法,其中Pmmax为最大变异概率,Pmmin为最小变异概率,favg为种群平均适应度值,fmin为种群中的最小适应度值,Pm和f分别为当前个体的变异概率和适应度值,其中的Logistic函数值域为[0,1],取A=9.903438。
图4为实施例1的一个变异过程。
2.10)输出原始调度方案并且执行。
3)判断是否有紧急工件插入,如果没有,则执行目前的方案;如果有紧急工件插入,则执行步骤3.1。
3.1)确定当前制造信息,如机器、AGV、工件和工装的状态。
3.2)根据紧急工件插入时间确定重调度对象并将其分为三类:第一类是紧急工件的工序集合Y,第二类是工件及其配套工装已在运输途中的工序集合N;第三类是工件及其配套工装没在运输途中的工序集合M。若向下只执行步骤3.4;若/>向下顺序执行步骤3.3,步骤3.4;若/>向下顺序执行步骤3.3和步骤3.5,跳过步骤3.4;由于已经生成了原始方案,所以不存在/>的情况
3.3)对于集合N中的工序,这些工序选择的加工机器,相应选择的搬运工件的AGV,以及选择的搬运工装的AGV不变,更新开始加工时间和完工时间即可;
3.4)对于集合Y中的工序,采用贪心算法进行作业调度,输出这一步的调度结果并执行;
贪心算法是指对于集合Y中的工序,采用枚举的方式将其工序组合顺序全部列出,之后针对每一种工序组合采用步骤2.5中的机器和AGV分配算法生成相对应的机器和AGV序列,最后选取Cmax最小的组合并执行。
3.5)合并集合Y和M,重新划分为Y′和M′,对于集合Y′中的工序,用贪心算法求解,进行作业调度,输出这一步的调度结果并执行;对于集合M′中的工序,采用混合遗传算法求解,即采用步骤2.1到2.10进行求解。
在步骤3.5中,通过两个阶段的动态调度能够及时地对紧急工件做出反应,其中集合的重新划分需要满足条件:
计算结果与分析:
依据实施例1算法对柔性作业车间调度11*4问题进行实例求解,设置遗传算法参数如下:种群规模为300,迭代次数为200,遗传算法的交叉概率为0.9,变异概率Pmmax取0.5,Rmmin取0.03。
在提供4台AGV、4台加工机器、4件可共享的工装条件下,本文提出的算法得到的结果如表4所示,其中包含了各工序选择的加工机器和AGV的编号信息,以及各工件的完工时间。
表4调度结果
加工机器的调度甘特图如图5所示,可以看出整批工件的最大完工时间为149,图6显示了4台AGV的时空路径,可以看出各AGV在纵向的时间轴上几乎没有在同一个位置上停留,一方面说明AGV执行搬运的任务衔接紧密,AGV得到了充分利用,另一方面也说明了AGV是一种少数的生产资源。为了更好地、清晰地展示AGV在各节点间的运动轨迹,图7出了每台AGV的时空路径示意图,其中图6和图7平面坐标系代表各站点的相对位置,纵坐标为时间。
实施例1的静态调度结果是已知的,在t=100的时候,遇到新的紧急工件插入,该工件的编号记为12,具体的加工信息如下表5所示。
表5工件12的信息
根据本发明提出的动态调度策略,在进行动态调度时,在紧急工件的派发时刻,对于已发生搬运任务或加工任务的工序,继续保持它们的调度方案,然后再对剩余的工序进行调度,并且给紧急工件较高的优先级。调度甘特图如8所示,在t=100时,O23,O112,O82,O32,O72,O41,O103由于已经发生了搬运任务或加工任务,继续按原始方案完工,在剩余的工序进行调度时,工件12被优先安排加工。
本发明在研究柔性作业车间工件、工装、机器、AGV等多种资源调度时,考虑了工艺柔性约束和紧急插单动态事件,提出了基于贪心策略的混合遗传算法和动态调度框架,优化了AGV的工件、工装搬运任务和机器的工件加工任务的分配方案,在求解相关问题是能够快速收敛并且结果较为稳定,相对于传统的遗传算法有一定的优越性,提高了生产效率,缩小了完工周期,可用于实际企业生产调度问题中。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于混合遗传算法的动态柔性作业车间调度方法,其特征在于:包括如下步骤,
步骤一、建立动态柔性车间调度模型;
步骤二、使用混合遗传算法求解初始调度方案,得到第一阶段调度方案;
步骤三、判断是否有紧急工件插入,如果没有,则执行步骤的第一阶段调度方案;否则,采用贪心算法对紧急工件的工序集合进行作业调度,输出动态柔性作业车间调度方案;
步骤四、根据步骤二、三得到的车间调度方案,通过对车间多种资源的协同调度以及重调度,保证对动态事件的快速反应的同时提高生产效率、缩短完工周期。
2.如权利要求1所述的一种基于混合遗传算法的动态柔性作业车间调度方法,其特征在于:步骤一的实现方法为,
该模型以最小化最大完工时间Cmax为目标函数,合理地安排工序的加工机器集合、各台机器上的待加工工序顺序、搬运工件的AGV、搬运工装的AGV,使得调度目标得到优化,约束如下:
a)最大完工时间不小于任何一道工序的完工时间:
i,i′:工件索引
j,j′:工序索引
Cmax:最大完工时间
pmij:工序Oij在机器m上的加工时间
Oij:工件i的第j个工序
O:工件集合
b)每道工序只能在一台机器上进行加工,每道工序在加工时至多需要一件特定的工装,并且一个搬运任务只需分配一台AGV:
xijm:如果Oij在机器m上加工则为1,否则为0
uijn:如果工序Oij的加工需要工装n则为1,否则为0
v(n)ijr:如果搬运任务T(n)ij被编号为r的AGV执行则为1,否则为0
c)任意两道工序需要在同一台机器上加工时,在当前工序完成之前,不能开始加工另外的工序,即加工任务是非抢占式的:
pij:工序Oij的加工时间
L:一个极大的正整数
yiji′j′:如果Oij先于Oi′j′在同一台机器上加工则为1,否则为0
m,m′:机器索引
M:可用机器集合
Mij:工序Oij的可选加工机器集合
Om:选择在机器m上加工的工序集合
d)当两道工序需要同一件工装时,工装的使用也是非抢占式的:
mij:加工工序Oij的机器
wiji′j′:如果Oij先于Oi′j′需要工装n则为1,否则为0
n,n′:工装索引
N:工装集合
tmm′:AGV从机器m到m′的行驶时间
On:加工时需要工装n的工序集合
e)一道工序在当前所处的机器上加工完成后,该工序所属的工件才可以被转运,并且一个工件在它被转运至相应的机器后才可以被加工:
f)在所需工装到达相应的机器后,该工序才可以被加工:
g)同一台AGV在完成当前的搬运任务后,有足够的时间移动到下一项搬运任务中工件/工装的初始位置,满足这种条件才可以开始下一项搬运任务,其中的三对公式分别描述三种情况:两项工装搬运任务的时间关系、两项工件搬运任务的时间关系、一项工装搬运任务和一项工件搬运任务的时间关系:
r,r′:AGV索引
R:AGV集合
Tij:工序Oij的搬运任务
Or:编号为r的AGV执行的搬运工序Tij集合
Tnij:加工Oij时需要工装n的条件下,工装n的搬运任务
z(n)ij(n′)i′j′:如果搬运任务T(n)ij先于T(n′)i′j′被同一台AGV执行则为1,否则为0
h)定义变量的取值范围:
3.如权利要求1所述的一种基于混合遗传算法的动态柔性作业车间调度方法,其特征在于:步骤二的实现方法为,
2.1、参数设置并输入相关的制造信息;
设置问题的相关参数,包括种群规模,交叉概率,变异概率,迭代次数;输入相关的制造信息;
2.2、初始化迭代次数t=0,初始化种群p(t):
2.2.1、编码:采用基于工序的编码形式,在算法中解的表现形式为一个四阶矩阵,其中第一行表示的是工序Oij,第二行表示的是工序选择的加工机器mij,第三行表示的是工序选择的搬运工件的AGV rij,第四行表示的是工序选择的搬运工装的AGV rnij;
其中在第一层的数字表示工件编号,数字出现的次数表示该工件的工序号;第二层的数字表示工序在其可选加工机器集合中选择的机器编号;第三层的数字表示工序所选择的用来搬运工件的AGV编号;第四层的数字表示工序所选择的用来搬运工装的AGV编号,编号为0则表示该工序的加工不需要额外的在车间共享的工艺装备;
2.3、判断算法结束条件:根据参数中对算法停止条件的设定,即迭代次数达到所设定数值,则执行步骤2.9,否则继续执行步骤2.4;
2.4、迭代次数加1,t=t+1;
2.5、运行AGV和机器分配算法,对染色体的二三四行进行操作,即对机器层、AGV-搬运层和AGV-运输层进行排序;首先对机器进行分配,选取在机器上最后一道已调度的工序的完工时间和加工工序消耗时间之和最小的机器;然后再分配搬运工件的AGV,选取拾取时间最小的AGV,拾取时间等于AGV从当前位置到达工件位置,再接到工件的时间加上AGV从工件当前位置运输到加工工件的机器的时间;最后分配搬运工装的AGV,同样选取拾取时间最小的AGV,拾取时间等于AGV从当前位置到达工装位置,再接到工件的时间加上AGV从工装当前位置运输到加工工件的机器的时间;
2.6、评估个体的适应度:对于染色体i,适应度的评估可以由下列公式得到,其中Cmax(i)是染色体i的最大完工时间:
2.7、选择并执行:基于二元锦标赛和精英保留的选择策略,随机在进化种群中选择两个个体,再根据个体的适应度值选择较优的个体加入新的种群中以进行下一步的交叉操作,重复N-1次上述的选择操作,形成新的待进化种群;
2.8、交叉并执行:基于多父辈POX交叉算子(Multi-parents Precedence OperationCrossover,MPOX)的交叉策略,通过排序划分种群得到一定比例的优良个体,在这批个体中选择参与交叉的父辈Parent3,而Parent1和Parent2从整个种群中随机选取;然后把编号为{1,2,3,…,n}的工件集随机划分为两个非空对立子集J1和J2;复制Parent1中属于J2的基因并保持原本的位置赋给Child1,复制Parent3中属于J1的基因按顺序赋给Child1;同样的,复制Parent2中属于J1的基因并保持原本的位置赋给Child2,复制Parent3中属于J2的基因按顺序赋给Child2;
2.9、变异并执行:采用新型的自适应变异算子,该算子由Logistic函数和余弦函数构成的复合函数非线性地调整变异率,当种群中的多数个体的适应度相似,且平均适应度接近最大适应度时,则判定种群多样性或算法探索能力减弱,此时多数个体的变异率增加;对于适应度接近最大适应度值的个体,变异概率降低,从而使优良个体得以保留,并使算法可以跳出局部最优解;公式(19)是变异概率的计算方法,其中Pmmax为最大变异概率,Pmmin为最小变异概率,favg为种群平均适应度值,fmin为种群中的最小适应度值,Pm和f分别为当前个体的变异概率和适应度值,其中的Logistic函数值域为[0,1],A的取值范围为[9.900000,9.100000];
2.10、输出原始调度方案并且执行。
4.如权利要求1所述的一种基于混合遗传算法的动态柔性作业车间调度方法,其特征在于:步骤三的实现方法为,
3.1、确定当前制造信息,包括机器、AGV、工件和工装的状态;
3.2、根据紧急工件插入时间确定重调度对象并将其分为三类:第一类是紧急工件的工序集合Y,第二类是工件及其配套工装已在运输途中的工序集合N;第三类是工件及其配套工装没在运输途中的工序集合M;若向下只执行步骤3.4;若/>向下顺序执行步骤3.3,步骤3.4;若/>向下顺序执行步骤3.3和步骤3.5,跳过步骤3.4;由于已经生成了原始方案,所以不存在/>的情况;
3.3、对于集合N中的工序,所述工序选择的加工机器,相应选择的搬运工件的AGV,以及选择的搬运工装的AGV不变,更新开始加工时间和完工时间即可;
3.4、对于集合Y中的工序,采用贪心算法进行作业调度,输出这一步的调度结果并执行;
贪心算法是指对于集合Y中的工序,采用枚举的方式将其工序组合顺序全部列出,之后针对每一种工序组合采用步骤2.5中的机器和AGV分配算法生成相对应的机器和AGV序列,最后选取Cmax最小的组合并执行;
3.5、合并集合Y和M,重新划分为Y′和M′,对于集合Y′中的工序,用贪心算法求解,进行作业调度,输出这一步的调度结果并执行;对于集合M′中的工序,采用混合遗传算法求解,即采用步骤2.1到2.10进行求解;
在步骤3.5中,通过两个阶段的动态调度能够及时地对紧急工件做出反应,其中集合的重新划分需要满足条件:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211383410.XA CN116258308A (zh) | 2022-11-07 | 2022-11-07 | 一种基于混合遗传算法的动态柔性作业车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211383410.XA CN116258308A (zh) | 2022-11-07 | 2022-11-07 | 一种基于混合遗传算法的动态柔性作业车间调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116258308A true CN116258308A (zh) | 2023-06-13 |
Family
ID=86685127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211383410.XA Pending CN116258308A (zh) | 2022-11-07 | 2022-11-07 | 一种基于混合遗传算法的动态柔性作业车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258308A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663866A (zh) * | 2023-07-31 | 2023-08-29 | 南京航空航天大学 | 一种加工单元刀具初始位置优化方法 |
CN116736820A (zh) * | 2023-08-16 | 2023-09-12 | 聊城大学 | 一种考虑加工、运输和装配集成调度的建模方法 |
-
2022
- 2022-11-07 CN CN202211383410.XA patent/CN116258308A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663866A (zh) * | 2023-07-31 | 2023-08-29 | 南京航空航天大学 | 一种加工单元刀具初始位置优化方法 |
CN116663866B (zh) * | 2023-07-31 | 2023-09-29 | 南京航空航天大学 | 一种加工单元刀具初始位置优化方法 |
CN116736820A (zh) * | 2023-08-16 | 2023-09-12 | 聊城大学 | 一种考虑加工、运输和装配集成调度的建模方法 |
CN116736820B (zh) * | 2023-08-16 | 2023-10-17 | 聊城大学 | 一种考虑加工、运输和装配集成调度的建模方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116258308A (zh) | 一种基于混合遗传算法的动态柔性作业车间调度方法 | |
CN107831745B (zh) | 一种柔性作业车间插单动态调度优化方法 | |
CN112561194B (zh) | 一种混合流水车间生产与物流集成调度方法及系统 | |
CN112686458B (zh) | 一种多车型车队配送货过程的优化调度方法 | |
CN110598941A (zh) | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 | |
CN102393634B (zh) | 一种基于pso-ga混合优化算法的单目标多生产线调度控制方法 | |
CN111882215B (zh) | 一种含有agv的个性化定制柔性作业车间调度方法 | |
CN111091238A (zh) | 一种自动化集装箱码头agv智能化调度方法 | |
CN110322066B (zh) | 一种基于共享承运人和共享仓库的协同车辆路径优化方法 | |
CN113822588B (zh) | 基于离散的人工蜂群进化的自动导向车辆调度方法 | |
CN112070412A (zh) | 一种立体库多提升机的配置方案及任务调度方法 | |
CN113516429B (zh) | 一种基于网络拥堵模型的多agv全局规划方法 | |
CN111860957B (zh) | 一种考虑二次配送和平衡用时的多车型车辆路径规划方法 | |
CN115481897A (zh) | 一种agv无人仓库设备优化配置方法 | |
CN114358233A (zh) | 基于双混合粒子群的多agv路径规划问题优化方法及系统 | |
CN110991732A (zh) | 一种基于能耗聚类的建材装备制造过程优化调度方法 | |
CN110942251A (zh) | 一种基于联合蚁群算法的批调度方法 | |
CN116820058B (zh) | 考虑agv约束的液压缸工艺规划与调度集成优化方法 | |
CN117314055A (zh) | 基于强化学习的智能制造车间生产-运输联合调度方法 | |
CN116300756A (zh) | 带运输机器人柔性制造车间的双目标优化调度方法及系统 | |
CN114563994B (zh) | 一种汽车零部件分布式生产和装配过程的优化调度方法 | |
CN114757591B (zh) | 基于行为依赖图的多车型协同分拣调度方法 | |
CN115983423A (zh) | 一种考虑双资源约束的上下料场景调度优化方法 | |
CN115034143A (zh) | 一种多资源协同的智能车间设备配置优化方法 | |
CN115167294A (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 |