技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于强化学习的制造和计算工业终端多目标调度方法  >  正文

一种基于强化学习的制造和计算工业终端多目标调度方法

  • 国知局
  • 2024-07-31 23:12:19

本发明涉及云边协同及智能调度,具体是涉及基于强化学习的制造和计算工业终端多目标调度方法。

背景技术:

1、随着工业互联网相关政策的推出和完善,众多企业逐步向数字化和智能化转型。生产车间中的各种工业设备终端通过传感器和通信网络相互连接,形成了庞大的工业互联网系统。工业互联网平台的传统架构依赖于将工业设备终端的计算任务集中上传至云平台进行处理,以实现智能化生产和管控。然而,随着制造资源和计算资源数量的指数型增长,传统架构逐渐难以满足工业生产实时性的计算需求。为了提高数据处理效率,工业互联网平台开始引入边缘计算,即将部分计算任务从中心云下沉到边缘端进行实时处理。因此,工业互联网平台开始向云-边-端一体化架构发展。面对中心云、边缘端和终端设备相互协同的工业场景,如何在海量异构的终端设备之间进行快速合理的调度,以满足工业生产的准时执行和优化目标,成为工业互联网高效运行的关键。

2、现有调度问题的求解方法主要分为三类:基于规则的调度方法、基于元启发式的调度方法和基于强化学习的调度方法。基于规则的调度方法简单易懂,但是不适用于实时变化的生产系统,元启发式算法往往是针对具体调度问题进行设计,对于不同环境的泛化性较差,且算法耗时较长,调优也相对复杂,不适用于大规模调度问题的求解。因此,以上两种方法在云边协同背景下大规模、动态性和高度自动化的生产环境中应用受限。相比之下,强化学习算法能够通过学习过程不断调整模型和策略,快速适应环境变化,以实现调度过程的最优决策,在工业互联网云边协同生产环境中具有广阔的应用前景和潜力。

3、但目前利用强化学习来求解调度问题的研究仅限于单制造资源的调度或单计算资源的调度,并未同时考虑制造终端和计算终端的联合调度,且在云边协同的背景下制造任务和计算任务联合的调度模型尚未得到充分的分析和建模。因此,如何结合强化学习和云边协同技术两者的优势,实现工业互联网平台的高效调度是十分有意义且亟待解决的问题,解决这一问题将有助于推动工业互联网平台在实时性、资源利用和生产效率等方面的进一步提升。

技术实现思路

1、本发明的目的是为了解决目前利用强化学习来求解调度问题的研究仅限于单制造资源的调度或单计算资源的调度,并未同时考虑制造终端和计算终端的联合调度,且在云边协同的背景下制造任务和计算任务联合的调度模型尚未得到充分的分析和建模,导致资源利用率和生产效率低的问题,而提出一种基于强化学习的制造和计算工业终端多目标调度方法。

2、一种基于强化学习的制造和计算工业终端多目标调度方法具体过程为:

3、步骤一、构建cet-cims系统;

4、所述cet-cims系统为基于云边协同的制造和计算工业终端多目标调度系统;

5、cet-cims系统包括终端层、边缘层和中心云层三个层级;

6、定义cet-cims系统的调度机制;

7、步骤二、基于步骤一定义的cet-cims系统的调度机制,构建制造任务调度模型和计算任务卸载模型;基于构建的制造任务调度模型和计算任务卸载模型,构建制造和计算任务的联合调度模型;

8、步骤三、基于步骤二构建的制造和计算任务的联合调度模型,设定深度强化学习算法的状态空间、动作空间和奖励函数;

9、步骤四、基于步骤三设定的状态空间、动作空间和奖励函数,执行训练过程直至最大迭代次数或收敛,获得训练好的dqn强化学习模型;

10、步骤五、将待调度的制造任务的加工工时信息和制造任务的加工机器信息,以及根据制造任务加工工时信息确定的计算任务的数据容量信息,输入训练好的dqn强化学习模型,训练好的dqn强化学习模型输出调度方案,输出调度方案包括制造任务的调度和计算任务的卸载方案。

11、优选地,所述步骤一中构建cet-cims系统;

12、所述cet-cims系统为基于云边协同的制造和计算工业终端多目标调度系统

13、cet-cims系统包括终端层、边缘层和中心云层三个层级;

14、定义cet-cims系统的调度机制;

15、具体过程为:

16、步骤一一、cet-cims系统包括:终端层、边缘层和中心云层;

