APP下载

基于A3C的有序充电算法

2023-02-05张文龙

计算机技术与发展 2023年1期
关键词:特征函数进站充电站

张文龙,张 洁

(南京邮电大学 计算机学院,江苏 南京 210023)

0 引 言

随着电动汽车渐渐成为人们主流的出行选择,其充电调度的重要性也渐渐凸显,大量充电汽车接入电网势必会造成电荷显著改变,给电网带来谷峰差距过大、变压器过载等潜在威胁,因此,对充电负荷进行有序调控是十分必要的[1]。充电站因其聚合控制的优势通常是实施充电调度的主体,对充电站汽车有序充电的研究一直是智能用电领域的重要议题[2-3]。传统的有序充电调度算法是模型驱动的,例如,文献[4-6]提出了基于粒子群优化、思维进化、拉格朗日松弛优化等算法的充电调度策略,但是模型驱动算法不能反映充电行为的不确定性,算法的好坏完全由先验模型假设的好坏决定,在实际应用中如果要确定好的先验模型假设需要经过大量的采样统计,成本过高,应用范围受限。使用数据驱动的算法是有序充电策略的另一思路,其最大的优势是不需要先验模型和假设,完全依赖于对过去和当前的数据观察,随着算力发展和原始充电数据的不断积累已经广泛应用于有序充电。其中无模型强化学习框架日益引起人们的重视,文献[7-8]实现了基于Q-learning和DQN(Deep Q Network,深度Q-learning)算法的充电调度,通过调控充电站总功率实现了电动汽车的充电控制优化;文献[9]提出一种基于MC(Monte Carlo,蒙特卡洛)算法的多电站充电调度策略并且对电站数量有很好的扩展性;文献[10]以MFRL(Model Free Reinforcement Learning,无模型强化学习)框架适应充电负荷的不确定性,保证所有充电行为都能及时得到满足,避免受到惩罚。除了充电调度之外,对设计充电响应需求机制的研究也在不断完善,响应机制即电动汽车会根据充电站的收费调整充电需求,文献[11-13]分别面向充电站和汽车集群设计了充电响应机制,研究表明合理的价格制定和充电调度有利于用户充电和电网系统。但是上述基于无模型强化学习的有序充电调度都没有考虑到汽车进站的随机性造成的影响,都侧重于提前一天计划好未来车辆的进出站,也没有考虑不同的充电费用对充电需求的影响,没有考虑同时调控充电费用和充电功率。

在文献[14]的基础上,该文以减少充电负荷方差和提高充电站收益为训练目标,提出基于深度强化学习A3C的充电站有序充电调度算法。文献[14]提出的Sarsa算法需要一张额外表格存储维护之前的数据纪录来进行模型的更新,而A3C算法结合了深度神经网络,通过对网络梯度的更新就能求出最优策略;为了解决由汽车进站的随机性引起的输入维度变化,使用5个特征函数来近似价值函数和策略函数,有效减少输入维度。借助充电需求响应机制关联调控充电费用和功率,实现两者的动态实时调度。之后使用某地区充电站一个月的历史充电纪录进行仿真分析,验证该算法能有效抑制充电负荷方差,在满足用户需求的基础上提高充电站收益和削峰填谷。

1 模型建立

1.1 充电站模型

该文所假设的整个充电系统的运行情况如图1所示。

在一个被划分成T个时间段的时间区间,每个时间段都会有随机车辆进站定义为It,t=1,2,…,T,ai、pi、di分别代表车辆i的进站时间、最大停留时间和充电需求。It内的车辆会根据当前的充电费用确定充电需求,将充电请求交给电站,然后加入充电队列等待充电站的调度。Jt表示在时间段t之前已进入充电站且还没有完成充电的车辆,在每个时间段开始会从Jt中选择优先级高的车辆进行充电,充电的功率还受到以下限制。

图1 充电站模型

xi,t≤xi,max,∀i

(1)

(2)

(3)

其中,xi,max和emax分别代表车辆的最大充电功率和充电站最大充电功率,所有车辆的需求应该在离开充电站前得到满足。在充电站的整个工作过程中,充电费用和充电功率都是实时变化调整的,但对具体的车辆而言,在t时段进站的车辆对应的充电费用为rt,直到出站前都不再变化。车辆i的充电需求与进站时的充电费用满足di=Di(rt),Di是车辆i对应的需求响应机制函数,只与车的种类有关。由于电动汽车到达时间和充电费用的不确定性,充电站只知道已经到达的电动汽车的充电情况以及目前为止的电价变化。充电站收益在每个时段都受两部分直接影响,一是充电站向各时段新进站电动汽车收取的费用,二是充电站各时段根据充电需求向电力公司购买电力的费用,两者的差额就是充电站每个时段的收益。

1.2 充电过程模型

