基于多智能体深度确定策略梯度算法的有功-无功协调调度模型

2021-05-12 06:28赵冬梅马泰屹王浩翔
电工技术学报 2021年9期
关键词:调度神经网络机组

赵冬梅 陶 然 马泰屹 夏 轩 王浩翔

(1. 华北电力大学电气与电子工程学院 北京 102206 2. 国网绍兴供电公司 绍兴 312000)

0 引言

我国资源和负荷分布不均匀,能源利用不充分,远距离输电的格局已基本形成。文献[1-3]做出了关于“未来一体化大电网调控系统”的前瞻性研究,设计了大电网全局决策和监控框架。有功-无功协调调度是实现大电网智能调控、自动巡航的关键一环,是保证电网经济和安全运行的前提之一。

文献[4-6]基于网络特性,利用二阶锥松弛理论,实现配电网有功-无功的协调优化计算。然而,二阶锥松弛技术的计算速度无法达到较大电网的调度需求[7]。文献[8]分析了无功电压优化对新能源消纳的影响。文献[9]基于模型预测控制研究了配电网动态无功优化方法。文献[10]基于多目标优化算法研究了中压配电网中有功-无功的协调优化。文献[11]研究了考虑配网重构的多时间尺度无功优化。文献[12]研究了光伏并网系统的有功-无功控制问题。有功控制对象和无功控制对象通常分属于不同的地区和调度主体,部分控制目标之间存在冲突。在决策角度上,上述研究不能较好地解决有功-无功调度间的矛盾。

进而,实现有功-无功协调调度需要智能组织电力系统中的灵活调控资源,系统的灵活调控资源包含可调度常规能源、需求侧管理、储能和与其他互联市场的交易等[13]。但是,灵活多调控资源在最大化自身收益和优化区域调控指标间具有难以调和的矛盾,智能组织多种灵活调控资源是当前一大热点和难点。

多智能体技术是一类基于协同一致性原理,用于探索环境、解释未知、自主更新和协调冲突的有效技术。实现多智能体系统的“智能”可以运用强化学习方法。强化学习通常分为两类:①值迭代(value based);②策略迭代(policy gradient)。文献[14-21]将值迭代类型的强化学习方法运用到电力系统中的优化调度、控制等领域。而受到Q 表存储和搜索的限制,智能体的状态空间和动作空间必须是离散的、低维的。上述研究均是采用将连续动作空间离散化的类似处理方法。在运用到有功-无功协调中时可能会损失一部分精度,且对训练过程中新出现的未知状态和动作适应性不强。

相比值迭代类的强化学习方法,采用策略迭代更加适用于解决电力系统有功-无功协调这类拥有连续、高维状态和动作空间的问题。由于该种算法直接由策略梯度更新神经网络参数,各智能体的动作选择差异会导致环境发生变化,影响了智能体在动作选择时的收敛性。所以,此类方法在电力系统中的应用较少。针对上述问题,本文在对各类算法和多智能体环境探索的基础上,提出适用于本文控制模型的改进多智能体深度确定策略梯度算法(Multi-Agent Deep Deterministic Policy Gradient,MADDPG)。在智能体更新时考虑其他智能体的动作选择,从而提高在多智能体环境中各智能体的训练效果。同时,搭建分层多智能体有功-无功协调调度框架;设计电力系统多智能体环境;构造状态空间、动作空间和智能体奖励函数表达。最后,通过算例仿真和对比分析,验证本文所提模型及算法的优势和有效性。

1 分层多智能体有功-无功协调框架

多智能体系统是分布式控制中的一种技术体现,分布式系统通常有四种组织形式[22]。分布式(distributed)的系统组织形式在通信成本、运行成本和可行性等方面具有一定优势。

基于此,将受控电网划分为不同的区域。统筹区域内灵活有功-无功调控资源,参考国际能源署(International Energy Agency, IEA)对灵活调控资源的定义,将区域中的有功-无功调控资源分为:常规机组智能体(Conventional Unit Agent, CUAgent)、电储能智能体(Electric Energy Storage Agent,EESAgent)、风/光电智能体(Wind-Solar Power Agent,WSAgent)、可投切电容器智能体(Switchable Shunt Capacitor Agent, SSCAgent)、有载调压变压器智能体(On-Load Tap Change Agent, OLTCAgent)和连续无功补偿智能体(Continuous Reactive Power Compensation Agent, CRPCAgent)。智能体组织关系如图1 所示。