17、终端层由生产制造类工业终端和计算任务类工业终端构成;

18、其中生产制造类工业终端划分为加工设备、装配设备和物流设备三种类型;

19、其中计算任务类工业终端划分为传感设备、控制设备和通信设备三种类型;

20、边缘层实时接收终端层的本地数据,并将数据上传至中心云层;

21、中心云层即中心云服务器;

22、步骤一二、定义cet-cims系统中生产制造类工业终端和计算任务类工业终端的调度机制,调度机制如下:

23、在cet-cims系统中,根据制造任务的加工顺序约束以及各个设备资源的承载情况,制造任务中每道工序将被匹配至生产制造类工业终端进行加工;

24、在制造任务中每道工序依次加工时,计算任务类工业终端会随之产生数据采集、数据上传和数据监测的计算任务,且每个计算任务需要处理的数据量等于对应工序的加工时间。

25、优选地,所述步骤二中基于步骤一定义的cet-cims系统的调度机制,构建制造任务调度模型和计算任务卸载模型;基于构建的制造任务调度模型和计算任务卸载模型,构建制造和计算任务的联合调度模型;具体过程为:

26、步骤二一、构建制造任务调度模型;

27、步骤二二、构建计算任务卸载模型;

28、步骤二三、基于构建的制造任务调度模型和计算任务卸载模型,构建制造和计算任务的联合调度模型。

29、优选地,所述步骤二一中构建制造任务调度模型;具体过程为:

30、在cet-cims系统中,制造任务生产时每个工件的加工工序、每个工件工序使用机器的序列及每道工序的加工时间都是固定的,且每道工序一旦开始生产不得中断,工序间不允许抢占加工;

31、每个工件加工工序的集合表示为oj={oi1,oi2,..,oij},其中oj表示工件oi的加工工序集合,oij表示工件oi的第j道工序;

32、加工机器的集合表示为mh={m1,m2,..,mk,..,mh},其中mh表示第h个加工机器,h表示加工机器的总数量;

33、构建以最大完工时间最小为调度目标的制造任务调度模型;具体为:

34、目标函数为:

35、

36、其中,ptmin表示总完工时间的最小值,ptik表示工件oi在加工机器mk上的加工完工时间;

37、约束条件为:

38、c1:

39、c2:

40、c3:

41、其中,stijk表示工序oij在加工机器mk上的起始加工时间,ptijk表示工序oij在加工机器mk上的实际加工时间;xijk是0-1决策变量,表示工序oij是否在加工机器mk上加工;xijk取0表示工序oij不在加工机器mk上加工,xijk取1表示工序oij在加工机器mk上加工;sti(j+1)k表示表示工序oij的下一道工序oi(j+1)在加工机器mk上的起始加工时间;n表示加工工件的总个数,m表示每一个工件的加工工序的总个数,h表示加工机器的总个数;

42、约束条件c1表示每个工件的完工时间由每一道工序的起始时间和处理时间的累计之和表示;

43、约束条件c2表示只能在加工完成前一道工序后才可以加工后一道工序;

44、约束条件c3表示每道工序只能被加工一次,且每台机器同一时刻仅可处理一个工件的一道工序。

45、优选地,所述步骤二二中构建计算任务卸载模型;具体过程为:

46、在cet-cims系统中,制造任务中每道工序依次加工时会同时产生相应的计算任务,每个计算任务需要处理的数据量等于对应工序的加工时间,且产生的计算任务不能再分割,表示为:

47、wijk=l×dtijk=l×ptijk

48、其中,wijk表示工序oij在机器mk上加工产生的计算任务tij处理所需的cpu周期;dtijk表示计算任务tij需要处理的数据量,等于工序oij的加工时间;l表示处理单位数据所需的cpu周期;

49、在cet-cims系统中,计算任务的卸载方式分为本地计算模式、边缘计算模式和云计算模式三种;

50、分别为本地计算模式、边缘计算模式和云计算模式建立时延计算模型:

51、本地计算模式时延表示为:

52、

53、其中,表示计算任务tij在本地终端设备处理的时延,fl表示本地终端设备的计算能力;

54、边缘计算模式时延表示为:

55、

56、其中,表示计算任务tij在边缘服务器处理的时延,fe表示边缘服务器的计算能力,表示计算任务tij从本地终端上传至边缘服务器的传输率;

57、云计算模式时延表示为:

58、

59、其中,表示计算任务tij在中心云服务器处理的时延,fc表示中心云服务器的计算能力,表示计算任务tij从边缘服务器上传至中心云服务器的传输率;

