一种分布式可重入车间动态调度问题的优化方法及装置

专利2024-07-12  64



1.本发明涉及车间调度技术领域,特别是指一种分布式可重入车间动态调度问题的优化方法及装置。


背景技术:

2.制造业的发展与经济全球化的深入,促进了钢铁产业的转型与升级。激烈的竞争使得钢铁行业传统的单一工厂生产的模式已经无法满足企业提高产量、提升自身竞争力的需求,因此,企业需要由单一工厂生产转型多工厂协同生产。
3.钢铁行业作为我国制造业的重要组成部分,近几年的发展面临着严峻的挑战。一方面,全球钢铁行业出现了产能过剩的问题;另一方面,作为我国近年来为保护环境而重点管理整顿的对象,钢铁行业中小企业效益低下、亏损严重的问题得不到根本改善,甚至面临关停的风险。这也导致行业内的竞争也日趋激烈,使得钢铁企业探索提高生产效率的途径,以谋求更高的经济效益。因此,对钢铁企业的车间生产进行优化调度是广大企业的迫切需求,也是谋求合理生产模式、提高生产率、增加钢铁企业效益、在竞争中得以生存的重要途径。
4.在种类繁多的钢铁产品中,无缝钢管是一类具有广泛应用的产品,被称为“工业的血管”,在国防、航空航天、石油工业中有重要应用;同时也是工程建设与日常生活中的重要产品部件,常见的有汽车传动轴与自行车架,另外还有钢脚手架。无缝钢管凭借其广泛的用途和优良的性能及精度,成为衡量了一个国家钢管技术发展水平的标志。但是,变形条件、金属强度限制了冷拔工艺,在加工过程中,为了达到理想的减径量,需要多次冷拔,重新进入系统,使得机器损耗增加,这也增加了机器发生故障的可能性。因此,将动态干扰因素纳入研究范畴,可以避免动态事件发生时车间无法作出实时调度排产及人工决策导致的不合理性,以加强企业的生产管理。


技术实现要素:

5.本发明针对分布式可重入车间如何合理制定动态环境下的实时调度决策方法,实现快速响应动态事件,并充分利用现有的资源的问题,提出了本发明。
6.为解决上述技术问题,本发明提供如下技术方案:
7.一方面,本发明提供了一种分布式可重入车间动态调度问题的优化方法,该方法由电子设备实现,该方法包括:
8.s1、获取待调度车间的加工信息;加工信息包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间;其中,加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;分配结果为工件在第三工段分配至不同工厂的结果。
9.s2、设定强化学习的状态特征向量、动作集以及奖赏函数。
10.s3、根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。
11.可选地,s2中的设定状态特征向量包括设定状态特征向量以及空状态。
12.其中,状态特征向量包括状态特征向量1、状态特征向量2、状态特征向量3、状态特征向量4、状态特征向量5以及状态特征向量6。
13.其中,状态特征向量1表示当前缓冲区队列中工件的最大剩余加工时间与所有工件的平均剩余加工时间的比值。
14.状态特征向量2表示缓冲区队列中工件的最小剩余加工时间与所有工件的平均剩余加工时间的比值。
15.状态特征向量3表示缓冲区队列中所有工件的平均等待时间。
16.状态特征向量4表示缓冲区队列中所有工件松弛时间的均值。
17.状态特征向量5表示缓冲区队列中当前工序加工时间最大值与均值的比值。
18.状态特征向量6表示缓冲区队列中当前工序加工时间最小值与均值的比值。
19.空状态包括空状态1以及空状态2。
20.其中,空状态1表示机器缓冲区为空。
21.空状态2表示机器缓冲区中有且仅有一个工件。
22.可选地,s2中的动作集包括:松弛时间最小规则slt规则、高响应比优先规则hrn规则、剩余加工时长最短规则lwr规则、最短加工时间优先规则spt规则、最长加工时间优先规则lpt规则以及交货期最早规则edd规则。
23.其中,slt规则表示选择松弛时间最小的工件,若松弛时间相同,则随机选择松弛时间相同的工件中的一个工件。
24.hrn规则表示选择等待时间与加工时长之和,与加工时长之比最大的工件,若比值相同,则随机选择比值相同的工件中的一个工件。
25.lwr规则表示选择剩余加工时长最短的工件,若剩余加工时间相同,则选择到达时间最早的工件。
26.spt规则表示选择当前工序加工时间最短的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
27.lpt规则表示选择当前工序加工时间最长的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
28.edd规则表示选择交货期最早的工件,若交货期相同,则选择到达时间最早的工件。
29.可选地,s3中的根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案包括:
30.s301、设定改进的双q学习算法的参数;参数包括学习率α、折扣因子γ、聚类数m、训练次数iter
t
、迭代次数iter、经验共享率k以及贪婪策略参数e。
31.s302、获取智能体状态。
32.s303、初始化每个智能体j的表和表,初始化公共q值表;令k0=0.99,i=1。
33.s304、若i<iter*0.2,则执行s305;若i≥iter*0.2,则执行s311。
34.s305、根据智能体状态计算当前每个智能体j的状态特征向量的值,将每个智能体j的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值;并以
1-k的概率采用公共q值表的值qc(s
t
,a
*
)替换当前智能体j的表中的值以及表中的值,得到替换后的智能体j的表和表。
35.s306、根据替换后的表、表以及贪婪策略得到选择的动作。
36.s307、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
37.s308、更新s306所选择的替换后的智能体j的表或表,并更新公共q值表。
38.s309、令k=0.99i*k0;更新智能体j的状态。
39.s310、判断是否所有工件已调度完毕;若已调度完毕,则令i=i+1,转去执行s304;若未调度完毕,则转去执行s305。
40.s311、随机选择用表替代表或选择用表替代表,得到同化后的表
41.s312、计算当前每个智能体的状态特征向量的值,将每个智能体的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值,并以1-k的概率采用公共q值表的值替换表的值。
42.s313、将替换后的表根据贪婪策略选择的最大的动作以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作。
43.s314、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
44.s315、更新替换后的表以及公共q值表;令k=0.99i*k0;更新智能体的状态。
45.s316、判断是否所有工件已调度完毕,若已调度完毕,则执行s317;若未调度完毕,则转去执行s312。
46.s317、若i<iter,则令i=i+1,转去执行s312;若i≥iter,则输出迭代得到的车间调度方案。
47.可选地,s306中的根据替换后的表、表以及贪婪策略得到选择的动作包括:
48.以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作。
49.其中,动作的选择过程包括:
50.随机选择替换后的表或表作为动作选择的依据。
51.若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
52.若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
53.可选地,s308中的更新s306所选择的替换后的智能体j的表包括:
54.当智能体j处于非空状态时,按照下式(1)、(2)更新替换后的智能体j的表:
[0055][0056][0057]
其中,t表示时刻,s
t
为t时刻状态;a
t
为t时刻的动作;为t时刻智能体j选择动作a
t
对应的qa表的值;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下的动作;为s
t+1
状态下智能体j的qa表的最大值;为t+1时刻s
t+1
状态下智能体j选择动作a
t+1
对应的qb表中的值。
[0058]
当智能体j处于空状态2时,按照下式(3)更新替换后的智能体j的表:
[0059][0060]
可选地,s308中的更新公共q值表包括:
[0061]
公共q值表与智能体表与表的平均值进行经验共享,由下式(4)、(5)计算:
[0062][0063][0064]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0065]
可选地,s315中的更新替换后的表包括:
[0066]
当智能体j处于非空状态时,按照下式(6)更新替换后的表:
[0067][0068]
当智能体j处于空状态2时,按照下式(7)更新替换后的表:
[0069][0070]
其中,为t时刻表的值;s
t
为t时刻状态;a
t
为t时刻动作;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下选择的动作;为t+1时刻s
t+1
状态下表动作的最大值。
[0071]
可选地,s315中的更新公共q值表包括:
[0072]
公共q值表与智能体进行经验共享,由下式(8)计算:
[0073][0074]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0075]
另一方面,本发明提供了一种分布式可重入车间动态调度问题的优化装置,该装置应用于实现分布式可重入车间动态调度问题的优化方法,该装置包括:
[0076]
获取模块,用于获取待调度车间的加工信息;加工信息包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间;其中,加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;分配结果为工件在第三工段分配至不同工厂的结果。
[0077]
设定模块,用于设定强化学习的状态特征向量、动作集以及奖赏函数。
[0078]
输出模块,用于根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。
[0079]
可选地,设定状态特征向量包括设定状态特征向量以及空状态。
[0080]
其中,状态特征向量包括状态特征向量1、状态特征向量2、状态特征向量3、状态特征向量4、状态特征向量5以及状态特征向量6。
[0081]
其中,状态特征向量1表示当前缓冲区队列中工件的最大剩余加工时间与所有工件的平均剩余加工时间的比值。
[0082]
状态特征向量2表示缓冲区队列中工件的最小剩余加工时间与所有工件的平均剩余加工时间的比值。
[0083]
状态特征向量3表示缓冲区队列中所有工件的平均等待时间。
[0084]
状态特征向量4表示缓冲区队列中所有工件松弛时间的均值。
[0085]
状态特征向量5表示缓冲区队列中当前工序加工时间最大值与均值的比值。
[0086]
状态特征向量6表示缓冲区队列中当前工序加工时间最小值与均值的比值。
[0087]
空状态包括空状态1以及空状态2。
[0088]
其中,空状态1表示机器缓冲区为空。
[0089]
空状态2表示机器缓冲区中有且仅有一个工件。
[0090]
可选地,动作集包括:松弛时间最小规则slt规则、高响应比优先规则hrn规则、剩余加工时长最短规则lwr规则、最短加工时间优先规则spt规则、最长加工时间优先规则lpt规则以及交货期最早规则edd规则。
[0091]
其中,slt规则表示选择松弛时间最小的工件,若松弛时间相同,则随机选择松弛时间相同的工件中的一个工件。
[0092]
hrn规则表示选择等待时间与加工时长之和,与加工时长之比最大的工件,若比值相同,则随机选择比值相同的工件中的一个工件。
[0093]
lwr规则表示选择剩余加工时长最短的工件,若剩余加工时间相同,则选择到达时间最早的工件。
[0094]
spt规则表示选择当前工序加工时间最短的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
[0095]
lpt规则表示选择当前工序加工时间最长的工件,若当前工序加工时间相同,则选
择到达时间最早的工件。
[0096]
edd规则表示选择交货期最早的工件,若交货期相同,则选择到达时间最早的工件。
[0097]
可选地,输出模块,进一步用于:
[0098]
s301、设定改进的双q学习算法的参数;参数包括学习率α、折扣因子γ、聚类数m、训练次数iter
t
、迭代次数iter、经验共享率k以及贪婪策略参数e。
[0099]
s302、获取智能体状态。
[0100]
s303、初始化每个智能体j的表和表,初始化公共q值表;令k0=0.99,i=1。
[0101]
s304、若i<iter*0.2,则执行s305;若i≥iter*0.2,则执行s311。
[0102]
s305、根据智能体状态计算当前每个智能体j的状态特征向量的值,将每个智能体j的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值;并以1-k的概率采用公共q值表的值替换当前智能体j的表中的值以及表中的值,得到替换后的智能体j的表和表。
[0103]
s306、根据替换后的表、表以及贪婪策略得到选择的动作。
[0104]
s307、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
[0105]
s308、更新s306所选择的替换后的智能体j的表或表,并更新公共q值表。
[0106]
s309、令k=0.99i*k0;更新智能体j的状态。
[0107]
s310、判断是否所有工件已调度完毕;若已调度完毕,则令i=i+1,转去执行s304;若未调度完毕,则转去执行s305。
[0108]
s311、随机选择用表替代表或选择用表替代表,得到同化后的表
[0109]
s312、计算当前每个智能体的状态特征向量的值,将每个智能体的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值,并以1-k的概率采用公共q值表的值替换表的值。
[0110]
s313、将替换后的表根据贪婪策略选择的最大的动作以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作。
[0111]
s314、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
[0112]
s315、更新替换后的表以及公共q值表;令k=0.99i*k0;更新智能体的状态。
[0113]
s316、判断是否所有工件已调度完毕,若已调度完毕,则执行s317;若未调度完毕,则转去执行s312。
[0114]
s317、若i<iter,则令i=i+1,转去执行s312;若i≥iter,则输出迭代得到的车间调度方案。
[0115]
可选地,输出模块,进一步用于:
[0116]
以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作。
[0117]
其中,动作的选择过程包括:
[0118]
随机选择替换后的表或表作为动作选择的依据。
[0119]
若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
[0120]
若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
[0121]
可选地,输出模块,进一步用于:
[0122]
当智能体j处于非空状态时,按照下式(1)、(2)更新替换后的智能体j的表:
[0123][0124][0125]
其中,t表示时刻,s
t
为t时刻状态;a
t
为t时刻的动作;为t时刻智能体j选择动作a
t
对应的qa表的值;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下的动作;为s
t+1
状态下智能体j的qa表的最大值;为t+1时刻s
t+1
状态下智能体j选择动作a
t+1
对应的qb表中的值。
[0126]
当智能体j处于空状态2时,按照下式(3)更新替换后的智能体j的表:
[0127][0128]
可选地,输出模块,进一步用于:
[0129]
公共q值表与智能体表与表的平均值进行经验共享,由下式(4)、(5)计算:
[0130][0131][0132]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0133]
可选地,输出模块,进一步用于:
[0134]
当智能体j处于非空状态时,按照下式(6)更新替换后的表:
[0135]
[0136]
当智能体j处于空状态2时,按照下式(7)更新替换后的表:
[0137][0138]
其中,为t时刻表的值;s
t
为t时刻状态;a
t
为t时刻动作;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下选择的动作;为t+1时刻s
t+1
状态下表动作的最大值。
[0139]
可选地,输出模块,进一步用于:
[0140]
公共q值表与智能体进行经验共享,由下式(8)计算:
[0141][0142]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0143]
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述分布式可重入车间动态调度问题的优化方法。
[0144]
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述分布式可重入车间动态调度问题的优化方法。
[0145]
本发明实施例提供的技术方案带来的有益效果至少包括:
[0146]
上述方案中,针对多阶段分布式可重入车间动态调度问题,建立了优化模型。考虑到加工生产的效率,调度的评价指标设置为总拖期与完工时间。采用了强化学习方法进行实时调度,将分布式可重入车间动态调度问题向强化学习问题的转换。参照完工时间、总拖期两个评价指标设计了奖赏函数。经典的q学习算法在多智能体、多工段、多工厂、可重入的复杂生产环境下无法保持良好的性能,因此对经典q学习算法进行了改进,得到改进的双q学习算法。为避免q学习高估动作值,在迭代前期设计了双q表的学习机制;并在前期以较小的步长更新贪婪选择系数,增大探索的概率;在迭代后期采用单q表学习机制,增大贪婪选择的步长;多智能体经验交互机制贯穿于算法的整个流程。旨在对生产制造过程中机器故障、工件随机到达的动态事件作出及时响应,实现实时调度。本发明可以避免人工调度决策的不合理性与滞后性,有助于提高企业的生产管理效率。
附图说明
[0147]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0148]
图1是本发明实施例提供的分布式可重入车间动态调度问题的优化方法流程示意图;
[0149]
图2是本发明实施例提供的分布式可重入车间动态调度问题的优化算法流程示意图;
[0150]
图3是本发明实施例提供的分布式可重入车间动态调度问题的优化装置框图;
[0151]
图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
[0152]
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0153]
如图1所示,本发明实施例提供了一种分布式可重入车间动态调度问题的优化方法,该方法可以由电子设备实现。如图1所示的分布式可重入车间动态调度问题的优化方法流程图,该方法的处理流程可以包括如下的步骤:
[0154]
s1、获取待调度车间的加工信息。
[0155]
其中,加工信息可以包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间。
[0156]
其中,加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;分配结果为工件在第三工段分配至不同工厂的结果。
[0157]
s2、设定强化学习的状态特征向量、动作集以及奖赏函数。
[0158]
可选地,s2中的设定状态特征向量可以包括根据机器缓冲区中工件的改变定义了6种状态特征向量;以及当机器缓冲区队列小于等于1时,定义两个空状态。
[0159]
其中,状态特征向量可以包括状态特征向量1、状态特征向量2、状态特征向量3、状态特征向量4、状态特征向量5以及状态特征向量6。
[0160]
其中,状态特征向量1表示当前缓冲区队列中工件的最大剩余加工时间与所有工件的平均剩余加工时间的比值。
[0161]
一种可行的实施方式中,状态特征向量1(f
s(1)
),可以如下式(1)所示:
[0162][0163]
其中,h为工厂索引,h=1,2,