在每个时段开始,充电站都会基于对历史充电行为的观察包括当前充电费用和充电请求,选择最优充电功率和充电费用,这些决策的制定又会影响到未来决策的制定,因此用MDP(Markov Decision Process,马尔可夫决策过程)来模拟整个充电过程求解最优决策[15]。目前MDP在有序充电领域正获得广泛应用,MDP由状态S、动作A、转移函数P和奖励函数R共同组成。若上述四要素均已知,就可以通过动态规划算法求解,但实际应用中转移函数往往难以直接求出具体模型,因此一般的模型驱动算法在面临复杂问题或者模型未知时,都是选择基于对转移函数或未知模型的先验假设来进行求解的,最终结果的好坏直接取决于先验假设建模,容易面临性能瓶颈。该文所采用的是另一种无模型数据驱动的思路,不依赖先验模型假设,只基于对历史和当前数据的观察。下面介绍由1.1节充电模型抽象成MDP后的四要素。

1.2.1 状态S

t时段的状态表示为St=(di,t,pi,t,i∈Jt),其中di,t表示汽车i在t时段的充电需求,pi,t表示车辆i的最大剩余充电时间,若pi,t≤0,di,t≥0就表明这辆车的充电需求没有被满足,pi,t>0,di,t≤0则表明车辆i的充电需求已被满足可以从充电队列中删除。在每个时间段开始都会根据当前的充电情况更新状态S,除了把新进站的汽车加入,对充电需求无法按时得到满足或者提早得到满足的汽车都应做相应的处理更新。

1.2.2 动作A

At=(rt,xi,t,∀i∈It∪Jt),rt是t时段的充电费用,xi,t是车辆i在t时段的充电功率。车辆i在执行对应的动作后会发生如下变化:

di=di-xi,t,i∈Jt

(4)

pi=pi-1

(5)

1.2.3 转移函数P

在每个时间段开始,充电站会从Jt中选择优先级高的车辆进行充电,那么,Jt+1就是由经历充电Jt后仍未完成充电且目前仍可能完成充电车辆和新到达车辆It共同组成。下一个状态可以表示为St+1=P(St,At,It,ct)=(di,t+1,pi,t+1,i∈Jt+1),状态的变化直接可以通过观察得到,不必通过转移函数求解。

1.2.4 奖励函数R

使用直接观测到的利润函数作为奖励函数。通过1.1节分析,每个时段的利润具体表示为R(St,At)=∑rtDi(ri)-ctet。该文提出的模型的优化目标之一就是使充电站利润最大化。

2 A3C算法和特征函数

2.1 A3C

A3C算法本质是AC(Actor-Critic,演员-评论家)算法, Actor部分负责生成动作并和环境交互,而Critic部分负责评估Actor的表现,并指导Actor下一阶段的动作。Actor部分利用的是一类基于策略(policy based)的强化学习算法;Critic部分使用的是一类基于价值(value based)的强化学习算法,Actor-Critic算法结合了两种强化学习算法的优点。Actor和Critic两部分的更新都与TD(temporal-difference,时序差分)误差相关,Actor为避免正数陷阱,通过TD误差更新策略;Critic部分的损失就是TD误差,它的更新目标就是最小化TD误差[16]。

A3C最大的不同就是放入多线程中同步训练,具体工作流程如图2所示。A3C主要架构是由Global Network(全局网络)和worker(工人)组成的,全局网络和worker拥有一样的Actor-Critic网络结构,目的是模拟多个智能体与环境互动,全局网络并不直接参加和环境的互动,而是把自己当前学习到的最新参数共享给多个worker,让worker与不同的环境进行交互,最后各worker将自己探索学习到的梯度汇报给全局网络进行更新[16]。

图2 A3C模型

A3C完整算法:

输入:公共部分的A3C神经网络结构,其对应参数为θ,ω分别属于Actor和Critic部分;本地线程的A3C神经网络结构,对应的参数为θ',ω'全局共享的迭代次数T,全局最大迭代次数为Tmax;线程内单次迭代时间序列最大长度Tlocal,状态特征维度n,动作集Action,步长α,β;衰减因子γ。

a)更新时间序列t=1

b)重置Actor和Critic部分的梯度更新;将公共A3C的参数同步到本地A3C神经网络θ'←θ,ω'←ω。

c)初始化St,tstart=t。

d)基于策略近似函数π(at|St,θ')选择动作at并执行,得到回报Rt和下一个状态St+1,t=t+1,T=T+1。

e)如果St是终止状态或者t-tstart=Tlocal,执行步骤f,否则,返回步骤d。

g)fori∈(t-1,t-2,…,tstart):

V=Ri+γV

累计Actor的本地梯度更新:

dθ←dθ+∇θ'logπ(ai|si,θ')(V-v(si,ω'))

累计Critic的本地梯度更新:

h)更新全局神经网络的模型参数:θ=θ-αdθ,ω=ω-βdω。

i)如果T≥Tmax,退出算法,否则,返回步骤b。

2.2 特征函数

2.1节提到Actor部分和Critic部分通常都是使用神经网络建立模型,两者的输入都是MDP中的状态S,但是汽车进站的随机性导致状态S维度过高且不固定,无法直接作为神经网络的输入。为了使输入维度固定,使用状态的特征函数作为神经网络输入,特征函数主要基于目标函数和约束条件来构造,具体使用下面5个特征函数[14]。

