风电并网电压无功控制的概率决策方法:从机会约束到工程落地
2026/9/10 19:16:53 网站建设 项目流程

拿到《专业术语统计报告_风电并网电力系统电压无功控制的概率决策方法研究》这个题目时,我第一反应是这名字太长太学术了,但拆开看,里面的每个词都是这些年实际工程里绕不过去的坎。风电并网比例越来越高之后,以前那套确定性电压无功控制逻辑越来越力不从心,风一吹,出力就抖,母线电压跟着飘,传统的AVC按一个固定断面去算无功指令,碰上强波动时段基本就是在打地鼠。最近不少同行在问概率决策方法到底怎么落地,不是论文里那种纯理论推演,而是真的能拿来用的那种。这篇就把我自己的理解、踩过的坑、还有实际工程里验证过有效的思路完整拆一遍。

1. 风电并网后电压为什么"压不住":确定性控制逻辑的问题根源

1.1 风电出力波动的量与质:不只是"多了一台机组"

风电并网对电压无功控制带来的冲击,很多人以为是"扰动变大了",我觉得更准确的说法是"扰动性质变了"。传统火电、水电的出力在调度周期内是可控、可预测的,一条负荷预测曲线配一台机组出力计划,基本就能覆盖一天的运行方式。风电场不一样,它的出力取决于风速,而风速本身是一个强随机过程,一分钟内的波动幅度就能超过装机容量的20%。风功率与风速的三次方近似成正比,风速从9m/s涨到12m/s,出力差不多翻了一倍,这种非线性放大效应让电压问题变得特别尖锐。

更麻烦的是,风电场往往接在电网末端,短路容量小,电压支撑能力本来就弱。同样的无功波动放在主网中心可能只引起0.2kV的电压变化,放在风电汇集站就能造成2%~3%的母线电压偏移。我做过一个内陆风电场的接入评估,110kV母线在风机满发、风速突然下降的工况下,电压能从113kV直接掉到107kV,而AVC系统给SVG的指令还是按五分钟前的断面算出来的,响应根本跟不上。

风电的波动还有一个空间维度:同一风电场内不同机组的出力相关性并不一致。地势平坦的场址,全场机组出力同步性很高;山地场址,前排机组和后排机组的出力可能差出30%。这个特性直接影响概率建模时用单峰分布还是多峰分布,也影响场景生成时要不要考虑空间相关性。

1.2 传统AVC的确定性假设在哪里失效

传统AVC的核心逻辑是"断面驱动":采集当前电网的拓扑、负荷、机组出力,算一次无功优化,下发指令,等下一个断面。这个逻辑成立的前提是断面内的状态足够稳定,比如五分钟内负荷变化不超过2%。风电接入后,分钟级风速变化引起的出力波动就可能超过5%,甚至10%,断面还没刷新,实际运行点已经跑偏了。

我见过一个实用的分析框架:把风电波动折算成等效负荷波动,看它占节点注入功率的比例。比如一个10万千瓦的风电场,接在短路容量80万千瓦的节点上,风速突变导致出力变化4万千瓦,等效电压波动约5%。这个量级早就超出了死区设置,OLTC和电容器组的动作频率会急剧上升,机械寿命直接受影响,而无功补偿设备频繁动作又会反过来引起电压的阶梯式跳变。

所以问题的本质是:控制量(无功补偿和无功调节手段)的变化速度跟不上扰动量(风电出力)的变化速度。要解决这个问题,只有两条路:一是让控制量响应更快,比如用SVG代替电容器组;二是让控制决策本身具备前瞻性,在制定无功计划时就把风电的不确定性考虑进去。概率决策方法走的就是第二条路。

1.3 为什么不能简单"留裕度"解决

初期不少人用简单留裕度的办法:把风电出力预测值上下各留20%的裕度,再做确定性优化。这听起来合理,实际用起来很别扭。裕度取小了,该越限还是越限;裕度取大了,无功补偿设备全部被"预占",真正需要调节的时候反而没有可调容量了。

我印象很深的一个案例:某个汇集站按±20%裕度配置电容器和SVG容量,结果大风天气下,SVG因为裕度预留指令已经接近满发,实际电压偏低需要增发无功时却顶不上去。而预留那部分裕度对应的场景,当天根本没出现。说白了,过程保守和生产保守是两回事,确定性裕度无法区分"什么时候需要保守"和"在哪个方向上保守",概率决策方法用置信水平和概率约束来做这件事,逻辑上是自洽的。

