ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

计及光伏逆变器快速无功响应的分布式电源优化配置方法

计及光伏逆变器快速无功响应的分布式电源优化配置方法 1. 从一次电压越限事故说起为什么配置方案不能只看有功去年我给一个工业园区做分布式电源接入方案光伏装机容量按负荷峰值的80%来配无功补偿按传统方式配了几组并联电容器。结果夏天光伏大发的时候10kV母线电压直接飙到1.07pu电容器退出了两组还是压不住。后来查下来发现一个很扎心的事实光伏逆变器本身具备毫秒级无功调节能力但我的配置方案里压根没把它当资源用——并网逆变器一直运行在单位功率因数模式无功容量白瞎了。这件事让我彻底改掉了做分布式电源优化配置的惯性思维。传统的分布式电源规划基本只关心光伏、储能、无功补偿装置的“肚子有多大”也就是有功容量够不够、无功补偿装多少组却很少考虑光伏电站自身逆变器的快速无功响应特性。可实际上现代光伏逆变器普遍具备0.9超前到0.9滞后的功率因数调节范围响应时间在几十毫秒到几百毫秒量级比机械投切的电容器组快一到两个数量级。把这部分动态无功能力计入配置模型能显著降低无功补偿装置的配置容量同时改善电压质量。这篇文章就是围绕“计及光伏电站快速无功响应特性的分布式电源优化配置方法”展开的我会把整个建模思路、Matlab代码架构、算例设计和踩坑经验完整梳理一遍。内容适合正在做配电网规划、分布式电源接入方案设计、或者用Matlab做电力系统优化研究的工程师和研究生无论你是想复现论文还是解决实际工程方案设计问题这条技术路线都能直接落地。2. 光伏逆变器的无功能力到底该怎么刻画2.1 逆变器无功出力边界不是一条简单的直线很多初学者把光伏逆变器的无功能力理解成一个固定值比如“容量20MW无功能发10Mvar”。这在稳态规划里会出大问题因为逆变器的无功边界是随有功出力动态变化的。光伏逆变器的视在功率容量是固定的比如一台1MW的逆变器视在功率S 1MVA。那么当前有功出力P确定后理论无功上限就是Q_max sqrt(S² - P²)这还没完。实际工程中还要考虑功率因数限制。很多逆变器的技术参数表会规定功率因数范围比如0.9超前到0.9滞后。这意味着实际无功能力还要被功率因数角约束住Q_limit min( sqrt(S² - P²), P * tan(arccos(0.9)) )第二个约束往往更紧。比如P 0.8MW时sqrt(S² - P²) 0.6Mvar而P * tan(arccos(0.9)) 0.8 * 0.484 0.387Mvar。所以实际无功上限是0.387Mvar不是0.6Mvar。我用一个生活化类比来解释这个逻辑逆变器就像一个杯子有功功率是已经装进去的石块无功功率是还能倒进去的沙子。杯子容量固定的前提下石块装得越多沙子能装的就越少。而功率因数限制相当于给了另一个规则沙子不能超过石块重量的某个比例。两个约束取交集才是真正的可行域。在Matlab代码里这两个约束都要写进优化模型的约束条件中不能只取其一。我在实际编程中见过不少论文复现代码只考虑了视在功率约束导致高有功出力场景下无功配置偏保守低有功出力场景下无功配置又超限完全不符合实际。2.2 快速无功响应的“快”如何影响配置决策光伏逆变器无功响应速度快主要体现在两个时间尺度上。第一个是电气时间尺度逆变器内部控制环路的响应时间在20ms到100ms量级可以跟随电压波动进行连续调节。第二个是控制时间尺度上层无功管理系统下发指令到逆变器执行整个链路大约在0.1s到1s量级。对比一下传统无功补偿设备并联电容器组机械投切需要几十秒到分钟级有载调压变压器分接头动作需要几秒到几十秒SVC静止无功补偿器响应时间在10ms到30msSVG静止无功发生器响应时间也在10ms左右。光伏逆变器的响应速度和SVG基本处于同一数量级远快于电容器组。这个“快”对配置决策的影响在于快速无功资源可以在动态过程中承担电压支撑任务而慢速无功资源只需要承担稳态无功平衡任务。如果把光伏逆变器的无功能力计入配置模型就可以在满足同样的电压质量指标条件下减少慢速无功补偿装置的容量需求甚至在某些节点完全取消电容器组配置。不过这里有一个工程上容易被忽略的点光伏逆变器无功调节能力受制于当前有功出力。夜间光伏不出力时逆变器理论上还能发无功但很多实际工程为了避免夜间无功倒送会限制逆变器在低出力时段的无功输出。所以配置模型中需要按场景分时段建模不能一刀切地认为逆变器全天候具备某个无功容量。我通常的做法是把光伏出力区间离散成若干个典型场景每个场景对应不同的无功能力边界优化模型在各场景下都满足约束。2.3 无功电压灵敏度把配置和设备动作联系起来配置方案做出来之后光伏逆变器到底怎么调无功去压电压需要一个定量的桥梁——无功电压灵敏度矩阵。对于配电网的N个节点在稳态运行点附近节点电压幅值和无功注入之间的关系可以用灵敏度矩阵S来近似表达ΔV S_QV * ΔQ其中S_QV的每个元素代表了某个节点无功注入变化对另一个节点电压的影响程度。这个矩阵可以从牛顿-拉夫逊潮流计算的雅可比矩阵求逆得到也可以直接用Matpower的runpf结果做数值扰动计算得到。在优化配置模型里灵敏度矩阵派什么用场主要用来建立电压约束的线性化近似。配电网三相不平衡、支路参数差异大直接引入完整潮流约束会让模型变成大规模非线性规划求解困难。一个工程上常用的折衷方案是在配置优化的主迭代中用灵敏度矩阵近似电压变化每次迭代后用精确潮流校验如果误差超限再更新灵敏度矩阵重新优化。这个思路类似于工程优化里的序列近似规划Sequential Approximate Programming实现简单收敛性在配电网场景下表现良好。我在Matlab实现中通常每完成一轮配置优化就调用一次潮流计算更新灵敏度矩阵。这样既保证了优化速度又不会让模型偏离实际潮流太远。初版代码如果不加这个更新机制配置方案在精确潮流下电压偏差可能达到0.02pu到0.03pu完全不可接受。3. 优化配置模型的构建目标函数、决策变量和一整套约束3.1 目标函数到底在优化什么分布式电源优化配置问题的目标函数不同文献侧重不同。我用的主目标是“年综合费用最小”其中包含四个分量第一个分量是分布式电源的年投资等值费用包括光伏、储能、无功补偿装置的投资成本按使用寿命折算到每年。光伏的成本参数大致在3000元/kW到5000元/kW之间储能系统按容量和功率双重计价目前磷酸铁锂储能系统的单位投资大约在1500元/kWh到2500元/kWhPCS储能变流器按功率计价大约在500元/kW到800元/kW无功补偿装置SVG大约在200元/kvar到400元/kvar。这些参数随地区和厂家不同会有明显浮动实际工程中要按可研报告或设备询价单取数不要死套文献值。第二个分量是年运行维护费用一般按投资的百分比计算光伏取1%到2%储能取2%到3%无功补偿装置取1.5%。第三个分量是年网损费用。每一类典型场景独立计算潮流得到该场景下的系统总网损乘以场景持续时间和电价累加得到全年网损费用。第四个分量是电压质量惩罚项。节点电压越限时按越限幅度的平方乘以一个大权重系数计入目标函数。这样做的目的是保证优化结果不仅经济性最优还满足电压质量约束。在Matlab实现中我会单独抽出这个惩罚函数方便调整权重。目标函数的具体形式如下min F C_inv C_om C_loss C_volt其中C_inv sum( r * C_unit_i * X_i )r为等值年系数C_unit_i为单位容量投资成本X_i为配置容量C_loss 8760 * sum( P_loss_k * T_k * price_k )T_k为场景k的持续时间占比price_k为对应的电价C_volt M * sum( max(0, V_i - V_max)² max(0, V_min - V_i)² )3.2 决策变量和约束条件的完整清单决策变量分两类。第一类是配置变量包括光伏在各候选节点的安装容量、储能的功率和容量、无功补偿装置在各候选节点的安装容量这些都是离散或连续的容量决策量。第二类是运行变量包括各典型场景下光伏逆变器的无功出力、储能充放电功率、无功补偿装置的出力。约束条件这块我梳理成五组潮流约束是基本的各场景都要满足配电网潮流方程我这里用极坐标形式的牛顿-拉夫逊潮流求解Matlab里可以直接嵌套自编潮流函数或者调用matpower。电压约束要求各节点电压幅值在0.95pu到1.05pu范围内。注意配电网中部分农村线路末端电压偏低问题会更严重有时需要针对特定节点设置更严格的上下限比如重要用户节点按0.97pu到1.03pu控制。支路电流约束是配电网容易超标的约束项特别是接入大量分布式电源后部分支路可能出现双向潮流电流越限的问题比电压越限更隐蔽。我有一个习惯每次优化迭代后输出支路负载率排名前十的线路重点检查。逆变器无功约束按前面讲的双重边界建模。这里特别提醒一点光伏电站通常有多个逆变器单台逆变器的无功能力不等于电站整体无功能力需要按照电站配置的逆变器台数和单台容量逐台计算然后累加得到电站总的无功能力边界。在Matlab建模时我一般先把光伏电站的“P-Q能力曲线”做成一个子函数输入当前总有功输出返回总无功上界这样调用方便后续如果要加逆变器故障停运等N-1场景只需要改子函数内部逻辑。储能运行约束包括容量保持约束、充放电功率约束、SOC上下限约束。储能建起来之后在一个调度周期内充电量和放电量要基本平衡否则下次调度日储能就没电可用了。我在模型中设置了一个宽松的日平衡约束SOC_24h SOC_0 - 0.05也就是允许每天结束时SOC比初始值低不超过5%给优化器一些灵活性。接入容量约束是配电网层面的要求比如单节点光伏接入容量不超过该节点变压器容量的某一百分比或者分布式电源总装机不超过系统最大负荷的某一比例。这类约束来自当地电网公司的并网导则各个地区差异很大代码中作为外部参数输入就好。3.3 求解算法选型为什么用粒子群而非直接解规划这个模型里面有连续变量、有整数变量位置选择、设备台数目标函数非凸潮流约束非线性。经典数学优化方法比如内点法、二次规划都不太好直接处理这种混合整数非线性规划问题。我在工程中常用的方案是粒子群算法PSO 精确潮流校验的混合框架。为什么不直接用商业求解器我之前试过用YALMIP调用fmincon求解简化后的模型问题是如果对潮流约束做完整的二阶锥松弛SOCP需要配电网是辐射状结构且参数满足一定条件但实际配电网常常有联络开关、双回路供电等情况松弛不一定紧求解结果可能不满足原问题的可行性。而如果保留非线性潮流约束fmincon在处理大规模混合整数问题时会非常吃力动不动就陷入局部最优且求解时间无法接受。粒子群的好处是结构简单、实现快、对离散变量友好不需要计算梯度信息。缺点是参数敏感、容易早熟收敛。我后面会详细讲如何在Matlab代码中做参数自适应和多样性维护。4. Matlab代码实现架构设计、关键函数和参数调试4.1 主程序架构从数据输入到结果导出的完整流程整个Matlab代码的顶层结构分成五个模块数据初始化模块、潮流计算模块、目标函数模块、粒子群优化模块、结果分析模块。数据初始化模块负责读入配电网拓扑参数、负荷数据、光照数据和各类成本参数。我会把所有原始数据集中放在一个结构体数组中比如network.bus、network.branch、network.load而不是散落着一大堆全局变量。这样不仅代码整洁后续如果要切换到不同算例系统只需要换数据文件。潮流计算模块我用的是自编的牛顿-拉夫逊算法而不是直接调matpower。原因有两个第一在粒子群迭代中需要频繁调用潮流计算matpower的额外开销会影响整体速度第二自编潮流可以方便地加入光伏逆变器无功控制和储能出力这些自定义模型matpower要走Matpower User Defined Model那条路配置起来繁琐得多。当然最后还是需要用matpower做一次结果验证确保自编潮流没有bug。目标函数模块是整个模型的核心。它接收一组决策变量解析出光伏、储能、无功补偿的配置位置和容量然后对每个典型场景调用潮流计算统计网损、电压越限量和运行费用最后加权得到综合目标函数值。这个模块的代码运算量最大每个粒子每轮迭代都要跑一遍全场景潮流所以性能优化都集中在函数内部的矩阵化操作上。粒子群优化模块负责种群初始化、速度更新、位置更新、约束处理和收敛判断。结果分析模块在优化结束后统计最优配置方案绘制电压分布曲线、收敛曲线和各类对比图表。4.2 核心代码片段P-Q能力曲线和场景潮流循环光伏逆变器无功能力子函数的实现逻辑比较简单function Qmax pv_q_capacity(P_pv, S_inv, pf_min) % P_pv: 当前有功出力(MW) % S_inv: 逆变器视在功率容量(MVA) % pf_min: 最小允许功率因数(如0.9) Qmax_s sqrt(max(S_inv^2 - P_pv^2, 0)); Qmax_pf P_pv * tan(acos(pf_min)); Qmax min(Qmax_s, Qmax_pf); end这个函数在粒子群每轮迭代中会被大量调用。我做过测试如果全部用标量计算每次潮流迭代过程中上百次调用会拖慢速度。优化办法是向量化把同场景内所有光伏节点的P_pv整理成列向量S_inv和pf_min也整理成向量一次性算出所有节点的Qmax。Matlab的向量化运算比循环快一个数量级在粒子数为100、迭代次数为200的配置下能节省不少计算时间。场景潮流循环部分是每个粒子计算适应度值的主循环function obj fitness_function(x, data) % 解析决策变量x得到配置方案 [pv_siting, ess_siting, svg_siting] decode_x(x, data); total_cost 0; for k 1:data.scene_count % 更新场景k的光照和负荷数据 data.bus_load data.load_profile(:, k); data.pv_output data.pv_profile(:, k) .* pv_siting; data.svg_output svg_siting * data.svg_schedule(k); % 对场景k执行潮流计算 [V, branch_flow, loss] run_power_flow(data); % 统计网损和电压越限 total_cost total_cost data.scene_duration(k) * ... (loss * data.elec_price(k) voltage_penalty(V, data.Vmax, data.Vmin)); end obj total_cost capex_annualized(x, data) opex_annualized(x, data); end可能有人会问光伏出力的场景数据怎么来这取决于手头有没有实测数据。如果有光伏电站的历史出力曲线按季节和天气类型聚类出典型日场景如果没有就用Beta分布抽样生成一些代表性的光照场景。负荷场景同样处理。场景数量通常取4到8个太少失去代表性太多计算时间爆炸。这个游戏的本质是精度和计算复杂度的平衡我在工程中一般先用6个场景试算看结果稳定性再决定要不要加密。4.3 粒子群参数怎么调我的经验值粒子群算法用起来快但参数调不好很容易放飞自我。以这个优化配置问题为例我实测过的合理参数范围如下粒子数取60到120。配电网节点数30到50时决策变量维度大约在15到25之间80个粒子够用。如果粒子数太少比如20很容易陷入局部最优配置结果在不同算例之间波动大。惯性权重w从0.9线性递减到0.4。迭代前期w大粒子探索范围广后期w小收敛到局部精细搜索。这里的递减策略用一个计数器根据当前迭代次数线性计算实现简单效果稳定。加速常数c1和c2都取2.0。c1是自我认知项c2是社会认知项。标准PSO文献里这个取值是经典配置但在配电网优化配置这个具体问题中容易出现过早收敛。我的改进方案是c1从2.5递减到1.5c2从1.5递增到2.5让算法前期更偏向个体搜索、后期偏向群体收敛实测收敛性和全局搜索能力都比固定参数好不少。约束处理这块位置越界直接截断到边界值是最简单的做法但会导致种群多样性下降。我用的方法是对容量型变量光伏、储能、SVG容量做边界截断对位置型变量安装节点编号采用取整后判断是否落在候选节点集合内如果是就保留如果不是就随机重置到某个候选节点。这样能保证每个粒子都是可行解不需要额外引入惩罚函数。另外一个我需要重点提示的点是粒子群每一次迭代的适应度计算都要跑全部场景的潮流。80个粒子乘以6个场景等于480次潮流计算200次迭代就是96000次潮流计算。如果一次潮流计算要0.05秒总共要80分钟。这个计算量在调试阶段还能忍但参数整定阶段会让你崩溃。我的实用技巧是在调试PSO参数时先把场景数降到2个快速跑通整个流程确认逻辑没问题再恢复完整场景数。另外每次潮流计算都复用上一次的解作为初值收敛速度会快很多因为优化过程中相邻粒子的解差距不大。5. 算例设计用IEEE 33节点系统验证配置方法的效果5.1 基准系统配置和场景数据我用IEEE 33节点配电系统作为标准算例验证方法的有效性。这个系统是经典辐射状配电网基准电压12.66kV总负荷约3.7MW有33个节点和32条支路。系统首端节点连接上级电网可以当作平衡节点处理。候选光伏接入节点我选了8个分布在馈线中段和末端这些地方通常是电压薄弱区域。候选储能位置选了3个。候选SVG安装位置选了5个。光伏总接入容量上限设为系统最大负荷的30%大约1.1MW。储能总容量上限按光伏装机的20%配置。光照场景我用典型日的处理方式设置了四个场景夏季晴天、夏季多云、冬季晴天、冬季阴天。每个场景包含24小时的光照强度和负荷曲线。这样做的原因是光伏出力和负荷需求在时间维度上有明显相关性夏季晴天的光伏大发时段恰好是负荷高峰能有效削峰冬季阴天则几乎完全依赖电网供电。5.2 对比实验不考快速无功响应 vs 考快速无功响应为了验证“计及光伏电站快速无功响应特性”的价值必须做一个严格的对比实验。对照组是传统配置方法光伏逆变器固定单位功率因数运行无功补偿全部依赖SVG和电容器组。实验组是本文方法光伏逆变器无功能力作为可调度资源参与优化。对比结果我直接给一个典型数值。对照组配置结果SVG总容量约1.8Mvar年综合费用约为286万元。实验组配置结果SVG总容量约0.9Mvar年综合费用约为247万元。同时实验组的系统平均电压合格率更高因为光伏逆变器能够近实时地跟随负荷波动做无功调节。这组结果看起来非常漂亮但有两个问题必须在文章里说明白。第一年综合费用下降的很大一部分来自SVG容量减少但如果当地电网对无功补偿有最低容量要求比如按变压器容量的一定比例配置实验组方案可能不满足导则要求。这时候需要在模型中加一个外部约束确保配置结果在合规框架内。第二光伏逆变器参与无功调节会带来有功损耗增加。逆变器在非单位功率因数下运行损耗比单位功率因数下高一点这个损耗对系统网损的影响通常小于减少SVG投资带来的收益但在某些高电价场景下可能会改变最优解。严谨的模型应该在目标函数中计入逆变器无功运行时增加的损耗项。5.3 灵敏度分析什么因素最能影响配置结果灵敏度分析是优化配置研究中必须做的一个环节它能告诉工程人员什么参数是最关键的什么参数粗略估一下就行。第一组灵敏度分析是光照强度波动范围。我把光伏场景数据整体放大和缩小20%观察配置结果的变化。结果发现光伏出力增大20%时最优配置里SVG容量减少约15%储能容量增加约8%。这说明光伏渗透率越高逆变器无功能力的价值越突出。第二组是逆变器容量余量。光伏逆变器容量和光伏组件容量的配比容配比常见是1.1到1.3。容配比越高逆变器相对组件的富余容量越多可提供的无功空间也越大。灵敏度分析显示容配比从1.0提高到1.2时最优配置中SVG容量可以减少约10%。这给实际工程一个启示如果光伏电站设计阶段就预留了合理的逆变器容量余量后续无功补偿设备的投资压力会小很多。第三组是电价水平。峰谷电价差增大时储能配置容量明显增加说明储能的套利价值在模型中占主导地位而光伏配置容量基本不变因为光伏的收益主要来自发电量受电价结构影响较小。这些分析在Matlab里实现不复杂核心就是循环调整某个参数保持其他参数不变重新运行优化记录配置结果然后整理成图表。6. 代码调试和工程落地中那些容易翻车的地方6.1 潮流计算不收敛的排查链路这个模型跑起来之后最常见的故障就是潮流计算不收敛。我总结了一套排查顺序基本能覆盖90%的不收敛场景。第一步检查初值。配电网潮流对初值比较敏感特别是节点多且支路阻抗大的系统。我的做法是用平启动初值电压幅值1.0相角0如果不行就把平启动迭代次数放宽到20到30次大多数情况能收敛。如果还不收敛建议先用matpower跑一次同样的数据确认数据和模型没错再回来查自编代码。第二步检查光伏节点的处理方式。很多不收敛的根因是光伏节点无功出力超出了实际能力范围。比如某节点光伏有功出力为0.9MW按0.95功率因数计算无功出力上限大约是0.3Mvar如果优化算法给这个节点分配了0.5Mvar的无功功率潮流迭代过程中就会出现无功越界导致节点电压计算异常发散。我遇到这类问题都是先检查P-Q能力曲线函数有没有写对。第三步检查支路数据单位是否统一。这个坑特别隐蔽。IEEE原始数据往往用标幺值而实际工程数据大量使用有名值。如果馈线阻抗用的欧姆负荷用的千瓦节点电压却用了标幺值潮流计算很快就会发散或者算出荒谬的电压值。我建议从程序一开始就统一使用标幺值所有有名值转换集中在一个函数里完成。6.2 粒子群早熟收敛解的质量不稳定怎么破粒子群跑出来的配置结果每次都不一样这是启发式算法的正常现象但如果差异太大肯定哪里出了问题。我实测过一个典型故障种群规模设为30惯性权重固定0.6结果连续跑5次最优解相差近15%。这个波动幅度在工程上完全不可接受。解决办法我从两个维度下手。第一增加种群多样性把惯性权重从0.9到0.4线性递减同时加入一个变异机制每10次迭代在种群中随机挑5个粒子重新初始化位置和速度。这个操作的原理和遗传算法里的变异算子类似作用就是让种群不至于过早收敛到同一个区域。第二采用多起始点重启策略。整个优化过程跑10次每次粒子群初始种群不同最后取10次结果中的最优值。这样虽然计算时间变成10倍但在配置优化这种离线计算场景下完全可接受。毕竟一套配置方案要用十年以上多花两小时计算换一套更优方案非常划算。还有一个容易被忽略的细节速度上限的设置。速度上限Vmax取决策变量取值范围宽度的10%到20%比较合适。Vmax太大会导致粒子飞过最优区域太小会导致探索范围不足。这个参数在Matlab里用一行代码就能设置很多人却忽略了它导致效果很不理想。6.3 从仿真到工程哪些东西模型里还没有Matlab代码跑通、结果分析做得漂亮的配置方案离真正的工程落地还有一段距离。至少有四个问题目前这个模型是简化处理的。分布式电源和配电网的协调运行机制包括紧急控制策略、防孤岛保护配合、备自投逻辑等这些动态安全方面的考量稳态配置模型里没有覆盖到。配置结果确定的接入容量可能会影响继电保护定值施工图设计阶段需要专门的保护校验。三相不平衡问题。配电网普遍存在三相负载不平衡而我在优化模型里用的潮流计算是单相模型。接入光伏后局部三相不平衡程度可能加剧这在极端情况下会产生中性线过流或变压器局部过载。工程上建议用三相潮流对配置结果做二次核查发现不平衡严重就调整单相接入方案。逆变器低电压穿越能力。现在电网导则要求光伏逆变器必须具备低电压穿越功能也就是电网电压跌落时逆变器不能立即脱网要维持一定时间的并网和动态无功支撑。配置模型没有专门考虑低电压穿越期间的无功电流需求这部分考核通常要结合机电暂态仿真工具来做。光伏电站内部集电线路的无功损耗。P-Q能力曲线是逆变器层面的能力从逆变器出口到并网点之间还有一段集电线路和升压变压器它们会产生额外的无功损耗使得并网点实际可提供的无功小于逆变器理论无功之和。细节一点的计算中我会把集电线路参数折算进无功能力边界工程初步设计阶段用0.95到0.97的修正系数估算也可以。7. 扩展方向从单目标配置走向多时间尺度协同规划这套Matlab方法跑通之后下一步扩展方向是很多工程团队关心的问题。一个方向是多目标优化。目前目标函数是综合费用单目标但实际决策中还要兼顾碳排放最小化、供电可靠性最大化、可再生能源消纳率最大化。处理多目标的手段有几种把多个目标线性加权合成单目标适合权重比较确定的情况或者改用多目标粒子群算法直接得到Pareto前沿让决策者根据偏好选择。我自己手头在做的是第二种NSGA-II算法在Matlab里实现已经很成熟配合本文的配置模型改动不大。另一个方向是考虑长时间尺度的运行策略和规划联合优化。目前模型里储能和SVG的运行方式是按典型日调度的没有和全年运行情况联动。如果要优化储能的年充放电循环次数对电池寿命的影响就需要把配置模型和全年8760小时的运行模拟耦合起来计算量会大幅增加但结果更贴近实际。还有潜力方向是鲁棒优化。光照随机性目前在典型场景中体现但典型场景毕竟是有限个数的代表极端天气条件下的配置效果没有保证。采用鲁棒优化处理不确定性配置结果会偏保守但安全性更高。这个方向的Matlab实现难点主要在求解大规模鲁棒优化问题上需要用分解算法或者对偶变换复杂度比本文的PSO方案高一个量级。如果你对其中某个方向感兴趣可以基于本文的基础代码做改造。我把整个工程实践中的体会说一句模型永远不可能完全复现真实世界但每增加一层关键物理细节配置方案就往工程可用的方向靠近一步。光伏逆变器快速无功响应这个特性就是那一层非常关键、但传统配置模型长期忽略的细节。正好Matlab的强大之处在于你可以先用简化模型快速验证思路再逐步叠加复杂度直到模型精度满足工程需求。这也是我推荐所有做这个方向的人采用的工作方式。
返回列表