CN117193873B - 一种适用于工业控制系统的计算卸载方法和装置 - Google Patents
一种适用于工业控制系统的计算卸载方法和装置 Download PDFInfo
- Publication number
- CN117193873B CN117193873B CN202311139853.9A CN202311139853A CN117193873B CN 117193873 B CN117193873 B CN 117193873B CN 202311139853 A CN202311139853 A CN 202311139853A CN 117193873 B CN117193873 B CN 117193873B
- Authority
- CN
- China
- Prior art keywords
- plc
- control task
- local
- edge
- local plc
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 92
- 230000005540 biological transmission Effects 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims description 31
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000005265 energy consumption Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 11
- 238000013468 resource allocation Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 230000000630 rising effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000009776 industrial production Methods 0.000 abstract description 10
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Programmable Controllers (AREA)
Abstract
本公开提供一种适用于工业控制系统的计算卸载方法,包括下列步骤:从工业控制系统中采集状态向量和固定值,并输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率;基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量、卸载到边缘PLC计算的控制任务量和本地PLC计算控制任务的计算时间;根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源;根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。本公开能够显著提升工业生产系统任务执行效率,又可以延长本地PLC的电池使用寿命,在一定程度上可以缩减工业生产系统的运维成本。
Description
技术领域
本公开涉及无线网络通信技术领域,尤其涉及一种适用于工业控制系统的计算卸载方法。
背景技术
计算卸载是一种优化计算资源利用的技术。在计算卸载中,计算任务被划分为多个小任务,并分配到多个加速卡上并行执行,以提高计算效率。同时,由于加速卡具备较强的计算能力,可以减轻后端服务器的计算负担,提高整个系统的吞吐量。计算卸载通常应用于边缘计算中,即移动边缘计算(MEC)框架,将计算任务从移动设备卸载到边缘服务器上进行处理。在MEC框架下,计算卸载可以提高移动设备的计算和存储能力,减少能耗和延迟,提高用户体验。计算卸载可以在边缘服务器上进行,也可以在云端数据中心进行。
工业控制系统在现代工业生产中具有重要的地位和作用。它可以实现对生产过程的自动化和智能化控制,提高生产效率和质量,降低成本和能耗。将计算卸载现有技术应用于工业控制系统存在一系列挑战。
一方面,现有技术是针对于确定性的密集任务进行计算卸载,不考虑实际生产现场的高度随机性和动态性;另一方面,现有技术主要将任务计算完成时延作为优化目标进行计算卸载,并不会明确给定任务完成的截至时延,但是,工业现场的控制任务一般均要求在给定期限内完成控制任务的计算。因此,如何结合实际工业生产场景,对工业控制任务的高度随机性、动态性、时间敏感性和计算密集型进行充分考虑,使工业控制系统在资源受限的约束下,合理分配系统资源并高效完成控制任务计算具有一定的挑战。
发明内容
本公开提供了一种适用于工业控制系统的计算卸载方法。本公开针对工业生产控制场景中任务生产的高度随机性和动态性问题,实现了在任务截至时延和有限资源的约束下,以较低的计算代价成功完成工业控制任务的计算。本公开应用于工业生产控制场景,不仅能用于工业控制边缘PLC和本地PLC的协同计算而且可以以较低的计算代价成功完成工业控制任务的计算,最终达到缩减工业生产系统的运维成本的效果。为解决上述发明目的,本公开提供的技术方案如下:
一方面,提供了一种适用于工业控制系统的计算卸载方法,包括下列步骤:
S1:从工业控制系统中采集状态向量和固定值,所述工业控制系统包括本地PLC、gNB和边缘PLC;所述状态向量包括:本地PLC控制任务信息、本地PLC最大可分配功率、本地PLC可分配计算资源、边缘PLC可分配计算资源、gNB与本地PLC的信道增益;所述固定值包括:gNB为本地PLC分配的系统带宽和本地PLC与gNB之间的距离;所述本地PLC控制任务信息包括本地PLC的每个控制任务、每个控制任务的截至时延和控制任务总量;
S2:将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率,所述预训练的计算卸载模型基于TD3算法和能耗模型;
S3:基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量;
S4:基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量;
S5:根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间;
S6:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源。
S7:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。
优选地,所述S1的从工业控制系统中采集状态向量和固定值,包括:
所述状态向量的公式如下:
s={d,ddl,pmax,h,flo,fe},
其中s是状态向量,d是控制任务量,ddl为控制任务的截至时延,pmax为本地PLC最大可分配功率,h为gNB与本地PLC之间的信道增益,flo为本地PLC可分配计算资源,fe为边缘PLC可分配计算资源。
优选地,所述S3的基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量,公式如下:
留在本地PLC计算的控制任务量为对于第j个本地PLC在t时隙的控制任务卸载比例为roj,t,dj,t为第j个本地PLC在t时隙的控制任务总量。
优选地,所述S4的基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量,公式如下:
边缘PLC计算的控制任务量为对于第j个本地PLC在t时隙的控制任务卸载比例为roj,t,dj,t为第j个本地PLC在t时隙的控制任务总量。
优选地,所述S5的根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的能源消耗,包括:
计算本地PLC计算控制任务的计算时间的公式如下:
为本地PLC计算控制任务量/>所需的计算时间,c为本地PLC计算1比特数据需要的CPU周期数,fj,t为第j个本地PLC在t时隙可分配给控制任务的最大计算资源,ddlj,t为控制任务的截至时延。
优选地,所述S6的根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源,公式如下:
为将卸载任务从本地PLC到gNB的传输时间,W为gNB为本地PLC分配的系统带宽,pj,t为本地PLC到gNB的传输功率,hj,t为t时隙第j个本地PLC和gNB之间的信道增益,D为本地PLC与gNB之间的距离,β为路径损失系数,σ2为噪声功率,ddlj,t为控制任务的截至时延,/>在t时隙第j个本地PLC卸载到边缘PLC计算的控制任务量分配的需要的最小计算资源,/>为边缘PLC为在t时隙第j个本地PLC卸载的控制任务量实际分配的计算资源,是边缘PLC为计算卸载任务所花费的最大计算时间,/>是边缘PLC实际计算卸载任务所消耗的时间。
优选地,所述S7的根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级,包括:
优先级的公式为:
其中边缘PLC计算的控制任务量为是边缘PLC为计算卸载任务所花费的最大计算时间。
优选地,所述S2的将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率之前,所述方法还包括:
S00、收集训练数据集;
S01、对待训练的计算卸载模型进行训练,所述待训练的计算卸载模型包括Actor网络,目标Actor网络,两个目标Critic网络,两个Critic网络;
所述S01的对待训练的计算卸载模型进行训练,包括:
S011、从训练数据集中随机抽取一组输入数据,所述一组输入数据包括[st,at,rt,st+1],其中st为当前环境状态,at为当前动作,rt为奖励值,st+1为下一时刻状态;
S012、利用目标Actor网络根据下一时刻状态st+1,预测下一时刻的动作为目标Actor网络,/>为目标Actor网络的权重参数,ζ为目标动作噪声,遵循截断正态分布/> 为标准差,ζ噪声取值在[-e,e]区间内;
S013、利用两个目标Critic网络(和/>)对/>进行评分:/>和 和/>分别为目标Critic网络的权重参数;
S014、利用两个Critic网络(Q1和Q2)对at进行评分,分别记为:Q1(st,at;ω1)和Q2(St,at;ω2),ω1和ω2分别为Critic网络的权重参数;
S015、根据贝尔曼公式,基于S013和S014步骤获得的评分计算TD误差,其中γ是折扣因子:
S016、使用梯度下降法更新Critic网络:
其中,ω1和ω2为两个Critic网络的权重参数,η为Critic网络的学习率,δ1和δ2分别是两个Critic网络的TD误差,和/>分别为两个Critic网络的梯度;
S017、根据Actor网络更新频率fd,每间隔fd轮更新一次Actor网络,使用梯度上升方法更新Actor网络:
其中,θ为Actor网络的权重参数,μ为Actor网络的学习率,为Actor网络的梯度;
S018、重复步骤S011到S017,直到待训练的计算卸载模型直到收敛到奖励最大值,并给出系统最优的决策动作,获得预训练的计算卸载模型
优选地,所述S00的收集训练数据集,包括:
S001、每一个本地PLC在每个时隙依据泊松分布生成1个控制任务,控制任务量为d,并随机生成一个控制任务的截至时延ddl,所述时隙为0.05秒;
S002、同时采集在每个时隙的状态向量,具体的状态向量包括每个本地PLC控制任务信息、每个本地PLC最大可分配功率、每个本地PLC可分配计算资源、边缘PLC可分配计算资源和gNB与本地PLC之间的信道增益;
S003、将S002步骤采集的状态向量转化为状态向量,公式如下:
s={d,ddl,pmax,h,flo,fe},
其中s是状态向量,d是控制任务量,ddl为控制任务的截至时延,pmax为本地PLC最大可分配功率,h为gNB与本地PLC之间的信道增益,flo为本地PLC可分配计算资源,fe为边缘PLC可分配计算资源;
S004、将由步骤S003获得的在t时隙的状态向量输入待训练的计算卸载模型的Actor网络,获得决策向量at={rot,pt}N,其中包括卸载比例向量 和传输功率分配向量/>是本地PLC集合;
S005、根据决策向量,计算资源分配结果设计奖励函数,如下式:
其中,φ,和ψ为标准化尺度上组合项的系数,/>为本地PLC计算任务/>所消耗的能量,/>为卸载任务/>为传输所消耗的能量,/>为边缘PLC计算卸载任务/>所消耗的能量,则完成计算控制任务dj,t所消耗能量的计算公式如下式:
其中,κ·(fj,t)α+1为本地PLC的CPU单位计算时间能耗,ξ为边缘PLC的CPU单位计算时间能耗,当控制任务dj,t在给定截至时间内被计算,则获得奖励值rj,t,否则,rj,t=-100,则在t时隙TD3代理获得的总奖励值为:
S006、在执行完步骤S005,环境的状态从st转移到下一个状态st+1,从而并得到一组训练数据(st,at,rt,st+1)并添加到训练数据集;
S007,重复S001-S006,直到t值到达最大时隙值T,T=1000。
第二方面,提供了一种适用于工业控制系统的计算卸载装置,包括:
状态采集模块:从工业控制系统中采集状态向量和固定值,所述工业控制系统包括本地PLC、gNB和边缘PLC;所述状态向量包括:本地PLC控制任务信息、本地PLC最大可分配功率、本地PLC可分配计算资源、边缘PLC可分配计算资源、gNB与本地PLC的信道增益;所述固定值包括:gNB为本地PLC分配的系统带宽和本地PLC与gNB之间的距离;所述本地PLC控制任务信息包括本地PLC的每个控制任务、每个控制任务的截至时延和控制任务总量;
卸载决策模块:将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率,所述预训练的计算卸载模型基于TD3算法和能耗模型;
本地PLC模块:基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量;
边缘PLC模块:基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量;
本地PLC计算资源分配模块:根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间;
边缘PLC计算资源分配模块:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源;
优先级模块:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。
上述技术方案,与现有技术相比至少具有如下有益效果:
上述方案,适用于工业控制系统的计算卸载方法,实现了工业控制任务的云边协同计算,通过将TD3算法联合能耗模型,实现了不断优化工作量卸载比例和传输功率分配,最终在满足任务时延约束下,以较小的计算资源和最低的计算代价,完成工业控制任务的计算。
本公开所提计算卸载方案,即提升了工业生产系统任务执行效率,又可以延长本地PLC的电池使用寿命,在一定程度上可以缩减工业生产系统的运维成本。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一种适用于工业控制系统的计算卸载方法流程图;
图2为本公开收集训练数据集的流程图;
图3为本公开对待训练的计算卸载模型进行训练的流程图;
图4为本公开对待训练的计算卸载模型进行训练的训练过程仿真图;
图5为本公开对计算卸载模型其他方法效果对比图;
图6为本公开一种适用于工业控制系统的计算卸载装置框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
需要说明的是,本公开中使用的“上”、“下”、“左”、“右”“前”“后”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本公开针对工业生产控制场景,提出了能用于工业控制任务在本地PLC和边缘PLC协同的计算卸载方法。针对工业控制任务随机性强,时效要求高的情况,提出了一种结合TD3和能耗模型的计算卸载方法。
如图1所示,本公开实施例提供了一种适用于工业控制系统的计算卸载方法,该方法可以由电子设备实现,该电子设备可以是终端或服务器。如图1所示的一种适用于工业控制系统的计算卸载方法流程图,该方法的处理流程可以包括如下的步骤:
S1:从工业控制系统中采集状态向量和固定值,所述工业控制系统包括本地PLC、gNB和边缘PLC;所述状态向量包括:本地PLC控制任务信息、本地PLC最大可分配功率、本地PLC可分配计算资源、边缘PLC可分配计算资源、gNB与本地PLC的信道增益;所述固定值包括:gNB为本地PLC分配的系统带宽和本地PLC与gNB之间的距离;所述本地PLC控制任务信息包括本地PLC的每个控制任务、每个控制任务的截至时延和控制任务总量;
S2:将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率,所述预训练的计算卸载模型基于TD3算法和能耗模型;
S3:基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量;
S4:基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量;
S5:根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间;
S6:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源;
S7:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。
需要说明的是,Twin-Delayed Deep Deterministic Policy Gradient(TD3)算法是一种基于确定性策略梯度算法(Deep Deterministic Policy Gradient algorithm,DDPG)的深度强化学习算法,它引入了双Q网络和延迟更新机制。Actor和Critic是TD3算法中的两个神经网络。Actor网络负责输出动作,Critic网络负责输出状态-动作值函数Q(s,a)。在TD3算法中,有两个Critic网络,每个网络的参数独立更新并输出Q值。目标Q值是强化学习算法中的一个重要概念,指代在状态s下采取动作a后,未来能够获得的期望回报。目标Q值的计算使用两个Critic网络的输出的最小值。传统的Q网络容易产生高估值,导致训练不稳定,TD3模型提出了双Q网络来解决这个问题。TD3算法使用两个Q网络来估计动作价值,每个网络的参数独立更新,然后选择两个Q值中较小的一个作为目标Q值。这种方法可以减少目标Q值的方差,提高训练稳定性。
TD3算法和工业控制任务结合的优势在于:(1)TD3算法的噪声鲁棒性特性可以增加探索性,提高模型的鲁棒性,可以应对实际生产现场的高度随机性和动态性的情况,(2)工业现场的控制任务一般均要求在给定期限内完成控制任务的计算,能耗模型可以充分考虑时间限制。将TD3算法和能耗模型结合可以充分考虑工业控制任务的计算卸载需求。
优选的,TD3算法的输入需要是状态向量。所以首先需要将所述部分底层信息组成状态向量,所述状态向量的公式如下:
s={d,ddl,pmax,h,flo,fe},
其中s是状态向量,d是控制任务量,ddl为控制任务的截至时延,Pmax为本地PLC最大可分配功率,h为gNB与本地PLC之间的信道增益,flo为本地PLC可分配计算资源,fe为边缘PLC可分配计算资源。
所述S3的基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量,公式如下:
留在本地PLC计算的控制任务量为对于第j个本地PLC在t时隙的控制任务卸载比例为roj,t,dj,t为第j个本地PLC在t时隙的控制任务总量。
所述S4的基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量,公式如下:
边缘PLC计算的控制任务量为对于第j个本地PLC在t时隙的控制任务卸载比例为roj,t,dj,t为第j个本地PLC在t时隙的控制任务总量。
所述S5的根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的能源消耗,包括:
计算本地PLC计算控制任务的计算时间的公式如下:
为本地PLC计算控制任务量/>所需的计算时间,c为本地PLC计算1比特数据需要的CPU周期数,fj,t为第j个本地PLC在t时隙可分配给控制任务的最大计算资源,ddlj,t为控制任务的截至时延。
所述S6的根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源,公式如下:
为将卸载任务从本地PLC到gNB的传输时间,W为gNB为本地PLC分配的系统带宽,pj,t为本地PLC到gNB的传输功率,hj,t为t时隙第j个本地PLC和gNB之间的信道增益,D为本地PLC与gNB之间的距离,β为路径损失系数,σ2为噪声功率,ddlj,t为控制任务的截至时延,/>在t时隙第j个本地PLC卸载到边缘PLC计算的控制任务量分配的需要的最小计算资源,/>为边缘PLC为在t时隙第j个本地PLC卸载的控制任务量实际分配的计算资源,是边缘PLC为计算卸载任务所花费的最大计算时间,/>是边缘PLC实际计算卸载任务所消耗的时间。
所述S7的根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级,包括:
优先级的公式为:
其中边缘PLC计算的控制任务量为是边缘PLC为计算卸载任务所花费的最大计算时间。
需要说明的是,控制任务的资源分配是通过能耗模型实现的。能耗模型和TD3算法联合起来,就可以优化随机工作量卸载比例和传输功率分配,最终在满足任务时延约束下,以较小的计算资源和最低的计算代价,完成工业控制任务的计算。
本公开提出一种适用于工业控制系统的计算卸载方法。在实施这种方法之前还有两个必要步骤,步骤S00:收集训练数据集,步骤S01:对待训练的计算卸载模型进行训练,所述待训练的计算卸载模型包括Actor网络,目标Actor网络,两个目标Critic网络,两个Critic网络。
图2是根据一示例性实施例示出的收集训练数据集的步骤:
S001、每一个本地PLC在每个时隙依据泊松分布生成1个控制任务,控制任务量为d,并随机生成一个控制任务的截至时延ddl,所述时隙为0.05秒;
S002、同时采集在每个时隙的状态向量,具体的状态向量包括每个本地PLC控制任务信息、每个本地PLC最大可分配功率、每个本地PLC可分配计算资源、边缘PLC可分配计算资源和gNB与本地PLC之间的信道增益;
S003、将S002步骤采集的状态向量转化为状态向量,公式如下:
s={d,ddl,pmax,h,flo,fe},
其中s是状态向量,d是控制任务量,ddl为控制任务的截至时延,pmax为本地PLC最大可分配功率,h为gNB与本地PLC之间的信道增益,flo为本地PLC可分配计算资源,fe为边缘PLC可分配计算资源;
S004、将由步骤S003获得的在t时隙的状态向量输入待训练的计算卸载模型的Actor网络,获得决策向量at={rot,pt}N,其中包括卸载比例向量 和传输功率分配向量/>是本地PLC集合;
S005、根据决策向量,计算资源分配结果设计奖励函数,如下式:
其中,φ,和ψ为标准化尺度上组合项的系数,/>为本地PLC计算任务/>所消耗的能量,/>为卸载任务/>为传输所消耗的能量,/>为边缘PLC计算卸载任务/>所消耗的能量,则完成计算控制任务dj,t所消耗能量的计算公式如下式:
其中,κ·(fj,t)α+1为本地PLC的CPU单位计算时间能耗,ξ为边缘PLC的CPU单位计算时间能耗,当控制任务dj,t在给定截至时间内被计算,则获得奖励值rj,t,否则,rj,t=-100,则在t时隙TD3代理获得的总奖励值为:
S006、在执行完步骤S005,环境的状态从st转移到下一个状态st+1,从而并得到一组训练数据(st,at,rt,st+1)并添加到训练数据集;
S007,重复S001-S006,直到t值到达最大时隙值T,T=1000。
需要说明的是,这种数据采集方式是基于模拟的,可以短时间大量的产生训练数据。工业系统是较为封闭系统,利用模拟可以有效的反映应用场景的情况。
图3是根据一示例性实施例示出的对待训练的计算卸载模型进行训练的步骤:
S011、从训练数据集中随机抽取一组输入数据,所述一组输入数据包括[st,at,rt,st+1],其中st为当前环境状态,at为当前动作,rt为奖励值,st+1为下一时刻状态;
S012、利用目标Actor网络根据下一时刻状态st+1,预测下一时刻的动作为目标Actor网络,/>为目标Actor网络的权重参数,ζ为目标动作噪声,遵循截断正态分布/> 为标准差,ζ噪声取值在[-e,e]区间内;
S013、利用两个目标Critic网络(和/>)对/>进行评分:/>和 和/>分别为目标Critic网络的权重参数;
S014、利用两个Critic网络(Q1和Q2)对at进行评分,分别记为:Q1(st,at;ω1)和Q2(st,at;ω2),ω1和ω2分别为Critic网络的权重参数;
S015、根据贝尔曼公式,基于S013和S014步骤获得的评分计算TD误差,其中γ是折扣因子:
S016、使用梯度下降法更新Critic网络:
其中,ω1和ω2为两个Critic网络的权重参数,η为Critic网络的学习率,δ1和δ2分别是两个Critic网络的TD误差,和/>分别为两个Critic网络的梯度;
S017、根据Actor网络更新频率fd,每间隔fd轮更新一次Actor网络,使用梯度上升方法更新Actor网络:
其中,θ为Actor网络的权重参数,μ为Actor网络的学习率,为Actor网络的梯度;
图4的左图展示了待训练的计算卸载模型在不同Actor网络更新频率下奖励函数值的收敛情况,随着训练批次的增加,奖励函数值基本都收敛到-50左右,相对而言,Actor网络更新频率为4时,TD3算法的收敛曲线较稳定,且奖励值最高。
S018、重复步骤S011到S017,直到待训练的计算卸载模型直到收敛到奖励最大值,并给出系统最优的决策动作,获得预训练的计算卸载模型。
图4的右图展示了TD3算法在不同本地PLC终端数下奖励函数值的收敛情况,在训练批次为1200时,基本所有终端数都可以收敛到一个比较稳定的值。对于前期,奖励值较小,因为存在控制任务分配失败的情况,随着训练次数的增加,Agent超任务分配失败的反方向学习,因此,奖励函数值越来越大,最终达到收敛。
为表明本专利所提计算方案的性能,分别选取了三种传统计算方案:完全本地PLC计算(ALL L-PLC computing)、完全边缘PLC计算(ALL E-PLC computing)、0-1卸载计算(0-1offloading)。和本公开的适用于工业控制系统的计算卸载方法(TD3 StochasticOffloading)进行对比。图5的左图和右图,分别展示了四种不同任务计算方案在平均计算代价和任务执行成功率的对比情况,从图5中可以看出本公开的适用于工业控制系统的计算卸载方法的性能较好。图5的左图,可以看出本公开的适用于工业控制系统的计算卸载方法的计算代价远低于其他两种传统计算卸载方案,图5的右图,可以看出本公开的适用于工业控制系统的计算卸载方法和完全本地计算的计算任务执行成功率基本都可以达到100%,证明了本公开的鲁棒性。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
本公开提供了一种适用于工业控制系统的计算卸载装置,包括:
状态采集模块:从工业控制系统中采集状态向量和固定值,所述工业控制系统包括本地PLC、gNB和边缘PLC;所述状态向量包括:本地PLC控制任务信息、本地PLC最大可分配功率、本地PLC可分配计算资源、边缘PLC可分配计算资源、gNB与本地PLC的信道增益;所述固定值包括:gNB为本地PLC分配的系统带宽和本地PLC与gNB之间的距离;所述本地PLC控制任务信息包括本地PLC的每个控制任务、每个控制任务的截至时延和控制任务总量;
卸载决策模块:将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率,所述预训练的计算卸载模型基于TD3算法和能耗模型;
本地PLC模块:基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量;
边缘PLC模块:基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量;
本地PLC计算资源分配模块:根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间;
边缘PLC计算资源分配模块:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源;
优先级模块:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本公开的实施例的附图中,层或区域的厚度被放大或缩小,即这些附图并非按照实际的比例绘制。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种适用于工业控制系统的计算卸载方法,其特征在于,包括下列步骤:
S1:从工业控制系统中采集状态向量和固定值,所述工业控制系统包括本地PLC、gNB和边缘PLC;所述状态向量包括:本地PLC控制任务信息、本地PLC最大可分配功率、本地PLC可分配计算资源、边缘PLC可分配计算资源、gNB与本地PLC的信道增益;所述固定值包括:gNB为本地PLC分配的系统带宽和本地PLC与gNB之间的距离;所述本地PLC控制任务信息包括本地PLC的每个控制任务、每个控制任务的截至时延和控制任务总量;
S2:将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率,所述预训练的计算卸载模型基于TD3算法和能耗模型;
S3:基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量;
S4:基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量;
S5:根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间;
S6:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源;
S7:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。
2.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S1的从工业控制系统中采集状态向量和固定值,包括:
所述状态向量的公式如下:
s={d,ddl,pmax,h,flo,fe},
其中s是状态向量,d是控制任务量,ddl为控制任务的截至时延,pmax为本地PLC最大可分配功率,h为gNB与本地PLC之间的信道增益,flo为本地PLC可分配计算资源,fe为边缘PLC可分配计算资源。
3.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S3的基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量,公式如下:
留在本地PLC计算的控制任务量为对于第j个本地PLC在t时隙的控制任务卸载比例为roj,t,dj,t为第j个本地PLC在t时隙的控制任务总量。
4.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S4的基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量,公式如下:
边缘PLC计算的控制任务量为对于第j个本地PLC在t时隙的控制任务卸载比例为roj,t,dj,t为第j个本地PLC在t时隙的控制任务总量。
5.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S5的根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间,包括:
计算本地PLC计算控制任务的计算时间的公式如下:
为本地PLC计算控制任务量/>所需的计算时间,c为本地PLC计算1比特数据需要的CPU周期数,fj,t为第j个本地PLC在t时隙可分配给控制任务的最大计算资源,ddlj,t为控制任务的截至时延。
6.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S6的根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源,公式如下:
为将卸载任务从本地PLC到gNB的传输时间,W为gNB为本地PLC分配的系统带宽,pj,t为本地PLC到gNB的传输功率,hj,t为t时隙第j个本地PLC和gNB之间的信道增益,D为本地PLC与gNB之间的距离,β为路径损失系数,σ2为噪声功率,ddlj,t为控制任务的截至时延,在t时隙第j个本地PLC卸载到边缘PLC计算的控制任务量分配的需要的最小计算资源,/>为边缘PLC为在t时隙第j个本地PLC卸载的控制任务量实际分配的计算资源,是边缘PLC为计算卸载任务所花费的最大计算时间,/>是边缘PLC实际计算卸载任务所消耗的时间。
7.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S7的根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级,包括:
优先级的公式为:
其中边缘PLC计算的控制任务量为 是边缘PLC为计算卸载任务所花费的最大计算时间。
8.根据权利要求1所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S2的将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率之前,所述方法还包括:
S00、收集训练数据集;
S01、对待训练的计算卸载模型进行训练,所述待训练的计算卸载模型包括Actor网络,目标Actor网络,两个目标Critic网络,两个Critic网络;
所述S01的对待训练的计算卸载模型进行训练,包括:
S011、从训练数据集中随机抽取一组输入数据,所述一组输入数据包括[st,at,rt,st+1],其中st为当前环境状态,at为当前动作,rt为奖励值,st+1为下一时刻状态;
S012、利用目标Actor网络根据下一时刻状态st+1,预测下一时刻的动作 为目标Actor网络,/>为目标Actor网络的权重参数,ζ为目标动作噪声,遵循截断正态分布/> 为标准差,ζ噪声取值在[-e,e]区间内;
S013、利用两个目标Critic网络(和/>)对/>进行评分:/>和 和/>分别为目标Critic网络的权重参数;
S014、利用两个Critic网络(Q1和Q2)对at进行评分,分别记为:Q1(st,at;ω1)和Q2(st,at;ω2),ω1和ω2分别为Critic网络的权重参数;
S015、根据贝尔曼公式,基于S013和S014步骤获得的评分计算TD误差,其中γ是折扣因子:
S016、使用梯度下降法更新Critic网络:
其中,ω1和ω2为两个Critic网络的权重参数,η为Critic网络的学习率,δ1和δ2分别是两个Critic网络的TD误差,和/>分别为两个Critic网络的梯度;
S017、根据Actor网络更新频率fd,每间隔fd轮更新一次Actor网络,使用梯度上升方法更新Actor网络:
其中,θ为Actor网络的权重参数,μ为Actor网络的学习率,为Actor网络的梯度;
S018、重复步骤S011到S017,直到待训练的计算卸载模型直到收敛到奖励最大值,并给出系统最优的决策动作,获得预训练的计算卸载模型。
9.根据权利要求8所述的适用于工业控制系统的计算卸载方法,其特征在于,所述S00的收集训练数据集,包括:
S001、每一个本地PLC在每个时隙依据泊松分布生成1个控制任务,控制任务量为d,并随机生成一个控制任务的截至时延ddl,所述时隙为0.05秒;
002、同时采集在每个时隙的状态向量,具体的状态向量包括每个本地PLC控制任务信息、每个本地PLC最大可分配功率、每个本地PLC可分配计算资源、边缘PLC可分配计算资源和gNB与本地PLC之间的信道增益;
S003、将S002步骤采集的状态向量转化为状态向量,公式如下:
s={d,ddl,pmax,h,flo,fe},
其中s是状态向量,d是控制任务量,ddl为控制任务的截至时延,pmax为本地PLC最大可分配功率,h为gNB与本地PLC之间的信道增益,flo为本地PLC可分配计算资源,fe为边缘PLC可分配计算资源;
S004、将由步骤S003获得的在t时隙的状态向量输入待训练的计算卸载模型的Actor网络,获得决策向量at={rot,pt}N,其中包括卸载比例向量 和传输功率分配向量/>是本地PLC集合;
S005、根据决策向量,计算资源分配结果设计奖励函数,如下式:
其中,φ,和ψ为标准化尺度上组合项的系数,/>为本地PLC计算任务/>所消耗的能量,/>为卸载任务/>为传输所消耗的能量,/>为边缘PLC计算卸载任务/>所消耗的能量,则完成计算控制任务dj,t所消耗能量的计算公式如下式:
其中,κ·(fj,t)α+1为本地PLC的CPU单位计算时间能耗,ξ为边缘PLC的CPU单位计算时间能耗,当控制任务dj,t在给定截至时间内被计算,则获得奖励值rj,t,否则,rj,t=-100,则在t时隙TD3代理获得的总奖励值为:
S006、在执行完步骤S005,环境的状态从st转移到下一个状态st+1,从而并得到一组训练数据(st,at,rt,st+1)并添加到训练数据集;
S007,重复S001-S006,直到t值到达最大时隙值T,T=1000。
10.一种适用于工业控制系统的计算卸载装置,其特征在于,包括:
状态采集模块:从工业控制系统中采集状态向量和固定值,所述工业控制系统包括本地PLC、gNB和边缘PLC;所述状态向量包括:本地PLC控制任务信息、本地PLC最大可分配功率、本地PLC可分配计算资源、边缘PLC可分配计算资源、gNB与本地PLC的信道增益;所述固定值包括:gNB为本地PLC分配的系统带宽和本地PLC与gNB之间的距离;所述本地PLC控制任务信息包括本地PLC的每个控制任务、每个控制任务的截至时延和控制任务总量;
卸载决策模块:将所述状态向量输入预训练的计算卸载模型,输出卸载比例和本地PLC到gNB的传输功率,所述预训练的计算卸载模型基于TD3算法和能耗模型;
本地PLC模块:基于本地PLC控制任务信息和卸载比例,计算留在本地PLC计算的控制任务量;
边缘PLC模块:基于本地PLC控制任务信息和卸载比例,计算卸载到边缘PLC计算的控制任务量;
本地PLC计算资源分配模块:根据留在本地PLC计算的控制任务量、状态向量和固定值,计算本地PLC计算控制任务的计算时间;
边缘PLC计算资源分配模块:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算分配给卸载到边缘PLC控制任务的最小计算资源;
优先级模块:根据卸载到边缘PLC计算的控制任务量、状态向量和固定值,计算卸载到边缘PLC控制任务的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311139853.9A CN117193873B (zh) | 2023-09-05 | 2023-09-05 | 一种适用于工业控制系统的计算卸载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311139853.9A CN117193873B (zh) | 2023-09-05 | 2023-09-05 | 一种适用于工业控制系统的计算卸载方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117193873A CN117193873A (zh) | 2023-12-08 |
CN117193873B true CN117193873B (zh) | 2024-06-25 |
Family
ID=88984460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311139853.9A Active CN117193873B (zh) | 2023-09-05 | 2023-09-05 | 一种适用于工业控制系统的计算卸载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117193873B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112689303A (zh) * | 2020-12-28 | 2021-04-20 | 西安电子科技大学 | 一种边云协同资源联合分配方法、系统及应用 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245651B (zh) * | 2020-01-08 | 2022-03-29 | 上海交通大学 | 一种基于功率控制和资源分配的任务卸载方法 |
CN112600869B (zh) * | 2020-11-11 | 2022-08-30 | 南京邮电大学 | 基于td3算法的计算卸载分配方法和装置 |
CN113556760B (zh) * | 2021-06-08 | 2023-02-07 | 西安邮电大学 | 一种移动边缘计算成本效益优化方法、系统及应用 |
CN113434209B (zh) * | 2021-06-22 | 2022-10-18 | 南方电网科学研究院有限责任公司 | 一种端边二层协同计算卸载方法、装置、终端及存储介质 |
CN114065963A (zh) * | 2021-11-04 | 2022-02-18 | 湖北工业大学 | 一种电力物联网中基于深度强化学习的计算任务卸载方法 |
CN114885422A (zh) * | 2022-03-25 | 2022-08-09 | 重庆邮电大学 | 一种超密集网络中基于混合接入方式的动态边缘计算卸载方法 |
CN116112488A (zh) * | 2022-12-15 | 2023-05-12 | 山东大学 | 一种面向mec网络的细粒度任务卸载及资源分配方法 |
-
2023
- 2023-09-05 CN CN202311139853.9A patent/CN117193873B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112689303A (zh) * | 2020-12-28 | 2021-04-20 | 西安电子科技大学 | 一种边云协同资源联合分配方法、系统及应用 |
Non-Patent Citations (2)
Title |
---|
信息科技》.2023,(第2期),全文. * |
龙云.《无人机辅助移动边缘计算系统的安全通信策略研究》.《工程科技Ⅱ辑 * |
Also Published As
Publication number | Publication date |
---|---|
CN117193873A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113543176B (zh) | 基于智能反射面辅助的移动边缘计算系统的卸载决策方法 | |
CN113810233B (zh) | 一种在随机网络中基于算网协同的分布式计算卸载方法 | |
CN112911648A (zh) | 一种空地结合的移动边缘计算卸载优化方法 | |
CN113543156A (zh) | 基于多智能体深度强化学习的工业无线网络资源分配方法 | |
CN114124955B (zh) | 一种基于多智能体博弈的计算卸载方法 | |
CN115190033B (zh) | 一种基于强化学习的云边融合网络任务卸载方法 | |
EP4024212A1 (en) | Method for scheduling interference workloads on edge network resources | |
CN116112488A (zh) | 一种面向mec网络的细粒度任务卸载及资源分配方法 | |
CN112214301A (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN113573363A (zh) | 基于深度强化学习的mec计算卸载与资源分配方法 | |
CN116050540A (zh) | 一种基于联合双维度用户调度的自适应联邦边缘学习方法 | |
CN117193873B (zh) | 一种适用于工业控制系统的计算卸载方法和装置 | |
CN116862021B (zh) | 基于信誉评估的抗拜占庭攻击的去中心化学习方法及系统 | |
Kuznetsov et al. | Optimization of two-phase queuing system and its application to the control of data transmission between two robotic agents | |
CN116709290A (zh) | 一种基于无人机边缘计算的灾害地区应急通信方法及系统 | |
Sharma et al. | Feel-enhanced edge computing in energy constrained uav-aided iot networks | |
CN113157344B (zh) | 移动边缘计算环境下基于drl的能耗感知任务卸载方法 | |
CN114614878B (zh) | 星地网络中基于矩阵-向量乘法任务的编码计算分配方法 | |
CN115686874A (zh) | 一种动态星间的多星协同计算方法、系统、设备及介质 | |
CN116193516A (zh) | 一种物联网场景下用于高效联邦学习的成本优化方法 | |
CN115967430A (zh) | 一种基于深度强化学习的成本最优空地网络任务卸载方法 | |
Yin et al. | Computing Offloading for Energy Conservation in UAV-Assisted Mobile Edge Computing | |
CN114756294B (zh) | 一种基于深度强化学习的移动边缘计算卸载方法 | |
CN114500533B (zh) | 基于用户协作的无人机辅助移动边缘计算系统优化方法 | |
Yao et al. | Performance Optimization in Serverless Edge Computing Environment using DRL-Based Function Offloading |
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 | ||
GR01 | Patent grant |