基于空地协同边缘计算的多智能体协作依赖任务卸载方法
未命名
10-21
阅读:57
评论:0
1.本发明涉及边缘计算技术领域,尤其是涉及基于空地协同边缘计算的多智能体协作依赖任务卸载方法。
背景技术:
2.随着科技的飞速发展,物联网应用程序中的计算密集型和时延敏感型移动业务量大幅增长。如何高效处理由这些物联网设备产生的大量应用程序数据,已经成为了当前亟需解决的问题。然而,由于终端用户设备(user equipment,ue)的计算和存储能力有限,凭借其自身的能力往往无法独立完成需要大量计算资源的应用程序的响应需求。移动边缘计算(mobile edge computing,mec)作为一种新兴的计算范式,被视为缓解资源密集型应用程序与资源匮乏物联网设备间紧张关系的桥梁,其相比云数据中心更靠近终端用户的物理优势不仅缩短了任务传输时间,降低了安全隐患,而且提供更强的计算能力,间接地减轻了ue的压力。
3.然而,处于部分地貌复杂或因灾害设备毁坏的环境下,地面mec却无法有效且全面地为需求设备提供服务。无人机(unmanned aerial vehicle,uav)因其灵活机动、易于部署、可快速响应等特点,在上述特殊场景中得到了广泛应用。尽管搭载mec的uav增强了边缘节点的灵活部署能力并改善了其服务区域受限的问题,但在应用程序中存在多个具有关联属性特征的子任务时,许多研究仅将任务卸载至uav或单一的边缘节点,并未充分利用全局范围内所检测到的所有资源。因此,应根据所需卸载任务的特性与全局资源信息适当调整卸载机制。对于具有不同依赖关系子任务的应用程序,选择采用空地协同卸载的uav-mec系统是十分必要的。
4.当前,uav-mec空地节点协同卸载的研究仅关注单个应用程序的卸载工作以及单用户在静态环境下的卸载方法,虽然这种方式极大简化了问题的复杂性,但同时也限制了实际应用的可能性。在资源有限的多用户多服务请求场景中,若用户仅考虑自身区域范围内的利益卸载任务,很可能导致场景中的资源分布失衡,从而引发卸载流程失控。相关研究人员通常采用节点拓扑重构的方法解决上述问题,但依据场景中设备与资源的复杂度势必造成时间及能耗的损失。
5.为解决多用户卸载任务相互影响的问题,需联合考虑全局资源分配与协同卸载的优化。每个用户作为一个智能体,采用多用户合作博弈的方式,通过协同合作获取全局内无人机的位置资源与mec资源状况信息以完成任务。该方法可以有效解决多用户卸载任务时可能出现的冲突与竞争,实现全局资源的最优分配和利用,提高系统的效率与性能。此外,该方法还可以适应不同任务和场景的需求,具有良好的通用性与灵活性。
6.鉴于以上考虑,本发明提供基于空地协同边缘计算的多智能体协作依赖任务卸载方法。
技术实现要素:
7.本发明的目的是提供基于空地协同边缘计算的多智能体协作依赖任务卸载方法,可最小化任务卸载总时延,从而提升系统性能与实际应用价值。
8.为实现上述目的,本发明提供了基于空地协同边缘计算的多智能体协作依赖任务卸载方法,包括以下步骤:
9.步骤1、构建无人机-移动边缘计算空地节点协同卸载系统;
10.步骤2、用户智能体预处理自身产生的应用服务请求任务;
11.步骤3、将包含多个主体的依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程;
12.步骤4、初始化每个智能体所拥有的神经网络以及经验回放池d;
13.步骤5、智能体开始与环境交互,并分别上传分布式感知的局部状态信息及与环境交互信息至经验回放池d中;
14.步骤6、根据损失函数软更新每个智能体的target actor网络和目标价值网络;
15.步骤7、判断网络是否达到预设的收敛条件,选择是否输出卸载决策。
16.优选的,所述步骤1中无人机-移动边缘计算空地节点协同卸载系统共被分为两层:空中层和地面层;空中层由m架无人机组成,地面层包含n个mec服务器和d个终端设备;用户作为智能体执行卸载决策,可以获取周围环境和资源信息,并根据应用程序中子任务特性及当前资源状况调度任务分配至uav、mec服务器或本地处理;为最小化卸载时延,建立如下数学表达式:
[0017][0018]
其中,f为所有串行子任务的集合,q为所有并行子任务的集合,qi为并行集合中第i个子集,t
i,j
为第i个并行集合中的第j个子任务时延,ti为第i个串行子任务的时延;表示任务卸载的总时延为所有并行集合中用时最长的子任务卸载时延与所有串行子任务卸载总时延之和。
[0019]
优选的,所述步骤2中首先遍历表示终端设备应用程序中子任务之间依赖关系的有向无环图g=(v,e)以此掌握任务依赖信息,其中v表示为任务集,e表示依赖约束;其次,通过图g中节点入度出度的数值,划分同一优先级处理集合;最后,将所有子集合归类添加至空白序列task_sequence中,将任务划分为串并行卸载的集合,生成任务调度序列,以便后续的任务调度工作。
[0020]
优选的,所述步骤3中将包含多个主体的依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程,并设计适当的奖励函数以实现空地协同无人机边缘计算模型中最小化卸载总时延的目标,所构建的任务卸载模型表示为:
[0021][0022]
参数含义如下:
[0023]
(1)状态空间x:由用户所观测到的任务队列、任务依赖关系、计算资源分布和任务执行位置组成;
[0024]
(2)动作空间a:用户可以选择将子任务i卸载至uav、mec服务器或本地执行,其中包含n个智能体的动作空间a1,...,an;
[0025]
(3)状态转移概率p:根据子任务i执行位置和资源分布所确定,s
×
a1×
...
×an
→
p(s);
[0026]
(4)奖励函数r:依据子任务依赖关系、资源利用率和任务卸载时延,设计适当地奖励函数,ri:s
×
a1×
...
×an
→
r;
[0027]
(5)观测空间o:每个智能体都经历部分可观测马尔可夫决策过程,获取其本地局部观测oi,并依据自身策略产生相应动作ai与环境交互;
[0028]
基于maddpg算法依据子任务依赖关系、节点的资源利用率和子任务卸载时延三方面,设计适当的奖励函数,该奖励函数旨在保证子任务依赖约束卸载的情况下,平衡卸载时延与计算资源利用率,以达到最小化卸载总时延的目的,对于集合g中的子任务,可以同时考虑将其卸载至uav、mec服务器或本地处理,因此,奖励函数r定义如下:
[0029][0030]
其中,ω1,ω2,ω3为奖励函数定义式中的权重参数,表示第d个应用程序中第j个子任务处理时延的倒数,若任务卸载至节点,则包含发送时延、执行时延和回传时延;若任务本地处理,则仅保留执行时延,表示卸载子任务j时节点k的资源利用率;表示第j个子任务的依赖延迟,即根据子任务j的依赖关系计算其前驱任务j'完成时间与任务j开始的时间差,表示如下:
[0031]
优选的,所述步骤4中4个神经网络包括用于表示策略的actor网络和用于表示价值的critic网络以及其分别对应的目标策略target actor网络和目标价值target critic网络;actor网络依据当前状态反馈合适的动作,价值网络负责根据状态-动作判断好坏;两个目标网络为防止训练过程中的过度拟合,起到稳定作用。
[0032]
优选的,所述步骤5中从经验回收池d中随机选取一批经验进行训练,依据其中的全局观测信息,包括uav与mec服务器的位置与资源、子任务拓扑排序信息、每个智能体所响应的动作以及环境反馈奖励,训练自身critic网络参数,并利用critic网络计算梯度,更新actor网络;每个智能体的目标都是最大化自身的期望累计奖励,所以将目标函数定义奖励的期望如下:
[0033][0034]
其中,μi是指第i个智能体的策略,为t时刻第i个智能体参照全局所有智能体所输出的动作获得的奖励值,γ为累计奖励的折扣因子,该式计算了从x0状态开始,考虑所有智能体策略以及其状态转移函数p,在训练过程中第i个智能体所有奖励总和的期望。
[0035]
优选的,所述步骤6中通过设置软更新系数决定源网络参数和目标网络参数混合
的权重,防止过度拟合,以保证训练的稳定。
[0036]
优选的,所述步骤7中通过观察网络参数更新幅度、奖励变化幅度、迭代次数等指标来判断网络是否达到预设的收敛条件,选择是否输出卸载决策,如果未达到预期收敛条件,则返回步骤5,继续智能体与环境交互的训练过程。
[0037]
优选的,所述任务卸载约束包括:
[0038]
约束1:无人机在规定区域内按照椭圆区域飞行,以便达到最大的服务范围,同时在δt时隙内uav的飞行速度、加速度、飞行角度与物理位置在准静态环境中都是可观测的;
[0039]
约束2:子任务卸载时,需保证其前驱所有依赖任务执行结束并返回结果,一方面,如果任务在uav或mec服务器执行时,需确保所有的输出结果已全部随该任务一起发送至边缘节点;另一方面,如果任务在本地执行,需保证其前驱所有输出结果已全部回传至终端设备;设p为任务之间的依赖关系矩阵,其中p(i,j,k)表示任务j的执行是否依赖任务k的执行结果,则对任意任务j和k,当p(i,j,k)=1时,需满足:
[0040]
t
k_finish
≤t
j_start
,1≤i≤i,1≤j,k≤j
[0041]
其中,t
k_finish
和t
j_start
分别表示任务j的开始时间和任务k的完成时间,
[0042]
约束3:每个子任务仅能在一个节点执行,如uav、mec服务器或本地,设为二进制决策变量,分别表示应用程序k中的第j个子任务是否在uav、mec服务器或本地设备执行,约束表示如下:
[0043][0044]
其中,k表示应用程序的数量,j每个应用程序中子任务的数量。
[0045]
因此,本发明采用上述基于空地协同边缘计算的多智能体协作依赖任务卸载方法,具有以下有益效果:
[0046]
1.本发明采用马尔科夫博弈过程建模空地节点协同依赖任务卸载,实时获取子任务依赖关系和节点资源利用率的动态变化。这一建模方法在解决多用户任务卸载冲突与竞争的同时,实现子任务的最优时延调度,提升卸载效率与性能。
[0047]
2.本发明在任务卸载决策中加入任务依赖约束并采用串并行依赖任务的卸载方式,有助于避免因任务依赖而产生的资源浪费和性能下降以及因子任务间依赖关联过多造成卸载时延较长的现象,提高资源利用率与卸载速率。
[0048]
3.本发明采用基于maddpg算法的多智能体协同决策策略,在各智能体集中训练过程中有效地掌握全局节点状态信息。该策略避免了节点拓扑重构过程,从而显著提升了系统响应速度和效率。
[0049]
4.本发明在考虑子任务依赖关系、节点的资源利用率和任务卸载时延的基础上,设计相应奖励函数。在满足在子任务依赖关系的前提下,平衡卸载时延与计算资源利用率,以实现整体性能优化。
[0050]
5.本发明充分考虑实际应用需求,兼顾卸载决策的可行性和可操作性。基于maddpg算法实现的多智能体协同决策能够根据实际场景进行实时调整,满足系统性能和资源利用需求。
[0051]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0052]
图1是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例的流程图;
[0053]
图2是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例空地协同无人机边缘计算卸载框架图;
[0054]
图3是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例应用程序d的dag图;
[0055]
图4是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例应用程序任务预处理的拓扑排序树状图;
[0056]
图5是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例串并行卸载排序图;
[0057]
图6是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例maddpg的中心化训练图;
[0058]
图7是本发明基于空地协同边缘计算的多智能体协作依赖任务卸载方法实施例maddpg的去中心化决策。
具体实施方式
[0059]
以下通过附图和实施例对本发明的技术方案作进一步说明。
[0060]
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
[0061]
实施例一
[0062]
如图所示,本发明提供了基于空地协同边缘计算的多智能体协作依赖任务卸载方法,如图1所示,包括如下步骤:
[0063]
步骤1、构建无人机-移动边缘计算空地节点协同卸载系统;
[0064]
为实现多智能体决策的空地协同任务卸载功能,如图2所示,本步骤构建一个空地协同uav辅助mec系统,其中uav搭载mec服务器与地面边缘节点协同为用户提供卸载服务。为满足多用户不同的服务需求,实现空地节点协同依赖任务卸载策略,最小化uav-mec系统中应用程序的卸载总时延的目标,将系统建模为如下三个模型:
[0065]
a uav-mec系统模型
[0066]
该模型共被分为两层:空中网络层和地面网络层。空中网络层由m架uav组成,uav被视为在固定区域内沿椭圆轨迹飞行的边缘节点,根据信道干扰比中阈值的大小,网络中设备组可以动态加入或离开uavs的覆盖范围。地面层包含n个mec服务器和d个终端设备,其中地面层设备通过d2d通信链路进行信息传递,uav与用户之间通过正交多址技术传递信息,网络中的设备总数可以由k=m∪n∪d表示。
[0067]
用户设备上配备智能体进行卸载决策,其可以获取周围环境和资源信息,并根据应用程序中子任务特性及当前资源状况调度任务分配至uav、mec服务器或本地处理。将整个卸载时间p={1,2,...,p,...p}分为尽可能小的p个时隙,若每个时隙长度趋近于无穷小,则可将uav动态地飞行轨迹转变成δp时间内的准静态位置,其飞行轨迹可表示为sm(p)=[xm(p),ym(p),hm(p)]。在δp时隙内,采用笛卡尔三维坐标系描述设备位置,其中(xm(p),
ym(p),hm(p))表示uav的位置,(xn,yn,0)表示mec服务器位置,(xd,yd,0)表示地面用户设备位置。由于uav被设定按照固定的飞行轨迹运动,其速度、加速度和飞行角度在时隙δq为定值,其下一时刻位置可表示为
[0068]
sm(p+1)=[xm(p)+vm(p)cos(θm(p)),ym(p)+vm(p)sin(θm(p)),hm(p)],θm(p)∈[0,2π]
[0069]
其中,uav的加速度与速度表示为其中,uav的加速度与速度表示为θm(p)为uav m的飞行角度,其飞行约束为设定e
i,j
代表节点间是否连通,当e
i,j
=1时,表示节点间已连通可以传输数据卸载任务;当e
i,j
=0时,则表示i,j节点间的通信链路不可用或j节点的资源已满无法卸载数据。
[0070]
如图3所示,该模型中使用有向无环图(directed acyclic graph,dag)gd表示第d个终端设备的应用程序,gd=(vd,e
i,j
),其中vd表示图中子任务集,e
i,j
表示任务之间的依赖关系,若e
i,j
=1表示子任务j的执行需要子任务i的计算结果;若e
i,j
=0,表示子任务i与子任务j之间不存在先后执行顺序。对任务集vd中每个子任务vi=(ai,ci,t
itol
),ai是子任务i输入数据的大小,ci为计算该任务每bit数据所需的cpu周期数,t
itol
为计算该任务最大可容忍延迟。dag图中的子任务可根据其卸载时延、全局资源利用率选择是否卸载或本地执行,若子任务被卸载至uav或mec服务器,则卸载过程分为三个阶段:发送数据阶段、执行任务阶段与结果回传阶段;若子任务在本地执行,其时延仅需考虑本地执行的时间。与此同时,如图5所示,在空地协同卸载场景中,多个边缘节点可以同时为没有依赖关联的子任务提供服务。
[0071]
b通信模型
[0072]
本发明中,地面用户与mec服务器之间采用设备到设备(device to device,d2d)的通信方式进行信息交互,用户与空中uav采用正交多址技术通信。在时刻δp时,用户d与uav m之间的上行传输速率为:
[0073][0074]
uav m与用户d之间的下行传输速率为:
[0075][0076]
d2d链路中,用户d到mec服务器n之间的上行传输速率为:
[0077][0078]
用户d到mec服务器n之间的下行传输速率为:
[0079][0080]
其中,与分别表示任务上行传输过程与下行传输过程中的信道带宽,p
d,m
与p
d,n
分别表示用户d到uavm和用户d到边缘服务器n的传输功率,σ2为传输过程中的信道噪声。
[0081]
因此,若子任务j被卸载至uav m,其传输时延为结果回传时延为若子任务j被卸载到mec服务器n,则其传输时延为结果回传时延为若子任务j在本地执行,则不存在传输时延与结果回传时延。
[0082]
c计算模型
[0083]
本发明中,子任务卸载为完全卸载,每个应用程序中无依赖关系的子任务可以在uav与mec服务器上同时执行,本地处理时延为uav处理时延为mec服务器的处理时延为因此,若任务被卸载至uav或mec服务器,其总卸载时延分别为:
[0084][0085]
若子任务j在本地执行,则其总处理时延为:
[0086][0087]
综上所述,为最小化空地协同卸载时延,建立如下目标函数与约束条件:
[0088][0089]
s.t.c1:
[0090]
c2:θm(p)∈[0,2π]
[0091]
c3:sm(0)=sm(p)
[0092]
c4:
[0093]
c5:t
k_finish
≤t
j_start
,1≤i≤i,1≤j,k≤j
[0094]
c6:
[0095]
c7:
[0096]
c8:p
d,m
+p
d,n
≤p
max
[0097]
c9:
[0098]
其中,f为所有串行子任务的集合,q为所有并行子任务的集合,qi为并行集合中第i个子集,t
i,j
为第i个并行集合中的第j个子任务时延,ti为第i个串行子任务的时延。表示任务卸载的总时延为所有并行集合中用时最长的子任务卸载时延与所有串行子任务卸载总时延之和。约束c1、c2、c3表示uav按照固定飞行轨迹运动;约束
c4表示每个子任务的卸载总时延小于其最大可容忍时延;约束c5表示子任务j开始卸载的先决条件是其前驱所有具有依赖关系的子任务都以执行完毕;约束c6表示子任务有且尽可能在一个设备上执行,其设备包括:本地用户、地面边缘服务器或uav;约束c7为本地、边缘服务器和uav卸载任务的功率约束;约束c8表示用户d的传输功率可以保证应用程序子任务的正常卸载;约束c9表示卸载子任务时边缘服务器的剩余计算资源完全可用。
[0099]
步骤2、用户智能体预处理自身产生的应用服务请求任务;
[0100]
首先,遍历表示终端设备应用程序中子任务之间依赖关系的有向无环图(directed acyclic graph,dag)g=(v,e)以此掌握任务依赖信息,其中v表示为任务集,e表示依赖约束。其次,通过图g中节点入度出度的数值,划分同一优先级处理集合;最后,将所有子集合归类添加至空白序列task_sequence中,将任务划分为串并行卸载的集合,生成任务调度序列,以便后续的任务调度工作。具体方法如下:
[0101]
获取根据任务间的依赖约束所创建的有向无环图g;
[0102]
初始化一个空的任务序列task_sequence,用来存储任务执行顺序;
[0103]
首先在g中找到所有入度为0的节点,这些节点表示没有依赖关系的任务或已经解决依赖关系的任务,将这些集合加入一个待处理任务集合中;
[0104]
将candidates中可以并行处理的任务放入同一组,需要串行处理的任务放入不同的组;
[0105]
按照单个任务的处理时间对candidates其中的分组进行排序,将排序后的任务分组以此添加到task_sequence中;
[0106]
从dag图g中移除已经添加到task_sequence的任务节点以及与这些节点相关的边;
[0107]
如果dag图中仍有剩余节点,则返回步骤3,继续处理剩余任务。否则,结束拓扑排序过程,得到完整的任务处理序列task_sequence。
[0108]
如图3所示,dag图g中共包含6个子节点与7条节点间的依赖关系,按照其依赖约束进行拓扑排序可生成如图4所示的5种分别需要计算6个子节点卸载时间的卸载决策。然而,在空地协同uav-mec系统中,多个边缘节点可以同时处理不同的子任务,这种子任务预处理方式能够极大减少应用程序的处理时延。如图5所示,没有依赖约束的两个子集合{v2,v3}、{v4,v5}中的子任务可同时卸载至不同的服务器,计算卸载应用程序d的总时延时,仅需考虑其无依赖约束子集合中所用时延最大的子任务。此时,图3的任务拓扑排序序列如下task_sequence={v1,{v2,v3},{v4,v5},v6}。基于此方法,图3中dag图中所用卸载总时延表示为:
[0109][0110]
步骤3、将包含多个主体的依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程;
[0111]
将包含多个主体的依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程,并设计适当的奖励函数以实现空地协同无人机边缘计算模型中最小化卸载总时延的目标,所构建的任务卸载模型表示为:
[0112]
[0113]
参数含义如下:
[0114]
(1)状态空间x:由用户所观测到的任务队列、任务依赖关系、计算资源分布和任务执行位置组成;
[0115]
(2)动作空间a:用户可以选择将子任务i卸载至uav、mec服务器或本地执行,其中包含n个智能体的动作空间a1,...,an;
[0116]
(3)状态转移概率p:根据子任务i执行位置和资源分布所确定,s
×
a1×
...
×an
→
p(s);
[0117]
(4)奖励函数r:依据子任务依赖关系、资源利用率和任务卸载时延,设计适当地奖励函数,ri:s
×
a1×
...
×an
→
r;
[0118]
(5)观测空间o:每个智能体都经历部分可观测马尔可夫决策过程,获取其本地局部观测oi,并依据自身策略产生相应动作ai与环境交互;
[0119]
基于maddpg算法依据子任务依赖关系、节点的资源利用率和子任务卸载时延三方面,设计适当的奖励函数,该奖励函数旨在保证子任务依赖约束卸载的情况下,平衡卸载时延与计算资源利用率,以达到最小化卸载总时延的目的,对于集合g中的子任务,可以同时考虑将其卸载至uav、mec服务器或本地处理,因此,奖励函数r定义如下:
[0120][0121]
其中,ω1,ω2,ω3为奖励函数定义式中的权重参数,表示第d个应用程序中第j个子任务处理时延的倒数,若任务卸载至节点,则包含发送时延、执行时延和回传时延;若任务本地处理,则仅保留执行时延,表示卸载子任务j时节点k的资源利用率;表示第j个子任务的依赖延迟,即根据子任务j的依赖关系计算其前驱任务j'完成时间与任务j开始的时间差,表示如下:
[0122]
步骤4、初始化每个智能体所拥有的4个神经网络以及经验回放池d;
[0123]
4个神经网络包括用于表示策略的actor网络μ(od,θd)和用于表示价值的critic网络q(s,a;wd)以及其分别对应的目标策略target actor网络和目标价值target critic网络。在maddpg算法中,actor网络是确定性的,依据当前状态反馈合适的动作,对于确定的输入od,会得到确定的动作ad。价值网络负责根据状态-动作判断其动作的好坏程度。两个目标网络的设置是为防止训练过程中的过度拟合,起到算法的稳定作用。
[0124]
步骤5、智能体开始与环境交互,并分别上传分布式感知的局部状态信息及与环境交互信息至经验回放池d中;
[0125]
如图6所示,智能体开始与环境交互,分别上传分布式感知的局部状态信息、与环境交互的动作、奖励以及下一局部状态信息(o,a,r,o_)至经验回放池d中。设第d个智能体自身的局部观测记作od,od中包含了当前所处理的子任务集合、局部环境状态信息包括可用边缘节点的数量、资源、位置以及其中的任务队列和所需的等待时间。
[0126]
时隙p时,智能体d所执行的动作表示如下a
d,j
=(lj,z
j,m
,z
j,n
),lj=1表示子任务j在本地执行,z
j,m
的数值表示子任务j卸载给uav的编号,z
j,n
表示子任务j卸载给mec服务器的编号。同一时隙内,动作a
d,j
有且仅可能存在一个不为零的数。根据步骤4设计的奖励函数
与环境交互,并计算动作执行后下一状态o_的信息。
[0127]
随后智能体d从经验回放池中随机选取一批经验进行训练,每条经验都是由四元组(o
p
,a
p
,r
p
,o
p+1
)构成,依据其中的全局观测信息包括uav与mec服务器的位置与资源、子任务拓扑排序信息、每个智能体所响应的动作以及环境反馈奖励,训练自身critic网络参数,训练q值的损失函数定义为:
[0128][0129]
其中,wi为第i个智能体critic网络的参数,aj=μj(oj)为智能体aj在确定输入oj下所输出的动作,x'为x下一状态所有智能体观测状态,是x'状态下参考所有智能体输出动作的预估价值,为x状态下所有智能体输出动作的预估价值。γ为累计奖励的折扣因子,ri为第i个智能体当下动作所获得的奖励,为该critic网络的目标值函数。
[0130]
利用critic网络计算梯度,更新actor网络,训练第i号actor网络μi(oi;θi)的目标是改进θi,提高第i号actor网络的平均打分。其中基于梯度上升法更新actor网络,那么目标函数的梯度为下式:
[0131][0132]
每个智能体的目标都是最大化自身的期望累计奖励,所以将目标函数定义奖励的期望如下:
[0133][0134]
其中,μi是指第i个智能体的策略,为t时刻第i个智能体参照全局所有智能体所输出的动作获得的奖励值,γ为累计奖励的折扣因子。该式计算了从x0状态开始,考虑所有智能体策略以及其状态转移函数p,在训练过程中第i个智能体所有奖励总和的期望。
[0135]
步骤6、根据损失函数软更新每个智能体的target actor网络和目标价值网络;
[0136]
通过设置软更新系数决定源网络参数和目标网络参数混合的权重,防止过度拟合,以保证训练的稳定。对于每个智能体d更新目标网络参数:
[0137]
θn'
←
——τθn+(1-τ)θn'
[0138]
步骤7、判断网络是否达到预设的收敛条件,选择是否输出卸载决策。
[0139]
通过观察网络参数更新幅度、奖励变化幅度、迭代次数等指标来判断网络是否达到预设的收敛条件,选择是否输出卸载决策。如果未达到预期收敛条件,则返回步骤5,继续智能体与环境交互的训练过程。最后,如图7所示,更新策略后的智能体分布式地独立执行计算卸载工作。
[0140]
因此,本发明采用上述基于空地协同边缘计算的多智能体协作依赖任务卸载方法,可最小化任务卸载总时延,从而提升系统性能与实际应用价值。
[0141]
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,
尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
技术特征:
1.基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:包括以下步骤:步骤1、构建无人机-移动边缘计算空地节点协同卸载系统;步骤2、用户智能体预处理自身产生的应用服务请求任务;步骤3、将包含多个主体的依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程;步骤4、初始化每个智能体所拥有的神经网络以及经验回放池d;步骤5、智能体开始与环境交互,并分别上传分布式感知的局部状态信息及与环境交互信息至经验回放池d中;步骤6、根据损失函数软更新每个智能体的target actor网络和目标价值网络;步骤7、判断网络是否达到预设的收敛条件,选择是否输出卸载决策。2.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述步骤1中无人机-移动边缘计算空地节点协同卸载系统共被分为两层:空中层和地面层;空中层由m架无人机组成,地面层包含n个mec服务器和d个终端设备;用户作为智能体执行卸载决策,可以获取周围环境和资源信息,并根据应用程序中子任务特性及当前资源状况调度任务分配至uav、mec服务器或本地处理;为最小化卸载时延,建立如下数学表达式:其中,f为所有串行子任务的集合,q为所有并行子任务的集合,q
i
为并行集合中第i个子集,t
i,j
为第i个并行集合中的第j个子任务时延,t
i
为第i个串行子任务的时延;表示任务卸载的总时延为所有并行集合中用时最长的子任务卸载时延与所有串行子任务卸载总时延之和。3.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述步骤2中首先遍历表示终端设备应用程序中子任务之间依赖关系的有向无环图g=(v,e)以此掌握任务依赖信息,其中v表示为任务集,e表示依赖约束;其次,通过图g中节点入度出度的数值,划分同一优先级处理集合;最后,将所有子集合归类添加至空白序列task_sequence中,将任务划分为串并行卸载的集合,生成任务调度序列,以便后续的任务调度工作。4.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述步骤3中将包含多个主体的依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程,并设计适当的奖励函数以实现空地协同无人机边缘计算模型中最小化卸载总时延的目标,所构建的任务卸载模型表示为:参数含义如下:(1)状态空间x:由用户所观测到的任务队列、任务依赖关系、计算资源分布和任务执行
位置组成;(2)动作空间a:用户可以选择将子任务i卸载至uav、mec服务器或本地执行,其中包含n个智能体的动作空间a1,...,a
n
;(3)状态转移概率p:根据子任务i执行位置和资源分布所确定,s
×
a1×
...
×
a
n
→
p(s);(4)奖励函数r:依据子任务依赖关系、资源利用率和任务卸载时延,设计适当地奖励函数,r
i
:s
×
a1×
...
×
a
n
→
r;(5)观测空间o:每个智能体都经历部分可观测马尔可夫决策过程,获取其本地局部观测o
i
,并依据自身策略产生相应动作a
i
与环境交互;基于maddpg算法依据子任务依赖关系、节点的资源利用率和子任务卸载时延三方面,设计适当的奖励函数,该奖励函数旨在保证子任务依赖约束卸载的情况下,平衡卸载时延与计算资源利用率,以达到最小化卸载总时延的目的,对于集合g中的子任务,可以同时考虑将其卸载至uav、mec服务器或本地处理,因此,奖励函数r定义如下:其中,ω1,ω2,ω3为奖励函数定义式中的权重参数,表示第d个应用程序中第j个子任务处理时延的倒数,若任务卸载至节点,则包含发送时延、执行时延和回传时延;若任务本地处理,则仅保留执行时延,表示卸载子任务j时节点k的资源利用率;表示第j个子任务的依赖延迟,即根据子任务j的依赖关系计算其前驱任务j'完成时间与任务j开始的时间差,表示如下:5.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述步骤4中4个神经网络包括用于表示策略的actor网络和用于表示价值的critic网络以及其分别对应的目标策略target actor网络和目标价值target critic网络;actor网络依据当前状态反馈合适的动作,价值网络负责根据状态-动作判断好坏;两个目标网络为防止训练过程中的过度拟合,起到稳定作用。6.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述步骤5中从经验回收池d中随机选取一批经验进行训练,依据其中的全局观测信息,包括uav与mec服务器的位置与资源、子任务拓扑排序信息、每个智能体所响应的动作以及环境反馈奖励,训练自身critic网络参数,并利用critic网络计算梯度,更新actor网络;每个智能体的目标都是最大化自身的期望累计奖励,所以将目标函数定义奖励的期望如下:其中,μ
i
是指第i个智能体的策略,为t时刻第i个智能体参照全局所有智能体所输出的动作获得的奖励值,γ为累计奖励的折扣因子,该式计算了从x0状态开始,考虑所有智能体策略以及其状态转移函数p,在训练过程中第i个智能体所有奖励总和的期望。7.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,
其特征在于:所述步骤6中通过设置软更新系数决定源网络参数和目标网络参数混合的权重,防止过度拟合,以保证训练的稳定。8.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述步骤7中通过观察网络参数更新幅度、奖励变化幅度、迭代次数等指标来判断网络是否达到预设的收敛条件,选择是否输出卸载决策,如果未达到预期收敛条件,则返回步骤5,继续智能体与环境交互的训练过程。9.根据权利要求1所述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,其特征在于:所述任务卸载约束包括:约束1:无人机在规定区域内按照椭圆区域飞行,以便达到最大的服务范围,同时在δt时隙内uav的飞行速度、加速度、飞行角度与物理位置在准静态环境中都是可观测的;约束2:子任务卸载时,需保证其前驱所有依赖任务执行结束并返回结果,一方面,如果任务在uav或mec服务器执行时,需确保所有的输出结果已全部随该任务一起发送至边缘节点;另一方面,如果任务在本地执行,需保证其前驱所有输出结果已全部回传至终端设备;设p为任务之间的依赖关系矩阵,其中p(i,j,k)表示任务j的执行是否依赖任务k的执行结果,则对任意任务j和k,当p(i,j,k)=1时,需满足:t
k_finish
≤t
j_start
,1≤i≤i,1≤j,k≤j其中,t
k_finish
和t
j_start
分别表示任务j的开始时间和任务k的完成时间,约束3:每个子任务仅能在一个节点执行,如uav、mec服务器或本地,设为二进制决策变量,分别表示应用程序k中的第j个子任务是否在uav、mec服务器或本地设备执行,约束表示如下:其中,k表示应用程序的数量,j每个应用程序中子任务的数量。
技术总结
本发明公开了基于空地协同边缘计算的多智能体协作依赖任务卸载方法,包括以下步骤:步骤1、构建协同卸载系统;步骤2、用户智能体预处理应用服务请求任务;步骤3、将依赖任务卸载决策问题模型结合动作空间分解的方式建模为分布式部分可观测马尔可夫决策过程;步骤4、初始化每个智能体所拥有的神经网络以及经验回放池D;步骤5、智能体与环境交互,并上传分布式感知的局部状态信息及与环境交互信息至经验回放池D;步骤6、更新智能体的TargetActor网络和目标价值网络;步骤7、判断网络是否达到预设的收敛条件,选择是否输出卸载决策。本发明采用上述的基于空地协同边缘计算的多智能体协作依赖任务卸载方法,可提升系统性能与实际应用价值。用价值。用价值。
技术研发人员:赵继军 王雨晨 杨健 连彬 魏忠诚 王超 王巍
受保护的技术使用者:河北工程大学
技术研发日:2023.07.21
技术公布日:2023/10/19
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/