DL-DRL: A double-level deep reinforcement learning approach for large-scale task scheduling论文阅读

DL-DRL: A double-level deep reinforcement learning approach for large-scale task scheduling of multi-UAV论文阅读。

为了降低大规模多无人机任务调度问题的计算复杂度,本文提出了一种基于分治框架(DCF)的方法,将原问题分解为任务分配子问题和无人机路径规划子问题。
分治框架通过将复杂问题分解为多个相对简单的子问题,在上层,设计了一个任务分配DRL模型,任务被分配给上层的不同无人机,为每个给定的任务选择合适的无人机。在下层,设计了一个路线规划DRL模型,为每架无人机构建路线,目标是在无人机的最大飞行距离下,最大限度地执行任务数量。两个模型相互交互,上层模型将分配的任务作为输入传递给下层模型,而上层模型的奖励则依赖于下层模型的输出。
在这里插入图片描述
初始场景(Initial Scenario):
图片左上角展示了初始场景,包括多个任务(Task)和一个仓库(Depot)。任务以蓝色圆圈表示,仓库以红色三角形表示。
上层模型(Upper Level):
上层模型负责任务分配(Task Allocation),即决定哪些任务由哪些无人机执行。
该模型是一个深度强化学习(DRL)模型,用于将任务分配给不同的无人机。
在图片中,上层模型将任务分配给不同的无人机(黄色、绿色和蓝色圆圈),形成不同的任务子集(Task subset)。
下层模型(Lower Level):
下层模型负责路径规划(Route Planning),即规划每架无人机执行其分配任务的具体路径。
该模型也是一个深度强化学习(DRL)模型,用于构建每架无人机的飞行路线,以最大化执行任务的数量。
在图片中,下层模型为每架无人机规划了不同的路线(Route 1、Route 2 和 Route 3),每条路线连接了无人机需要执行的任务和仓库。
DL-DRL方法:
整个框架构成了双层深度强化学习(DL-DRL)方法,通过上层模型的任务分配和下层模型的路径规划,共同解决多无人机任务调度问题。

上层模型:
关于任务分配,提出一种Transformer的策略网络,该网络由编码器和解码器具体化,将给定的任务分配给适当的无人机

在这里插入图片描述

编码器(Encoder)部分:
输入层:
输入包括任务(Tasks)和仓库(Depot)的位置信息,用 x1​,x2​,…,xN​ 和 y 表示。
线性变换:
任务和仓库的位置信息通过线性层(Linear)进行变换,生成初始的节点嵌入(Node embeddings)。
多头注意力机制:
节点嵌入通过多头注意力(Multi-Head Attention)层进行处理,以捕捉任务之间的相互关系。
每个注意力头(head)生成一组查询(query)、键(key)和值(value)向量,并通过注意力机制计算注意力值(attention values)。
加法和归一化:
经过多头注意力层后,结果通过加法和归一化(Add & Norm)层进行处理,以稳定训练过程。
前馈网络:
最后,通过前馈网络(Feed Forward)层进一步处理节点嵌入。
解码器(Decoder)部分:
解码器输入:
解码器的输入包括当前步骤的节点嵌入和已经分配给无人机的任务信息。
最大池化:
对已经分配的任务信息进行最大池化(Max Pooling),以聚合任务特征。
任务子集上下文:
将聚合后的任务特征与当前任务的特征进行拼接(Concatenate),形成任务子集上下文(Task subset context)。
无人机选择:
通过线性层和Softmax函数计算每个无人机被选中的概率分布。
根据概率分布选择一个无人机(Selected UAV)来执行当前任务。
前馈网络:
最后,通过前馈网络进一步处理选择结果。

下层模型:

输入
下层DRL模型的输入主要包括:
任务位置信息:这些是无人机需要访问的目标位置的坐标。
仓库(Depot)位置信息:无人机起始和结束任务的地点。
已分配给无人机的任务列表:这是由上层模型的任务分配策略决定的,列出了每架无人机需要执行的任务。
无人机的最大飞行距离:限制无人机在单次任务中可以飞行的最远距离。
输出
下层DRL模型的输出是:
飞行路线:为每架无人机规划的访问任务的顺序,以确保在最大飞行距离内最大化执行的任务数量。

在这里插入图片描述

损失函数的梯度

在这里插入图片描述

∇θ​L(θ∣s):表示损失函数 L 关于策略参数 θ 的梯度,用于指导参数更新。
Epθ​(π∣s)​:表示在状态 s 下,根据策略 pθ​(π∣s) 采样的轨迹 π 的期望值。
L(π):表示轨迹 π 的回报(或奖励),即在该轨迹下累积的奖励。
L(πBL):表示基线轨迹 πBL 的回报,基线用于减少估计的方差,通常选择一个简单的函数,如状态值函数或轨迹的平均回报。
∇θ​logpθ​(π∣s):表示策略的对数概率关于参数 θ 的梯度,反映了参数如何影响策略选择特定轨迹的概率。
算法伪代码:
在这里插入图片描述
输入参数
Ep​:预训练周期的数量。
E:模型训练周期的总数。
Et​:密集训练周期的数量。
Ec​:连续训练周期的数量。
初始化
初始化预训练、密集训练和交替训练过程中的训练数据集。
初始化上层模型 Mu​ 和下层模型 Ml​ 的网络参数。
预训练阶段(for i = 1 to Ep​)
计算下层模型的奖励函数 L(πl​)。
计算基线模型的奖励函数 L(πlBL​)。
使用REINFORCE算法更新下层模型 Ml​ 和基线模型 MlBL​ 的参数。
模型训练阶段(for epoch = 1 to E)
计算上层模型的奖励函数 L(πu​)。
计算基线模型的奖励函数 L(πuBL​)。
使用REINFORCE算法更新上层模型 Mu​ 和基线模型 MuBL​ 的参数。
密集训练和交替训练(if-else结构)
如果当前周期小于 Et​,则进入密集训练阶段:
如果当前周期是 Ec​ 的倍数,则生成下层模型的训练数据 TDl​,打乱顺序,并更新下层模型。
否则,进入交替训练阶段:
生成下层模型的训练数据 TDl​,打乱顺序,并更新下层模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值