2. 概率决策不是"预测天气":机会约束与场景法的建模内核

2.1 机会约束:把安全要求从"一定满足"改成"大概率满足"

概率决策方法里,最核心的概念是机会约束(chance constraint)。传统确定性电压无功优化的约束是:所有节点电压都必须落在规定范围内,比如0.95~1.05pu。在风电波动条件下,这个约束几乎不可能严格满足,因为风速的随机性意味着总有一个极低概率的场景会让电压越限。

机会约束的表达方式是这样的:不要求所有场景都满足电压约束,只要求满足的概率不小于某个给定值,比如95%或99%。它的逻辑等价于"我允许系统在极端风况下短时越限,但越限的概率可控"。这个和电力系统安全稳定导则里对电压偏差的分级思想是一致的,不同等级对应不同的允许时间和概率。

写成数学形式就是:P(Vmin ≤ Vi ≤ Vmax) ≥ 1 - ε,其中ε是允许的越限概率。这个约束处理起来并不容易,因为节点电压和风电出力之间是非线性关系,电压的分布形式无法显式解析表达。工程上常见的三种处理方式:一是假设电压近似服从正态分布,把机会约束转化为均值和方差的确定性约束;二是用场景法,把概率约束拆成大量具体场景下的确定性约束;三是用条件风险价值(CVaR)做近似,把约束左端从概率改成期望损失。三种方式各有各的适用面。

2.2 正态分布假设的适用性和陷阱

早期文献里大量采用正态假设,因为处理后数学形式漂亮:如果风电出力是正态分布,且电压与出力近似线性关系,那么电压也是正态分布,机会约束可以变成均值加减k倍标准差的区间约束。这个k就是标准正态分布的分位数,置信水平95%时k=1.645,99%时k=2.326。这样就把一个概率约束变成了一个扩展的确定性约束,求解难度大幅下降。

但我在实际项目里发现,正态假设在风速分布偏斜明显的时候误差很大。风速更接近威布尔分布而不是正态分布,尤其是在低风速区间,概率密度峰值偏左,直接用正态拟合会把极值场景的概率严重低估。处理办法是:先做正态性检验,如果偏度和峰度超限,就改用场景法,不要硬套。

我通常的做法是拿风电场至少一年的实测出力数据,分季节、分时段统计分布特征。如果某个时段的出力分布偏度绝对值大于0.5,就不再用正态近似。这个阈值是我自己的经验值,没有标准规范,但对保障决策结果可靠性很有效。

2.3 场景生成与削减:从蒙特卡洛到拉丁超立方采样

场景法是最通用的路径。基本流程分三步:采样、削减、优化。采样阶段用蒙特卡洛或者更好一点的拉丁超立方采样(LHS),从风电出力的概率分布中抽取大量样本,每个样本代表一个可能的出力场景。蒙特卡洛简单但收敛慢,要达到同样的精度需要的样本数大得多;LHS用分层采样保证样本覆盖整个分布空间,同样的样本量下精度高很多。

我做过对比:同样是1000个场景,LHS生成的场景集合在均值、标准差、P90分位数三个指标上与原始分布的误差比蒙特卡洛小一个数量级。而且LHS实现起来不复杂,关键是先生成[0,1]区间的分层样本,再用逆变换法映射到风电出力的累积分布函数上。如果多个风电场之间还存在相关性,就用Cholesky分解对独立样本做相关性处理,这个步骤我在含三个风电场的区域电网里验证过,处理后场景集的相关性矩阵与实测相关系数的偏差能控制在5%以内。

场景削减则是为了控制计算规模。原始采样10000个场景扔进优化模型里,求解时间让人无法接受,所以要用削减算法挑出代表性场景。同步回代削减法(fast forward/backward)是主流选择,它迭代地删除对场景集概率分布影响最小的场景,并把被删场景的概率累加到距离最近的保留场景上。实践中10000个场景削减到200~300个,概率分布的形状保持得很好,求解时间从几小时降到几分钟。

2.4 场景数量的选择:不是越多越好

关于场景数量,很多人有个误解,以为越多越好。场景越多,计算量越大,而优化结果的改善却在递减。我一般用"分布指标收敛法"来确定场景数:先用100个场景算一遍,得到目标函数值和关键约束越限率,再翻倍到200、400,直到两次结果的变化小于0.5%为止。实际项目里,大多数情况下200~500个场景就够用了,再往上加只是在烧求解器的时间。

