发明内容
针对上述问题,根据高速公路系统移动性环境下编队车辆的动态需求,本发明提供一种基于SMDP和DRL的货车编队动态资源分配方法。
本发明的一种基于SMDP和DRL的货车编队动态资源分配方法,包括以下步骤:
步骤1:将控制货车编队的动态进出的过程建模为基于半马尔可夫决策过程SMDP的货车请求的最优编队资源分配模型。
步骤2:通过规划算法得到的特定状态下的动作值作为深度强化学习DRL的样本来进行模型训练。
步骤3:通过训练后的模型对SMDP进行优化求解得到一种最优策略的货车编队资源分配方案。
上述步骤1基于SMDP进行建模具体为:
对于任意给定的时间步t,系统处于特定的配置St,其中st∈S,S是所有可能状态的集合,表示为:
其中,
表示正在编队中运行的货车数量,N
h和N
l分别表示高优先级和低优先级货车数量;e∈{e
l,e
h,e
f}表示编队系统中的事件e
i,在该编队系统中,有三种类型的事件:编队接收到一个来自低优先级货车l的请求,记为e
l;编队接收到一个来自高优先级货车h的请求,记为e
h;编队中的货车结束运行并释放出其占用的编队资源,记作e
f,其中高优先级货车和低优先级货车离开编队并释放其占用的资源分别记作
和
其中,
来表示编队系统拒绝该优先级的货车服务请求;
表示系统接收该优先级的货车服务请求,并分配相应的编队资源;
表示一辆位于编队中的货车离开编队并释放资源。
考虑编队专用车道和普通车道的总收入和支出,根据系统状态和相关动作,将整个系统收益视为Z(s,a),即:
z(s,a)=x(s,a)-y(s,a)
其中,x(s,a)表示编队系统在状态s下选择动作a的总收入,y(s,a)表示在状态s下选择动作a的总支出;高速公路总收入x(s,a)包括四部分:货车在编队专用道行驶的收入、货车在普通车道行驶的收入、除货车外其他车辆在普通车道行驶的收入和高优先级货车在编队专用道行驶时额外收取的费用,总收益公式如下:
其中,α表示高速公路系统根据货车i在编队专用道上行驶距离收费的系数;β表示货车在普通车道行驶时高速公路系统根据其行驶距离收费的系数;γ表示除货车外其他车辆在普通车道上行驶时根据行驶距离收费的系数;δ表示在高优先级货车在编队专用道行驶时因为其货车是高价值或危险产品而额外收取费用的系数。
总支出y(s,a)货车在普通车道和专用道行驶时占用道路资源的支出和在普通车道上除货车外其他车辆占用道路资源的支出,总支出表示为如下公式:
其中,al和ah分别表示低优先级和高优先级货车分别占用编队专用道的资源数量,U表示在货车在相应车道驾驶的单位成本,Up和Uc分别表示货车在专用道和普通道驾驶时占用资源的单位成本;bl,bh和de表示在普通车道上低优先级货车、高优先级货车和除货车外其他车辆行驶时占用的道路资源;Ne表示在普通道上除货车外其他车辆的数量,Ue表示其他车辆在普通车道行驶的单位成本。
在系统模型中,由于两个决策时间点之间的平均期望时间t(s,a)服从指数分布,具体为高优先级和低优先级的请求到达率分别服从均值为λh和λl的泊松分布,编队内处理事件服从均值为1/μh和1/μl的指数分布;因此,所有事件的平均发生率ψ(s,a)可表示为:
用p(j|s,a)表示在当前状态s下选择动作a转移到下一状态j的状态转移概率。
在当前系统为
时,若编队系统选择的动作为a=0,则下一可能系统状态为j
1=〈N
l,N
h,e
l>,j
2=〈N
l,N
h,e
h>,j
3=〈N
l-1,N
h,e
f>和j
4=〈N
l,N
h-1,e
f>;因此,转移概率表示为:
其中,0≤al·Nl+ah·Nh≤M·C;M·C表示高速公路总的编队容量,M表示高速公路系统中编队数量。
当目前的系统状态为
时,选定的动作为a=1,则下一个可能的系统状态为:j
5=<N
l+1,N
h,e
l>,j
6=<N
l+1,N
h,e
h>,j
7=<Nl,N
h,e
f>和j
8=〈N
l+1,N
h-1,e
f>;在这种情况下,编队系统的状态转移概率表示为:
当前系统状态为
选择动作为a=1时,下一可能系统状态为j
9=<N
l,N
h+1,e
l>,j
10=〈N
l,N
h+1,e
h>,j
10=〈N
l,N
h+1,e
h>和j
12=〈N
l,N
h,e
f>;在此情况下,状态转移概率表示为:
根据折扣收益模型,期望折扣收益为:
因此,得到编队系统的长期最大期望折扣收益:
其中,
定义一个常数w=λ
l+λh+K·max(μ
1,μ2);提出的自适应分配模型的最大期望归一化长期折扣收益如下:
上述步骤2中深度强化学习具体为:
使用带参数ω的神经网络来逼近Q函数并生成动作值,神经网络的输入为状态s,输出为动作值Q(s,a;ω),即Q值;在神经网络输出Q值后,采用ε-贪心策略来选择动作a,该策略随机抽取一个概率为ε∈(0,1)的动作,或者选择估计Q值最高的动作,即选择概率为1-ε的动作a=arg maxatQ(st,at;ω);采用均方误差作为DQN神经网络的损失函数,其定义为:
其中,
是由参数ω-的目标网络的结果计算出的目标Q值,Q(st,at;ω)是参数ω的评估网络输出的评估Q值;目标网络的初始参数与评估网络相同;在观察到编队系统的即时奖励r
t和下一个状态s
t+1后,状态转换(s
t+1,a
t+1,r
t+1,s
t+1)将被存储到经验存储器D中。
本发明的有益技术效果为:
(1)本发明首次提出将货车编队系统的资源分配通过SMDP进行建模,该模型实现的货车编队的资源优化分配策略,在兼顾系统效益和成本的前提下,可以获得最大的编队系统回报。
(2)为了解决货车编队资源分配问题,本发明针对编队场景分别设计了DRL带来的动作空间、状态空间以及奖励函数,将给定的资源分配问题形式化为凸优化问题,并用DNN逼近行动决策的行动值函数。仿真结果表明,本发明提出的基于DRL算法求解的货车编队资源分配模型的性能与传统的数值迭代算法求解的性能优于传统优化求解算法。
具体实施方式
下面结合附图和具体实施了对本发明做进一步详细说明。
本发明的一种基于SMDP和DRL的货车编队动态资源分配方法,具体为:
1、将控制货车编队的动态进出的过程建模为基于半马尔可夫决策过程SMDP的货车请求的最优编队资源分配模型。
图1显示了一个货车编队系统的说明。货车发出编队的请求通过基站传送给编队系统控制中心,然后系统将根据当前可用的资源数量决定延迟或立即处理请求。如果决定系统接收请求,则会根据货车的需求分配资源数。然而,如果系统将最大数量的资源分配给当前车辆请求,则可能会缺少可用的资源而延迟后续的请求处理,从而降低货车的体验质量和系统的长期回报。因此,为了实现货车编队中资源的动态分配目标,本发明将货车编队的动态进出过程通过SMDP进行建模。具体的,基于SMDP建模包括五个要素,即:系统状态、动作集合、收益模型、决策时间点和状态转移概率。
系统状态:
对于任意给定的时间步t,系统处于特定的配置St,其中st∈S,S是所有可能状态的集合,表示为:
其中,
表示正在编队中运行的货车数量,N
h和N
l分别表示高优先级和低优先级货车数量;e∈{e
l,e
h,e
f}表示编队系统中的事件e
i,在该编队系统中,有三种类型的事件:编队接收到一个来自低优先级货车l的请求,记为e
l;编队接收到一个来自高优先级货车h的请求,记为e
h;编队中的货车结束运行并释放出其占用的编队资源,记作e
f,其中高优先级货车和低优先级货车离开编队并释放其占用的资源分别记作
和
动作集合:
当编队系统处于s状态时,动作集合表示为:
其中,
来表示编队系统拒绝该优先级的货车服务请求;
表示系统接收该优先级的货车服务请求,并分配相应的编队资源;
表示一辆位于编队中的货车离开编队并释放资源。
收益模型:
从高速公路系统的角度考虑收益模型,即:考虑编队专用车道和普通车道的总收入和支出,根据系统状态和相关动作,将整个系统收益视为Z(s,a),即:
z(s,a)=x(s,a)-y(s,a)
其中,x(s,a)表示编队系统在状态s下选择动作a的总收入,y(s,a)表示在状态s下选择动作a的总支出;高速公路总收入x(s,a)包括四部分:货车在编队专用道行驶的收入、货车在普通车道行驶的收入、除货车外其他车辆在普通车道行驶的收入和高优先级货车在编队专用道行驶时额外收取的费用,总收益公式如下:
其中,α表示高速公路系统根据货车i在编队专用道上行驶距离收费的系数;β表示货车在普通车道行驶时高速公路系统根据其行驶距离收费的系数;γ表示除货车外其他车辆在普通车道上行驶时根据行驶距离收费的系数;δ表示在高优先级货车在编队专用道行驶时因为其货车是高价值或危险产品而额外收取费用的系数。
总支出y(s,a)货车在普通车道和专用道行驶时占用道路资源的支出和在普通车道上除货车外其他车辆占用道路资源的支出,总支出表示为如下公式:
其中,al和ah分别表示低优先级和高优先级货车分别占用编队专用道的资源数量,U表示在货车在相应车道驾驶的单位成本,Up和Uc分别表示货车在专用道和普通道驾驶时占用资源的单位成本;bl,bh和de表示在普通车道上低优先级货车、高优先级货车和除货车外其他车辆行驶时占用的道路资源;Ne表示在普通道上除货车外其他车辆的数量,Ue表示其他车辆在普通车道行驶的单位成本。
决策时间点:
在系统模型中,由于两个决策时间点之间的平均期望时间t(s,a)服从指数分布,具体为高优先级和低优先级的请求到达率分别服从均值为λh和λl的泊松分布,编队内处理事件服从均值为1/μh和1/μl的指数分布;因此,所有事件的平均发生率ψ(s,a)可表示为:
状态转移概率:
用p(j|s,a)表示在当前状态s下选择动作a转移到下一状态j的状态转移概率。
在当前系统为
时,若编队系统选择的动作为a=0,则下一可能系统状态为j
1=〈N
l,N
h,e
l>,j
2=〈N
l,N
h,e
h>,j
3=〈N
l-1,N
h,e
f>(N
l≥1)和j
4=<N
l,N
h-1,e
f>(N
h≥1);因此,转移概率表示为:
其中,0≤al·Nl+ah·Nh≤M·C;M·C表示高速公路总的编队容量,M表示高速公路系统中编队数量。
当目前的系统状态为
时,选定的动作为a=1,则下一个可能的系统状态为:j
5=<N
l+1,N
h,e
l>,j
6=<N
l+1,N
h,e
h>,j
7=〈N
l,N
h,e
f>和j
8=〈N
l+1,N
h-1,e
f>(N
h≥1);在这种情况下,编队系统的状态转移概率表示为:
当前系统状态为
选择动作为a=1时,下一可能系统状态为j
9=<N
l,N
h+1,e
l>,j
10=<N
l,N
h+1,e
h>,j
10=〈N
l,N
h+1,e
h>(Nl≥1)和j
12=〈N
l,N
h,e
f>;在此情况下,状态转移概率表示为:
根据折扣收益模型,期望折扣收益为:
因此,得到编队系统的长期最大期望折扣收益:
其中,
定义一个常数w=λ
l+λ
h+K·max(μ
1,μ
2);提出的自适应分配模型的最大期望归一化长期折扣收益如下:
因此,通过计算SMDP-Bellman最优方程的状态-值函数,可以得到最优的策略,这可以通过寻找A和资源分配的最优值来解决,但由于动作变量A是二元变量,模型的可行集和目标函数不是凸的。此外,本发明还考虑了实际场景,即有多种不同型号的货车参与编队,同时车辆分配的资源数也是动态的。在这种情况下,服务系统需要收集大量的系统状态,并根据系统的当前状态对编队中的每辆货车进行资源管控的全局决策。另外,当货车数量时,编队系统的规模会迅速增加,因此求解由Knapsack问题扩展而来的非凸问题是NP难的。与传统的优化方法(例如:贪婪算法,值迭代算法)求解该问题不同,在本发明中,提出了深度强化学习方法来解决该问题。
强化学习(RL)是机器学习的一个分支,其重点是获取环境中的知识,改进适应环境的行动策略以及制定决策顺序。在RL中有四个关键要素:代理,环境状态,奖励和行动。图2显示了用于货车编队系统的深度强化学习框架,对于每个情节(episode),首先,在每个步骤t,代理获取对环境的观察,即状态st,并根据此从动作空间A中采取动作,选择分配一定量的资源数或延迟请求事件,决策动作π可由状态-动作确定,此过程可以通过强化学习来近似。根据代理所采取的行动,环境进入新状态st+1,同时代理从环境中获得回报rt。
Q学习是一种经典的RL算法,是一种无模型的学习方法,可估算状态-动作对的最佳Q值。它使用存储在Q表中的动作值Q(st,at)根据当前状态选择动作。更具体地说,将状态st和动作a对的Q值定义为Q(s,a)。对于每个步骤,代理计算Q(s,a)并将其存储在Q表中,该值可以视为长期奖励,然后Q(s,a)可以表示为:
其中,γ定义为学习参数,γ是一个满足0≤γ≤1的常数。值得注意的是,如果γ趋于0则表示系统代理主要考虑当前回报,如果γ趋于1表明代理更加关注未来的回报。在Q学习的每个情节(episode)开始时,都会初始化环境状态s。对于情节中的每个步骤t,应首先根据当前状态选择动作。然后,可以获得相应的奖励rt和下一状态st+1。随后,动作值Q(st,at)应该更新为:
其中β∈(0,1)为学习速率,然后将重复此过程,直到达到终端状态为止。算法1展示了Q学习算法的过程(如图3所示)。
通常,Q学习使用Q表来存储动作-值,假设使用Q学习方法,需要计算其对应的Q值并将其存储在表中,矩阵Q(s,a)将非常大,同时在一个大表中频繁地搜索对应的状态是非常耗时的。因此,在这种方式下难以获得足够的样本来遍历每个状态,这将导致算法失败。而在应用的场景中,编队环境的状态是复杂多变的,使用一个表来存储所有的动作值可能是不切实际的。所以,使用深度神经网络来估计Q(s,a),而不是为每个状态动作对计算Q值,这是也深度Q网络(DQN)的基本思想。
如图4所示,DQN直接使用带参数ω的神经网络来逼近Q函数并生成动作值。神经网络的输入为状态s,输出为动作值Q(s,a;ω)。在不损失精度的情况下,本发明使用Q值表示动作值Q(s,a;ω)。在神经网络输出Q值后,我们采用ε-贪心策略来选择动作a。该策略随机抽取一个概率为ε∈(0,1)的动作,或者选择估计Q值最高的动作,即选择概率为1-ε的动作a=arg maxatQ(st,at;ω)。神经网络训练需要损失函数优化过程,并通过反向传播和梯度下降优化算法来更新神经网络的参数。DQN的目标是使Q值接近目标Q值,Q学习算法提供所谓的标签。本文采用均方误差(MSE)作为DQN神经网络的损失函数,其定义为:
其中,
是由参数ω-的目标网络的结果计算出的目标Q值,Q(st,at;ω)是参数ω的评估网络输出的评估Q值。目标网络的初始参数与评估网络相同。在观察到编队系统的即时奖励r
t和下一个状态s
t+1后,状态转换(s
t+1,a
t+1,r
t+1,s
t+1)将被存储到经验存储器D中。
算法2显示了基于DQN的资源分配算法的详细信息(如图5所示)。在给定状态、动作和奖励三个关键元素的情况下,首先初始化具有一定容量N的经验重放存储器(experiencereplay memory)D和具有随机权重的动作-值函数Q以及随机参数ω和ω-的评估和目标网络。对于每一个事件m,首先初始化状态序列s,然后对于每个步骤t,将状态st作为评估网络的输入,并根据基于ε-贪心策略选择随机动作at。这样处理过后,可以通过预定义的标准获得当前奖励和下一状态st+1,最后我们在D中储存(st,at,rt,st+1)来更新评估网络参数。
仿真实验:
本发明对100km高速公路进行研究,假设普通道和编队专用道的宽度都为3.75米。在仿真中,每个编队的最大容量为10辆货车,即j=10。低优先级货车和高优先级货车根据其占有面积在编队中分别占用1RU、2RU、3RU和4RU、5RU、RU。假设货车长度为8米,在编队专用道的平均速度为80km/h,编队内车头时距为15米。当货车在普通道驾驶时,速度不能超过100km/h,车头时距为80米。因此可得出100km内编队专用道和普通道的最大容量,分别为4347和1136辆货车。显然,编队系统能使货车更安全、更紧密的一起行驶,还能最大化高速公路的吞吐量。我们的DQN是分别由包含500、250和120个神经元的隐藏层构成的全连接网络。为确保收敛,折扣系数设置为0.1。使用Relu的激活函数,初始学习率为0.01。本节利用基于Matlab的事件生成器对所提出的自适应货车编队资源分配模型进行了验证和评估。所有的仿真实验均在一台配备Intel i7-7700k 3.60GHz的CPU,32G RAM,和NVIDIA RTX 207011G GPU的工作平台上完成。仿真实验的具体参数见表1。
表1仿真参数
在仿真实验中,我们将提出的高速公路货车编队中的资源分配问题的模型求解通过数值迭代算法和贪婪算法两种常用的传统方法进行求解,此外使用了提出的深度强化学习算法对模型进行了求解,为了对比实验我们同时使用了Q-learning算法。通过这些优化算法,以期获得模型的最佳策略。
采用数值迭代算法进行模型的求解需要预先设定一些条件。这里我们的预设条件有:货车请求的处理时间是其占用的RU数量的倒数函数,即f(l)=1/l。同时,假设占用1个RU的货车的平均离开率是τ=6.6,而低优先级和高优先级车辆请求的平均到达率为λn=2.4和λu=7.2。根据货车的不同占用面积等级将其完成货车请求的平均离开率计算为:τl=τ/f(l)=τl即τ3=19.8,τ2=13.2和τ1=6.6。
为了评估我们提出的高速公路货车编队资源分配模型的性能,将高优先级货车在不同的编队请求到达率下所获得的预期奖励和延迟概率进行对比,分别如图6和图7所示。
从图6中可以看出,贪婪算法、VI算法和Q-learning算法在高优先级车辆不同编队请求到达率下的获得平均奖励均低于DQN算法。此外,随着高优先级货车编队请求到达率的增加,收到的请求数量增加,可用的编队资源数逐渐减少。因此,通过这4种优化算法方法获得的平均回报的增长速率逐渐减小。同时,可以从图7中看出,DQN算法在不同高优先级货车编队请求下的延迟概率均低于其它3种算法。由于处理货车编队请求的延迟与接受请求并分配资源操作相比,前者对系统总收益有更大的负面影响。相较于其它三种方法,采用DQN求解我们提出的模型能够使编队系统在较低延迟概率情况下为高优先级货车编队请求获得了更多的回报。换句话说,与其它算法相比,我们提出的模型获得更多的紧急请求奖励,同时保持较低的请求延迟概率。
此外,为了充分说明DQN算法对于货车编队模型构建的有效性,我们保持高优先和低优先级货车编队请求到达概率不变,通过在编队系统不同的资源总数下4种优化算法的获得的长期平均奖励进行对比实验。如图8所示,随着系统资源总数的增长,4种优化算法所获得奖励也随之增长。同时,随着资源总数的增长,DQN算法所获得的奖励的增长速率略大于其它3种算法。以上情况的出现有两个原因:第一,在实验仿真中,我们考虑到实际情况将接受货车编队请求所获得奖励的设置成远低于采取延迟请求操作的成本开销。第二,当编队系统中资源数量较少时,货车的编队请求会出现较高的延迟概率。如图9和图10所示,当编队系统的总资源数为10RU时,四种方法的低优先级编队请求延迟概率达到了50%,高优先级编队请求延迟率更是高达70%以上。比较贪心算法和采用的DQN算法之间的平均请求的奖励,如图8所示,通常,我们提出的模型的紧急车辆请求的奖励比贪婪算法的紧急请求的奖励超过50%以上。
从图9、图10可以看出,低优先级和高优先级货车编队请求的延迟率整体随着编队系统的资源总数逐渐降低。同时可以看出,由于接受高优先级别货车的编队请求需要的分配较多的系统资源,所以高优先级别比低优先级别货车的编队请求拒绝概率整体都高。此外,DQN算法在低优先级和高优先级的请求延迟率与VI算法分别低40%和35%。
在另一方面,我们比较了4种方法在不同高优先级货车编队请求到达率下的高优先级和低优先级货车编队请求分配不同数量的RU的概率。如图11和图12所示,4种模型优化方法均倾向于接受占用资源数多的货车请求(即,高优先级货车编队请求分配6个RU,低优先级货车编队请求分配3个RU)。这是因为,当编队系统为货车请求分配更多的资源时,请求的处理速度将提高,同时占用货车请求的持续时间将缩短,所以货车编队系统可以接受并处理更多的车辆请求。
本发明提出了一种基于半马尔可夫决策过程(SMDP)和深度强化学习的高速公路货车编队系统智能资源分配模型。提出的模型同时考虑了编队系统的成本和收入、不同的高优先级货车编队请求到达概率和不同的编队系统资源数下模型的性能。构建的模型能够根据可用的资源数量最大化货车编队系统的回报,同时也能根据货车编队请求合理的分配多种数量的资源。另一方面,由于求解模型的传统方法需要一些强制的假设条件,这限制了其应用与实际场景。因此,我们在本发明中采用了深度强化强化学习算法,以解决我们提出的智能资源分配模型,以在没有任何预设假设的情况下获得最佳优化策略,同时也可以很好地适应不断变化的货车编队场景。仿真实验结果表明,相比对于贪婪算法、VI算法和Q-learning算法,本发明使用的深度Q网络(DQN)网络在多种实验条件下能够使编队系统获得更高的回报,同时编队请求的延误概率更低。