图1 智能体组织关系示意图Fig.1 Schematic diagram of organization of agents

全局主智能体(Global Master Agent, GMAgent)直接协调各区域智能体(Regional Agent, RAgent),RAgent 控制了区域中的各个智能体:常规机组智能体CUAgent、电储能智能体EESAgent、风/光电智能体WSAgent、无功补偿智能体(Q Compensation Agent, QCAgent)。其中,QCAgent 下设可投切电容智能体SSCAgent、连续无功补偿智能体CPRCAgent、有载调压变压器智能体OLTCAgent。全局主智能体GMAgent 监控全网状态,根据调度中的功率平衡需求确定调度方向,并将调度方向信息下发,调度方向的确定有利于提高各智能体的训练速度和输出正确的调度指令。区域智能体RAgent 接受GMAgent的信息,之后将采集到的本区域电力系统的状态信息经筛选和归一化处理后发送给下级各智能体。模型建立以省-地两层调度为基础。

1)常规机组智能体CUAgent 建模

CUAgentj的运行成本主要考虑发电成本和辅助服务补偿。辅助服务补偿包括响应自动发电控制(Automatic Generation Control, AGC)补偿、启停调峰补偿、深度调峰补偿和冷/热备用补偿,如式(1)所示。

视常规机组发电成本为二次函数,则

式中,T为调控周期;上标j为CUAgent 的控制区域;为常规机组数量;为机组启停0-1 状态变量;为常规机组出力;ak、bk和ck为发电机二次成本函数系数。

当电网中功率波动需要AGC 作用时,安装AGC装置的发电机需要动作,可能失去在电能量市场获利的机会,并对机组产生损耗,除了机组在爬坡过程付诸的成本外,还需要按调节容量和调节电量获得补偿,如式(3)~式(5)所示。

当电网中因为调峰要求需要启停机组,除了计算启停成本外,如果在停机后24h 内又因为调峰原因开启同一台机组,则按停机容量进行补偿[23],如式(6)所示。

当机组运行在基本调峰需求基准以下时,称为深度调峰,按少发电量进行补偿[24]。

因电网调峰需求停机,在24h 内启机则按启停调峰进行补偿,若在24h 内继续保持停机,则按机组冷备用进行补偿;若机组出力高于深度调峰基准,而又未达到机组计划出力,则按机组热备用进行补偿,如式(8)所示。

综上所述,常规机组智能体CUAgentj的综合收益为

2)电储能智能体EESAgent 建模

EESAgentj的运行成本主要考虑购电成本和运维成本,如式(10)所示。

式中,上标j为在EESAgentj的控制范围内;为电储能数量;为电储能k的离网/并网0-1状态变量;为第k个电储能向电网购电的价格,元/(MW·h);为电储能k的单位运维成本,元/(MW·h);分别为电储能k的充、放电功率。

综上所述,电储能智能体EESAgentj的综合收益为

3)风/光电智能体WSAgent 建模

综上所述,风/光电智能体WSAgent 的综合收益为

4)无功补偿智能体QCAgent 建模

区域无功调度任务由常规机组智能体CUAgent、可投切电容智能体SSCAgent、有载调压变压器智能体OLTCAgent 和连续无功补偿智能体CRPCAgent共同完成。SSCAgent、OLTCAgent 和CRPCAgent的无功补偿功能本质上是相同的,只在约束条件上稍有差别,且在运行过程中没有额外成本的产生。因此,只对这三种智能体设有“动作执行”的功能,而向上设置具有通信、决策、动作等完全功能的无功补偿智能体QCAgent。

SSCAgent、OLTCAgent 和 CRPCAgent 接收QCAgent 的无功控制指令是没有差别的,只受到网络拓扑的影响,根据奖励函数不同做出不同的动作,需要设计综合网损和节点电压偏差量的收益函数,并将OLTCAgent 的挡位调整的动作转换成注入无功功率的调整。控制区内电压与无功的关系由式(16)含灵敏度矩阵的线性方程组给出。