,f;k与c均为工序索引,k=1,2,

,k
i(h)
;i为缓冲区j中的工件索引,i=1,2,

,bn
j(h)
;j为智能体索引,j=1,2,

,m
(h)
;bn
j(h)
为工厂h第j个智能体缓冲区中的工件数;m
(h)
为工厂h中智能体的数量;k
i(h)
表示工件i在工厂h中的工序总数;为工件i在工厂h中工序k的加工时间。
[0164]
状态特征向量2表示缓冲区队列中工件的最小剩余加工时间与所有工件的平均剩余加工时间的比值。
[0165]
一种可行的实施方式中,状态特征向量2(f
s(2)
),可以如下式(2)所示:
[0166][0167]
状态特征向量3表示缓冲区队列中所有工件的平均等待时间。
[0168]
一种可行的实施方式中,状态特征向量3(f
s(3)
),可以如下式(3)所示:
[0169][0170]
其中,工件i在工厂h中第j个智能体前的等待时间。
[0171]
状态特征向量4表示缓冲区队列中所有工件松弛时间的均值。
[0172]
一种可行的实施方式中,状态特征向量4(f
s(4)
),可以如下式(4)所示:
[0173][0174]
其中,di为工件i的交货期;为决策变量,如果工件i在工厂h加工完毕后立即搬运至下一工段,在动态分布式可重入调度问题中,为工厂hr与下一工段工厂h
r+1
的距离;v为相邻工段间的工件搬运速度;r为工段集合,r={1,2,3};t为当前时刻。
[0175]
状态特征向量5表示缓冲区队列中当前工序加工时间最大值与均值的比值。
[0176]
一种可行的实施方式中,状态特征向量5(f
s(5)
),可以如下式(5)所示:
[0177][0178]
状态特征向量6表示缓冲区队列中当前工序加工时间最小值与均值的比值。
[0179]
一种可行的实施方式中,状态特征向量6(f
s(6)
),可以如下式(6)所示:
[0180][0181]
空状态可以包括空状态1以及空状态2。
[0182]
其中,空状态1表示机器缓冲区为空。
[0183]
空状态2表示机器缓冲区中有且仅有一个工件。
[0184]
可选地,s2中的动作集可以包括:松弛时间最小规则slt规则、高响应比优先规则hrn规则、剩余加工时长最短规则lwr规则、最短加工时间优先规则spt规则、最长加工时间优先规则lpt规则以及交货期最早规则edd规则。
[0185]
其中,slt规则表示选择松弛时间最小的工件,若松弛时间相同,则随机选择松弛时间相同的工件中的一个工件。
[0186]
一种可行的实施方式中,slt规则可以如下式(7)、(8)所示:
[0187]i*
=argmin{sti|1≤i≤bn
j(h)
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0188][0189]
hrn规则表示选择等待时间与加工时长之和,与加工时长之比最大的工件,若比值相同,则随机选择比值相同的工件中的一个工件。
[0190]
一种可行的实施方式中,hrn规则可以如下式(9)所示:
[0191][0192]
lwr规则表示选择剩余加工时长最短的工件,若剩余加工时间相同,则选择到达时间最早的工件。
[0193]
一种可行的实施方式中,lwr规则可以如下式(10)所示:
[0194][0195]
spt规则表示选择当前工序加工时间最短的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
[0196]
一种可行的实施方式中,spt规则可以如下式(11)所示:
[0197][0198]
lpt规则表示选择当前工序加工时间最长的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
[0199]
一种可行的实施方式中,lpt规则可以如下式(12)所示:
[0200][0201]
edd规则表示选择交货期最早的工件,若交货期相同,则选择到达时间最早的工件。
[0202]
一种可行的实施方式中,edd规则可以如下式(13)所示:
[0203]i*
=argmin{di|1≤i≤bn
j(h)
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0204]
可选地,奖赏函数体现了每个智能体选择动作后获得的即时回报,系统中的智能体在迭代过程中的学习目标为最大化累积奖励。设定奖赏函数可以如下式(14)所示:
[0205][0206]
其中,makespan为工件序列加工时间总和。
[0207]
s3、根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。
[0208]
可选地,如图2所示,s3中的根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案包括:
[0209]
s301、设定改进的双q学习算法的参数。
[0210]
其中,参数可以包括但不限于学习率α、折扣因子γ、聚类数m、训练次数iter
t
、迭代次数iter、经验共享率k以及贪婪策略参数e。
[0211]
s302、训练阶段,获取智能体状态。
[0212]
s303、初始化每个智能体j的表和表,初始化公共q值表;令k0=0.99,i=1。
[0213]
s304、若i<iter*0.2,则执行s305;若i≥iter*0.2,则执行s311。
[0214]
一种可行的实施方式中,若i<iter*0.2,为迭代的“探索”阶段,执行双q表学习。
[0215]
s305、根据智能体状态计算当前每个智能体j的状态特征向量的值,将每个智能体j的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态查找公共q值表,获取公共q值;并以1-k的概率采用公共q值表的值替换当前智能体j的表中的值以及表中的值,得到替换后的智能体j的表和表。
[0216]
s306、根据替换后的表、表以及贪婪策略得到选择的动作。
[0217]
可选地,s306中的根据替换后的表、表以及贪婪策略得到选择的动作包括:
[0218]
以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作;
[0219]
其中,动作的选择过程包括:
[0220]
随机选择替换后的表或表作为动作选择的依据;
[0221]
若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
[0222]
若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表
的最大值的动作作为动作
[0223]
一种可行的实施方式中,以1-e的概率选择最佳动作,以概率e随机选择动作,如下式(15)、(16)所示:
[0224][0225][0226]
其中,步长μ=0.05。
[0227]
进一步地,若选择动作作为选择的动作,则随机选择替换后的表或表作为动作选择的依据;若选择表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作若选择表作为动作选择的依据;则根据贪婪策略选择替换后的表的最大值的动作作为动作
[0228]
s307、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
[0229]
s308、更新s306所选择的替换后的智能体j的表或表,并更新公共q值表。
[0230]
可选地,s308中的更新s306所选择的替换后的智能体j的表包括:
[0231]
当智能体j处于非空状态时,按照下式(17)、(18)更新替换后的智能体j的表:
[0232][0233][0234]
其中,t表示时刻,s
t
为t时刻状态;a
t
为t时刻的动作;为t时刻智能体j选择动作a
t
对应的qa表的值;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下的动作;为s
t+1
状态下智能体j的qa表的最大值;为t+1时刻s
t+1
状态下智能体j选择动作a
t+1
对应的qb表中的值。
[0235]
一种可行的实施方式中,若步骤s306智能体j选择表作为动作选择的依据,则计算方式与上述选择表作为动作选择的依据相同。
[0236]
当智能体j处于空状态2时,按照下式(19)更新替换后的智能体j的表:
[0237]
[0238]
可选地,s308中的更新公共q值表包括:
[0239]
公共q值表与智能体表与表的平均值进行经验共享,由下式(20)、(21)计算:
[0240][0241][0242]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0243]
s309、令k=0.99i*k0;更新智能体j的状态。
[0244]
s310、判断是否所有工件已调度完毕;若已调度完毕,则令i=i+1,转去执行s304;若未调度完毕,则转去执行s305。
[0245]
s311、随机选择用表替代表或选择用表替代表,得到同化后的表
[0246]
s312、计算当前每个智能体的状态特征向量的值,将每个智能体的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值,并以1-k的概率采用公共q值表的值替换表的值。
[0247]
s313、将替换后的表根据贪婪策略选择的最大的动作以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作。
[0248]
一种可行的实施方式中,以1-e的概率选择最佳动作,以概率e随机选择动作,如下式(22)、(23)所示:
[0249][0250][0251]
其中,步长μ=1。
[0252]
s314、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
[0253]
s315、更新替换后的表以及公共q值表;令k=0.99i*k0;更新智能体的状态。
[0254]
可选地,s315中的更新替换后的表包括:
[0255]
当智能体j处于非空状态时,按照下式(24)更新替换后的表:
[0256][0257]
当智能体j处于空状态2时,按照下式(25)更新替换后的表:
[0258]
[0259]
其中,为t时刻表的值;s
t
为t时刻状态;a
t
为t时刻动作;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下选择的动作;为t+1时刻s
t+1
状态下表动作的最大值。
[0260]
可选地,s315中的更新公共q值表包括:
[0261]
公共q值表与智能体进行经验共享,由下式(26)计算:
[0262][0263]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0264]
一种可行的实施方式中,用当前工厂m
(h)
个智能体在s
t+1
时刻动作对应的最大q值更新qc。
[0265]
s316、判断是否所有工件已调度完毕,若已调度完毕,则执行s317;若未调度完毕,则转去执行s312。
[0266]
s317、若i<iter,则令i=i+1,转去执行s312;若i≥iter,则输出迭代得到的车间调度方案。
[0267]
本发明实施例中,针对多阶段分布式可重入车间动态调度问题,建立了优化模型。考虑到加工生产的效率,调度的评价指标设置为总拖期与完工时间。采用了强化学习方法进行实时调度,将分布式可重入车间动态调度问题向强化学习问题的转换。参照完工时间、总拖期两个评价指标设计了奖赏函数。经典的q学习算法在多智能体、多工段、多工厂、可重入的复杂生产环境下无法保持良好的性能,因此对经典q学习算法进行了改进,得到改进的双q学习算法。为避免q学习高估动作值,在迭代前期设计了双q表的学习机制;并在前期以较小的步长更新贪婪选择系数,增大探索的概率;在迭代后期采用单q表学习机制,增大贪婪选择的步长;多智能体经验交互机制贯穿于算法的整个流程。旨在对生产制造过程中机器故障、工件随机到达的动态事件作出及时响应,实现实时调度。本发明可以避免人工调度决策的不合理性与滞后性,有助于提高企业的生产管理效率。
[0268]
如图3所示,本发明实施例提供了一种分布式可重入车间动态调度问题的优化装置300,该装置300应用于实现分布式可重入车间动态调度问题的优化方法,该装置300包括:
[0269]
获取模块310,用于获取待调度车间的加工信息;加工信息包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间;其中,加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;分配结果为工件在第三工段分配至不同工厂的结果。
[0270]
设定模块320,用于设定强化学习的状态特征向量、动作集以及奖赏函数。
[0271]
输出模块330,用于根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。
[0272]
可选地,设定状态特征向量包括设定状态特征向量以及空状态。
[0273]
其中,状态特征向量包括状态特征向量1、状态特征向量2、状态特征向量3、状态特
征向量4、状态特征向量5以及状态特征向量6。
[0274]
其中,状态特征向量1表示当前缓冲区队列中工件的最大剩余加工时间与所有工件的平均剩余加工时间的比值。
[0275]
状态特征向量2表示缓冲区队列中工件的最小剩余加工时间与所有工件的平均剩余加工时间的比值。
[0276]
状态特征向量3表示缓冲区队列中所有工件的平均等待时间。
[0277]
状态特征向量4表示缓冲区队列中所有工件松弛时间的均值。
[0278]
状态特征向量5表示缓冲区队列中当前工序加工时间最大值与均值的比值。
[0279]
状态特征向量6表示缓冲区队列中当前工序加工时间最小值与均值的比值。
[0280]
空状态包括空状态1以及空状态2。
[0281]
其中,空状态1表示机器缓冲区为空。
[0282]
空状态2表示机器缓冲区中有且仅有一个工件。
[0283]
可选地,动作集包括:松弛时间最小规则slt规则、高响应比优先规则hrn规则、剩余加工时长最短规则lwr规则、最短加工时间优先规则spt规则、最长加工时间优先规则lpt规则以及交货期最早规则edd规则。
[0284]
其中,slt规则表示选择松弛时间最小的工件,若松弛时间相同,则随机选择松弛时间相同的工件中的一个工件。
[0285]
hrn规则表示选择等待时间与加工时长之和,与加工时长之比最大的工件,若比值相同,则随机选择比值相同的工件中的一个工件。
[0286]
lwr规则表示选择剩余加工时长最短的工件,若剩余加工时间相同,则选择到达时间最早的工件。
[0287]
spt规则表示选择当前工序加工时间最短的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
[0288]
lpt规则表示选择当前工序加工时间最长的工件,若当前工序加工时间相同,则选择到达时间最早的工件。
[0289]
edd规则表示选择交货期最早的工件,若交货期相同,则选择到达时间最早的工件。
[0290]
可选地,输出模块330,进一步用于:
[0291]
s301、设定改进的双q学习算法的参数;参数包括学习率α、折扣因子γ、聚类数m、训练次数iter
t
、迭代次数iter、经验共享率k以及贪婪策略参数e。
[0292]
s302、获取智能体状态。
[0293]
s303、初始化每个智能体j的表和表,初始化公共q值表;令k0=0.99,i=1。
[0294]
s304、若i<iter*0.2,则执行s305;若i≥iter*0.2,则执行s311。
[0295]
s305、根据智能体状态计算当前每个智能体j的状态特征向量的值,将每个智能体j的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值;并以1-k的概率采用公共q值表的值替换当前智能体j的表中的值以及表中的值,得到替换后的智能体j的表和表。
[0296]
s306、根据替换后的表、表以及贪婪策略得到选择的动作。
[0297]
s307、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
[0298]
s308、更新s306所选择的替换后的智能体j的表或表,并更新公共q值表。
[0299]
s309、令k=0.99i*k0;更新智能体j的状态。
[0300]
s310、判断是否所有工件已调度完毕;若已调度完毕,则令i=i+1,转去执行s304;若未调度完毕,则转去执行s305。
[0301]
s311、随机选择用表替代表或选择用表替代表,得到同化后的表
[0302]
s312、计算当前每个智能体的状态特征向量的值,将每个智能体的状态特征向量的值进行聚类得到智能体的聚类状态;根据聚类状态获取公共q值,并以1-k的概率采用公共q值表的值替换表的值。
[0303]
s313、将替换后的表根据贪婪策略选择的最大的动作以1-e的概率选择动作a
*
、或以e的概率随机选择动作a
t
,得到选择的动作。
[0304]
s314、执行选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r。
[0305]
s315、更新替换后的表以及公共q值表;令k=0.99i*k0;更新智能体的状态。
[0306]
s316、判断是否所有工件已调度完毕,若已调度完毕,则执行s317;若未调度完毕,则转去执行s312。
[0307]
s317、若i<iter,则令i=i+1,转去执行s312;若i≥iter,则输出迭代得到的车间调度方案。
[0308]
可选地,输出模块330,进一步用于:
[0309]
以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作。
[0310]
其中,动作的选择过程包括:
[0311]
随机选择替换后的表或表作为动作选择的依据。
[0312]
若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
[0313]
若选择替换后的表作为动作选择的依据,则根据贪婪策略选择替换后的表的最大值的动作作为动作
[0314]
可选地,输出模块330,进一步用于:
[0315]
当智能体j处于非空状态时,按照下式(1)、(2)更新替换后的智能体j的表:
[0316]
[0317][0318]
其中,t表示时刻,s
t
为t时刻状态;a
t
为t时刻的动作;为t时刻智能体j选择动作a
t
对应的qa表的值;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下的动作;为s
t+1
状态下智能体j的qa表的最大值;为t+1时刻s
t+1
状态下智能体j选择动作a
t+1
对应的qb表中的值。
[0319]
当智能体j处于空状态2时,按照下式(3)更新替换后的智能体j的表:
[0320][0321]
可选地,输出模块330,进一步用于:
[0322]
公共q值表与智能体表与表的平均值进行经验共享,由下式(4)、(5)计算:
[0323][0324][0325]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0326]
可选地,输出模块330,进一步用于:
[0327]
当智能体j处于非空状态时,按照下式(6)更新替换后的表:
[0328][0329]
当智能体j处于空状态2时,按照下式(7)更新替换后的表:
[0330][0331]
其中,为t时刻表的值;s
t
为t时刻状态;a
t
为t时刻动作;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下选择的动作;为t+1时刻s
t+1
状态下表动作的最大值。
[0332]
可选地,输出模块330,进一步用于:
[0333]
公共q值表与智能体进行经验共享,由下式(8)计算:
[0334]
[0335]
其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。
[0336]
本发明实施例中,针对多阶段分布式可重入车间动态调度问题,建立了优化模型。考虑到加工生产的效率,调度的评价指标设置为总拖期与完工时间。采用了强化学习方法进行实时调度,将分布式可重入车间动态调度问题向强化学习问题的转换。参照完工时间、总拖期两个评价指标设计了奖赏函数。经典的q学习算法在多智能体、多工段、多工厂、可重入的复杂生产环境下无法保持良好的性能,因此对经典q学习算法进行了改进,得到改进的双q学习算法。为避免q学习高估动作值,在迭代前期设计了双q表的学习机制;并在前期以较小的步长更新贪婪选择系数,增大探索的概率;在迭代后期采用单q表学习机制,增大贪婪选择的步长;多智能体经验交互机制贯穿于算法的整个流程。旨在对生产制造过程中机器故障、工件随机到达的动态事件作出及时响应,实现实时调度。本发明可以避免人工调度决策的不合理性与滞后性,有助于提高企业的生产管理效率。
[0337]
图4是本发明实施例提供的一种电子设备400的结构示意图,该电子设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)401和一个或一个以上的存储器402,其中,存储器402中存储有至少一条指令,至少一条指令由处理器401加载并执行以实现下述分布式可重入车间动态调度问题的优化方法:
[0338]
s1、获取待调度车间的加工信息;加工信息包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间;其中,加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;分配结果为工件在第三工段分配至不同工厂的结果;
[0339]
s2、设定强化学习状态特征向量、动作集以及奖赏函数;
[0340]
s3、根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。
[0341]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述分布式可重入车间动态调度问题的优化方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0342]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0343]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种分布式可重入车间动态调度问题的优化方法,其特征在于,所述方法包括:s1、获取待调度车间的加工信息;所述加工信息包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间;其中,所述加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;所述分配结果为工件在第三工段分配至不同工厂的结果;s2、设定强化学习的状态特征向量、动作集以及奖赏函数;s3、根据所述加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。2.根据权利要求1所述的方法,其特征在于,所述s2中的设定状态特征向量包括设定状态特征向量以及空状态;其中,所述状态特征向量包括状态特征向量1、状态特征向量2、状态特征向量3、状态特征向量4、状态特征向量5以及状态特征向量6;其中,所述状态特征向量1表示当前缓冲区队列中工件的最大剩余加工时间与所有工件的平均剩余加工时间的比值;所述状态特征向量2表示缓冲区队列中工件的最小剩余加工时间与所有工件的平均剩余加工时间的比值;所述状态特征向量3表示缓冲区队列中所有工件的平均等待时间;所述状态特征向量4表示缓冲区队列中所有工件松弛时间的均值;所述状态特征向量5表示缓冲区队列中当前工序加工时间最大值与均值的比值;所述状态特征向量6表示缓冲区队列中当前工序加工时间最小值与均值的比值;所述空状态包括空状态1以及空状态2;其中,所述空状态1表示机器缓冲区为空;所述空状态2表示机器缓冲区中有且仅有一个工件。3.根据权利要求1所述的方法,其特征在于,所述s2中的动作集包括:松弛时间最小slt规则、高响应比优先hrn规则、剩余加工时长最短lwr规则、最短加工时间优先spt规则、最长加工时间优先lpt规则以及交货期最早edd规则;其中,所述slt规则表示选择松弛时间最小的工件,若松弛时间相同,则随机选择松弛时间相同的工件中的一个工件;所述hrn规则表示选择等待时间与加工时长之和,与加工时长之比最大的工件,若比值相同,则随机选择比值相同的工件中的一个工件;所述lwr规则表示选择剩余加工时长最短的工件,若剩余加工时间相同,则选择到达时间最早的工件;所述spt规则表示选择当前工序加工时间最短的工件,若当前工序加工时间相同,则选择到达时间最早的工件;所述lpt规则表示选择当前工序加工时间最长的工件,若当前工序加工时间相同,则选择到达时间最早的工件;所述edd规则表示选择交货期最早的工件,若交货期相同,则选择到达时间最早的工件。4.根据权利要求1所述的方法,其特征在于,所述s3中的根据所述加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案包括:
s301、设定改进的双q学习算法的参数;所述参数包括学习率α、折扣因子γ、聚类数m、训练次数iter
t
、迭代次数iter、经验共享率k以及贪婪策略参数e;s302、获取智能体状态;s303、初始化每个智能体j的表和表,初始化公共q值表;令k0=0.99,i=1;s304、若i<iter*0.2,则执行s305;若i≥iter*0.2,则执行s311;s305、根据所述智能体状态计算当前每个智能体j的状态特征向量的值,将所述每个智能体j的状态特征向量的值进行聚类得到智能体的聚类状态;根据所述聚类状态获取公共q值;并以1-k的概率采用公共q值表的值替换当前智能体j的表中的值以及表中的值,得到替换后的智能体j的表和表;s306、根据所述替换后的表、表以及贪婪策略得到选择的动作;s307、执行所述选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r;s308、更新s306所选择的替换后的智能体j的表或表,并更新公共q值表;s309、令k=0.99
i
*k0;更新智能体j的状态;s310、判断是否所有工件已调度完毕;若已调度完毕,则令i=i+1,转去执行s304;若未调度完毕,则转去执行s305;s311、随机选择用表替代表或选择用表替代表,得到同化后的表s312、计算当前每个智能体的状态特征向量的值,将所述每个智能体的状态特征向量的值进行聚类得到智能体的聚类状态;根据所述聚类状态获取公共q值,并以1-k的概率采用公共q值表的值替换表的值;s313、将所述替换后的表根据贪婪策略选择的最大的动作以1-e的概率选择所述动作或以e的概率随机选择动作a
t
,得到选择的动作;s314、执行所述选择的动作,将智能体状态转移至状态s
t+1
,并根据奖赏函数计算得到即时奖励r;s315、更新替换后的表以及公共q值表;令k=0.99
i
*k0;更新智能体的状态;s316、判断是否所有工件已调度完毕,若已调度完毕,则执行s317;若未调度完毕,则转去执行s312;s317、若i<iter,则令i=i+1,转去执行s312;若i≥iter,则输出迭代得到的车间调度方案。5.根据权利要求4所述的方法,其特征在于,所述s306中的根据所述替换后的表、表以及贪婪策略得到选择的动作包括:以1-e的概率选择动作或以e的概率随机选择动作a
t
,得到选择的动作;其中,所述动作的选择过程包括:随机选择所述替换后的表或表作为动作选择的依据;
若选择所述替换后的表作为动作选择的依据,则根据贪婪策略选择所述替换后的表的最大值的动作作为动作若选择所述替换后的表作为动作选择的依据,则根据贪婪策略选择所述替换后的表的最大值的动作作为动作6.根据权利要求4所述的方法,其特征在于,所述s308中的更新s306所选择的替换后的智能体j的表包括:当智能体j处于非空状态时,按照下式(1)、(2)更新替换后的智能体j的表:表:其中,t表示时刻,s
t
为t时刻状态;a
t
为t时刻的动作;为t时刻智能体j选择动作a
t
对应的q
a
表的值;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下的动作;为s
t+1
状态下智能体j的q
a
表的最大值;为t+1时刻s
t+1
状态下智能体j选择动作a
t+1
对应的q
b
表中的值;当智能体j处于空状态2时,按照下式(3)更新替换后的智能体j的表:7.根据权利要求4所述的方法,其特征在于,所述s308中的更新公共q值表包括:公共q值表与智能体表与表的平均值进行经验共享,由下式(4)、(5)计算:表的平均值进行经验共享,由下式(4)、(5)计算:其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。8.根据权利要求4所述的方法,其特征在于,所述s315中的更新替换后的表包括:当智能体j处于非空状态时,按照下式(6)更新替换后的表:
当智能体j处于空状态2时,按照下式(7)更新替换后的表:其中,为t时刻表的值;s
t
为t时刻状态;a
t
为t时刻动作;α为学习率;r
t
为t时刻即时奖励;γ为折扣因子;s
t+1
为t+1时刻状态;a
t+1
为s
t+1
状态下选择的动作;为t+1时刻s
t+1
状态下表动作的最大值。9.根据权利要求4所述的方法,其特征在于,所述s315中的更新公共q值表包括:公共q值表与智能体进行经验共享,由下式(8)计算:其中,s
t+1
为t+1时刻状态;表示在s
t+1
时刻使得取值最大的动作;m
(h)
为当前工厂智能体个数。10.一种分布式可重入车间动态调度问题的优化装置,其特征在于,所述装置包括:获取模块,用于获取待调度车间的加工信息;所述加工信息包括待加工工件数量、加工时间、并行机数量、分配结果以及交付时间;其中,所述加工时间包括第一工段加工时间、第二工段加工时间以及第三工段加工时间;所述分配结果为工件在第三工段分配至不同工厂的结果;设定模块,用于设定强化学习的状态特征向量、动作集以及奖赏函数;输出模块,用于根据所述加工信息、状态特征向量、动作集、奖赏函数以及改进的双q学习算法,得到车间调度方案。

技术总结
本发明公开了一种分布式可重入车间动态调度问题的优化方法及装置,涉及车间调度技术领域。包括:获取待调度车间的加工信息;设定强化学习的状态特征向量、动作集以及奖赏函数;根据加工信息、状态特征向量、动作集、奖赏函数以及改进的双Q学习算法,得到车间调度方案。本发明能够解决分布式可重入车间中如何合理制定动态调度决策方法,以实现三个工段的协同生产,并充分利用现有的资源的问题。本发明可以有效地求解分布式可重入车间动态调度问题,并对动态干扰事件作出及时响应。对动态干扰事件作出及时响应。对动态干扰事件作出及时响应。


技术研发人员:吴秀丽 谢子润
受保护的技术使用者:北京科技大学
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8684.html

最新回复(0)