还有一个容易被忽略的点:场景缩减后,每个场景都带一个归一化的概率权重。在目标函数里,所有场景的目标值要按权重加权求和,而不是简单平均。这个细节如果漏了,求出来的最优解会偏向低概率场景,实际运行时会偏保守。

3. 从数学建模到可求解:决策变量、约束松弛与求解器选型

3.1 决策变量的层次:连续、离散与时序耦合

电压无功控制的决策变量分成三类,每一类的数学性质都不同。第一类是连续变量,包括SVG/STATCOM的无功出力、风电场无功功率指令、连续无功电源的功率因数设置;第二类是离散变量,包括电容器组投切(0/1变量)、电抗器投切、OLTC有载调压变压器的分接头档位(整数变量);第三类是时序耦合变量,主要是连续多个时段内设备动作次数限制,比如"一台电容器24小时内最多动作5次"。

这三类变量混在一个模型里,数学上是一个混合整数非线性规划(MINLP),直接求解非常困难。所以建模的一个核心工作就是"降级":把非线性尽可能转成线性和凸约束,把混合整数部分尽可能压缩规模。

我个人的经验是:离散变量不要全做,先把可连续调节的设备(SVG、风电机组)建模成连续变量,电容器和OLTC作为离散变量但在优化周期内固定某些时段的动作次数限制。这样模型规模可控,也更贴近调度员的实际操作习惯。调度员不会希望系统频繁投切电容器,他们更愿意接受SVG连续微调加电容器分阶段配合的模式。

3.2 潮流方程非线性:二阶锥松弛是当前最优解

电压无功优化的核心约束是潮流方程,它是一组非线性方程,尤其是交流潮流的无功功率方程里,电压幅值与相角耦合在一起,形成非凸可行域。要在优化模型里显式处理这些方程,最常见的两种路径:一是用直流潮流近似,只保留有功和相角,但电压无功问题恰恰是有功问题之外的,直流潮流完全无法描述电压幅值,这条路走不通;二是用二阶锥松弛(SOCP),把潮流方程通过变量代换转成凸约束。

二阶锥松弛的基本思想是:定义两个新的辅助变量来表示电压幅值的平方,再用柯西不等式把复数形式的约束松弛成锥约束。这样非凸的潮流可行域被松弛成一个凸锥,整个模型变成混合整数二阶锥规划(MISOCP),Gurobi和MOSEK都能高效求解。

这里有一个重要的工程判断:松弛后的解能不能还原成真实的潮流可行解。SOCP松弛并不是在所有网架上都是紧的,也就是说,松弛解取到的最优点不在原潮流方程的可行域上。我在一个128节点的实际配网模型上遇到过这种情况,松弛后得到的解电压幅值连基本的节点注入约束都违反,直接拿去执行会出问题。

解法是用"紧性校验":把SOCP松弛得到的解带入原始交流潮流方程,看残差是否在可接受范围。如果残差超限,就加上一个割平面约束重新求解,迭代三四次基本能收敛。我的经验是,在辐射状或弱环网结构里SOCP松弛的紧性很好,但在强环网和重负荷场景下需要额外处理。

3.3 求解器选型与参数调优

模型转成MISOCP后,求解器的选择和工作习惯直接决定效率。我这些年用过的主要是三款:Gurobi、MOSEK、还有开源的SCIP。Gurobi在MISOCP上的表现最稳,默认参数下大部分模型在几分钟内能出最优解或者接近最优的解;MOSEK的锥优化专用算法很扎实,对于纯连续SOCP会稍快,但混合整数场景下不如Gurobi顺手;SCIP的好处是完全开源、可定制性强,适合研究原型,但大规模算例下速度明显慢。

给个实测数据:同样一个含300个场景、80个节点的MISOCP模型,Gurobi 10.0花了142秒找到最优解,MOSEK用了310秒还在优化gap,SCIP跑了20分钟没到1%的gap。所以工程上我几乎无条件推荐Gurobi,哪怕要掏license费用。如果预算紧张,可以先用SCIP跑通逻辑,再用Gurobi做生产计算。

几个实用的求解器调参技巧:MIP gap设到0.1%就够了,没必要追求0.01%,多花的时间与收益不成正比;时间限制建议设30分钟,超过就接受当前最优可行解,风电场景下0.5%左右的gap电价影响完全可以忽略;还有让求解器优先分支离散变量,对投切设备数量这种变量很有效。