OLTCAgent 档位调整与无功/电压的关系为

式中,bii和bij分别为节点i的自导纳和支路ij的互导纳。

QCAgentj的运行成本CQCAgent为

在CUAgent 与QCAgent 通信过程中,得到信息需要响应QCAgent 的无功控制指令时,由于受到发电机功率极限的限制,常规机组不得不放弃在电能量市场获利的机会,而为区域提供无功支撑。CUAgent 少获得的利润记为QCAgent 的调节成本,如式(20)所示。

式中,为常规机组k的有功-无功转换系数,表征受发电机功率极限图限制下的无功出力对应的有功功率。

式(9)、式(12)、式(15)和式(20)是对各智能体收益的数学表达,即为各智能体在训练中的目标函数。

2 深度强化学习算法设计

2.1 MADDPG 算法

多智能体深度确定策略梯度算法(MADDPG)是一种适用于多智能体系统的深度强化学习算法[27],它最先由OpenAI 的研究人员提出[28]。

MADDPG 算法构建演员网络(Actor Network)和评论家网络(Critic Network)两个神经网络。演员网络将策略梯度和状态-行为值函数相结合,通过优化神经网络参数θ来确定某状态下的最佳行为。评论家网络通过计算时间差分误差(temporal difference error)来评估演员网络产生的行为。每一个演员网络和评论家网络中又同时构建两个结构完全相同,但参数不同的神经网络,分别称为估值网络(evaluation network)和目标网络(target network)。估值网络的参数是随着训练而不断更新的,目标网络不进行训练,它的参数是一段时间前的估值网络的参数。MADDPG 算法中神经网络结构如图2所示。

图2 MADDPG 算法神经网络结构Fig.2 Neural network structure of MADDPG algorithm

图2 中,s和s_分别表示输入估值网络和目标网络的所有智能体的状态。MADDPG 算法实际上是一种部分观测的马尔科夫决策,它对状态集的要求并不严格,对分区智能体可以只对神经网络输入本区域内智能体的状态s,即观测o。a和a_分别表示输入估值网络和目标网络的所有智能体的动作。

设有n个智能体,n个智能体是集中训练、分散执行。n个智能体的权重参数集为观测集为;动作集为策略集为

智能体i奖励的期望值的策略梯度(下文简称为策略梯度)为

演员网络通过最大化状态-动作值函数Q(s,a)来更新网络参数,目标函数及参数更新规则分别为

式中,α为更新步长,即学习率。

评论家网络的损失函数为

其中

评论家网络通过最小化时间差分误差来更新网络参数,目标函数及参数更新规则分别为

为了提高神经网络训练时的收敛速度和防止过拟合,每一次训练时,都从经验回放缓存区中随机采样一组记忆,输入到神经网络进行训练。

最后,即可通过式(29)所示的软更新策略,更新目标网络的参数。

式中,τ为软替换(soft replacement)系数,且分别为智能体i的目标网络参数和估值网络参数。

2.2 状态-动作空间

对于电力系统的有功无功协调控制模型,状态空间的选取既要可以表征智能体执行某一动作iA后电力系统全面而真实的物理状态,又不能对神经网络的训练带来太多的计算负担。因此,本文将系统中每一个节点的电压相角、电压幅值、节点注入有功功率和无功功率作为电力系统的状态量输入进神经网络,如式(30)所示。

式中,Va、mV、Pbus和Qbus分别为节点的电压相位、电压幅值、注入有功功率和注入无功功率的向量。

本文智能体的动作设计比较直观,均为各智能体的动作值。如CUAgent 的动作空间是其出力上下限的连续实数集。

2.3 奖励函数

奖励函数的正确设计是强化学习算法高效运作的必要条件。本文模型中奖励函数的设计有两个要点:①可以被准确量化并分布到智能体的每一动作;②奖励值必须来源于环境或与环境具有较强的关联。而仅按智能体实际收益设计CUAgent、WSAgent、EESAgent 的奖励函数与电力系统环境的耦合度依然不足,系统中平衡节点机组的有功出力容易越界,既不符合电力系统运行要求,又增加了智能体在不可行空间的探索次数。

