技术领域
[0001] 本发明涉及电力系统安全与控制方法,尤其涉及一种用于电网动态无功储备需求计算的深度学习模型生成方法。
相关背景技术
[0002] 近年来,互联电网规模日益增大、结构日益复杂,电力系统运行状态逐渐向其稳定极限逼近,而随着特高压直流输电工程的不断建设和多类型资源接入比例的不断增加,电网遭受大扰动以后,保证电网的暂态稳定性的能力进一步下降。多数严重的电网稳定性事故是由于网络中部分节点电压大幅下降而导致的无法控制的连锁事故,以直流受端电网为例,当受端交流电网发生故障导致换流母线电压下降时可能会引起多回直流的同时换相失败,在故障清除后的恢复过程中,直流换流站将有远高于正常运行时的无功需求,如果受端系统无法提供足够的无功支撑将会在恢复过程中出现后续换相失败甚至直流闭锁,导致直流功率中断、潮流大范围转移,扩大故障范围,加重故障后果,严重危害系统的稳定性。因此,迫切需要研究电网动态无功设备的评估与控制问题。
[0003] 现代电网的时变非线性、随机不确定性和局部可观测性复杂,传统的建模分析方法和机理型的技术难以全面准确预测评估,电网整体规划运维控制的难度加大。引入深度学习等人工智能新技术,能够深入挖掘电网特征数据,深度评估电网无功储备需求和电压稳定问题。已有的动态无功备用评估方法,均基于时域仿真计算进行。但是对于大型电网来说,仿真计算耗时过长是限制其在线实时应用的重要瓶颈,进行动态无功备用的快速评估是十分必要的。
具体实施方式
[0107] 下面详细描述本发明的实施方式,并结合附图对发明的技术方案进行详细说明。
[0108] 本发明的一种用于电网动态无功储备需求计算的深度学习模型生成方法,其流程及样本生成方法如图1所示,包括如下步骤:
[0109] 步骤1:构建预想故障集,同时针对电网不同运行方式构建场景集。
[0110] 包含以下过程:
[0111] 步骤1‑1:根据训练深度学习神经网络的需要,设定所需场景个数N,并用sn(n=1,2,...,N)表示N个不同的场景。将电网中的新能源厂站出力Pre和各节点负荷需求Pd均看作独立随机变量,设一共具有NR个随机变量。
[0112] 步骤1‑2:对于某一场景sn(n=1,2,...,N),利用Wasserstein距离指标将该场景下系统中随机变量r(r=1,2,...,NR)的概率密度函数离散化。具体离散化方法如下:
[0113] 假设随机变量x的概率密度函数为p(x),利用Wasserstein距离指标将其近似为由Q个离散分位点组成的离散分布,Q的大小可根据该随机变量的波动范围自适应选取。基于Wasserstein距离指标的最优分位点Zq(q=1,2,...,Q)能通过下式计算得出,其中每个最优分位点就代表该随机变量的一种可能取值。
[0114]
[0115] 式中,t为阶数,取t=1。
[0116] 根据分位点可以求得各个离散区间的范围为((Zq‑1+Zq)/2,(Zq+Zq+1)/2),其中,Z0=‑∞,Z0=+∞。离散区间q的概率αq等于概率密度函数p(x)在该区间内的积分,有:
[0117]
[0118] 步骤1‑3:生成一个服从(0,1)均匀分布的随机数,当该数小于或等于随机变量r在某一区间的概率时,该区间被选中,该区间对应的分位点Zq(q=1,2,...,Q)为该随机变量的取值。可用一组二维参数[0,1]来表示各个离散区间是否被选中,由此得到场景sn的表达式:
[0119]
[0120] 其中, 表示场景sn下第r个随机变量的第q个离散区间的选中情况,被选中的区间对应的二维变量为1,未被选中的区间为0, 表示场景sn下的第n个随机变量的第q个离散区间的分位点。
[0121] 步骤1‑4: 为各负荷节点设定恒定的功率因数,由此可根据随机生成的负荷有功需求Pd求得负荷无功需求Qd。
[0122] 步骤1‑5:在确定新能源出力和负荷需求的情况下,建立以系统发电成本最小为目标的最优潮流问题以求解常规机组出力。其目标函数为:
[0123]
[0124] 其中,ag,bg,cg为常规机组g的电量报价曲线系数,PG,g为常规机组g的有功出力,NG为常规机组个数。
[0125] 考虑系统潮流约束:
[0126]
[0127] 其中,NB为全网总节点数,PG,i为节点i处的常规机组有功出力,Pre,i为节点i处新能源厂站的有功出力,Pd,i为节点i的有功负荷,QG,i为节点i处的常规机组无功出力,Qre,i为节点i处新能源厂站的无功出力,Qd,i为节点i的无功负荷,ei为节点i的电压实部,fi为节点i的电压虚部。
[0128] 考虑常规机组出力约束:
[0129]
[0130]
[0131] 其中, 为第g台常规机组有功出力下限, 为第g台常规机组有功出力上限; 为第g台常规机组无功出力下限, 为第g台常规机组无功出力上限。
[0132] 考虑新能源厂站无功出力约束:
[0133]
[0134] 其中, 为第e个新能源厂站无功出力, 为第e个新能源厂站无功出力下限,为第e个新能源厂站无功出力上限,NRE为新能源厂站个数;。
[0135] 考虑节点电压约束:
[0136] Ui,min≤Ui≤Ui,max(i=1,2,…,NB) (9)
[0137] 其中,Ui为节点i的电压值,Ui,min为节点i的电压下限,Ui,max为节点i的电压上限。
[0138] 步骤1‑6:使用内点法求解步骤1‑5中的优化问题。
[0139] 步骤1‑7:重复步骤1‑2至步骤1‑6直至完成全部N个场景的构建。
[0140] 步骤1‑8:针对电网中所有的220kV及以上电压等级线路,考虑其距离一端母线50%处,或主变压器等位置设置三相短路故障,故障切除时间为0.1秒,以此构建故障集Ψ:
[0141]
[0142] 其中,ψm为所考虑的第m个故障,m=1,...,Nctgy,Nctgy为故障总个数。
[0143] 步骤1‑8:将N个场景与Nctgy个故障组合并形成包含N×Nctgy个样本的样本集Υ:
[0144]
[0145] 步骤2:构建以场景集为输入、以电网各动态无功设备的临界动态无功储备为输出的样本集。
[0146] 如图2所示,包括以下过程:
[0147] 步骤2‑1:选取步骤1所生成场景集C中的某个电网运行场景c。
[0148] 步骤2‑2:选取预想故障集Ψ中的某一个预想故障ψ。
[0149] 步骤2‑3:利用BPA或者PSASP仿真软件进行故障仿真,得到观测母线的受扰后电压轨迹。
[0150] 步骤2‑4:基于多二元表判据的暂态电压稳定裕度指标,计算故障所在分区各母线暂态电压稳定裕度。
[0151] 多二元表判据可表示为:
[0152]
[0153] 其中,xcr,v(v=1,…,nt)为多二元表中第i个电压门槛值;nt为二元表的个数;Tcr,v表示状态量x超出门槛值xcr,v的最长可持续时间。
[0154] 采用已有的基于多二元表的暂态电压稳定裕度量化指标,对于故障ψ,母线b的暂态电压稳定裕度为:
[0155]
[0156] 式中, 为母线b在故障ψ下的暂态电压稳定裕度;xb(t)为母线b的电压在t时刻的值;tk,tk+1和t′k+1、t′k分别为暂态响应曲线下跌和恢复过程中进入和离开xcr,k和xcr,k+1之间区域的时刻;βk为不同区域内暂态响应曲线在竖直方向跌落面积的权重,其值根据暂态过程中,系统在临界状态下 进行逐级整定。
[0157] 步骤2‑5:在给定的电网运行断面下,对于某一预想故障ψ,利用AVC二级电压分区结果,确定其所在分区并针对分区内的220kV电压等级以上母线利用步骤2‑3所示方法计算各自的暂态电压稳定裕度,其故障所在分区暂态电压稳定指标可表示为:
[0158]
[0159] 式中,Mb,ψ是在故障ψ下母线b的暂态电压稳定裕度,A是分区节点集合;MA,ψ指标的物理含义是预想故障ψ下分区A的暂态电压稳定裕度。
[0160] 步骤2‑6:当分区暂态电压跌落稳定裕度指标数值等于0时,可认为分区内暂态电压稳定处于临界状态。此时区域内各动态无功设备的无功储备即为该区域的最小动态无功储备需求量。如果在实际运行中需要留一些裕度,可设置临界指标数值为一大于0的值[0161] 步骤2‑7:设定故障所在分区的动态无功储备容量的总扰动量为ΔSqA。计算分区无功储备容量的总扰动量对分区A的暂态电压稳定裕度指标的灵敏度,其计算表达式为:
[0162]
[0163] 其中,Sq是分区内动态无功储备总容量;MA,ψ(Sq+ΔSqA)是当分区A总扰动量为ΔSqA时故障ω所在分区A的暂态电压稳定裕度指标;MA,ψ(Sq‑ΔSqA)是当总扰动量为‑ΔSqA时故障ω所在分区A的暂态电压稳定裕度指标。
[0164] 步骤2‑8:计算区域动态无功储备总调整量ΔS′qA:
[0165]
[0166] 其中,ΔS′qA为动态无功储备的总调整量; 是分区A内无功储备容量的总扰动量ΔSqA对分区A的暂态电压稳定裕度指标的灵敏度;MA,ψ是预想故障ψ下分区A的暂态电压稳定裕度。
[0167] 步骤2‑9:为提高实际工程上应用的可行性,令同一个分区内各动态无功储备容量同比例地增加或减少。假设某分区区域内的动态无功储备容量分别是Sq0,Sq1,...,Sqd,d是该分区中动态无功设备的数量。由步骤2‑7所得分区动态无功储备容量的总扰动量为ΔS′qA,则分配给第u个设备的扰动量ΔSqu为:
[0168]
[0169] 根据式(6)可计算该离线场景集下各动态无功设备的无功储备容量:
[0170] S′qu=Squ0+ΔSqu (18)
[0171] 其中,S′qu为更新后的第u个动态无功设备的无功储备容量。
[0172] 步骤2‑10:利用式(9)及式(10)计算更新后的分区暂态电压稳定指标MA,ω,与设定‑3值 比较。若相差数值小于预设的误差限值ε(例如10 )即认为当前各动态无功储备容量为满足当前故障的各动态无功设备最小动态无功储备,形成一个计算结果;若相差数值大于预设的误差限值ε,则返回步骤2‑7,重复2‑7至2‑9进行迭代运算,直至误差小于预设的误差限值ε。
[0173] 步骤2‑11:在当前电网运行场景下,选取预想故障集中的其他故障重复步骤2‑2到2‑10,直至完成预想故障集中所有Nctgy个故障的计算。
[0174] 步骤2‑12:在计算完预想故障集中所有的预想故障后,将所有计算结果按照其对应的故障所在分区进行划分,按照各分区最严重故障确定各分区最小动态无功储备需求计算结果,得到全网最小动态无功储备需求。
[0175] 步骤2‑13:得到以电网运行场景为输入,电网最小动态无功储备需求为输出的一个样本,并存入样本集。判断是否已考虑场景集中所有N个场景。若不达要求,则选取场景集中的其他场景重复运算,即重复步骤2‑1至2‑12,直至样本数量充足;若符合要求则样本集生成完毕。
[0176] 步骤3:构建深度学习神经网络,对网络进行参数调整和训练。
[0177] 包括以下过程:
[0178] 步骤3‑1:构建包含一个输入层,两个隐含层,一个输出层的全连接深度学习神经网络。其中:输入为各电网运行场景特征量,输出为电网所有动态无功储补偿装置各自的最小动态储备需求。
[0179] 步骤3‑2:对所构建的场景集中的每个场景选取特征量作为深度学习模型的输入特征,特征量包括发电机有功功率,发电机无功功率,节点电压幅值,节点电压向量,负荷有功功率,负荷无功功率,支路有功功率,支路无功功率。
[0180] 步骤3‑3:选择Leaky‑ReLU函数作为激活函数。Leaky‑ReLU函数表达式为:
[0181]
[0182] 其中,λ为一在(0,1)内的固定参数,为一超参数。初始时随机选取。
[0183] 步骤3‑4:选择损失函数为:
[0184]
[0185] 其中, 表示输出层第a个神经元的期望输出,ya表示输出层第a个神经元的训练结果,l表示输出层共有l个输出结果。
[0186] 步骤3‑5:将所得样本集按照8:1:1比例划分为训练集,验证集和测试集。
[0187] 步骤3‑6:选择BP训练算法,在(0.001,0.01)范围内随机选取初始学习率参数α。
[0188] 步骤3‑7:结合粒子群算法对学习率α,参数λ进行优化,同时进行对构建的深度学习神经网络的训练;具体过程如下:
[0189] 步骤3‑7‑1:以学习率α,参数λ构成粒子的位置矢量(α,λ),并给出位置矢量各元素上下限。其中学习率上下限范围为(0.0001,0.01),参数λ上下限范围为(0,1)。
[0190] 步骤3‑7‑2:设置粒子飞行速度其范围为(0,2),确定粒子群算法学习因子均为0.5。
[0191] 步骤3‑7‑3:设定预测误差允许数值。采用每次训练结束后验证集的预测错误率作为适应度函数。预测错误率R采用式(21)计算;
[0192]
[0193] 其中,Nerror为预测误差超过允许设定值的数目;Nsum为验证集样本个数。
[0194] 步骤3‑7‑4:针对每个粒子,利用位置矢量的参数λ完成每个粒子的信号正向传播过程。其中,除输入层外每层第in个神经元的输入可表示为:
[0195]
[0196] 其中, 为每层第in个神经元的输入, 为上一层第ju个神经元对该层第in个神经元的连接权重, 为上一层第ju个神经元的输出,kl为训练中的迭代次数,p为上一层神经元的总个数。
[0197] 步骤3‑7‑5:针对每个粒子,利用位置矢量的学习率α完成每个粒子的误差反向传播过程,实现对层与层之间连接权重的更新,其更新公式为:
[0198]
[0199] 其中, 为上一层第ju个神经元对该层第in个神经元的连接权重,LOSS为输出值与实际值的误差,α为学习率。
[0200] 步骤3‑7‑6:完成每个粒子对应模型的训练,计算适应度函数,更新粒子位置矢量。
[0201] 步骤3‑7‑7:重复步骤3‑7‑4至步骤3‑7‑6,直至预测误差允许数值小于预设值,利用粒子群算法确定位置矢量的最优值。
[0202] 步骤3‑8:完成训练,生成该深度学习模型。