60、信道数据传输率p表示为:

61、

62、其中,p表示数据传输速率的极限值;b表示信道带宽;s表示信号功率,n表示噪声功率;

63、计算任务的卸载模型以最大时延时间最小调度目标,目标函数表示为

64、

65、其中,ctmin表示总时延时间的最小值,ctijk表示工序oij在加工机器mk上加工时产生的计算任务tij卸载的时延时间;

66、约束条件为:

67、c4:

68、

69、c5:

70、

71、其中,是0-1决策变量,表示计算任务tij的卸载方式;

72、取1表示计算任务tij卸载到本地进行处理,取0表示计算任务tij没有卸载到本地进行处理;

73、取1表示计算任务tij卸载到边缘服务器进行处理,取0表示计算任务tij没有卸载到边缘服务器进行处理;

74、取1表示计算任务tij卸载到中心云服务器进行处理;取0表示计算任务tij没有卸载到中心云服务器进行处理;

75、约束条件c4表示每个计算任务的时延大小取决于卸载节点的计算能力和传输率;

76、约束条件c5表示每个计算任务都采用完全卸载的方式,且仅可在本地设备、边缘服务器或者中心云服务器中的一处进行处理。

77、优选地,所述步骤二三中基于构建的制造任务调度模型和计算任务卸载模型,构建制造和计算任务的联合调度模型;具体过程为:

78、

79、

80、

81、

82、

83、

84、

85、

86、

87、

88、其中,ptmin表示总完工时间的最小值,ctmin表示总时延时间的最小值,ptik表示工件oi在加工机器mk上的加工完工时间;ctijk表示工序oij在加工机器mk上加工时产生的计算任务tij卸载的时延时间;n表示加工工件的总个数,m表示每一个工件的加工工序的总个数,h表示加工机器的总个数;

89、stijk表示工序oij在加工机器mk上的起始加工时间;sti(j+1)k表示工序oi(j+1)在加工机器mk上的起始加工时间;ptijk表示工序oij在加工机器mk上的实际加工时间;xijk是0-1决策变量,表示工序oij是否在加工机器mk上加工;xijk取0表示工序oij不在加工机器mk上加工,xijk取1表示工序oij在加工机器mk上加工;

90、其中,式(1)和式(2)是目标函数,式(1)表示制造任务的总完工时间最小,式(2)表示计算任务的总时延时间最小;

91、其中,式(3)-(10)是约束条件;

92、约束条件(3)表示每个工件的完工时间由每一道工序的起始时间和处理时间的累计之和表示;

93、约束条件(4)表示只能在加工完成前一道工序后才可以加工后一道工序;

94、约束条件(5)表示每道工序只能被加工一次,且每台机器同一时刻仅可处理一个工件的一道工序;

95、约束条件(6)中表示每个计算任务的时延大小取决于卸载节点的计算能力和传输率;

96、约束条件(7)表示本地计算模式的计算时延;

97、约束条件(8)表示边缘计算模式的计算时延;

98、约束条件(9)表示云计算模式的计算时延;

99、约束条件(10)表示每个计算任务都采用完全卸载的方式,且仅可在本地设备、边缘服务器或者中心云服务器中的一处进行处理。

100、优选地,所述步骤三中基于步骤二构建的制造和计算任务的联合调度模型,设定深度强化学习算法的状态空间、动作空间和奖励函数;具体过程为:

101、步骤三一、状态空间表示为:

102、s=[s0,s1,…,st]

103、st={spt,spk,set,sdt,sch,sct}

104、其中,s表示状态空间,st表示t时刻状态,spt表示制造任务的加工工时信息,spk表示制造任务的加工机器信息,sdt表示计算任务的数据容量信息,set表示制造任务的调度工时信息,sch表示计算任务的卸载节点信息,sct表示计算任务的卸载时延信息;

105、步骤三二、动作空间表示为:

106、a=[a0,a1,...,at]

107、at={(nn,nm),nq}

108、其中,a是动作空间,(nn,nm)表示制造任务当前时刻执行的工序onm,nn表示当前选择加工工件的序号为n,nm表示当前选择加工工序的序号为m,onm表示第n个工件的第m道工序,nq表示当前时刻工序onm产生计算任务的卸载节点;

109、步骤三三、奖励函数是以制造任务最大完工时间最小和计算任务最大时间延迟最小的综合指标为目标,表示为:

110、rt=(ptmin+ctmin)/2

111、