由于CUAgent、WSAgent 和EESAgent 在环境中探索过于贪婪或保守,可能导致平衡节点机组出力越界。因此,需要附加智能体j的过贪婪/过保守惩罚量PUNAgentj。智能体j的综合奖励函数为

式中,rP为越界惩罚系数;为平衡节点机组的上网电价;分别为平衡节点机组的出力下、上界;为平衡节点机组出力;αj和βj分别为智能体j的过贪婪和过保守惩罚系数,计算式为

3 算例仿真

本文在某节点系统的基础上进行改进,从某电网SCADA 系统采集连续100 天真实节点有功、无功负荷数据(采样周期为15min),用以训练智能体的神经网络。设置5 个CUAgent(所在节点:1,2,3,6,8);1 个WSAgent,含一个风电机组群(所在节点:5)和光伏机组群(所在节点:7);1 个EESAgent(所在节点:4);2 个SSCAgent(所在节点:9,10);3 个OLTCAgent;2 个CRPCAgent(所在节点:11,12)。模型中的各参数按照其单位同比缩放。使用Python 编程,利用tensorflow 框架,搭建多智能体神经网络计算图(Graph)。

仿真测试硬件平台:Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz;8GB 2666MHz RAM;GPU:NVIDIA GeForce GTX 1660 Ti;软件平台:Deepin 15.11(Linux 4.15);Python 3.7.3;Tensorflow 1.14.0。

神经网络结构及超参数见表1。

表1 神经网络结构及超参数Tab.1 Neural network structure and hyperparameters

在神经网络训练过程中,使用Google 开发的深度学习可视化工具Tensorboard,采样并导出各个智能体评论家网络的状态-动作值函数Q(s,a)、估值网络与目标网络参数的时间差分误差∆Q(s,a;θ)来评估各智能体演员网络和评论家网络的训练效果,计算式为

为了便于归一化分析,状态-动作值函数Q(s,a)也取其时间差分ΔQ(s,a;t),计算式为

训练结束时,各智能体状态-动作值函数时间差分值、神经网络参数的时间差分误差分别收敛于数量级,智能体的动作选择趋于稳定,估值网络和目标网络参数更新也不再明显,验证了MADDPG 算法在本文所提模型与调度问题中运用的有效性。

4 对比分析

4.1 与传统有功-无功解耦调度模型对比

选取除训练集外的某电网SCADA 系统采集的1 天96 个时段的真实节点有功、无功负荷数据,用以对比分析本文所提有功-无功协调模型(下称:协调调度)与传统有功-无功解耦调度模型(下称:解耦调度)的调度效果。解耦调度以经济调度[29]与无功优化为基础,并用二阶锥松弛技术[4]处理非凸、非线性的潮流方程约束,目标函数是最大化智能体收益的总和。

比较分析CUAgent、WSAgent 在两种调度模型下的动作情况,以及系统非压控节点电压幅值变化、网损变化。协调调度和解耦调度对比分析效果如图3a~图3h 所示。系统总有功、无功负荷如图3i 所示。