3.4 目标函数的实际选择:不只是网损

学术论文里最常见的优化目标是网损最小,但在实际电压无功控制里,目标函数应该更丰富。我强烈建议至少有三个分量:网损成本、设备动作惩罚、电压偏移惩罚。

设备动作惩罚很重要,不加这个惩罚,优化算法会让电容器组频繁投切,虽然网损降了一点但设备寿命损耗和运维成本远超收益。电压偏移惩罚对应的是"尽量把电压维持在更窄的运行带"而不是贴着脸皮在线限边缘跑。把这三个分量加权后作为总目标,权重系数可以通过和调度员座谈来确定,我们这里用的是网损权重0.6、动作惩罚0.3、电压偏移惩罚0.1,运行效果比纯网损目标好很多。

4. 故障扰动下的概率决策扩展:从N-1校核到暂态电压安全

4.1 为什么静态概率决策还不够

纯粹的稳态电压无功优化,即使考虑了风电概率,还是没有覆盖运行中的故障扰动场景。风电并网最典型的事故形态是:外部电网发生短路故障,导致风电场机端电压骤降,风机为了保护自身而脱网,一个大型风电场瞬间失去全部有功和无功支撑,母线电压急剧下降,如果周围没有充足无功补偿,可能引发连锁脱网。

所以概率决策方法不能只管稳态概率,还要考虑预想故障集下的安全性。工程上的做法是把N-1校核纳入概率框架:对电网里每一个可能的三相短路、单相接地等预想故障,评估"在风电随机波动下,系统能否通过故障后的电压安全校验",把所有故障场景的概率和严重程度综合起来,形成一个安全风险指标。

4.2 机会约束与N-1校验如何协同

实际建模里,我采用的思路是分层校核:第一层是正常运行方式下的机会约束优化,保证稳态电压概率合格;第二层是故障扫描,把优化得到的无功计划带到每个预想故障下做时域仿真或静态安全分析,统计电压跌落深度和恢复时间;第三层是风险指标超限时反馈修正,把敏感的预想故障转成额外的确定性约束,加回到优化模型里重新求解。

这个"三层回代"的过程看起来绕,但实施起来很有效。我在一个含两个风电场的区域电网里测试过,纯稳态概率优化给出的无功计划在某个110kV线路N-1故障后,汇集站母线电压跌到0.88pu,恢复时间超过2秒。经过一层反馈修正后,优化模型自动把那个区域的无功补偿容量预置提高了一档,故障后电压恢复时间缩短到0.8秒。

4.3 低电压穿越约束和风机无功能力的利用

风电并网规程对风机有低电压穿越要求(LVRT):电网电压跌落时风机不能直接脱网,要维持并网一段时间并尽可能提供无功支撑。这意味着概率决策优化里,风电场不是只能被动当"波动源",它本身也是无功资源。

建模时要区分风速条件和风机变流器容量:高风速时风机有功出力大,剩余容量有限,能提供的无功也有限;低风速时无功潜力反而更大。所以风电场的无功能力是随出力状态变化的动态区间,这个区间可以直接作为决策模型的输入约束。

我们实测的数据是:一台2MW双馈风机在满发时功率因数为0.95,极限情况能发约0.66Mvar无功;半载时无功能力可以提高到0.97Mvar。整个风电场叠加起来就是一个规模不小的可调资源池。把这些资源用上,能显著减少SVG和电容器组的投资,也是在概率决策优化里最容易被低估的一个收益点。

4.4 动态无功备用约束的工程意义

除了稳态无功和故障后响应,还有一项动态无功储备要求。直白说就是:调节手段不能全部用满,要留出快速应对外部扰动的那部分容量。概率决策模型里如果只优化目标函数不设备用约束,结果往往是SVG出力顶着上限运行,一点动态裕量都没有。等于把钱投了设备,关键时刻用不上。

我给动态备用约束设的标准是:每个电压支撑节点在高、低两个方向至少各留15%的SVG动态无功容量,同时要求至少一个相邻的离散无功设备可以快速投入。在模型里,这个约束转换成SVG出力上下限的缩紧:原上限95%改为80%,原下限5%改为20%。加了这个约束之后,前面说的N-1故障电压恢复时间又缩短了0.2~0.3秒,这套设计必须保留。

5. 工程落地实测:分布假设、参数整定与AVC对接的避坑记录

