李宏浩,张 沛,刘 曌
(北京交通大学电气工程学院,北京市 100044)
随着新型电力系统的建设,电力系统的动态行为日益复杂,给电力系统暂态稳定控制带来了挑战[1-2],而暂态失稳事故是造成国民经济损失和社会损失的重要原因[3-4]。电力系统紧急控制是电力系统安全稳定控制的第二道防线,通常采取切机、切负荷的控制手段降低电网受扰后的不平衡功率,对保持系统暂态稳定、避免大停电事故、保障电力系统安全经济运行具有重要意义[5-7]。目前,广域测量系统(wide-area measurement system,WAMS)和相量测量单元(phasor measurement unit,PMU)的广泛应用,使现代电力系统可观性得到巨大提升,为“实时决策、实时匹配”的暂态稳定分析与控制研究提供了数据基础。
现有的暂态稳定紧急控制的研究主要分为基于时域仿真的方法、基于广域响应的方法和基于人工智能的方法3 类。在基于时域仿真的方法中,文献[8]提出以控制参数化方法将最优切机切负荷问题转化为一般规划问题后求解。文献[9]基于支持向量机挖掘规则将稳定性约束线性化,实现紧急控制模型的快速求解。文献[10]建立一种包含暂态方程约束的暂态稳定最优控制模型,通过基于有限元正交配置的序贯优化算法求解控制策略。在基于广域响应的方法中,文献[11]提出一种基于广域测量数据的在线暂态稳定紧急控制方法,以安全经济综合指标形成切机控制决策。文献[12]提出一种综合能量管理系统(energy management system,EMS)、WAMS 等的电网预防控制和紧急控制一体化框架。文献[13]提出一种基于相对动能的紧急控制方法,依据WAMS 数据和等面积准则定量求解切机量。文献[14]提出以WAMS 的电气量定位电网薄弱临界断面,识别关键支路用于指导紧急控制。在基于人工智能的方法中,文献[15]提出通过深度学习提取电网与环境信息特征,并采用Q 学习算法训练最优的切机控制策略。文献[16]提出一种暂态稳定裕度评估与紧急控制相结合的方法,通过切机、切负荷灵敏度确定最优紧急控制策略。文献[17]提出通过改进AlexNet 网络预测功角变化,并建立紧急控制优化模型求解控制策略。上述研究在形成控制策略的过程中,往往需要对部分约束条件做线性化处理,或在较小的控制集上求解,且易忽略未来系统的运行状态使结果不够精确。此外,广域响应信号在采集、路由、传输和处理过程中存在数十到数百毫秒的时滞[18-19],这将对系统状态产生不确定性影响,导致控制策略难以应用。
电力系统是一个典型的时滞动力系统,暂态稳定紧急控制需要考虑系统的时滞不确定性影响和系统的未来运行状态。相对而言,深度强化学习(deep reinforcement learning,DRL)可通过价值函数近似考虑不确定性因素下未来系统的运行状态,在考虑发电机以及负荷等离散变量的情况下解决最优控制问题[20-22],有望形成更有效的控制策略。
为实现时滞不确定性下的紧急控制问题的求解和减轻DRL 负担,本文提出一种结合深度Q 网络(deep Q-learning network,DQN)的DRL 与暂态能量函数的紧急控制方法。首先,构建了DRL 框架,将暂态能量函数的势能指数加入奖励函数中,提升学习过程的效率;然后,采用离散型DQN 求解算法,将在线运行的计算负担转移至离线训练过程,在交互中学习得到切机和切负荷的紧急控制策略;最后,采用IEEE 39 节点系统对紧急控制模型和控制策略的有效性进行验证。
电力系统在遭受到严重扰动后,若第一道防线不能保证系统稳定性,则安全稳定控制中心将采取准确、精准的紧急控制措施,维持系统稳定并防止事故蔓延。暂态稳定紧急控制的目的是以最小的控制代价保证系统能够继续稳定运行。紧急控制中需要根据系统状态形成离散化切机和切负荷的动作序列,随着控制动作组合的数量增加,控制变量维度将大幅提升。因此,紧急控制是一个含离散变量的高维序贯决策问题。此外,每种不同的决策不仅影响当前状态,还会影响若干时间后系统的暂态稳定性。同时,考虑到暂态过程响应非常迅速,整个控制过程中的时滞随机性将会导致后续决策时系统状态的不确定性。因此,传统优化问题难以得出最优控制决策。
马尔可夫决策过程(Markov decision process,MDP)可由状态、动作、奖励、转移概率和折扣因子S,A,R,P,γ五元组表示,其中,P以概率的形式刻画了环境的动态特性,折扣因子γ则反映了对未来奖励影响的关注程度[23]。由于包含不确定性因素的电力系统环境的转移概率无法精确建模,可采用无模型的强化学习方法,通过ε-greedy 策略和大量交互训练的方式学习环境状态间的转移规则,寻找使累计回报最大的控制决策策略。因此,本文考虑将时滞不确定性的暂态稳定紧急控制问题建模为MDP 问题,通过强化学习方法实现广域量测信息到紧急控制决策的映射。
强化学习的过程如图1 所示。智能体将观测环境的状态st作为输入,同时求解最优动作at,环境接受动作后将转移到下一步状态st+1,通过对智能体动作进行评价反馈奖励rt+1。通过智能体和环境的不断交互,引导智能体沿着最大化预期奖励的方式学习,最终形成特定目标下的最优控制策略[24]。
图1 强化学习交互过程Fig.1 Interaction process of reinforcement learning
DRL 是一种端对端的感知与控制系统,具有很强的通用性[25],目前,主流的DRL 方法包括基于价值和基于策略的DRL 方法,前者会评估不同动作的预期收益并选择最优收益所对应的动作,而后者是直接求取使目标最优的动作概率。相较于基于策略梯度类型等算法,基于价值的DRL 方法更直观、易于理解、方便调参且能够更好地解决离散决策问题。基于价值的方法使用价值函数来评估智能体在给定状态下未来回报收益期望的大小,其中,动作价值函数是状态s与动作a二元组的函数,在策略π下的表达式如下:
式 中:E(·)表 示 求 期 望;St为t时 刻 状 态;At为t时 刻动作;Rt+β+1为t时刻后第β步的奖励。
在强化学习中通常采用ε-greedy 策略来确定每次选择执行的动作,即决策时大部分情况采取已有经验中动作价值最优的动作,其余情况会以较小的概率ε随机选择一个动作。其对应的表达式如下:
式中:π(a|s)表示智能体在状态s下采取动作a的概率;q*(s,a)为最优动作值函数。
在将电力系统紧急控制问题建模为DRL 问题的过程中,智能体状态、动作和奖励函数的设置直接决定了模型性能的好坏。
1.2.1 状态空间
状态空间描述智能体感知到的环境信息。在暂态稳定分析中,发电机机组功角摇摆以及系统网络节点的电压等特征能够反映系统的暂态稳定性。因此,本文选择发电机功角、发电机转子转速、网络节点电压幅值和相位作为智能体的状态空间。若系统有n个节点、m台发电机和l个负荷,则智能体状态空间S如下式所示:
式中:δGi为第i台发电机的功角,i=1,2,…,m;ωGi为第i台发电机的转子角速度;VNj为第j个节点的电压幅值,j=1,2,…,n;θNj为第j个节点的电压相位。
1.2.2 动作空间
动作空间描述了智能体全部的控制方式。在暂态稳定紧急控制中,切除发电机可以降低系统机械功率的输入,而当系统负荷过重时则需要切除负荷。为使结果更具一般性,本文选择切机和切负荷的动作,则智能体动作空间A如下所示:
式中:PGi为第i台发电机的切除量,i=1,2,…,m;PLk为第k个负荷的切除量,k=1,2,…,l。
为方便强化学习的训练,本文将切机与切负荷的控制动作空间进行离散化处理,并统一对离散化动作编号。切机控制一般将整台发电机切除,故每台发电机设置一个动作序号;切负荷控制通常按一定的比例切除负荷,故每个负荷设置间隔均等的h组动作号。同时计不动作的序号为0,则智能体离散化后的动作序号Ac表示为:
式中:c为自然数表示的动作序号;PG表示切机控制,共有m组动作;PL表示切负荷控制,共有hl组动作。
1.2.3 奖励函数
奖励函数用于评价智能体动作的好坏,引导智能体调节其参数达到预期奖励最大化,是最终形成控制决策的关键。本文将奖励函数划分为短期奖励和长期奖励两部分:短期奖励用于反映系统状态是否在约束范围内;长期奖励用于反映控制后系统是否稳定,是训练过程中决定每步决策的最重要因素。奖励函数Rt的制定规则如下式所示:
式中:st为智能体的状态集合;Tstable为稳定下的状态集合;RC为控制最终达到稳定后的奖励值,通常取一个较大的正数[26];RP为控制后失稳的惩罚值,通常取一个负数;Tconstraint为约束状态集合,目的是使控制后系统状态处在约束范围内;RF为每一步控制动作的短期奖励函数。
本文将短期奖励函数设计为包含能量奖励函数re、控制成本奖励函数rc、有功功率约束奖励函数rg、电压约束奖励函数rv、控制步数约束奖励函数rn五部分,即
1)能量奖励函数
暂态能量函数能够衡量系统稳定裕度。当系统状态动态变化时,各类参数会相对稳定状态产生较大的偏移,可以依托量测数据实时求出,故通过势能指数表征系统动态响应中的能量变化趋势[27]。受此启发,本文定义能量函数势能指数,以一个单值函数变量值来描述初始工作点控制前后的能量变化。根据多机系统的节点收缩等效模型构造暂态能量函数,选择系统转子位置势能和系统磁场势能构成势能指数FVp,如下所示:
式中:Vp1和Vp2分别为转子位置势能指数和磁场势能指数,λ1和λ2为两者的权重,本文分别取0.1 和1;Pmx为第x台发电机输入的机械功率;Ex为第x台发电机的电势;δx为第x台发电机的功角;Gxx和Bxy分别为收缩节点导纳矩阵的实部和虚部元素;δxy为两台发电机间的相对功角;δsx和δsxy分别为初始工作点的发电机功角和相对功角。
能量函数势能指数的大小能够反映当前运行点与初始运行点的势能的距离,体现控制决策前后的系统势能变化趋势。将其纳入奖励函数中,旨在减少学习过程中不利于稳定的控制动作,有利于指导智能体向降低系统能量的方向探索,提高学习效率。能量奖励函数表达式如下:
式中:Ft为当前时刻的势能指数值;F0为参考的势能指数值;ce为能量函数惩罚系数。
2)控制成本奖励函数
控制成本奖励函数反映了切机和切负荷的成本,根据切除量的加权和给予惩罚。表达式如下:
式中:cG为切机惩罚系数;cL为切负荷惩罚系数。
3)有功功率约束奖励函数
发电机有功功率约束是为了限制控制后各台发电机的出力,使其在上下限值约束范围内。本文根据超出限值的大小给予惩罚,表达式如下:
式中:cg为有功越限惩罚系数;rpg,i为第i台发电机功率的越限值;为第i台发电机的有功功率;和分别为第i台发电机功率的上限和下限。
4)电压约束奖励函数
节点电压约束奖励函数是为了限制控制后各节点电压,并根据超出上下限值的大小给予惩罚,表达式如下:
式中:cv为电压越限惩罚系数;rnv,j为节点j电压的越限值;为第j个节点的电压值;和分别为节点j电压幅值的上限和下限。
5)控制步数约束奖励函数
控制步数约束奖励函数是为了限制每次控制动作的总次数,指导智能体以最少的动作次数完成控制目标,根据控制次数的多少给予惩罚。表达式如下:
式中:cn为控制步数惩罚系数;Nstep为控制次数,Nstep=1,2,…,Nmax,其中,Nmax为最大控制次数。
需要注意的是,短期奖励函数在每一步(step)动作后更新并累加,长期奖励函数仅在每一幕(episode)结束后计算。奖励函数正的奖励值应当大于负的奖励值,即长期稳定的正值奖励大于控制中负值惩罚,以保证每次成功的控制动作能够被智能体学习。此外,能量函数奖励在系统失稳后会有很大的惩罚值,若此项持续过高,则智能体可能会直接选择使系统失稳的动作以提前结束运行,难以继续训练。为此,本文对式(11)的能量奖励函数进行最值强制约束,所使用的实际奖励函数r′e为:
式中:re0为一个正数,表示强制约束的限值。
DRL 主要是依托深度神经网络和Q 学习在训练的过程中做出决策,深度神经网络建立了输入数据和输出动作的关系,Q 学习则从环境信息中调整网络参数,不断更新最优动作以获取最大回报。DQN 算法可以解决Q 学习算法中状态空间的维度爆炸问题,将每一状态和动作下的动作值函数Q值由一个带有参数w的神经网络拟合得出,该参数表示神经网络中的权重和偏差。在DRL 中,智能体通过学习更新参数w以实现最优策略。当神经网络参数收敛后,可以获得近似的Q值。
1)估计网络与目标网络
在智能体训练过程中使用估计网络(evaluation network)和目标网络(target network)两个神经网络共同完成动作值函数Q值的迭代更新。估计网络负责拟合从状态到Q值的映射关系,目标网络则生成Q值用于构建学习目标。若智能体基于状态st、选择动作at、得到奖励rt+1,并进入下一步状态st+1,则该时刻的目标网络Q值为:
式中:a′表示下一步动作;w-表示目标网络中的参数;Q(st+1,a′;w-)表 示 下 一 步 状 态 目 标 网 络 拟 合的Q值。
目标网络结构与估计网络结构相同,其每隔一段时间后以最新的估计网络参数更新,并在间隔期间保持参数不变,使整体的迭代过程更加稳定,提升算法的收敛性。估计网络的更新迭代量ΔQ(st,at)的表达式如下:
式中:wt为估计网络的网络参数;α为学习率。
2)经验回放机制与时序差分误差
智能体每次与环境交互后,都会将样本st,at,rt+1,st+1存储到样本记忆库之中。为打乱样本间的相关性,每次将在样本记忆库中随机抽取小批量样本用于训练估计神经网络。DQN 估计网络迭代前后Q值的差称为时序差分误差,训练中通常以该项误差的平方作为损失函数L,表达式如下:
3)DQN 算法改善
DQN 算法中为了解决Q值过高估计的问题,常采用Double DQN 方法将动作选择和价值估计进行分离,即从估计网络中产生能获得最大Q值的动作,而该动作对应Q值由目标网络计算。为解决某些状态本身对状态转移的影响,将采用Dueling DQN 方法来引入状态评级值,将估计网络的输出层改为2 个分支状态评价值和动作优势评价值,以此改善算法的收敛效果。此外,为解决数据量级差别较大而产生训练困难的问题,一般需要对样本的数据进行标准化预处理。
智能体与环境的交互过程中,需要制定一个指标来衡量系统的暂态功角稳定程度。因此,本文选择暂态稳定系数(transient stability index,TSI)为指标[28],以受扰后各发电机的相对功角值来判断暂态稳定性。表达式如下:
式中:ITSI为TSI 值;Δδmax为仿真时长内任意两台发电机中最大相对功角差。
当ITSI>0 时,系统稳定,并且该数值越大,系统稳定程度越高;ITSI<0 时,系统失稳,并且该数值越小,系统失稳程度越高。
在整个训练过程中,受时滞因素的影响,智能体每幕学习所面临的系统状态是不确定的,需要设置多幕循环来实现。在每一幕中,智能体会选择多步的控制动作来使系统恢复稳定。智能体每幕中的学习流程如图2 所示。
图2 智能体紧急控制学习流程图Fig.2 Flow chart of agent emergency control learning
首先,初始化模型和训练环境,智能体观察电力系统环境功角、转速、电压幅值和相位的状态,采用ε-greedy 策略选择动作,并将该动作与环境进行交互,获得下一时刻状态,计算短期奖励函数。同时,存储状态、动作和奖励的样本到记忆库中,以便于后续训练。然后,智能体更新Q值并计算损失函数,采用梯度下降法更新内部深度神经网络的权重,完成本步动作的学习。
每一步学习结束后,智能体会根据暂态稳定系数判断受扰后的长期稳定性,如果稳定,则认为控制有效并完成本幕训练;如果不稳定,则需继续交互,直至达到控制步数的上限才结束该幕训练。经过多轮幕的循环迭代后,神经网络中的参数收敛,最终智能体可形成稳定的紧急控制策略。离线训练结束后的智能体可用于在线紧急控制,将电网紧急状态下的实时数据输入智能体,可直接输出最优紧急控制策略,使系统恢复稳定。
本文仿真验证采用IEEE 39 节点电力系统,该系统中包含10 台发电机、19 个负荷以及34 条传输支路。系统中所有发电机均采用经典次暂态模型,考虑励磁系统作用,负荷采用恒阻抗模型,由PSS/E仿真软件作为交互的电力系统动态环境。DRL 模型及训练基于TensorFlow2.6 搭建,编程采用Python 语言。模型状态空间包括10 台发电机的功角和转子角速度、39 个节点的母线电压和相位角,故状态空间维度数为98。设置分段切除负荷的比例为10%,动作空间包括10 个切机动作和190 个切负荷动作,故动作空间维度数为201。DQN 设置为5 层全连接的神经网络,折扣因子为0.90,神经网络学习率为0.000 5,智能体采用ε-greedy 策略,探索率随训练步数降低且最小为0.01。
初始时刻系统处于稳定状态,设置离线学习故障场景为母线16、17、26 处发生三相短路故障,故障持续时间为70 ms,考虑控制过程中随机时滞对系统状态的不确定性影响,设置每次交互控制的随机时滞服从均值为10 ms、标准差为20 ms 的正态分布[18]。设置学习的长期稳定目标为5 s 内保持暂态稳定。
设置训练循环10 000 幕,并且每幕的控制不超过5 次,图3 展示了智能体训练过程中奖励函数的变化。本次训练先经过约4 500 幕的探索过程,而后经过约1 000 幕达到收敛。由于考虑了随机时滞的影响,智能体在初期训练更多选择探索动作,并同步训练内部的策略网络,因而奖励函数表现出一定范围的波动,而随着训练过程的收敛,奖励函数也呈现出收敛的趋势,表明最终学习到稳定的控制策略。在DRL 智能体模型训练中,仅调用不到6 000 幕仿真便能得到较为稳定的控制策略,在离线训练也有较好的收敛性。
图3 随机时滞下的奖励函数曲线Fig.3 Reward function curve with random time delay
设置线路16-17 的10%处发生三相短路,故障后跳开本线路,根据DRL 模型可得此场景下的紧急控制策略如表1 所示。为验证紧急控制策略的有效性,在仿真中应用该控制决策所得的发电机功角曲线如图4 所示。这表明该模型形成的紧急控制策略能够有效解决随机时滞影响下的紧急控制问题。
表1 线路16-17 故障下紧急控制策略结果Table 1 Results of emergency control strategy under fault on line 16-17
图4 线路16-17 故障下紧急控制后的功角曲线Fig.4 Rotor angle curves after emergency control under fault on line 16-17
图5 所示为智能体模型中能量奖励函数的训练结果。在初期探索中,智能体一旦发现更好的动作,将会获得较高的奖励,因此,该部分奖励会指导模型向着更有利于能量降低的方向学习,降低无用的探索动作和学习时间,使奖励快速上升,从而提高模型学习的效率,满足快速性的要求。
图5 能量奖励函数曲线Fig.5 Curve of energy reward function
为说明模型具有一定的泛化能力,选择一个未参与训练的新故障场景来验证紧急控制决策的有效性。故障场景选择母线27 发生三相短路故障,将系统的状态量输入DRL 模型中,所得到的紧急控制策略如表2 所示,控制后的发电机功角曲线如图6 所示。可见,该DRL 模型具备一定的泛化能力。
表2 母线27 故障下紧急控制策略结果Table 2 Results of emergency control strategy under fault on bus 27
图6 母线27 故障下紧急控制后的功角曲线Fig.6 Rotor angle curves after emergency control under fault on bus 27
选择随机20 000 幕场景,分别统计本文方法和传统的策略表搜索方法生成紧急控制策略的总耗时和平均耗时,结果如表3 所示。策略表搜索法形成控制策略的平均耗时为2.716 s,而本文方法在训练过程中形成策略的平均耗时为0.566 s,节省79.16%。此外,该模型在离线训练结束后可直接应用于在线决策,即通过广域量测信息直接生成紧急控制策略,解决不确定性状态下的紧急控制问题。
表3 总计算时间对比Table 3 Comparison of total computation time
为验证本文所提方法在时滞不确定影响下的效果,针对同一失稳场景对比有时滞情况下两种方法的紧急控制策略结果。故障线路为16-17,故障持续至1.12 s 清除,系统运行至1.30 s 需要进行紧急控制。策略表搜索方法的紧急控制策略为依次切除发电机G36 和切除母线31 处负荷50%,在无时滞情况下可使系统稳定,但考虑随机时滞因素后该紧急控制策略失效。采用本文所提方法,紧急控制策略为切除发电机G34 和切除母线12 处负荷10%,控制效果如图7 所示。可见,本文方法所得的紧急控制策略能适应随机时滞的不确定性。
图7 DRL 方法下的紧急控制功角曲线Fig.7 Rotor angle curves of emergency control with DRL method
本文将紧急控制问题视为序贯决策问题,考虑紧急控制决策中时滞不确定性的影响,通过DRL 模型和DQN 算法解决切机切负荷的控制问题,为“实时控制,实时决策”的在线紧急控制提供了新思路。针对训练过程中无意义探索占时过长和学习负担重的问题,本文利用暂态能量函数的专家知识,将势能指数纳入奖励函数中,提升了训练初期智能体学习速度。同时,借助Double DQN 和Dueling DQN 技术提升DQN 算法的收敛性,提升模型训练效率。最后,算例结果表明本文提出的紧急控制的DRL 模型可以在随机时滞下获得有效的控制策略,能够应对实际电力系统中时滞不确定性的问题,借助广域测量信息可实现在线快速生成紧急控制策略,解决电网紧急控制问题。
本文所建立的紧急控制模型仅考虑了暂态功角稳定的紧急控制场景,所选择的决策变量的维数有限,需要继续深入研究更多故障场景以及控制措施下的紧急控制策略,考虑借助图神经网络等提取网络拓扑特征用于训练学习,研究如何进一步提升模型学习和训练效率,以适应更为复杂的场景。