如图3a、图3b 所示,采用协调调度的CUAgent相比采用解耦调度的CUAgent 在动作选择倾向上,有明显的不同。采用解耦调度的各CUAgent 基本跟随负荷的变化呈现同升同降的趋势,而采用协调调度的各CUAgent 在均衡各自收益下,不断维持最大化自身收益,并保证功率的实时平衡。CUAgent 2、4、5 的出力在96 时段中,出力基本持平,而将系统跟随负荷变化的调度任务交给性能更好的CUAgent 1、3。如图3c、图3d 所示,协调调度:96 时段总弃风207.53MW(3.65%)、总弃光171.89MW(9.6%)、总弃风/光新能源379.42MW(5.08%);解耦调度:96 时段总弃风399.16MW(7.02%)、总弃光0MW(0%)、总弃风/光新能源399.16MW(5.34%)。尽管解耦调度中没有出现弃光的情况,但从风/光新能源消纳的总量上来看,协调调度较解耦调度提高风/光利用19.74MW(0.26%),说明协调调度是一种“协调统一、均衡收益”的策略,对电网调度机构、风电和光电等都较为公平与合理。如图3e、图3f 所示,采用协调调度控制,各非压控母线电压波动幅度更小,且没有节点电压越界,而采用解耦调度控制的节点电压波动更大,且节点7、9、10、11 的电压幅值,在部分时段越上界。如图3g 所示,协调调度中,系统96 时段总网损为417.99MW(1.28%),解耦调度中,系统 96 时段总网损为 441.18MW(1.35%),协调调度较解耦调度降低系统有功网损23.19MW(0.07%)。如图3h 所示,协调调度中,1~30 时段,风电大发,EESAgent 选择在此时段调用自身容量储备用以消纳风电;在50~62 时段,光伏大发时,EESAgent 无可用容量,只得选择弃风。解耦调度中,EESAgent 通过经济调度优化算法,选择在24~50 时段风电和光伏总和较大时,调用自身容量,减少风、光的弃用。

图3 协调调度与解耦调度效果对比图Fig.3 Comparison of coordination and decoupling dispatching

以上对比分析说明,协调调度相比解耦调度,在均衡各智能体收益,协调电力系统不同控制主体间的利益矛盾,消纳风/光新能源,控制节点电压波动、优化系统网损方面具有一定的优势。

4.2 MADDPG 与其他强化学习算法对比

基于相同的电力系统环境配置,在策略迭代算法中选取DDPG 算法[30],在值迭代算法中选取深度Q 网络(Deep Q-Network, DQN)和深度双Q 网络(Double DQN, DDQN)[31]算法,与本文MADDPG 算法在神经网络训练效率、智能体动作选择、电力系统网损和节点电压偏差方面进行比较。值迭代算法DQN 和DDQN 状态值的输入与MADDPG 算法保持一致,但其动作值的输入必须是离散的、有限的。为尽量保证与MADDPG 的可比性,将各智能体的连续动作区间均匀离散成 10 000 份,记为DQN-10 000 和DDQN-10 000。

将SCADA 系统每一个采样周期时采集到的电力系统节点有功、无功负荷作为一个训练集,共9 600 个训练集。在智能体神经网络训练的每一个回合中,随机采样一个场景进行训练,为了便于可视化说明,以下对比结果分析仅展示其中一个场景的训练效果。

系统中非压控母线的节点电压幅值在训练过程中的变化情况如图4 所示。

图4 MADDPG 与其他强化学习算法在训练过程中电压幅值的变化Fig.4 Voltage amplitude changes during training of MADDPG and other reinforcement learning algorithm

MADDPG 和DDPG 分别在约160 和约260 训练回合后,结束神经网络训练。而DQN-10 000 和DDQN-10 000 无法在可接受的时间内收敛。MADDPG 算法的训练性能优于其他强化学习算法。MADDPG 算法中,所有节点电压均在设定的范围内,且逼近基准值1.0(pu)。而在DDPG 算法中,节点5、12 和13的电压幅值越上界,且其余节点电压逼近上界。在DQN-10 000 和DDQN-10 000 算法中,节点7、9 和11 电压越限明显。说明MADDPG 在控制节点电压幅值相比其他强化学习算法具有一定优势。

图5 所示为算法训练过程中CUAgent 动作选择变化。各智能体的输出层均采用双曲正切激活函数,可以保证除CUAgent1 外各智能体的动作输出不越界。为便于可视化分析,在DQN-10 000 和DDQN-10 000 算法中仅列出CUAgent1 的训练结果。

图5 中的两条点划线分别表示平衡节点机组智能体的出力上下界,分别为2.233(pu)和0.558(pu)。MADDPG 算法在第160 回合收敛,且平衡机组的出力保持在上、下界之间,而DDPG 算法中,在训练过程中,平衡节点最终收敛到越过下界的值0.556(pu)。DQN-10 000 和DDQN-10 000 算法中的CUAgent1均未在可接受的时间内选择到合适的动作值。

