CN117892969A - 一种基于深度强化学习的柔性车间作业动态调度方法 - Google Patents
一种基于深度强化学习的柔性车间作业动态调度方法 Download PDFInfo
- Publication number
- CN117892969A CN117892969A CN202410075997.0A CN202410075997A CN117892969A CN 117892969 A CN117892969 A CN 117892969A CN 202410075997 A CN202410075997 A CN 202410075997A CN 117892969 A CN117892969 A CN 117892969A
- Authority
- CN
- China
- Prior art keywords
- time
- machine
- node
- job
- scheduling
- 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 90
- 230000002787 reinforcement Effects 0.000 title claims abstract description 27
- 238000005457 optimization Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims abstract description 6
- 239000003795 chemical substances by application Substances 0.000 claims description 139
- 239000013598 vector Substances 0.000 claims description 84
- 239000010410 layer Substances 0.000 claims description 57
- 230000009471 action Effects 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 38
- 230000014509 gene expression Effects 0.000 claims description 37
- 238000012795 verification Methods 0.000 claims description 16
- 239000002356 single layer Substances 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 description 13
- 230000009286 beneficial effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003754 machining Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于深度强化学习的柔性车间作业动态调度方法,属于车间作业动态调度领域,该方法包括以作业总拖期时间最小化、作业最大完成时间最小化和平均机器利用率最大化为优化目标,得到多目标模型;利用析取图模型对动态作业车间调度问题进行抽象,得到调度状态;根据调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程,得到作业调度模型;获取新作业集合,并根据新作业集合,利用作业调度模型,得到调度计划表,完成柔性车间作业动态调度。本发明解决了现有技术中依赖调度规则而缺乏泛化性的问题。
Description
技术领域
本发明属于车间作业动态调度领域,尤其涉及一种基于深度强化学习的柔性车间作业动态调度方法。
背景技术
在现代离散化定制制造业中,作业的随机到达、机器故障、订单取消或修改等随机事件和变化频繁发生。制造过程变得越来越精细,不同目标之间存在相互冲突的情况,需要同时优化这些目标。因此,车间调度的难度和复杂度也随之增加。传统的车间调度方法已经无法满足现代制造业的需求。此外,生产任务和生产资源的分配也需要根据实时需求进行灵活调整。
针对多目标动态柔性车间作业调度(MODFJSP),国内外学者已提出了各种方法来解决这个问题,包括调度规则、遗传算法、粒子群优化算法、模拟退火算法等。尽管经过精心设计的调度规则适用于处理智能制造中的动态大规模问题,但是这些规则产生的解决方案质量仍未达到最优水平。此外,设计合适的优先调度规则需要大量的专家经验。相比之下,使用群智能算法可以通过复杂的搜索过程来探索解决方案空间,以找到高质量的解决方案。然而,当问题规模发生变化时,群智能算法需要重新迭代以寻找最优解决方案,这种方法不适用于实时调度。因此,在实际求解问题时,需要仔细权衡群智能算法的优缺点。
目前的研究工作主要分为两类:一类是采用启发式算法通过复杂的搜索过程来探索可能的解决方案;另一类是倾向于应用强化学习算法来选择适当的调度规则,以实现调度优化。然而,启发式算法在求解问题规模改变时需要重新迭代求解,这会浪费大量计算资源,不适合实时调度。而调度规则的设计过于依赖专家经验,而且选择相当有限,导致许多可能的高质量调度方案被忽视,且两类方法大多针对单目标问题。
深度强化学习方法是一种基于人工智能的学习方法,结合了深度学习和强化学习的技术,在求解组合优化问题取得了较大进展。针对柔性车间作业调度问题,深度强化学习方法通过训练智能调度智能体,使其能够从环境中观察状态并做出决策。该方法的核心思想是通过与环境的交互来优化调度策略,以最小化预设的多个优化目标。通过应用深度强化学习方法,制造业可以实现实时调度,并在同时优化多个目标的情况下进行操作。因此,为了能够适应作业的随机到达、机器故障以及订单取消或修改等实时变化,以及能够根据需要灵活调整生产任务和资源分配,迫切需要一种实时多目标实时重调度方法,该方法能够同时实现时间效率和解决方案质量。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于深度强化学习的柔性车间作业动态调度方法解决了现有技术中依赖调度规则而缺乏泛化性的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于深度强化学习的柔性车间作业动态调度方法,包括以下步骤:
S1、以作业总拖期时间最小化、作业最大完成时间最小化和平均机器利用率最大化为优化目标,得到多目标模型;
S2、利用析取图模型对动态作业车间调度问题进行抽象,得到调度状态;
S3、根据调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程,得到作业调度模型;
S4、获取新作业集合,并根据新作业集合,利用作业调度模型,得到调度计划表,完成柔性车间作业动态调度。
本发明的有益效果为:本方法基于分层多智能体深度强化学习与局部搜索,利用分层多智能体深度强化学习方法,在动态柔性车间作业调度中做出最优决策;本方法允许根据需求灵活地选择优化目标,并通过智能体间的协作来实现目标的实时优化。同时,通过深度强化学习技术,智能体能够从环境中观察状态并学习最佳决策策略,以提高生产效率并降低成本。局部搜索技术能够在已有的调度方案中进行进一步的优化,提高解的质量。本方法满足动态变化的市场需求的同时,提高生产效率和降低成本,解决现有技术中依赖调度规则而缺乏泛化性的挑战。
进一步地,所述步骤S1中多目标模型的表达式为:
其中,MODFJSP为多目标模型;Minimize为最小化函数;Totaltard为作业总拖期时间;i为作业编号;n为作业数量;max为最大化函数;为第i个作业完成所有操作的时间;ni为第i个作业的总操作数;Di为第i个作业的作业超期时间;Makespan为第i个作业完成所有操作的最大完成时间;Uave为平均机器利用率;m为机器数量;k为机器编号;j为第i个作业的操作编号;tijk为第i个作业的第j个操作在第k个机器的加工时间;Xijk为第i个作业的第j个操作是否可以在第k个机器进行的标识符,如果可以,为1,否则,为0;time为环境当前时刻。
上述进一步方案的有益效果为:通过数学建模描述具有多种资源约束条件下的柔性车间作业调度问题,以优化作业加工顺序,最大程度地提高生产效率。
进一步地,所述步骤S2中调度状态的表达式为:
G=(N,M,C,ε0,g)
其中,G为调度状态;N为操作节点;M为机器节点;C为有向弧;ε0为无向弧;g为优化目标节点;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;Start为处理时间为零的虚拟开始节点;End为结束节点。
上述进一步方案的有益效果为:调度状态以图形的方式清晰地展示了生产车间中各个任务和资源之间的复杂关系,通过节点和边的表示方式,直观呈现了任务的时序关系、资源的可用性以及其他重要约束。这种图形化建模使问题更加具体而易于理解,有助于问题的形式化描述和可视化分析。
进一步地,所述步骤S3具体为:
S301、获取实例数据;
S302、根据实例数据、调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程对高层智能体和低层智能体进行训练,得到作业调度模型。
上述进一步方案的有益效果为:这种方法具有层次化优化、综合考虑多目标、学习和适应性强以及决策过程优化的优势,使模型能够更有效地应对复杂的作业调度问题,提高系统的鲁棒性和性能,通过学习和优化过程逐步提升决策策略,实现更智能和灵活的生产调度。
进一步地,所述步骤S302具体为:
S3021、对实例数据进行取样,得到取样数据;
S3022、以优化目标为高层智能体,以作业和机器为低层智能体;
S3023、根据高层智能体和低层智能体,基于调度状态和多目标模型进行目标选择,得到待优化目标;
S3024、利用调度状态,进行操作和机器对选择,得到操作机器对;
S3025、根据操作机器对,利用局部搜索法,更新操作机器对中操作的开始时间和结束时间;
S3026、根据待优化目标、操作机器对和操作机器对中操作的开始时间和结束时间,分别更新高层智能体的状态和低层智能体的状态;
S3027、根据待优化目标,计算奖励;
S3028、判断取样数据中所有需要进行加工的操作是否都已完成调度,并被安排到相应的机器上,若是,直接进入步骤S3029,否则,返回步骤S3023;
S3029、根据奖励、高层智能体的状态和低层智能体的状态,采用近端策略优化算法,更新高层智能体的网络参数和低层智能体的网络参数;所述近端策略优化算法中策略网络的损失函数和评论家网络的损失函数的表达式分别为:
Lcritic=(rt+v(st+1)-v(st))2
其中,Lpolicy为策略网络的损失函数;min{·}为最小化函数;为概率比;/>为t时刻的优势函数;t为时刻;clip(·)为裁剪函数;ε为裁剪参数;Lcritic为评论家网络的损失函数;rt为奖励;v(·)为评论家网络的输出函数;st+1为智能体的新状态;st为智能体t时刻的状态;π(·)为新策略;at为智能体t时刻的动作;θ为新策略对应的智能体网络参数;πold(·)为旧策略;θold为旧策略对应的智能体网络参数;γt'为t'时刻的折扣因子;rt'为t'时刻的奖励;T为所有时间步;t'为时刻;所述智能体可为高层智能体或低层智能体;
S30210、判断第一公式是否成立,若是,对高层智能体和低层智能体进行验证,得到策略验证结果,并进入步骤S30211,否则,直接进入步骤S30211;所述第一公式的表达式为:
imodNval==0
其中,i为迭代次数;mod为取余;Nval为验证阈值;
S30211、判断第二公式是否成立,若是,返回步骤S3021,否则,直接进入步骤S30212;所述第二公式的表达式为:
imodNr==0
其中,Nr为取样阈值;
S30212、判断第一等式是否成立,若是,直接进入步骤S30213,否则,返回步骤S3022;所述第一等式的表达式为:
i=Nep
其中,Nep为最大迭代阈值;
S30213、设置观察区间,并判断策略验证结果是否在观察区间内收敛,若是,结束训练,得到作业调度模型,否则,调整高层智能体的超参数和低层智能体的超参数,并返回步骤S3022。
上述进一步方案的有益效果为:能够确保算法的正确性和一致性。这有助于降低误解和错误的发生,提高算法的可靠性和稳定性。
进一步地,所述步骤S3023具体为:
S30231、利用调度状态,将操作节点的加工状态、操作节点的操作完成时间、机器节点的最早可用时间、机器节点的操作加工时间和目标节点的当前时刻目标值作为第一原始特征向量;
S30232、利用多层感知器将第一原始特征向量从低维映射到高维,得到第一高维特征向量;
S30233、根据第一高维特征向量,利用堆叠L层的异质图网络结构来计算各节点的特征向量嵌入;所述各节点在异质图网络结构中第l层的特征表示为:
其中,为节点v在第l层的特征表示;l为网络层编号;/>为第l层的多层感知器;θl为第l层网络的参数;∈l为学习参数;/>为节点v在第l-1层的特征表示;u为节点;N(v)为节点v的邻域集合;/>为节点u在第l-1层的特征表示;
S30234、根据各节点的特征向量嵌入,基于调度状态,采用平均池化得到第一图特征的嵌入向量:
其中,hG为第一图特征的嵌入向量;|M|为机器节点的数量;为第k台机器的特征向量嵌入;Mk为第k台机器;k为机器编号;M为机器节点;|N|为操作节点的数量;/>为操作Oij的特征向量嵌入;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;N为操作节点;|g|为优化目标节点的数量;/>为优化目标节点go的特征向量嵌入;go为第o个优化目标节点;o为优化目标节点编号;g为优化目标节点;||为拼接操作;
S30235、将第一图特征的嵌入向量、第k台机器的特征向量嵌入、操作Oij的特征向量嵌入和优化目标节点go的特征向量嵌入拼接,得到第一拼接向量;
S30236、根据第一拼接向量,利用多层感知机,基于动作选择概率最小化,从多目标模型中得到待优化目标;所述动作选择概率的表达式为:
其中,为动作选择概率;/>为高层智能体的动作;/>为高层智能体的状态;exp(·)为以自然常数为底的指数函数;/>为动作/>在状态/>被选择的优先级索引;/>为可选动作集合中的动作元素;/>为高层智能体可选动作的集合,即O-g弧;/>为动作/>在状态/>被选择的优先级索引;/>为基于θhigh的多层感知机;θhigh为高层智能体中MLP的网络参数。
上述进一步方案的有益效果为:综合考虑多个目标,权衡它们的重要性,从而确定整体调度的优化方向。这样可以确保调度结果在多个目标之间达到一个较好的平衡。
进一步地,所述S3024具体为:
S30241、利用调度状态,将操作节点的加工状态、操作节点的操作完成时间、机器节点的最早可用时间和机器节点的操作加工时间作为第二原始特征向量;
S30242、利用多层感知器将第二原始特征向量从低维映射到高维,得到第二高维特征向量;
S30243、根据第二高维特征向量,利用堆叠L层的异质图网络结构计算操作节点的嵌入和机器节点的嵌入;单层操作节点的嵌入和单层机器节点的嵌入的表达式分别为:
其中,为单层机器节点的嵌入;σ(·)为非线性激活函数sigmod;αkk为使用softmax函数对ekk进行归一化处理后的参数;ekk为机器节点之间的注意力系数;/>为机器节点采用MLP映射的特征向量;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;Nt(Mk)为Mk邻域的操作;Mk为第k台机器;k为机器编号;αijk为使用softmax函数对eijk进行归一化处理后的参数;eijk为操作节点对机器节点的注意力系数;/>为操作节点采用MLP映射的特征向量;/>为单层操作节点的嵌入;/>为第一多层感知机对操作节点进行嵌入;ELU为激活函数;/>为第二多层感知机;Oi(j-1)为第i个作业的第j-1个操作;为第三多层感知机;/>为第四多层感知机;Oi(j+1)为第i个作业的第j+1个操作;为第五多层感知机;/>为机器节点的嵌入特征值的和;LeakyRelu(·)为激活函数;为可训练参数;Nt(Oij)为操作Oij邻域的可用机器;||为拼接操作;
S30244、根据操作节点的嵌入和机器节点的嵌入,采用平均池化得到第二图特征的嵌入向量:
其中,xG为第二图特征的嵌入向量;|M|为机器节点的数量;M为机器节点;为机器节点的嵌入;|N|为操作节点的数量;N为操作节点;/>为操作节点的嵌入;
S30245、将第二图特征的嵌入向量、操作节点的嵌入和机器节点的嵌入拼接,得到第二拼接向量;
S30246、根据第二拼接向量,利用多层感知机,基于操作机器对选择概率进行随机选择,得到操作机器对,所述操作机器对选择概率的表达式为:
其中,为操作机器对选择概率;/>为低层智能体的动作;/>为低层智能体的状态;exp(·)为以自然常数为底的指数函数;/>为动作/>在状态/>被选择的优先级索引;/>为低层智能体可选动作集合中的动作元素;/>为低层智能体可选动作的集合,即O-M弧;/>为动作/>在状态/>被选择的优先级索引;/>为基于θlow的多层感知机;θlow为低层智能体中MLP的网络参数。
上述进一步方案的有益效果为:进行操作和机器的选择,使得每个操作能够在合适的机器上进行加工,从而优化加工时间、超期时间、机器利用率等关键指标。
进一步地,所述步骤S3025具体为:
S30251、获取操作机器对中机器的空闲时间列表;
S30252、根据机器的空闲时间列表,得到操作机器对中的操作Pij在空闲时间段的可开始时间、空闲时间段开始时间和空闲时间段结束时间;
S30253、获取上一个操作的结束时间,并根据操作Pij在空闲时间段的可开始时间、空闲时间段开始时间、空闲时间段结束时间和上一个操作的结束时间,判断是否满足预设条件,若是,操作Pij的开始时间为操作Pij在空闲时间段的可开始时间,操作Pij的结束时间为操作Pij的开始时间和操作Pij的加工时间之和,否则,操作Pij的开始时间为机器最早可用时间和到达时间之间的最大值,操作Pij的结束时间为操作Pij的开始时间和操作Pij的加工时间之和;所述预设条件具体为:
Ci(j-1)<C'∧(C'-S')≥tijk
其中,Ci(j-1)为上一个操作的结束时间;C'为空闲时间段的结束时间;S'为操作Pij在空闲时间段的可开始时间;tijk为操作Pij的加工时间。
上述进一步方案的有益效果为:通过找出机器的所有空闲时间段,可以判断操作是否满足加工条件,并尽可能缩短作业的完工时间,同时提高机器的利用率。
进一步地,当待优化目标为作业总拖期时间最小化时,步骤S3027中奖励的表达式为:
当待优化目标为作业最大完成时间最小化时,步骤S3027中奖励的表达式为:
当待优化目标为平均机器利用率最大化时,步骤S3027中奖励的表达式为:
其中,为奖励;Tarde(t)为t时刻的超期时间;Tarde(t+1)为操作调度完成后t+1时刻的超期时间;t为时刻;i为作业编号;n为作业数量;Di为第i个作业的作业超期时间;ni为第i个作业的总操作数;j为第i个作业的操作编号;/>为操作Pij在可用机器上的平均加工时间;Ci(j-1)为上一个操作的结束时间;Cmax(t)为t时刻为起始的最大完工时间;Cmax(t+1)为操作调度完成后t+1时刻为起始的最大完工时间;Uave(t)为t时刻的机器平均利用率;Uave(t+1)为操作调度完成后t+1时刻的机器平均利用率。
上述进一步方案的有益效果为:根据不同的目标选择适当的奖励表达式,以引导智能体在不同状态下采取不同的行动,最大化长期累积奖励,并评估和反馈智能体的行动,指导其学习过程。
进一步地,所述步骤S4中基于新作业集合,利用作业调度模型,得到调度计划表的过程中,在对操作机器对进行选择时,以操作机器对选择概率最大为选择标准。
上述进一步方案的有益效果为:在确定性条件下执行学到的最优策略,选择最优动作,以期望获得最大的累积奖励。
附图说明
图1为本发明的方法流程图。
图2为本发明中作业调度模型获取流程图。。
图3为本发明中基于深度强化学习的多目标柔性车间作业动态调度方法示意图。
图4为本发明实施例2中表示调度问题的析取图。
图5为本发明实施例2中的MDP决策过程示意图。
图6为本发明实施例2中决策点t4的状态图。
图7为本发明实施例2中决策点t5的状态图。
图8为本发明实施例2中的调度计划甘特图。
图9为本发明实施例2中的实例求解图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例1
如图1所示,在本发明的一个实施例中,一种基于深度强化学习的柔性车间作业动态调度方法,包括以下步骤:
S1、以作业总拖期时间最小化、作业最大完成时间最小化和平均机器利用率最大化为优化目标,得到多目标模型;
S2、利用析取图模型对动态作业车间调度问题进行抽象,得到调度状态;
S3、根据调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程,得到作业调度模型;
S4、获取新作业集合,并根据新作业集合,利用作业调度模型,得到调度计划表,完成柔性车间作业动态调度。
本实施例中,本发明设计了一种不依赖调度规则而采用端到端学习的实时多目标调度方法,以解决现有技术中依赖调度规则而缺乏泛化性的挑战。
所述步骤S1中多目标模型的表达式为:
其中,MODFJSP为多目标模型;Minimize为最小化函数;Totaltard为作业总拖期时间;i为作业编号;n为作业数量;max为最大化函数;Ci,ni为第i个作业完成所有操作的时间;ni为第i个作业的总操作数;Di为第i个作业的作业超期时间;Makespan为第i个作业完成所有操作的最大完成时间;Uave为平均机器利用率;m为机器数量;k为机器编号;j为第i个作业的操作编号;tijk为第i个作业的第j个操作在第k个机器的加工时间;Xijk为第i个作业的第j个操作是否可以在第k个机器进行的标识符,如果可以,为1,否则,为0;time为环境当前时刻。
本实施例中,新作业随机到达的多目标柔性车间作业动态调度(MODFJSP)定义如下。有n个连续的新作业动态到达车间,需要在m台机器上加工。每个作业由ni个操作组成,其中Oij是第i个作业的第j个操作。每个操作Oij可从兼容机器集中选出的任意一台机器上进行加工。操作Oij在第k个机器上的加工时间用tijk表示。第i个作业的到达时间和超期时间分别为Ai和Di。当第i个作业在Ai时刻到达车间时,会被分配到可用机器的缓冲区,当完成一项加工任务后,机器会从缓冲区中选择下一个要加工的作业。一旦确定了Oij的机器分配和加工顺序,就可以计算出以Cij表示的完成时间,并生成可行的调度计划。优化目标是使作业总拖期时间最小化、最大完成时间最小化和平均机器利用率最大化。为简化问题,需满足以下约束条件:
(1)一台机器一次只能加工一个作业。
(2)属于同一作业的所有操作应按固定顺序进行加工。
(3)每个作业都应不间断地进行。
(4)忽略运输时间和设置时间。
所述步骤S2中调度状态的表达式为:
G=(N,M,C,ε0,g)
其中,G为调度状态;N为操作节点;M为机器节点;C为有向弧;ε0为无向弧;g为优化目标节点;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;Start为处理时间为零的虚拟开始节点;End为结束节点。
本实施例中,本发明使用析取图来描述调度状态,其中来表示所有操作的集合,Start和End表示处理时间为零的虚拟开始和结束节点,C是表示同一作业上操作之间的优先约束的一组有向弧(合取),D是一组无向弧(析取)。
在本发明中的分层智能体的马尔可夫决策(MDP)过程中,采用异构图G=(N,M,C,ε0,g)来表示实际的调度状态,其中N、M、C、ε0、g分别代表优化操作节点、机器节点、有向弧、无向弧、优化目标节点,并结合注意力机制在每一个时隙做出最优决策。
所述步骤S3具体为:
S301、获取实例数据;
S302、根据实例数据、调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程对高层智能体和低层智能体进行训练,得到作业调度模型。
如图2所示,所述步骤S302具体为:
S3021、对实例数据进行取样,得到取样数据;
S3022、以优化目标为高层智能体,以作业和机器为低层智能体;
S3023、根据高层智能体和低层智能体,基于调度状态和多目标模型进行目标选择,得到待优化目标;
S3024、利用调度状态,进行操作和机器对选择,得到操作机器对;
S3025、根据操作机器对,利用局部搜索法,更新操作机器对中操作的开始时间和结束时间;
S3026、根据待优化目标、操作机器对和操作机器对中操作的开始时间和结束时间,分别更新高层智能体的状态和低层智能体的状态;
S3027、根据待优化目标,计算奖励;
S3028、判断取样数据中所有需要进行加工的操作是否都已完成调度,并被安排到相应的机器上,若是,直接进入步骤S3029,否则,返回步骤S3023;
S3029、根据奖励、高层智能体的状态和低层智能体的状态,采用近端策略优化算法,更新高层智能体的网络参数和低层智能体的网络参数;所述近端策略优化算法中策略网络的损失函数和评论家网络的损失函数的表达式分别为:
Lcritic=(rt+v(st+1)-v(st))2
其中,Lpolicy为策略网络的损失函数;min{·}为最小化函数;为概率比;/>为t时刻的优势函数;t为时刻;clip(·)为裁剪函数;ε为裁剪参数;Lcritic为评论家网络的损失函数;rt为奖励;v(·)为评论家网络的输出函数;st+1为智能体的新状态;st为智能体t时刻的状态;π(·)为新策略;at为智能体t时刻的动作;θ为新策略对应的智能体网络参数;πold(·)为旧策略;θold为旧策略对应的智能体网络参数;γt'为t'时刻的折扣因子;rt'为t'时刻的奖励;T为所有时间步;t'为时刻;所述智能体可为高层智能体或低层智能体;
S30210、判断第一公式是否成立,若是,对高层智能体和低层智能体进行验证,得到策略验证结果,并进入步骤S30211,否则,直接进入步骤S30211;所述第一公式的表达式为:
imodNval==0
其中,i为迭代次数;mod为取余;Nval为验证阈值;
S30211、判断第二公式是否成立,若是,返回步骤S3021,否则,直接进入步骤S30212;所述第二公式的表达式为:
imodNr==0
其中,Nr为取样阈值;
S30212、判断第一等式是否成立,若是,直接进入步骤S30213,否则,返回步骤S3022;所述第一等式的表达式为:
i=Nep
其中,Nep为最大迭代阈值;
S30213、设置观察区间,并判断策略验证结果是否在观察区间内收敛,若是,结束训练,得到作业调度模型,否则,调整高层智能体的超参数和低层智能体的超参数,并返回步骤S3022。
本实施例中,在Nep次训练结束后使用得到的策略验证结果用来调整超参数。具体为:在训练结束后,绘制每次策略验证结果的折线图,以观察策略验证结果是否在一定区间内收敛。如果在训练后期出现结果振荡现象,这可能意味着训练设置的超参数不合理,需要调整超参数并重新进行训练。只有当在训练后期验证结果收敛到一定区间时,才能证明超参数设计合理。
本实施例中,在分层强化学习中,有两种类型的智能体:高层智能体和低层智能体;高层智能体负责学习如何选择子任务,而低层智能体负责在子任务中学习如何执行具体的动作;本发明中以优化目标为高层智能体,以作业和机器为低层智能体;本发明步骤S3027中的奖励为“利用马尔可夫决策过程,得到作业调度模型”中的奖励。
本实施例中,动态作业车间调度问题可以通过使用析取图模型进行抽象,并转化为序列决策过程,也称为马尔可夫决策过程(MDP)。车间原有作业与新到达的作业初始状态采用析取图,目的是通过迭代过程,将多余的析取弧去掉,最终达到优化目标。
该方法可以分为三个阶段,第一阶段是优化目标的选择,第二阶段是操作和机器对的选择,第三个阶段是局部搜索过程。
所述步骤S3023具体为:
S30231、利用调度状态,将操作节点的加工状态、操作节点的操作完成时间、机器节点的最早可用时间、机器节点的操作加工时间和目标节点的当前时刻目标值作为第一原始特征向量;
S30232、利用多层感知器将第一原始特征向量从低维映射到高维,得到第一高维特征向量;
S30233、根据第一高维特征向量,利用堆叠L层的异质图网络结构来计算各节点的特征向量嵌入;所述各节点在异质图网络结构中第l层的特征表示为:
其中,为节点v在第l层的特征表示;l为网络层编号;/>为第l层的多层感知器;θl为第l层网络的参数;∈l为学习参数;/>为节点v在第l-1层的特征表示;u为节点;N(v)为节点v的邻域集合;/>为节点u在第l-1层的特征表示;
S30234、根据各节点的特征向量嵌入,基于调度状态,采用平均池化得到第一图特征的嵌入向量:
其中,hG为第一图特征的嵌入向量;|M|为机器节点的数量;为第k台机器的特征向量嵌入;Mk为第k台机器;k为机器编号;M为机器节点;|N|为操作节点的数量;/>为操作Oij的特征向量嵌入;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;N为操作节点;|g|为优化目标节点的数量;/>为优化目标节点go的特征向量嵌入;go为第o个优化目标节点;o为优化目标节点编号;g为优化目标节点;||为拼接操作;
S30235、将第一图特征的嵌入向量、第k台机器的特征向量嵌入、操作Oij的特征向量嵌入和优化目标节点go的特征向量嵌入拼接,得到第一拼接向量;
S30236、根据第一拼接向量,利用多层感知机,基于动作选择概率最小化,从多目标模型中得到待优化目标;所述动作选择概率的表达式为:
其中,为动作选择概率;/>为高层智能体的动作;/>为高层智能体的状态;exp(·)为以自然常数为底的指数函数;/>为动作/>在状态/>被选择的优先级索引;/>为可选动作集合中的动作元素;/>为高层智能体可选动作的集合,即O-g弧;/>为动作/>在状态/>被选择的优先级索引;/>为基于θhigh的多层感知机;θhigh为高层智能体中MLP的网络参数。
所述S3024具体为:
S30241、利用调度状态,将操作节点的加工状态、操作节点的操作完成时间、机器节点的最早可用时间和机器节点的操作加工时间作为第二原始特征向量;
S30242、利用多层感知器将第二原始特征向量从低维映射到高维,得到第二高维特征向量;
S30243、根据第二高维特征向量,利用堆叠L层的异质图网络结构计算操作节点的嵌入和机器节点的嵌入;单层操作节点的嵌入和单层机器节点的嵌入的表达式分别为:
其中,为单层机器节点的嵌入;σ(·)为非线性激活函数sigmod;αkk为使用softmax函数对ekk进行归一化处理后的参数;ekk为机器节点之间的注意力系数;/>为机器节点采用MLP映射的特征向量;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;Nt(Mk)为Mk邻域的操作;Mk为第k台机器;k为机器编号;αijk为使用softmax函数对eijk进行归一化处理后的参数;eijk为操作节点对机器节点的注意力系数;/>为操作节点采用MLP映射的特征向量;/>为单层操作节点的嵌入;MLP1 low为第一多层感知机对操作节点进行嵌入;ELU为激活函数;/>为第二多层感知机;Oi(j-1)为第i个作业的第j-1个操作;为第三多层感知机;/>为第四多层感知机;Oi(j+1)为第i个作业的第j+1个操作;为第五多层感知机;/>为机器节点的嵌入特征值的和;Leaky Relu(·)为激活函数;/>为可训练参数;Nt(Oij)为操作Oij邻域的可用机器;||为拼接操作;
S30244、根据操作节点的嵌入和机器节点的嵌入,采用平均池化得到第二图特征的嵌入向量:
其中,xG为第二图特征的嵌入向量;|M|为机器节点的数量;M为机器节点;为机器节点的嵌入;|N|为操作节点的数量;N为操作节点;/>为操作节点的嵌入;
S30245、将第二图特征的嵌入向量、操作节点的嵌入和机器节点的嵌入拼接,得到第二拼接向量;
S30246、根据第二拼接向量,利用多层感知机,基于操作机器对选择概率进行随机选择,得到操作机器对,所述操作机器对选择概率的表达式为:
其中,为操作机器对选择概率;/>为低层智能体的动作;/>为低层智能体的状态;exp(·)为以自然常数为底的指数函数;/>为动作/>在状态/>被选择的优先级索引;/>为低层智能体可选动作集合中的动作元素;/>为低层智能体可选动作的集合,即O-M弧;/>为动作/>在状态/>被选择的优先级索引;/>为基于θlow的多层感知机;θlow为低层智能体中MLP的网络参数。
所述步骤S3025具体为:
S30251、获取操作机器对中机器的空闲时间列表;
S30252、根据机器的空闲时间列表,得到操作机器对中的操作Pij在空闲时间段的可开始时间、空闲时间段开始时间和空闲时间段结束时间;
S30253、获取上一个操作的结束时间,并根据操作Pij在空闲时间段的可开始时间、空闲时间段开始时间、空闲时间段结束时间和上一个操作的结束时间,判断是否满足预设条件,若是,操作Pij的开始时间为操作Pij在空闲时间段的可开始时间,操作Pij的结束时间为操作Pij的开始时间和操作Pij的加工时间之和,否则,操作Pij的开始时间为机器最早可用时间和到达时间之间的最大值,操作Pij的结束时间为操作Pij的开始时间和操作Pij的加工时间之和;所述预设条件具体为:
Ci(j-1)<C'∧(C'-S')≥tijk
其中,Ci(j-1)为上一个操作的结束时间;C'为空闲时间段的结束时间;S'为操作Pij在空闲时间段的可开始时间;tijk为操作Pij的加工时间。
当待优化目标为作业总拖期时间最小化时,步骤S3027中奖励的表达式为:
当待优化目标为作业最大完成时间最小化时,步骤S3027中奖励的表达式为:
当待优化目标为平均机器利用率最大化时,步骤S3027中奖励的表达式为:
其中,rt low为奖励;Tarde(t)为t时刻的超期时间;Tarde(t+1)为操作调度完成后t+1时刻的超期时间;t为时刻;i为作业编号;n为作业数量;Di为第i个作业的作业超期时间;ni为第i个作业的总操作数;j为第i个作业的操作编号;为操作Pij在可用机器上的平均加工时间;Ci(j-1)为上一个操作的结束时间;Cmax(t)为t时刻为起始的最大完工时间;Cmax(t+1)为操作调度完成后t+1时刻为起始的最大完工时间;Uave(t)为t时刻的机器平均利用率;Uave(t+1)为操作调度完成后t+1时刻的机器平均利用率。
所述步骤S4中基于新作业集合,利用作业调度模型,得到调度计划表的过程中,在对操作机器对进行选择时,以操作机器对选择概率最大为选择标准。
本实施例中,如图3所示为本发明基于深度强化学习的多目标柔性车间作业动态调度方法示意图,图中,Combination为拼接操作;该方法包含两个智能体,即高层智能体(目标智能体)和低层智能体(作业和机器智能体)。在每个重调度点t(即每当有新作业到达或操作完成的时刻),高层智能体选择一个要优化的目标,以进行临时优化。低层智能体将优化目标与当前时刻的状态组合,形成一个新的状态输入,通过神经网络选择一个未安排的操作,并将其分配给一台可用的机器。然后,采用局部索索算法确定作业的开始时间。根据临时目标获得奖励,并转移到下一个状态,重复上述步骤,直到完成所有操作。
实施例2
该发明提供一个动态柔性车间调度的示例,该示例涵盖了3个作业和3台机器,如表1所示。在表中,使用“-”表示某个操作不能在特定机器上进行加工,到达时间为0表示车间中原有的作业,可以立即进行加工。此外,松弛时间表示作业的所有操作可用的加工时间。如果某个作业的最后一个操作的完工时间超过了超期时间与到达时间之差,那么该作业将被认为是超期的。
表1
上述例子使用了一个析取图来表示调度问题,如图4所示。在图中,黑色实线表示每个操作的优先级约束关系。不同的虚线表示每个操作可以使用的加工机器和可以优化的目标。
上述例子的一个MDP决策过程如图5所示,节点的颜色表示选择相同目标的操作,初始时刻t1,待加工的操作集合包括{O11,O21,O31}。上层智能体根据策略(如(O11,g1)),选择一个要优化的目标。下层智能体根据策略选择一个操作和一台可用机器,例如(O11,M2)。这个选择将操作集转换为{O12,O21,O31},并进入下一个决策点t2。当某一个作业的最后一个操作完成时,操作集被标记为不可选取状态,导致类似于{O12,O22}的选项在时间t5出现。这个过程一直持续到操作集为空,并且每个分支都被建立起来。
以图6中决策点t4为例,假设t1的开始时间为19时24分34秒,当前环境的结束时间为19时32分34秒。在这个决策点,等待加工的作业操作包括{O12,O22}。智能体需要从操作集合中选择一个操作进行加工,假设智能体选择的动作是(O12,M1)。这个选择将导致环境经历状态转移,并转移到图7中的决策点t5,其中“J(1,1)=6”表示作业1的第一个操作加工时间为6。
表2展示了一个完整的调度计划,对应的调度计划甘特图如图8所示。此外,图9展示了对应的实例求解图,清楚地显示了智能体为操作选择的机器以及在每个时刻要优化的目标。在这个例子中,作业的最终完成时间为19时35分34秒,计算出的超期时间为1分钟。
表2
本发明采用了Pycharm仿真实验平台,并参考了Brandimarte数据来进行实验模拟。在实验中,设置了两个评价标准来评估本发明的方法。首先,通过验证集来验证最优策略的结果;其次,使用反世代距离评价指标(Inverted Generational Distance,IGD)来评估算法的收敛性和分布性能。
实验结果显示,本发明的方法在验证集上的目标值收敛到了一个确定的区间,这表明该方法在验证集上获得了较好的结果。同时,IGD值较小,说明算法具有较好的收敛性和分布性能。
Claims (10)
1.一种基于深度强化学习的柔性车间作业动态调度方法,其特征在于,包括以下步骤:
S1、以作业总拖期时间最小化、作业最大完成时间最小化和平均机器利用率最大化为优化目标,得到多目标模型;
S2、利用析取图模型对动态作业车间调度问题进行抽象,得到调度状态;
S3、根据调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程,得到作业调度模型;
S4、获取新作业集合,并根据新作业集合,利用作业调度模型,得到调度计划表,完成柔性车间作业动态调度。
2.根据权利要求1所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S1中多目标模型的表达式为:
其中,MODFJSP为多目标模型;Minimize为最小化函数;Totaltard为作业总拖期时间;i为作业编号;n为作业数量;max为最大化函数;为第i个作业完成所有操作的时间;ni为第i个作业的总操作数;Di为第i个作业的作业超期时间;Makespan为第i个作业完成所有操作的最大完成时间;Uave为平均机器利用率;m为机器数量;k为机器编号;j为第i个作业的操作编号;tijk为第i个作业的第j个操作在第k个机器的加工时间;Xijk为第i个作业的第j个操作是否可以在第k个机器进行的标识符,如果可以,为1,否则,为0;time为环境当前时刻。
3.根据权利要求1所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S2中调度状态的表达式为:
G=(N,M,C,ε0,g)
其中,G为调度状态;N为操作节点;M为机器节点;C为有向弧;ε0为无向弧;g为优化目标节点;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;Start为处理时间为零的虚拟开始节点;End为结束节点。
4.根据权利要求1所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S3具体为:
S301、获取实例数据;
S302、根据实例数据、调度状态和多目标模型,以优化目标为高层智能体,以作业和机器为低层智能体,利用马尔可夫决策过程对高层智能体和低层智能体进行训练,得到作业调度模型。
5.根据权利要求4所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S302具体为:
S3021、对实例数据进行取样,得到取样数据;
S3022、以优化目标为高层智能体,以作业和机器为低层智能体;
S3023、根据高层智能体和低层智能体,基于调度状态和多目标模型进行目标选择,得到待优化目标;
S3024、利用调度状态,进行操作和机器对选择,得到操作机器对;
S3025、根据操作机器对,利用局部搜索法,更新操作机器对中操作的开始时间和结束时间;
S3026、根据待优化目标、操作机器对和操作机器对中操作的开始时间和结束时间,分别更新高层智能体的状态和低层智能体的状态;
S3027、根据待优化目标,计算奖励;
S3028、判断取样数据中所有需要进行加工的操作是否都已完成调度,并被安排到相应的机器上,若是,直接进入步骤S3029,否则,返回步骤S3023;
S3029、根据奖励、高层智能体的状态和低层智能体的状态,采用近端策略优化算法,更新高层智能体的网络参数和低层智能体的网络参数;所述近端策略优化算法中策略网络的损失函数和评论家网络的损失函数的表达式分别为:
Lcritic=(rt+v(st+1)-v(st))2
其中,Lpolicy为策略网络的损失函数;min{·}为最小化函数;为概率比;/>为t时刻的优势函数;t为时刻;clip(·)为裁剪函数;ε为裁剪参数;Lcritic为评论家网络的损失函数;rt为奖励;v(·)为评论家网络的输出函数;st+1为智能体的新状态;st为智能体t时刻的状态;π(·)为新策略;at为智能体t时刻的动作;θ为新策略对应的智能体网络参数;πold(·)为旧策略;θold为旧策略对应的智能体网络参数;γt'为t'时刻的折扣因子;rt'为t'时刻的奖励;T为所有时间步;t'为时刻;所述智能体可为高层智能体或低层智能体;
S30210、判断第一公式是否成立,若是,对高层智能体和低层智能体进行验证,得到策略验证结果,并进入步骤S30211,否则,直接进入步骤S30211;所述第一公式的表达式为:
imodNval==0
其中,i为迭代次数;mod为取余;Nval为验证阈值;
S30211、判断第二公式是否成立,若是,返回步骤S3021,否则,直接进入步骤S30212;所述第二公式的表达式为:
i mod Nr==0
其中,Nr为取样阈值;
S30212、判断第一等式是否成立,若是,直接进入步骤S30213,否则,返回步骤S3022;所述第一等式的表达式为:
i=Nep
其中,Nep为最大迭代阈值;
S30213、设置观察区间,并判断策略验证结果是否在观察区间内收敛,若是,结束训练,得到作业调度模型,否则,调整高层智能体的超参数和低层智能体的超参数,并返回步骤S3022。
6.根据权利要求5所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S3023具体为:
S30231、利用调度状态,将操作节点的加工状态、操作节点的操作完成时间、机器节点的最早可用时间、机器节点的操作加工时间和目标节点的当前时刻目标值作为第一原始特征向量;
S30232、利用多层感知器将第一原始特征向量从低维映射到高维,得到第一高维特征向量;
S30233、根据第一高维特征向量,利用堆叠L层的异质图网络结构来计算各节点的特征向量嵌入;所述各节点在异质图网络结构中第l层的特征表示为:
其中,为节点v在第l层的特征表示;l为网络层编号;/>为第l层的多层感知器;θl为第l层网络的参数;∈l为学习参数;/>为节点v在第l-1层的特征表示;u为节点;N(v)为节点v的邻域集合;/>为节点u在第l-1层的特征表示;
S30234、根据各节点的特征向量嵌入,基于调度状态,采用平均池化得到第一图特征的嵌入向量:
其中,hG为第一图特征的嵌入向量;|M|为机器节点的数量;为第k台机器的特征向量嵌入;Mk为第k台机器;k为机器编号;M为机器节点;|N|为操作节点的数量;/>为操作Oij的特征向量嵌入;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;N为操作节点;|g|为优化目标节点的数量;/>为优化目标节点go的特征向量嵌入;go为第o个优化目标节点;o为优化目标节点编号;g为优化目标节点;||为拼接操作;
S30235、将第一图特征的嵌入向量、第k台机器的特征向量嵌入、操作Oij的特征向量嵌入和优化目标节点go的特征向量嵌入拼接,得到第一拼接向量;
S30236、根据第一拼接向量,利用多层感知机,基于动作选择概率最小化,从多目标模型中得到待优化目标;所述动作选择概率的表达式为:
其中,为动作选择概率;/>为高层智能体的动作;/>为高层智能体的状态;exp(·)为以自然常数为底的指数函数;/>为动作/>在状态/>被选择的优先级索引;/>为可选动作集合中的动作元素;/>为高层智能体可选动作的集合,即O-g弧;/>为动作/>在状态/>被选择的优先级索引;/>为基于θhigh的多层感知机;θhigh为高层智能体中MLP的网络参数。
7.根据权利要求5所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述S3024具体为:
S30241、利用调度状态,将操作节点的加工状态、操作节点的操作完成时间、机器节点的最早可用时间和机器节点的操作加工时间作为第二原始特征向量;
S30242、利用多层感知器将第二原始特征向量从低维映射到高维,得到第二高维特征向量;
S30243、根据第二高维特征向量,利用堆叠L层的异质图网络结构计算操作节点的嵌入和机器节点的嵌入;单层操作节点的嵌入和单层机器节点的嵌入的表达式分别为:
其中,为单层机器节点的嵌入;σ(·)为非线性激活函数sigmod;αkk为使用softmax函数对ekk进行归一化处理后的参数;ekk为机器节点之间的注意力系数;/>为机器节点采用MLP映射的特征向量;Oij为第i个作业的第j个操作;i为作业编号;j为第i个作业的操作编号;Nt(Mk)为Mk邻域的操作;Mk为第k台机器;k为机器编号;αijk为使用softmax函数对eijk进行归一化处理后的参数;eijk为操作节点对机器节点的注意力系数;/>为操作节点采用MLP映射的特征向量;/>为单层操作节点的嵌入;MLP1 low为第一多层感知机对操作节点进行嵌入;ELU为激活函数;/>为第二多层感知机;Oi(j-1)为第i个作业的第j-1个操作;/>为第三多层感知机;/>为第四多层感知机;Oi(j+1)为第i个作业的第j+1个操作;/>为第五多层感知机;/>为机器节点的嵌入特征值的和;LeakyRelu(·)为激活函数;/>为可训练参数;Nt(Oij)为操作Oij邻域的可用机器;||为拼接操作;
S30244、根据操作节点的嵌入和机器节点的嵌入,采用平均池化得到第二图特征的嵌入向量:
其中,xG为第二图特征的嵌入向量;|M|为机器节点的数量;M为机器节点;为机器节点的嵌入;|N|为操作节点的数量;N为操作节点;/>为操作节点的嵌入;
S30245、将第二图特征的嵌入向量、操作节点的嵌入和机器节点的嵌入拼接,得到第二拼接向量;
S30246、根据第二拼接向量,利用多层感知机,基于操作机器对选择概率进行随机选择,得到操作机器对,所述操作机器对选择概率的表达式为:
其中,为操作机器对选择概率;/>为低层智能体的动作;/>为低层智能体的状态;exp(·)为以自然常数为底的指数函数;/>为动作/>在状态/>被选择的优先级索引;/>为低层智能体可选动作集合中的动作元素;/>为低层智能体可选动作的集合,即O-M弧;/>为动作/>在状态/>被选择的优先级索引;/>为基于θlow的多层感知机;θlow为低层智能体中MLP的网络参数。
8.根据权利要求5所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S3025具体为:
S30251、获取操作机器对中机器的空闲时间列表;
S30252、根据机器的空闲时间列表,得到操作机器对中的操作Pij在空闲时间段的可开始时间、空闲时间段开始时间和空闲时间段结束时间;
S30253、获取上一个操作的结束时间,并根据操作Pij在空闲时间段的可开始时间、空闲时间段开始时间、空闲时间段结束时间和上一个操作的结束时间,判断是否满足预设条件,若是,操作Pij的开始时间为操作Pij在空闲时间段的可开始时间,操作Pij的结束时间为操作Pij的开始时间和操作Pij的加工时间之和,否则,操作Pij的开始时间为机器最早可用时间和到达时间之间的最大值,操作Pij的结束时间为操作Pij的开始时间和操作Pij的加工时间之和;所述预设条件具体为:
Ci(j-1)<C'∧(C'-S')≥tijk
其中,Ci(j-1)为上一个操作的结束时间;C'为空闲时间段的结束时间;S'为操作Pij在空闲时间段的可开始时间;tijk为操作Pij的加工时间。
9.根据权利要求5所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,当待优化目标为作业总拖期时间最小化时,步骤S3027中奖励的表达式为:
当待优化目标为作业最大完成时间最小化时,步骤S3027中奖励的表达式为:
当待优化目标为平均机器利用率最大化时,步骤S3027中奖励的表达式为:
其中,rt low为奖励;Tarde(t)为t时刻的超期时间;Tarde(t+1)为操作调度完成后t+1时刻的超期时间;t为时刻;i为作业编号;n为作业数量;Di为第i个作业的作业超期时间;ni为第i个作业的总操作数;j为第i个作业的操作编号;为操作Pij在可用机器上的平均加工时间;Ci(j-1)为上一个操作的结束时间;Cmax(t)为t时刻为起始的最大完工时间;Cmax(t+1)为操作调度完成后t+1时刻为起始的最大完工时间;Uave(t)为t时刻的机器平均利用率;Uave(t+1)为操作调度完成后t+1时刻的机器平均利用率。
10.根据权利要求7所述基于深度强化学习的柔性车间作业动态调度方法,其特征在于,所述步骤S4中基于新作业集合,利用作业调度模型,得到调度计划表的过程中,在对操作机器对进行选择时,以操作机器对选择概率最大为选择标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410075997.0A CN117892969A (zh) | 2024-01-18 | 2024-01-18 | 一种基于深度强化学习的柔性车间作业动态调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410075997.0A CN117892969A (zh) | 2024-01-18 | 2024-01-18 | 一种基于深度强化学习的柔性车间作业动态调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117892969A true CN117892969A (zh) | 2024-04-16 |
Family
ID=90644329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410075997.0A Pending CN117892969A (zh) | 2024-01-18 | 2024-01-18 | 一种基于深度强化学习的柔性车间作业动态调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117892969A (zh) |
-
2024
- 2024-01-18 CN CN202410075997.0A patent/CN117892969A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107767022B (zh) | 一种生产数据驱动的动态作业车间调度规则智能选择方法 | |
Masmoudi et al. | Project scheduling under uncertainty using fuzzy modelling and solving techniques | |
CN110163429B (zh) | 一种基于相似日优化筛选的短期负荷预测方法 | |
CN113806018B (zh) | 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法 | |
CN111191934A (zh) | 一种基于强化学习策略的多目标云工作流调度方法 | |
CN114565247A (zh) | 一种基于深度强化学习的车间调度方法、装置和系统 | |
CN113156900B (zh) | 一种基于元强化学习的加工变形控制方法 | |
CN104077634B (zh) | 基于多目标优化的主动‑反应式动态项目调度方法 | |
CN114912826A (zh) | 一种基于多层深度强化学习的柔性作业车间调度方法 | |
Liu et al. | Integration of deep reinforcement learning and multi-agent system for dynamic scheduling of re-entrant hybrid flow shop considering worker fatigue and skill levels | |
CN115293623A (zh) | 一种生产调度模型的训练方法、装置、电子设备及介质 | |
CN114611897A (zh) | 一种智能产线自适应动态调度策略选择方法 | |
CN117035373B (zh) | 一种管道预制生产线智能管理方法及系统 | |
Zhang et al. | Counterfactual-attention multi-agent reinforcement learning for joint condition-based maintenance and production scheduling | |
Seidgar et al. | Scheduling of assembly flow shop problem and machines with random breakdowns | |
CN117647960A (zh) | 一种基于深度强化学习的车间调度方法、装置和系统 | |
CN115994674B (zh) | 一种基于数字孪生综合能源系统的调度管理方法 | |
CN117892969A (zh) | 一种基于深度强化学习的柔性车间作业动态调度方法 | |
CN116151581A (zh) | 一种柔性车间调度方法、系统及电子设备 | |
CN111401769A (zh) | 一种基于深度强化学习的配电网故障智能抢修方法及装置 | |
CN116562584A (zh) | 一种基于Conv-Dueling与泛化表征的动态车间调度方法 | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
CN114879618A (zh) | 知识驱动的车间智能排产方法 | |
CN111950811B (zh) | 基于双层人工神经网络的区域光伏功率预测方法及系统 | |
CN114860435B (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 |