CN115826530A - 一种基于d3qn和遗传算法的作业车间分批调度方法 - Google Patents

一种基于d3qn和遗传算法的作业车间分批调度方法 Download PDF

Info

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
Application number
CN202211609644.1A
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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi 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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202211609644.1A priority Critical patent/CN115826530A/zh
Publication of CN115826530A publication Critical patent/CN115826530A/zh
Priority to US18/537,969 priority patent/US20240211825A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/06311Scheduling, planning or task assignment for a person or group
    • 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

  • 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和遗传算法的作业车间分批调度方法
技术领域
本发明属于生产智能调度领域,提出了一种基于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)
约束条件:
Figure SMS_1
1≤Pi≤Amax (3)
ETikjm=STikjm+PTijm×Sik (4)
STik(j+1)m>=ETikjm (5)
Figure SMS_2
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中奖励的设计,其具体计算过程如下:
Figure SMS_3
式子中Ut表示t时刻机器的利用率,其计算方式为:机器利用率=机器总工作时间/(当前时间-第一道工序开始加工的时间);C是一个与调度规模有关的常数,makespan是实际完工时间,Tini是初始的预计完成时间,其计算方式是:
Figure SMS_4
L是调度完成的时间步。
所述步骤S5中利用图神经网络对析取图节点特征信息进行表征学习,其节点表征计算方式如下:
Figure SMS_5
式中
Figure SMS_6
表示目标节点v的第k代节点特征,ho表示连接弧节点特征,hd表示析取弧节点特征;fθ表示目标节点v的更新函数,fo表示连接弧节点更新函数,fd表示析取弧节点更新函数;||表示向量连接符;经过K次迭代后,析取图中各个节点包含了K跳邻居节点的特征状态,对图中各个节点特征求和再取平均值得到析取图的特征状态,即:hG=Σu∈Vhv K/|V|。
所述步骤S6中训练D3QN模型,为工件批量划分后的子批工序排序问题提供自适应调度策略和完工时间,其具体包括如下过程:
6-1.初始化参数:初始化当前Q网络参数θ,初始化目标
Figure SMS_7
网络参数θ-,并将Q网络参数赋值给目标
Figure SMS_8
网络,θ→θ-,总迭代轮数T,折扣因子γ,探索率∈,目标
Figure SMS_9
网络参数更新频率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被采样的概率计算如下:
Figure SMS_10
式中α表示优先级权重,α=0时表示均匀采样,pj表示优先级指标,其值与|TD-error|有关,pj的具体计算公式如下:
Figure SMS_11
pj=|δj|+∈(12)
式中δj即TD-error,∈是一个很小的正数,防止抽样概率接近0,用于保证所有样本都有概率被抽样到;
当进行优先级采样时,不同的样本被赋予了不同的概率,原先的期望分布也因此被改变,使用重要性采样来消除这个偏差,重要性采用权重计算如下:
ωj=(N·Pj)/maxiωi(13)
式中β是一个超参数,用于调节偏差程度;
将抽样得到的数据输入D3QN模型中,计算时间差分误差TD-error,进而更新优先回放经验机制中的优先级;
6-5.计算损失函数,通过随机梯度下降法不断更新D3QN网络的权重参数,损失函数的计算方法如下:
Figure SMS_12
式中γ表示折扣因子。
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)
约束条件:
Figure SMS_13
1≤Pi≤Amax (3)
ETikjm=STikjm+PTijm×Sik (4)
STik(j+1)m>=ETikjm (5)
Figure SMS_14
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)所述步骤中的奖励,其具体计算过程如下:
Figure SMS_15
式子中Ut表示t时刻机器的利用率,其计算方式为:机器利用率=机器总工作时间/(当前时间-第一道工序开始加工的时间);C是一个与调度规模有关的常数,makespan是实际完成时间,Tini是初始的预计完成时间,其计算方式是:
Figure SMS_16
L是调度完成的时间步。
S5、利用图神经网络对析取图节点特征信息进行表征学习,捕获工序与工序之间的隐含关系,有效提取工序排序问题的特征状态;
所述步骤中的利用图神经网络对析取图节点特征信息进行表征学习,其节点表征具体计算方式如下:
Figure SMS_17
式中
Figure SMS_18
表示目标节点v的第k代节点特征,ho表示连接弧节点特征,hd表示析取弧节点特征;fθ表示目标节点v的更新函数,fo表示连接弧节点更新函数,fd表示析取弧节点更新函数;||表示向量连接符;经过K次迭代后,析取图中各个节点包含了K跳邻居节点的特征状态,对图中各个节点特征求和再取平均值得到析取图的特征状态,即:hG=Σu∈Vhv K/|V|。
S6、设计带有优先级经验回放的D3QN模型结构,并训练模型,为工件批量划分后的子批工序排序问题提供自适应调度策略和完工时间,并将完工时间的倒数作为遗传算法的适应度函数值,图4为D3QN模型框架图;D3QN模型训练过程具体如下:
1)初始化参数:初始化当前Q网络参数θ,初始化目标
Figure SMS_19
网络参数θ-,并将Q网络参数赋值给目标
Figure SMS_20
网络,θ→θ-,总迭代轮数T,折扣因子γ,探索率∈,目标
Figure SMS_21
网络参数更新频率P,经验回放容量N,优先级经验回放参数α和β;
2):将当前状态s,输入D3QN网络,计算各个动作对应的Q值,利用∈-greedy算法选择动作a,***给出奖励r;
3)将训练过程中获得的当前状态s、动作a、奖励r以及下一个状态s′以四元组(s,a,r,s′)的形式存放到优先经验回放池中,为之后的调度决策提供经验数据;
4)从经验池M中采用优先级经验回放方法采样min-batch个样本进行训练,其中样本j被采样的概率计算如下:
Figure SMS_22
式中α表示优先级权重,α=0时表示均匀采样,pj表示优先级指标,其值与|TD-error|有关,pj的具体计算公式如下:
Figure SMS_23
pj=|δj|+∈
式中δj即TD-error,∈是一个很小的正数,防止抽样概率接近0,用于保证所有样本都有概率被抽样到;
当进行优先级采样时,不同的样本被赋予了不同的概率,原先的期望分布也因此被改变,使用重要性采样来消除这个偏差,重要性采用权重计算如下:
ωj=(N·Pj)/maxiωi
式中β是一个超参数,用于调节偏差程度;
将抽样得到的数据输入D3QN模型中,计算时间差分误差TD-error,进而更新优先回放经验机制中的优先级;
5)计算损失函数,通过随机梯度下降法不断更新D3QN网络的权重参数,损失函数的计算方法如下:
Figure SMS_24
式中γ表示折扣因子。
6)循环训练至累积奖励收敛,得到最终工序排序问题的调度模型,训练后的模型支持工序排序问题的快速求解以及可以适应不同规模的工序排序问题,泛化性好;
S7、判断是否达到迭代次数,若是,则输出作业车间分批调度问题的最优分批方案和调度策略,否则,采用轮盘赌方法选择种群中的最优个体进入下一代,执行步骤S3
以具体的作业车间分批调度实例来证明本发明的有效性和实用性。表1为一个4×4规模的作业车间调度问题实例,该调度问题有4种工件,在4台机器上加工,每种工件有10个,每个工件包含4道工序,已知每道工序对应的加工机器及处理时间。
表1作业车间调度问题实例
Figure SMS_25
使用该方法的求解步骤如下:
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)
约束条件:
Figure FDA0003999138220000021
1≤Pi≤Amax (3)
ETikjm=STikjm+PTijm×Sik (4)
STik(j+1)m≥ETikjm (5)
Figure FDA0003999138220000031
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种启发式规则作为动作空间。
7.根据权利要求5所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S4中奖励的设计,其具体计算过程如下:
Figure FDA0003999138220000041
式子中Ut表示t时刻机器的利用率,其计算方式为:机器利用率=机器总工作时间/(当前时间-第一道工序开始加工的时间);C是一个与调度规模有关的常数,makespan是实际完成时间,Tini是初始的预计完成时间,其计算方式是:
Figure FDA0003999138220000042
L是调度完成的时间步。
8.根据权利要求7所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S5中利用图神经网络对析取图节点特征信息进行表征学习,其节点表征计算方式如下:
Figure FDA0003999138220000043
式中
Figure FDA0003999138220000044
表示目标节点v的第k代节点特征,ho表示连接弧节点特征,hd表示析取弧节点特征;fθ表示目标节点v的更新函数,fo表示连接弧节点更新函数,fd表示析取弧节点更新函数;||表示向量连接符;经过K次迭代后,析取图中各个节点包含了K跳邻居节点的特征状态,对图中各个节点特征求和再取平均值得到析取图的特征状态,即:hG=∑u∈Vhv K/|V|。
9.根据权利要求7或8所述的一种基于D3QN和遗传算法的作业车间分批调度方法,其特征在于所述步骤S6中训练D3QN模型,为工件批量划分后的子批工序排序问题提供自适应调度策略和完工时间,其具体包括如下过程:
6-1.初始化参数:初始化当前Q网络参数θ,初始化目标
Figure FDA0003999138220000051
网络参数θ-,并将Q网络参数赋值给目标
Figure FDA0003999138220000052
网络,θ→θ-,总迭代轮数T,折扣因子γ,探索率∈,目标
Figure FDA0003999138220000053
网络参数更新频率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被采样的概率计算如下:
Figure FDA0003999138220000054
式中α表示优先级权重,α=0时表示均匀采样,pj表示优先级指标,其值与|TD-error|有关,pj的具体计算公式如下:
Figure FDA0003999138220000055
pj=|δj|+∈(12)
式中δj即TD-error,∈是一个很小的正数,防止抽样概率接近0,用于保证所有样本都有概率被抽样到;
当进行优先级采样时,不同的样本被赋予了不同的概率,原先的期望分布也因此被改变,使用重要性采样来消除这个偏差,重要性采用权重计算如下:
ωj=(N·Pj)/maxiωi(13)
式中β是一个超参数,用于调节偏差程度;
将抽样得到的数据输入D3QN模型中,计算时间差分误差TD-error,进而更新优先回放经验机制中的优先级;
6-5.计算损失函数,通过随机梯度下降法不断更新D3QN网络的权重参数,损失函数的计算方法如下:
Figure FDA0003999138220000061
式中γ表示折扣因子;
6-6.循环训练至累积奖励收敛,得到最终工序排序问题的调度模型。
CN202211609644.1A 2022-12-14 2022-12-14 一种基于d3qn和遗传算法的作业车间分批调度方法 Pending CN115826530A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117555305A (zh) * 2024-01-11 2024-02-13 吉林大学 一种基于nsgaii的多目标可变子批柔性车间作业调度方法

Families Citing this family (1)

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

Cited By (2)

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