(6)

f2(st)=-ctet

(7)

(8)

(9)

(10)

其中,Pt表示t时段最长的停车时间;θ1、θ2分别代表算术序列权重和几何序列权重;f1、f2是基于目标函数而建立的特征函数,分别为充电站每时段向新进站车辆收取的费用和向电力公司支付的购电费用;f3、f4、f5都是用来约束所选择的策略,f3、f4是在文献[13]的基础上用来防止充电站做出影响未来收益的过激决策,f5是避免做出让车辆充电需求无法得到满足的决策。

引入特征函数后,Critic部分价值函数的计算可由特征函数的线性组合近似得出v(st)=v(st,ω)=∑ωifi(st),Actor部分策略函数同理可近似为π(at|st)=πθ(at|st)=∑θifi(st),有效减少了网络的输入维度。

3 算例分析

以某地区充电站信息采集系统实测数据为基础,取某年1月1日至1月31日的充电数据作为原始环境,测试集选取次年1月份的实测数据。假设充电站最高功率为300 kW,对车辆进站情况和充电需求满足情况的观察间隔为5分钟,电价的变化情况为每小时变化一次。充电需求响应机制函数设置为Di(rt)=βi,1rt+βi,2,假设参与充电的汽车种类分为三种,对应的具体参数见表1。

表1 不同类型充电汽车的参数

为直观证明所提模型能较大程度提高充电站收益,引入以下算法对比:

Sarsa算法:一种value based的强化学习算法,在模型未知的情况下,先利用当前策略π估算动作价值函数值Q(s,a),再通过Q(s,a)值来更新策略,交替迭代得到最优策略和最优动作价值函数。为了避免陷入局部最优使用探索-利用机制,不断尝试新的动作[14]。

Policy Gradient算法:一种policy based的强化学习算法,直接对策略进行近似表示,使用梯度上升法寻找最优策略。采用了类似MC算法的学习思路,需要遍历整个状态序列才能进行迭代[17]。

3.1 充电站收益

图3所展示的是充电站采用上述三种算法所获得平均收益的变化情况。在3 000轮迭代内,所提的A3C模型对提高充电站收益最明显,基本能稳定正收益;其次是Sarsa算法,充电站收益很少有正的大多为在0和-1 000之间变化;最后是PG算法,虽然曲线收敛很快但没有正收益。

图3 三种算法的平均收益

3.2 充电负荷方差

为验证所提模型能有效抑制充电负荷方差,将通过A3C算法与Sarsa算法训练得到的模型分别用于实际充电行为的调度。结果如图4所示,在连续50个小时的测试集上,不加任何调度完全无序充电得到的原始充电负荷波动较大,通过计算得出这50个小时内平均充电负荷为7.93 MW,进而得出负荷方差为24.41 MW;利用Sarsa算法进行有序充电后的充电负荷波动幅度有所减少,通过计算相应的平均充电负荷最终可得负荷方差为9.46 MW,与无序充电相比有了较大改善;结果最好的是提出的A3C算法,利用A3C的有序充电调度后充电负荷方差经计算可减少为1.16 MW。

图4 充电负荷方差

3.3 削峰填谷

比较典型日下电网24小时基础负荷与充电站24小时的充电功率,验证A3C算法能否实现削峰填谷。实验结果如图5所示,在电网基础负荷较高时,充电站会选择提高充电费用来鼓励用户不采取充电行为,相应的充电功率会降低防止电网峰值过高;同理,在电网基础负荷过低时,降低充电费用鼓励用户充电提高充电功率,提高电网谷值。该实验表明,所提模型除了能提高充电站收益外还有削峰填谷的作用。

图5 对电网充电负荷影响

4 结束语

提出一种无模型数据驱动的有序充电优化方法,不依赖任何先验模型和假设,把提高充电站收益和削峰填谷减少充电负荷方差作为目标,动态制定充电费用和充电功率。将充电问题抽象成MDP问题,利用深度强化学习算法A3C求解模型未知情况下的最优解。

为解决由于车辆进站的随机性造成输入维度的不确定性,Actor和Critic都使用特征函数的线性组合来近似价值函数和策略函数。利用某地区充电站的实测数据进行仿真分析。结果表明,A3C算法除了能提高充电站收益外,还能较大程度减少充电负荷方差,适应电网基础负荷的变化实现削峰填谷。

猜你喜欢

特征函数进站充电站
基于红外线热成像仪设备在蓄电池充电站中的应用
“首充”
地产人的知识充电站,房导云学堂5月开讲!
亚纯函数的Borel方向与Tsuji特征函数
随机变量的特征函数在概率论中的应用
关于(a,b,0)分布类的特征函数统一表达式的若干标记
进站口上下行载频切换时引起ATP制动问题分析
特征函数的性质在实变函数中的应用
春运期间北京西站共有154.8万人次刷脸进站
地心游记(四)一位向导