MADDPG 和其他强化学习算法训练过程中全网网损的变化如图6 所示。

DDPG 在神经网络训练时,没有考虑其他智能体的动作。虽然网损优化结果(3.53MW)优于MADDPG 算法(7.13MW),但网损的优化是由于平衡节点机组出力越下界和抬高节点电压以至于电压越界而实现的,总有一部分智能体在环境中占据优势,获得更多的收益,而另一部分智能体则处于劣势,导致某些电力系统的状态量超出规定限度。DQN-10 000 和DDQN-10 000 在训练中,全网的网损在10MW 附近变化,最终未能收敛。

在值迭代算法DQN-10 000 和DDQN-10 000 中,尽管将动作均匀离散成 10 000 份,但若想达到MADDPG 算法的动作选择精度,则需要将动作进一步细化。而从上述给出的DQN-10 000 和DDQN-10 000 仿真结果来看,进一步切分动作会使算法收敛性进一步劣化。尽管理论上DDQN 算法的适应性强于DQN 算法,但DDQN-10 000 和DQN-10 000整体上区别不大,可见基于值迭代的方法无法较好地适用于本文模型。

图5 MADDPG 与其他强化学习算法在训练过程中CUAgent 动作选择变化Fig.5 Action choices of CUAgent during training of MADDPG and other reinforcement learning algorithm

图6 MADDPG 和其他强化学习算法在训练过程中网损的变化Fig.6 Transmission losses changes during training of MADDPG and other reinforcement learning algorithm

综上所述,MADDPG 算法无论是在实现各智能体间收益的均衡、协调各智能体间矛盾、还是输出符合约束的电力调度指令上,都具有一定的优势。

4.3 计算性能对比

本文所提算法与对比分析中算法的计算性能对比见表2。

表2 不同算法的性能对比Tab.2 Comparison of algorithms performance

现有有功-无功协调模型主要采用二阶锥规划法。虽然MADDPG 算法的耗时相比二阶锥规划法更长,但本文所提模型是一种“离线训练,在线执行”的框架,完成训练后的执行时间较短,为0.132s,而二阶锥规划算法的每一次优化都需要重新计算。同时,采用本文所提方法的优化效果要优于二阶锥规划方法。在强化学习类算法中,本文采用的MADDPG 相比DDPG、DQN 和DDQN 算法在优化效果和计算性能上均具有优势。

5 结论

1)本文将具有连续状态空间和连续动作空间的深度强化学习算法引入电力系统有功-无功协调调度领域,构建分层多智能体有功-无功协调调度框架,智能组织灵活多调控资源,使得多个控制主体在最大化自身收益的同时,优化区域内电压合格率、网损等指标,实现系统各个智能体收益的均衡和各个相冲突的控制目标的协调。

2)改进多智能体深度确定策略梯度算法,设计电力系统多智能体环境、状态函数、动作函数和奖励函数,在智能体更新时考虑其他智能体的动作选择,有效地解决电力系统环境在各智能体动作执行时的不稳定性,显著提高各智能体训练效果。

3)与传统调度模型相比,本文所提模型在均衡智能体收益,协调各智能体动作执行,提高风/光电消纳,维持节点电压稳定,优化网损等方面具有一定的优势。

4)本文对比了同属策略迭代类型的DDPG 算法和基于值迭代的DQN 算法和DDQN 算法。对比分析结果表明,本文所用MADDPG 算法在智能体的收敛性能、模型的求解效果和输出符合规定的调度指令方面具有一定的优势。

目前,本文针对调度计划的制定,设计了分层多智能体有功-无功协调调度模型,取得了一定的效果。未来,针对电力系统实时有功-无功协调控制,提高智能体的性能,结合数字仿真,将进一步研究投入数字仿真中的多智能体深度强化学习算法及有功-无功协调控制模型。

猜你喜欢
调度神经网络机组
双馈式可变速抽水蓄能机组运行控制
660MW亚临界机组清洁疏水系统节能改造
我国首台采用四支路技术抽水蓄能机组投入试运行
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
神经网络抑制无线通信干扰探究
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定