112、其中,rt表示t时刻执行动作at获得的即时奖励;

113、γ∈(0,1)为折扣因子;

114、γt表示γ的t次方;

115、rt是累计折扣奖励,表示智能体从出发到目标所有的即时奖励累加起来的总和。

116、优选地,所述步骤四中基于步骤三设定的状态空间、动作空间和奖励函数,执行训练过程直至最大迭代次数或收敛,获得训练好的dqn强化学习模型;具体过程为:

117、步骤四一、定义奖励折扣因子γ;

118、设置最大迭代次数;

119、初始化经验回放缓冲区为d;

120、随机设置评估网络qe和目标网络qg的参数,两者参数相同,即θg=θe;

121、θg为目标网络qg参数,θe评估网络qe参数;

122、步骤四二、从状态空间中获取当前状态st,在动作空间中随机选择一个动作at;

123、基于状态st和动作at,确定下一状态st+1;

124、基于动作at、状态st+1、奖励函数得到奖励值rt;

125、基于状态st、动作at、状态st+1、奖励值rt获得一组经验元组(st,at,st+1,rt);

126、将经验元组(st,at,st+1,rt)放入经验回放缓冲区d中;

127、重复执行步骤四二m次,得到积累在经验回放缓冲区d中的m组经验元组;

128、所述状态空间包括制造任务的加工工时矩阵、制造任务的加工机器信息矩阵、制造任务的调度工时信息矩阵、计算任务的数据容量矩阵、计算任务的卸载节点信息矩阵、计算任务的卸载时延信息矩阵;

129、步骤四三、

130、从经验回放缓冲区d中获取当前状态st作为dqn强化学习模型的输入,评估网络输出当前状态下可以选择的所有动作所对应的状态动作值函数qe(st,at;θe);

131、dqn强化学习模型按照探索策略输出动作;

132、探索策略的表达式如下所示:

133、

134、其中,ε是随机选择动作的概率大小;

135、将按照探索策略得到的经验元组(st,at,st+1,rt)放入经验回放缓冲区d中,用于更新经验回放缓冲区d;

136、从经验回放缓冲区中随机抽取m组经验元组(st,at,st+1,rt)作为dqn强化学习模型的输入,评估状态动作值函数qe(st,at;θe)作为dqn强化学习模型中评估网络的输出,目标状态动作值函数qg(st+1,at+1;θg)作为dqn强化学习模型中目标网络qg的输出,更新评估网络输出的评估状态动作值函数qe(st,at;θe);

137、更新过程如下式所示:

138、qe,new(st,at;θe)=qe(st,at;θe)+α×(rt+γ×argmaxqg(st+1,at+1;θg)-qe(st,at;θe))其中,qg(st+1,at+1;θg)表示目标网络qg的输出,是目标状态动作值函数;

139、qe(st,at;θe)表示评估网络qe的输出;

140、qe,new(st,at;θe)是预测的状态动作值函数,表示更新后的评估网络qe的输出;

141、α为学习率;

142、θg表示目标网络qg的参数,θe表示评估网络qe的参数;

143、根据损失函数计算qe,new(st,at;θe)与目标真实奖励值的差值,损失函数如下所示:

144、loss=(rt+γ×argmaxqg(st+1,at+1;θg)-qe,new(st,at;θe))2

145、使用梯度下降法求解损失函数,来更新评估网络qe的参数θe;

146、步骤四四、每执行步骤四三δ次,将评估网络的参数复制到目标网络:θg=θe;

147、当状态空间中加工工时矩阵和数据容量矩阵都变为0时代表一次迭代过程结束,状态空间初始为s0;

148、步骤四五、重复执行步骤四二至步骤四四,直至达到最大迭代次数或收敛,获得训练好的dqn强化学习模型。

149、本发明的有益效果为:

150、本发明采用上述的一种基于强化学习的制造-计算工业终端多目标调度方法,可以在工业互联网云边协同场景下实现制造任务和计算任务的优化联合调度,与现有调度方法相比,本发明具有较强的适应性和泛化性,适用于各种复杂的工业场景,在实际应用中可以根据不同场景的需求调整网络结构和参数,有助于推动工业互联网平台在实时性、资源利用和生产效率等方面的进一步提升。

151、综上所述,本发明提供了一种有效解决云边协同工业场景下的制造-计算工业终端多目标联合调度问题的方法,具有广泛的应用前景和实践价值。

本文地址:https://www.jishuxx.com/zhuanli/20240730/196396.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。