5.1 概率分布假设之前的"数据体检"

概率决策方法的输入是风电出力的概率特性,但如果数据本身有问题,后面全是白搭。我踩过一个坑:某风电场提供的一年出力数据里,有相当一部分时段标记为满发,后来一查是数据采集系统在风机限功率运行时把指令值当成了实际值,导致出力分布严重失真。

所以做概率建模之前,必须对数据做一轮完整的体检。我一般检查四个维度:数据完整性(缺失率和连续缺失段)、数值有效性(是否超出机组出力曲线限值)、时间一致性(时间戳间隔是否固定)、运行状态过滤(把停机、检修、限电的数据剔除或单独建模型)。这些清洗步骤做完之后,建模用的分布参数才有意义。

5.2 分布拟合与分位数估计的实际操作

风电场出力分布并不固定,一天内不同时段差别很大。我处理过最多的模式是:白天风速相对稳定,出力近似正态或威布尔;夜间和清晨风速波动剧烈,呈现明显的双峰特性,一个峰在低出力区间,另一个在满发区间附近。

针对双峰分布,用单一威布尔拟合效果很差。这时候用混合分布或者干脆用经验分布加场景法。我的实用建议是:不纠结于解析分布形式,直接用核密度估计得到经验CDF,再在CDF上做拉丁超立方采样生成场景。这个方法在实测数据上效果很好,而且实现简单,Python的scipy.stats.gaussian_kde就能直接调用。

5.3 概率结果怎么交给调度员用

概率决策方法产出的是一套"含概率信息的无功计划":比如"电容器组C3在置信度95%下应投入",或者"SVG无功出力设定在12Mvar,同时保持±4Mvar的动态调节带宽"。这种输出形式和调度员习惯的确定性指令差异很大,如果你直接把概率参数堆给调度员,结果是没人敢用。

我试过的有效办法是输出三个层次的建议:第一层是"必执行项",对应概率约束下无论哪个场景都必须投入的设备;第二层是"大概率建议项",对应置信水平内应投入的设备;第三层是"预留项",提供给调度员在实时运行中根据实际风速动态调整的容量范围。这样调度的操作负担没有增加多少,但对风况变化的适应能力明显增强。

5.4 与既有AVC系统的通信与闭环

概率决策优化的结果最终要下发到AVC执行层。这里有一个容易忽略的问题:AVC执行系统通常接收的是明确的二进制或模拟量指令,不具备直接解析概率参数的能力。我们的做法是在AVC上层加一个"概率决策决策器",它负责把优化结果解析成AVC可执行的多目标设定值序列,再通过标准的IEC 60870-5-104或Modbus协议下发给就地控制器。

通信延迟和指令刷新周期也需要在整个链路里计算清楚。概率决策优化一轮的计算时间是2~5分钟,而AVC本身每3~5秒就要刷新一次控制指令。不能把优化结果直接当实时控制指令用,正确的配合方式是:概率决策算的是"慢时间尺度的调度计划",AVC在计划范围内做"快时间尺度的实时微调"。把这两个时间尺度分开后,系统既有了概率决策的全局最优性,又保留了AVC的快速响应能力。

5.5 闭环验证与投运后的指标跟踪

概率决策方法上线后,我强烈建议投运初期做至少三个月的指标跟踪。重点看三个指标:电压合格率是否达到概率约束里设定的置信水平、无功补偿设备的动作次数是否在合理范围、风电场的弃风率是否因为电压制约而增加。

我做过的一个项目里,投运前母线电压合格率是98.2%,投运概率决策优化的前两个月合格率反而降到了97.5%,当时压力不小。排查后发现是初始置信水平设置太高(要求99%),优化结果过度保守,SVG频繁进入饱和区。把置信水平调整到95%之后,合格率稳定在98.8%左右,设备动作次数也降了40%,这个曲折经历说明概率决策的置信水平不是越大越好,要和设备能力、调度要求匹配着取。

最后分享一个我到现在都在用的操作习惯:每次概率决策模型更新后,我一定会把新模型在至少一个历史故障场景上做回放测试,对比"模型给出的无功计划"和"当时实际执行的无功计划"在同样故障下的表现差异。这个回放测试看起来简单,但每次都能发现一些仿真中看不出来的问题,比如某个电容器组的动作逻辑和新的优化结果冲突,或者某台SVG的通信地址在模型里写错了。工程这东西,越是在看似细节的地方翻车,越要把细节当回事。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询