CN115826530A - 一种基于d3qn和遗传算法的作业车间分批调度方法 - Google Patents
一种基于d3qn和遗传算法的作业车间分批调度方法 Download PDFInfo
- Publication number
- CN115826530A CN115826530A CN202211609644.1A CN202211609644A CN115826530A CN 115826530 A CN115826530 A CN 115826530A CN 202211609644 A CN202211609644 A CN 202211609644A CN 115826530 A CN115826530 A CN 115826530A
- Authority
- CN
- China
- Prior art keywords
- batch
- scheduling
- workpiece
- time
- workpieces
- 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 173
- 230000002068 genetic effect Effects 0.000 title claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 96
- 210000000349 chromosome Anatomy 0.000 claims abstract description 30
- 238000012163 sequencing technique Methods 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000004519 manufacturing process Methods 0.000 claims abstract description 14
- 238000012512 characterization method Methods 0.000 claims abstract description 10
- 238000013528 artificial neural network Methods 0.000 claims abstract description 9
- 238000010923 batch production Methods 0.000 claims abstract description 9
- 238000013178 mathematical model Methods 0.000 claims abstract description 9
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 230000035772 mutation Effects 0.000 claims abstract description 7
- 230000003044 adaptive effect Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 52
- 230000006870 function Effects 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 108090000623 proteins and genes Proteins 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002759 chromosomal effect Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 101150067055 minC gene Proteins 0.000 description 1
- 238000009401 outcrossing 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/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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/06311—Scheduling, planning or task assignment for a person or group
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Entrepreneurship & Innovation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physiology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种基于D3QN和遗传算法的作业车间批量调度方法。本发明步骤:1.构建作业车间批量调度问题的数学模型,调度目标是最大完工时间最小;2.作业车间批量调度问题的批量划分方案由遗传算法确定;3.将种群中的染色体进行交叉、变异操作;4.对染色体进行解码,得到工件的批量划分方案;将子批工序排序问题用析取图模型进行表示;5.利用图神经网络对析取图节点的特征信息进行表征学习,提取工序排序问题的特征状态;6.设计带有优先级经验回放的D3QN模型结构,并训练模型;7.判断是否满足终止条件。本发明采用分层迭代优化策略,利用训练好的D3QN模型为内层子批工序排序问题提供自适应调度策略,以实现完工时间的最小化,提高生产效率。
Description
技术领域
本发明属于生产智能调度领域,提出了一种基于D3QN和遗传算法的作业车间分批调度方法。
背景技术
制造业是国民经济的支柱产业,也是国家综合实力的体现。我国制造业逐渐向智能化、数字化进行转型。车间调度是生产制造过程中的重要环节,如何实现高效率、智能化的调度***,是提升企业竞争力的关键之一。作业车间调度问题是当前车间生产调度领域的重点研究方向。大多数关于作业车间调度问题的研究着眼于单个工件,而在实际生产中,为提高调度效率和降低成本,往往采用的是分批调度的模式。所以对作业车间分批调度问题的研究,对于提高企业生产效率、降低成本、收获更多经济效益都有着重要的现实意义。
作业车间分批调度问题需要解决批量划分与工序排序两个子问题,这极大提升了问题的复杂度以及解的搜索空间。近年来,国内外学者针对作业车间分批调度问题的研究,大多采用遗传算法进行求解。现有技术存在以下不足:1、分批调度问题复杂且解空间巨大,遗传算法难以在有限时间内找到理想解;2、针对不同的分批方案,遗传算法在求解子批工序排序问题时需重新迭代求解,泛化性较差。
近年来深度强化学习在旅行商问题、路径优化问题等组合优化领域上取得了较好的成果。因此,将深度强化学习应用于调度问题是一个新颖的研究方向。目前尚未发现有利用深度强化学习求解作业车间分批调度问题的研究。D3QN(Dueling Double DQN,双决斗DQN网络)算法是一种新型的深度强化学习算法,结合了Dueling DQN和Double DQN算法的优点,对传统DQN算法做了进一步改进。本发明利用D3QN算法对子批的工序排序问题进行求解,以快速得到较优的自适应调度策略,从而优化最大完工时间和大幅提升作业车间分批调度问题的求解速度。
发明内容
针对现有技术中的缺陷,本发明提供一种基于D3QN和遗传算法的作业车间分批调度方法。该方法采用分层迭代优化策略,作业车间分批调度任务的分批方案由外层遗传算法确定,基于外层批量划分的结果,利用训练好的D3QN模型为内层子批工序排序问题提供自适应调度策略,以实现完工时间的最小化,提高生产效率。
为了实现上述目的,本发明采用的技术方案包括以下步骤:
S1:根据生产车间机器数量、加工工件的种类以及每种工件的加工数量构建作业车间分批调度问题的数学模型,调度的目标是使最大完工时间最小;
S2:作业车间分批调度问题的批量划分方案由遗传算法确定:基于实数序列的编码形式将每个批次工件随机拆分成若干个不同大小的子批进行组合,并以此生成初始种群;
S3:将种群中的染色体进行交叉、变异操作,增加种群的多样性;
S4:对染色体进行解码,得到工件的批量划分方案;将工件批量划分后的子批的工序排序问题用析取图模型进行表示,基于该析取图模型,建立马尔科夫决策过程,设计过程的状态、动作和奖励;
S5:利用图神经网络对获取析取图节点特征信息进行表征学习,捕获工序与工序之间的隐含关系,有效提取工序排序问题的特征状态;
S6:设计带有优先级经验回放的D3QN模型,并训练模型,为工件批量划分后的子批的工序排序问题提供自适应调度策略和完工时间,并将完工时间的倒数作为遗传算法的适应度函数值;
S7:判断遗传算法的迭代是否满足终止条件,若满足,则输出作业车间分批调度问题的最优分批方案和调度策略,否则,采用轮盘赌方法选择种群中的最优个体进入下一代,执行步骤S3。
所述步骤S1中作业车间分批调度的数学模型建立过程如下:
1-1.针对作业车间分批调度问题作如下描述:假设车间有n种工件需要在m台机器上等待加工,每种工件可批量划分为若干个子批,各子批的工件数量随机分配,每种工件各子批包含k道工序,已知每道工序的加工机器和处理时间,调度的目标是合理对工件进行批量划分和安排各子批工序的加工顺序,使得最大完工时间最小;
1-2.根据上述问题描述建立作业车间分批调度问题数学模型的符号定义:n:待加工工件的种类;
m:机器的序号,机器集合M={M1,M2,...,Mm};
j:工件i的工序号;
k:工件i的子批批次号;
Bi:工件i的总数量;
Amax:工件最大的分批数量;
Pi:工件i的子批数量;
Sik:工件i的第k批次的数量;
Oij:工件i的第j道工序,j=1,2,...,m;
PTijm:工件i的第j道工序在机器m上加工的时间;
STikjm:工件i的第k批次的第j道工序在机器m上加工的开始时间;
ETikjm:工件i的第k批次的第j道工序在机器m上加工的结束时间;
Eikm:工件i的第k批次的最后一道工序在机器m上加工的结束时间;
Xijm:决策变量,若工件i的第j道工序在机器m上加工则为1,否则为0;Ci:工件i的完成时间;
Cmax:所有工件均完成的最大完工时间;
1-3.根据上述定义,对作业车间分批调度问题可建立如下数学模型:
目标函数:
min Cmax=minmax{Ci|i=1,2,...,n} (1)
约束条件:
1≤Pi≤Amax (3)
ETikjm=STikjm+PTijm×Sik (4)
STik(j+1)m>=ETikjm (5)
Cmax=max{Ci|i=1,2,...,n} (7)
式(1)表示模型优化的目标是最小化完工时间;式(2)表示工件i所有子批的数量之和必须等于工件i的总数量;式(3)表示子批划分的数量不能超过事先规定的最大划分批次数量;式(4)表示工件i的第k批次的第j道工序在机器m上加工的完成时间等于加工开始时间与该批次的工序加工时间之和,其中该批次的工序加工时间为工序加工时间与批次数量的乘积;式(5)表示同一工件必须在上一道工序加工结束之后才能加工下一道工序;式(6)表示工件i的第j道工序只能在一台机器上加工;式(7)表示最大完工时间等于所有工件完成时间的最大值。
所述步骤S3中的交叉是指随机生成一个整数r(1≤r≤n),然后对两条父代染色体中编号为r的工件所对应的染色体基因进行交换得到新的两条染色体。
步骤S3中的变异是指随机生成一个整数r(1≤r≤n),然后对编号为r的工件所对应的染色体基因随机选择两个位置进行加1和减1操作得到新的染色体。
所述步骤S4中构建工序排序问题的析取图模型,具体过程如下:
4-1.析取图G=(V,C∪D)是一个混合图,其中V表示所有加工工序节点集合;C表示连接弧集合,即同一工件不同工序间的顺序约束关系;D表示析取弧集合,与析取弧相连的两个工序节点可以在同一台机器上加工;调度可以看作是确定图中所有析取弧的方向,同时让最大完工时间最小;
4-2.根据调度过程的实时状态,为析取图中的每个工序节点添加如下特征信息:
(1)工序状态:用one-hot向量进行表示,其中,[1,0,0]表示尚未完成,[0,1,0]表示正在加工,[0,0,1]表示已完成;
(2)工序加工时间;
(3)工序预计完成时间;
(4)工序等待时间;
(5)工序剩余加工时间;
(6)工件工序完成率;
对其中时间相关数据进行归一化处理,将其取值映射到[0,1]之间。
所述步骤S4中动作的设计是指以8种启发式规则(FIFO、LIFO、MOR、LOR、LPT、SPT、LTPT、STPT)作为动作空间。
所述步骤S4中奖励的设计,其具体计算过程如下:
式子中Ut表示t时刻机器的利用率,其计算方式为:机器利用率=机器总工作时间/(当前时间-第一道工序开始加工的时间);C是一个与调度规模有关的常数,makespan是实际完工时间,Tini是初始的预计完成时间,其计算方式是:L是调度完成的时间步。
所述步骤S5中利用图神经网络对析取图节点特征信息进行表征学习,其节点表征计算方式如下:
式中表示目标节点v的第k代节点特征,ho表示连接弧节点特征,hd表示析取弧节点特征;fθ表示目标节点v的更新函数,fo表示连接弧节点更新函数,fd表示析取弧节点更新函数;||表示向量连接符;经过K次迭代后,析取图中各个节点包含了K跳邻居节点的特征状态,对图中各个节点特征求和再取平均值得到析取图的特征状态,即:hG=Σu∈Vhv K/|V|。
所述步骤S6中训练D3QN模型,为工件批量划分后的子批工序排序问题提供自适应调度策略和完工时间,其具体包括如下过程:
6-1.初始化参数:初始化当前Q网络参数θ,初始化目标网络参数θ-,并将Q网络参数赋值给目标网络,θ→θ-,总迭代轮数T,折扣因子γ,探索率∈,目标网络参数更新频率P,经验回放容量N,优先级经验回放参数α和β;
6-2.将当前状态s,输入D3QN网络,计算各个动作对应的Q值,利用∈-greedy算法选择动作a,***给出奖励r;
6-3.将训练过程中获得的当前状态s、动作a、奖励r以及下一个状态s′以四元组(s,a,r,s′)的形式存放到优先经验回放池中,为之后的调度决策提供经验数据;
6-4.从经验池M中采用优先级经验回放方法采样min-batch个样本进行训练,其中样本j被采样的概率计算如下:
式中α表示优先级权重,α=0时表示均匀采样,pj表示优先级指标,其值与|TD-error|有关,pj的具体计算公式如下:
pj=|δj|+∈(12)
式中δj即TD-error,∈是一个很小的正数,防止抽样概率接近0,用于保证所有样本都有概率被抽样到;
当进行优先级采样时,不同的样本被赋予了不同的概率,原先的期望分布也因此被改变,使用重要性采样来消除这个偏差,重要性采用权重计算如下:
ωj=(N·Pj)-β/maxiωi(13)
式中β是一个超参数,用于调节偏差程度;
将抽样得到的数据输入D3QN模型中,计算时间差分误差TD-error,进而更新优先回放经验机制中的优先级;
6-5.计算损失函数,通过随机梯度下降法不断更新D3QN网络的权重参数,损失函数的计算方法如下:
式中γ表示折扣因子。
6-6.循环训练至累积奖励收敛,得到最终工序排序问题的调度模型。训练后的模型支持工序排序问题的快速求解以及可以适应不同规模的工序排序问题,泛化性好。
相比于现有技术,本发明具有以下的优点和效果:
1、本发明将作业车间分批调度问题分解为批量划分和子批的工序排序两个子问题,采用分层迭代优化策略来求解两个子问题,降低了问题的复杂度,使用遗传算法确定工件的分批方案,利用训练完成的D3QN模型对子批的工序排序问题进行求解,可在短时间内得到高质量的调度策略。
2、本发明通过图神经网络对析取图进行表征学习,并设计了一种有效的图节点表征计算方法以适应不同的调度环境,因此训练得到的D3QN模型具有较好的泛化能力,即在小规模问题下训练得到的模型,可直接用于大规模问题,无需重复训练,泛化性好。
3、本发明设计的方法与传统的遗传算法相比,在相同的迭代次数下,该方法的求解效果优于遗传算法;在求解速度上该方法比传统的遗传算法要快一个数量级,因为在求解子批工序排序问题时,遗传算法每次都需要重新迭代求解,非常耗时,而使用本发明训练得到的D3QN模型可在豪秒级时间内为之提供较优的调度策略。
附图说明
图1是基于D3QN和遗传算法的作业车间分批调度方法的框架图。
图2是遗传算法染色体编码、交叉以及变异示意图。
图3是一个3×3工序排序问题析取图模型。
图4是图神经网络结合D3QN模型架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰明白,以下结合附图及实施例,对本发明做进一步的解释说明。
图1是D3QN和遗传算法解决作业车间分批调度问题的框架图。本发明实施提供一种基于D3QN和遗传算法的作业车间分批调度方法,其具体步骤如下:
S1、根据生产车间机器数量、加工工件的种类以及每种工件的加工数量构建作业车间分批调度问题模型,调度的目标是使最大完工时间最小,具体包括如下步骤:
1)针对作业车间分批调度问题作如下描述:假设车间有n种工件需要在m台机器上等待加工,每种工件可批量划分为若干个子批,各子批的工件数量随机分配,每种工件各子批包含k道工序,已知每道工序的加工机器和处理时间,调度的目标是合理对工件进行子批划分和安排各子批工序的加工顺序,使得最大完工时间最小;
2)根据上述问题描述给出模型的符号定义:
n:待加工工件的种类;
m:机器的序号,机器集合M={M1,M2,...,Mm};
j:工件i的工序号;
k:工件i的子批批次号;
Bi:工件i的总数量;
Amax:工件最大的分批数量;
Pi:工件i的子批数量;
Sik:工件i的第k批次的数量;
Oij:工件i的第j道工序,j=1,2,...,m;
PTijm:工件i的第j道工序在机器m上加工的时间;
STikjm:工件i的第k批次的第j道工序在机器m上加工的开始时间;
ETikjm:工件i的第k批次的第j道工序在机器m上加工的结束时间;
Eikm:工件i的第k批次的最后一道工序在机器m上加工的结束时间;
Xijm:决策变量,若工件i的第j道工序在机器m上加工则为1,否则为0;
Ci:工件i的完成时间;
Cmax:所有工件均完成的最大完工时间;
(3)根据上述符号定义,对作业车间分批调度问题可建立如下模型:
目标函数:
minCmax=minmax{Ci|i=1,2,...,n} (1)
约束条件:
1≤Pi≤Amax (3)
ETikjm=STikjm+PTijm×Sik (4)
STik(j+1)m>=ETikjm (5)
Cmax=max{Ci|i=1,2,...,n} (7)
式(1)表示模型优化的目标是最小化最大完工时间;式(2)表示工件i所有子批的数量之和必须等于工件i的总数量;式(3)表示子批划分的数量不能超过事先规定的最大划分批次数量;式(4)表示工件i的第k批次的第j道工序在机器m上加工的完成时间等于加工开始时间与该批次的工序加工时间之和,其中该批次的工序加工时间为工序加工时间与批次数量的乘积;式(5)表示同一工件必须在上一道工序加工结束之后才能加工下一道工序;式(6)表示工件i的第j道工序只能在一台机器上加工;式(7)表示最大完工时间等于所有工件完成时间的最大值。
S2、作业车间分批调度问题的批量划分方案由遗传算法确定,基于实数序列的编码形式将每个批次工件随机拆分成若干个不同大小的子批进行组合,并以此生成初始种群;如图2中的编码(3,4,3,5,5,0,2,4,4)是指将工件A、B、C最多为3个子批,其具体方案是:A分为3批,各子批包含的工件A数量为3、4、3,B分为2批,各子批包含的工件B数量为2、2,C分为3批,各子批包含的工件C数量为2、4、4。
S3、将种群中的染色体进行交叉、变异操作,增加种群的多样性;对染色体进行解码,得到工件的批量划分方案;
所述的交叉是指随机生成一个整数r(1≤r≤n),然后对两条父代染色体中编号为r的工件所对应的染色体基因进行交换得到新的两条染色体;如图2中的交叉,表示随机生成的r=2,然后对两条父代染色体q1、q2中编号为2的工件所对应的染色体基因进行交换得到q1′、q2′两条染色体。
所述的变异是指随机生成一个整数r(1≤r≤n),然后对编号为r的工件所对应的染色体基因随机选择两个位置进行加1和减1操作得到新的染色体;如图2中的变异,表示随机生成的r=3,然后对染色体q中编号为3的工件所对应的染色体基因选取1号位和2号位进行加1和减1操作,得到新的染色体q′。
S4、将工件批量划分后子批工序排序问题用析取图模型进行表示,基于构建的工序排序问题的析取图模型,建立马尔科夫决策过程,设计过程的状态、动作和奖励,其具体过程如下:
1)析取图G=(V,C∪D)是一个混合图,其中V表示所有加工工序节点集合;C表示连接弧集合,即同一工件不同工序间的顺序约束关系;D表示析取弧集合,与析取弧相连的两个工序节点可以在同一台机器上加工;调度可以看作是确定图中所有析取弧的方向,同时让最大完工时间最短;图3为一个工序排序问题的析取图模型;
2)根据调度过程的实时状态,为析取图中的每个工序节点添加如下特征信息:(1)工序状态:用one-hot向量进行表示,如[1,0,0]表示尚未完成,[0,1,0]表示正在加工,[0,0,1]表示已完成;(2)工序加工时间;(3)工序预计完成时间;(4)工序等待时间;(5)工序剩余加工时间;(6)工件工序完成率;对时间相关数据进行归一化处理,将其取值映射到[0,1]之间,降低方差,提高模型的鲁棒性;
3)所述步骤中的动作是指以8种启发式规则(FIFO、LIFO、MOR、LOR、LPT、SPT、LTPT、STPT)作为动作空间。
4)所述步骤中的奖励,其具体计算过程如下:
式子中Ut表示t时刻机器的利用率,其计算方式为:机器利用率=机器总工作时间/(当前时间-第一道工序开始加工的时间);C是一个与调度规模有关的常数,makespan是实际完成时间,Tini是初始的预计完成时间,其计算方式是:L是调度完成的时间步。
S5、利用图神经网络对析取图节点特征信息进行表征学习,捕获工序与工序之间的隐含关系,有效提取工序排序问题的特征状态;
所述步骤中的利用图神经网络对析取图节点特征信息进行表征学习,其节点表征具体计算方式如下:
式中表示目标节点v的第k代节点特征,ho表示连接弧节点特征,hd表示析取弧节点特征;fθ表示目标节点v的更新函数,fo表示连接弧节点更新函数,fd表示析取弧节点更新函数;||表示向量连接符;经过K次迭代后,析取图中各个节点包含了K跳邻居节点的特征状态,对图中各个节点特征求和再取平均值得到析取图的特征状态,即:hG=Σu∈Vhv K/|V|。
S6、设计带有优先级经验回放的D3QN模型结构,并训练模型,为工件批量划分后的子批工序排序问题提供自适应调度策略和完工时间,并将完工时间的倒数作为遗传算法的适应度函数值,图4为D3QN模型框架图;D3QN模型训练过程具体如下:
1)初始化参数:初始化当前Q网络参数θ,初始化目标网络参数θ-,并将Q网络参数赋值给目标网络,θ→θ-,总迭代轮数T,折扣因子γ,探索率∈,目标网络参数更新频率P,经验回放容量N,优先级经验回放参数α和β;
2):将当前状态s,输入D3QN网络,计算各个动作对应的Q值,利用∈-greedy算法选择动作a,***给出奖励r;
3)将训练过程中获得的当前状态s、动作a、奖励r以及下一个状态s′以四元组(s,a,r,s′)的形式存放到优先经验回放池中,为之后的调度决策提供经验数据;
4)从经验池M中采用优先级经验回放方法采样min-batch个样本进行训练,其中样本j被采样的概率计算如下:
式中α表示优先级权重,α=0时表示均匀采样,pj表示优先级指标,其值与|TD-error|有关,pj的具体计算公式如下:
pj=|δj|+∈
式中δj即TD-error,∈是一个很小的正数,防止抽样概率接近0,用于保证所有样本都有概率被抽样到;
当进行优先级采样时,不同的样本被赋予了不同的概率,原先的期望分布也因此被改变,使用重要性采样来消除这个偏差,重要性采用权重计算如下:
ωj=(N·Pj)-β/maxiωi
式中β是一个超参数,用于调节偏差程度;
将抽样得到的数据输入D3QN模型中,计算时间差分误差TD-error,进而更新优先回放经验机制中的优先级;
5)计算损失函数,通过随机梯度下降法不断更新D3QN网络的权重参数,损失函数的计算方法如下:
式中γ表示折扣因子。
6)循环训练至累积奖励收敛,得到最终工序排序问题的调度模型,训练后的模型支持工序排序问题的快速求解以及可以适应不同规模的工序排序问题,泛化性好;
S7、判断是否达到迭代次数,若是,则输出作业车间分批调度问题的最优分批方案和调度策略,否则,采用轮盘赌方法选择种群中的最优个体进入下一代,执行步骤S3。
以具体的作业车间分批调度实例来证明本发明的有效性和实用性。表1为一个4×4规模的作业车间调度问题实例,该调度问题有4种工件,在4台机器上加工,每种工件有10个,每个工件包含4道工序,已知每道工序对应的加工机器及处理时间。
表1作业车间调度问题实例
使用该方法的求解步骤如下:
1)初始化遗传算法参数:种群规模N=30,进化代数T=50,交叉概率pc=0.8,变异概率pm=0.1,令当前迭代次数t=1;
2)采用实数序列编码并生成初始种群;
3)对染色体进行交叉、变异操作;
3)解码得到工件的批量划分方案,基于批量划分的结果,利用训练好的D3QN模型为子批工序排序提供自适应调度策略和最大完工时间;
4)将最大完工时间的倒数作为适应度函数值,采取轮盘赌方法选择N个最优个体进入下一代种群;
5)判断t>=T,若成立,结束算法,输出较优分批方案和调度策略,否则跳转到步骤3。
用该方法求解得到的最大完工时间为322,每种工件的分批数量为:(1,2,3,4)、(1,1,1,7)、(1,2,3,4)、(2,2,3,3);使用遗传算法求解得到最大完工时间为348;而不分批求解得到的最大完工时间为360,可知工件分批有利于提高生产效率。另外,在求解时间上,使用本发明提供的方法需用时936秒,而使用遗传算法得到理想的解需要花费2小时16分钟,约为本发明提供的方法用时的8倍。
由以上实施例结果可以得出该方法可以有效解决作业车间分批调度问题,并且比遗传算法有更高的求解精度。另外在求解时间上,使用遗传算法需要花费大量的时间才能得到较优的解,而使用本方法可以在较短的时间内得到较优解,比传统遗传算法求解速度快上一个数量级。
Claims (9)
1.一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于包括以下步骤:
S1:根据生产车间机器数量、加工工件的种类以及每种工件的加工数量构建作业车间分批调度问题的数学模型,调度的目标是使最大完工时间最小;
S2:作业车间分批调度问题的批量划分方案由遗传算法确定:基于实数序列的编码形式将每个批次工件随机拆分成若干个不同大小的子批进行组合,并以此生成初始种群;
S3:将种群中的染色体进行交叉、变异操作,增加种群的多样性;
S4:对染色体进行解码,得到工件的批量划分方案;将工件批量划分后的子批的工序排序问题用析取图模型进行表示,基于该析取图模型,建立马尔科夫决策过程,设计过程的状态、动作和奖励;
S5:利用图神经网络对获取析取图节点特征信息进行表征学习,捕获工序与工序之间的隐含关系,有效提取工序排序问题的特征状态;
S6:设计带有优先级经验回放的D3QN模型,并训练模型,为工件批量划分后的子批的工序排序问题提供自适应调度策略和完工时间,并将完工时间的倒数作为遗传算法的适应度函数值;
S7:判断遗传算法的迭代是否满足终止条件,若满足,则输出作业车间分批调度问题的最优分批方案和调度策略,否则,采用轮盘赌方法选择种群中的最优个体进入下一代,执行步骤S3。
2.根据权利要求1所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S1中作业车间分批调度的数学模型建立过程如下:
1-1.针对作业车间分批调度问题作如下描述:假设车间有n种工件需要在m台机器上等待加工,每种工件可批量划分为若干个子批,各子批的工件数量随机分配,每种工件各子批包含k道工序,已知每道工序的加工机器和处理时间,调度的目标是合理对工件进行批量划分和安排各子批工序的加工顺序,使得最大完工时间最小;
1-2.根据上述问题描述建立作业车间分批调度问题数学模型的符号定义:
n:待加工工件的种类;
m:机器的序号,机器集合M={M1,M2,...,Mm};
j:工件i的工序号;
k:工件i的子批批次号;
Bi:工件i的总数量;
Amax:工件最大的分批数量;
Pi:工件i的子批数量;
Sik:工件i的第k批次的数量;
Oij:工件i的第j道工序,j=1,2,...,m;
PTijm:工件i的第j道工序在机器m上加工的时间;
STikjm:工件i的第k批次的第j道工序在机器m上加工的开始时间;
ETikjm:工件i的第k批次的第j道工序在机器m上加工的结束时间;
Eikm:工件i的第k批次的最后一道工序在机器m上加工的结束时间;
Xijm:决策变量,若工件i的第j道工序在机器m上加工则为1,否则为0;
Ci:工件i的完成时间;
Cmax:所有工件均完成的最大完工时间;
1-3.根据上述定义,对作业车间分批调度问题可建立如下数学模型:
目标函数:
min Cmax=min max{Ci|i=1,2,...,n} (1)
约束条件:
1≤Pi≤Amax (3)
ETikjm=STikjm+PTijm×Sik (4)
STik(j+1)m≥ETikjm (5)
Cmax=max{Ci|i=1,2,...,n} (7)
式(1)表示模型优化的目标是最小化完工时间;式(2)表示工件i所有子批的数量之和必须等于工件i的总数量;式(3)表示子批划分的数量不能超过事先规定的最大划分批次数量;式(4)表示工件i的第k批次的第j道工序在机器m上加工的完成时间等于加工开始时间与该批次的工序加工时间之和,其中该批次的工序加工时间为工序加工时间与批次数量的乘积;式(5)表示同一工件必须在上一道工序加工结束之后才能加工下一道工序;式(6)表示工件i的第j道工序只能在一台机器上加工;式(7)表示最大完工时间等于所有工件完成时间的最大值。
3.根据权利要求2所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S3中的交叉是指随机生成交叉位置r,1≤r≤n,然后对两条父代染色体中编号为r的工件所对应的染色体基因进行交换得到新的两条染色体。
4.根据权利要求3所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S3中的变异是指随机生成变异位置r,1≤r≤n,然后对编号为r的工件所对应的染色体基因随机选择两个位置进行加1和减1操作得到新的染色体。
5.根据权利要求3或4所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S4中构建工序排序问题的析取图模型,具体过程如下:
4-1.析取图G=(V,C∪D)是一个混合图,其中V表示所有加工工序节点集合;C表示连接弧集合,即同一工件不同工序间的顺序约束关系;D表示析取弧集合,与析取弧相连的两个工序节点可以在同一台机器上加工;调度可以看作是确定图中所有析取弧的方向,同时让最大完工时间最小;
4-2.根据调度过程的实时状态,为析取图中的每个工序节点添加如下特征信息:
(1)工序状态:用one-hot向量进行表示,其中,[1,0,0]表示尚未完成,[0,1,0]表示正在加工,[0,0,1]表示已完成;
(2)工序加工时间;
(3)工序预计完成时间;
(4)工序等待时间;
(5)工序剩余加工时间;
(6)工件工序完成率;
对其中时间相关数据进行归一化处理,将其取值映射到[0,1]之间。
6.根据权利要求5所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S4中动作的设计是指以8种启发式规则作为动作空间。
9.根据权利要求7或8所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S6中训练D3QN模型,为工件批量划分后的子批工序排序问题提供自适应调度策略和完工时间,其具体包括如下过程:
6-1.初始化参数:初始化当前Q网络参数θ,初始化目标网络参数θ-,并将Q网络参数赋值给目标网络,θ→θ-,总迭代轮数T,折扣因子γ,探索率∈,目标网络参数更新频率P,经验回放容量N,优先级经验回放参数α和β;
6-2.将当前状态s,输入D3QN网络,计算各个动作对应的Q值,利用∈-greedy算法选择动作a,***给出奖励r;
6-3.将训练过程中获得的当前状态s、动作a、奖励r以及下一个状态s′以四元组(s,a,r,s′)的形式存放到优先经验回放池中,为之后的调度决策提供经验数据;
6-4.从经验池M中采用优先级经验回放方法采样min-batch个样本进行训练,其中样本j被采样的概率计算如下:
式中α表示优先级权重,α=0时表示均匀采样,pj表示优先级指标,其值与|TD-error|有关,pj的具体计算公式如下:
pj=|δj|+∈(12)
式中δj即TD-error,∈是一个很小的正数,防止抽样概率接近0,用于保证所有样本都有概率被抽样到;
当进行优先级采样时,不同的样本被赋予了不同的概率,原先的期望分布也因此被改变,使用重要性采样来消除这个偏差,重要性采用权重计算如下:
ωj=(N·Pj)-β/maxiωi(13)
式中β是一个超参数,用于调节偏差程度;
将抽样得到的数据输入D3QN模型中,计算时间差分误差TD-error,进而更新优先回放经验机制中的优先级;
6-5.计算损失函数,通过随机梯度下降法不断更新D3QN网络的权重参数,损失函数的计算方法如下:
式中γ表示折扣因子;
6-6.循环训练至累积奖励收敛,得到最终工序排序问题的调度模型。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211609644.1A CN115826530A (zh) | 2022-12-14 | 2022-12-14 | 一种基于d3qn和遗传算法的作业车间分批调度方法 |
US18/537,969 US20240211825A1 (en) | 2022-12-14 | 2023-12-13 | Job-shop batch scheduling method based on d3qn and genetic algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211609644.1A CN115826530A (zh) | 2022-12-14 | 2022-12-14 | 一种基于d3qn和遗传算法的作业车间分批调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115826530A true CN115826530A (zh) | 2023-03-21 |
Family
ID=85545725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211609644.1A Pending CN115826530A (zh) | 2022-12-14 | 2022-12-14 | 一种基于d3qn和遗传算法的作业车间分批调度方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240211825A1 (zh) |
CN (1) | CN115826530A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555305A (zh) * | 2024-01-11 | 2024-02-13 | 吉林大学 | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020204351A1 (de) * | 2020-04-03 | 2021-10-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen |
-
2022
- 2022-12-14 CN CN202211609644.1A patent/CN115826530A/zh active Pending
-
2023
- 2023-12-13 US US18/537,969 patent/US20240211825A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555305A (zh) * | 2024-01-11 | 2024-02-13 | 吉林大学 | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 |
CN117555305B (zh) * | 2024-01-11 | 2024-03-29 | 吉林大学 | 一种基于nsgaii的多目标可变子批柔性车间作业调度方法 |
Also Published As
Publication number | Publication date |
---|---|
US20240211825A1 (en) | 2024-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112987664B (zh) | 一种基于深度强化学习的流水车间调度方法 | |
CN115826530A (zh) | 一种基于d3qn和遗传算法的作业车间分批调度方法 | |
CN105045243B (zh) | 一种半导体生产线动态调度装置 | |
CN111507641A (zh) | 一种批处理设备调度方法及其装置 | |
CN112381343B (zh) | 一种基于遗传-骨干粒子群混合算法的柔性作业车间调度方法 | |
CN112561225B (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN114186749A (zh) | 基于强化学习及遗传算法的柔性车间调度方法及模型 | |
CN110471274A (zh) | 基于改进统一粒子群算法的机械零件加工流水线调度方法 | |
CN112882449A (zh) | 一种多品种小批量多目标柔性作业车间能耗优化调度方法 | |
CN114118699B (zh) | 一种分布式可重入车间调度问题的优化方法及装置 | |
Li et al. | An improved cuckoo search algorithm for the hybrid flow-shop scheduling problem in sand casting enterprises considering batch processing | |
CN105975701A (zh) | 一种基于混合模糊模型的并行调度拆卸路径生成方法 | |
CN115640898A (zh) | 一种基于ddqn算法的大规模柔性作业车间调度方法 | |
Ma et al. | A hybrid particle swarm optimization and simulated annealing algorithm for job-shop scheduling | |
CN113515097B (zh) | 一种基于深度强化学习的两目标单机批调度方法 | |
CN111210125A (zh) | 一种基于历史信息指导的多目标工件批调度方法及装置 | |
CN114595633A (zh) | 一种基于多约束的多目标柔性作业车间节能调度方法 | |
CN114021934A (zh) | 基于改进spea2求解车间节能调度问题的方法 | |
CN117726119A (zh) | 一种解决分布式混合流水车间组调度的图仿生学习方法 | |
CN117540990A (zh) | 一种基于深度强化学习与多目标优化的生产线调度方法 | |
Li et al. | Research on dynamic multi-objective fjsp based on genetic algorithm | |
CN115907399A (zh) | 一种面向电子产品的离散制造柔性生产的智能调度方法 | |
CN116307214A (zh) | 一种基于nsga-ii算法的自动配棉方法及相关装置 | |
Zhou et al. | Imperialist competitive algorithm based on VNSOBL optimization for distributed parallel machine scheduling problem | |
CN111844049B (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 |