ARTICLE DETAIL

资讯详情

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

基于非对称纳什谈判的多微网电能共享运行优化策略全解析

基于非对称纳什谈判的多微网电能共享运行优化策略全解析 搞过多微网项目的人应该都有同感单个微网孤岛运行光伏大发的时候用不完负荷高峰的时候又不够用储能配小了帮不上忙配大了成本直接吃掉本来就不多的收益。把相邻几个微网用联络线连起来做电能共享本来能同时解决弃光和购电成本两个问题但真正落地的时候你会发现最难的不是调度算法而是“省下来的钱怎么分”——分法不公平联盟说散就散。我最近把基于非对称纳什谈判的多微网电能共享运行优化策略从博弈建模、分布式求解到算例验证完整实现了一遍今天把整条链路摊开讲清楚。文章里的模型、参数和坑都是我实测后整理出来的适合正在做微网群能量管理、园区多主体协同或者研究P2P电力交易的同行参考。1. 项目概述多微网电能共享为什么需要一套“分钱规则”1.1 电能共享的本质省钱靠的是电价差和时序互补先说最基础的问题多微网之间共享电能钱到底从哪来答案是两个来源叠在一起一个是电价差一个是负荷时序互补。光伏上网电价通常只有0.4到0.5元/度而高峰时段从电网购电要1.2元甚至更高这中间有七八毛的差价。如果一个微网午间光伏大发、本地用不完与其以0.45元把电卖给电网不如以某个中间价比如0.7元卖给旁边正在缺电的邻居微网。卖方多赚了0.25元买方省了0.5元双方都有好处。这就是电能共享最原始的经济动力。时序互补就更直观了。居民区微网晚高峰负荷大商业楼宇微网白天负荷大工业园区可能午间负荷回落但光伏发电刚好冲高。三类负荷曲线错开之后总体的净负荷曲线会变得更平缓对储能的依赖、对大电网的峰值购电都会显著降低。我把这三个微网放在一起做联合调度之后总购电成本能降下来一成半到两成这种收益不是靠某一台设备的技术升级而是靠“多主体之间的配合”。但这只是技术上的“可共享空间”。真正决定这个共享能不能长期运转下去的是另外一个问题省下来的钱在几个产权主体之间应该怎么分。每个微网都有自己的业主都会问一句“我凭什么让我的储能帮你削峰、让我的光伏余电卖给你”如果没有一套各方都认可的分配规则联盟一次就能谈崩。而这正是纳什谈判理论要解决的事情也是我这个项目里最核心的切入点。1.2 集中优化和博弈分配为什么选纳什谈判而不做全局调度刚接触这个方向的人通常第一反应是直接做一个集中式全局优化不就行了吗把所有微网的负荷、光伏、储能参数收集上来用一个调度中心统一算总成本最小然后按某种比例把好处分下去。这个思路在同一个运营商内部完全可行但换到跨产权主体的多微网场景就寸步难行。首先是隐私问题。任何一个独立业主都不愿意把完整的负荷曲线、储能配置、成本参数交给别人更不愿意交给一个中心机构。其次是信任问题。集中式优化算出来的结果各微网无法验证自己分摊的成本是否合理一旦某个微网觉得“我被安排了”这个系统就很难继续运作。所以在多微网电能共享里主流做法是走博弈论的路线。我对比过几种常见的博弈方案各自的优缺点放在一起看会很清晰方案基本思路优势痛点集中式全局优化单一中心统筹所有微网全局最优、实现直接隐私敏感、参数难共享、缺少分配规则Shapley值分配按边际贡献给每个微网分收益公理化的公平理论完备要计算2的n次方个边际组合微网一多就爆炸主从博弈Stackelberg一个领导者定价其他微网跟随适合有中心交易商的场景地位天然不平等弱势方容易有被剥削感纳什谈判所有微网协商共同追求最大合作剩余同时兼顾效率与个体理性可分布式求解需要确定谈判破裂点对称假设过于理想纳什谈判能胜出核心原因是它把“公平”和“效率”放在同一个模型里处理。纳什谈判的解天然满足帕累托最优——不存在还能让某个微网更好、同时不损害其他人的方案同时满足个体理性——每个微网参与联盟得到的收益不会比不参与时更差。这两个性质恰恰是合作联盟能稳定存续的最低要求。我在后面的模型里会再展开讲这两个性质的数学表达。1.3 从“对称”到“非对称”谈判权重到底改变了什么标准的纳什谈判有一个隐含假设所有参与者的谈判地位完全平等。放到多微网场景里就相当于默认每个微网在谈判桌上说话的分量一样。但现实根本不是这么回事有的微网带了大容量储能愿意承担联盟里大部分削峰填谷任务有的微网光伏装机很大是联盟清洁电量的主要贡献者还有的微网自身负荷高是联盟里最大的买家。这些微网对联盟“蛋糕”的贡献完全不同如果最后大家平分收益出力多的微网必然觉得吃亏。非对称纳什谈判做的事就是给每个微网引入一个谈判权重α_i权重越高这个微网在收益分配中占的份额越大。从模型上说就是把原始的纳什乘积从Π(Δ_i)改成Π(Δ_i)^α_i权重变成指数直接影响收益分配的边际弹性。我做完一组对照试验之后对这一点感受特别深只是把某个微网的权重从1调到3它的收益占比就可以从三分之一拉到六成左右。权重参数对分配结果的牵引力就是这么直接所以后面我会专门用一节来讲权重到底应该怎么定这块比算法本身更容易引发争议。2. 模型怎么搭双层框架与关键公式2.1 第一层模型联盟运行优化先算出可分的“蛋糕”整个优化策略采用两层结构第一层先把联盟的总运行成本压到最低第二层再做收益分配。这个顺序不能反因为如果一边谈分配一边调调度各方都会为了多分一点而去操纵自己的申报数据问题会变成非凸并且非常难解。先优化运行、再分配收益好处是“蛋糕”的总大小是客观算出来的分配环节只是决定切法。先定义基本符号微网集合N{1,2,…,n}调度周期T取24小时。联盟第一层运行优化模型的目标函数是min Σ_{i∈N} Σ_{t∈T} [ a_i(P_{i,g,t})² b_i P_{i,g,t} λ_b,t P_{i,buy,t} − λ_s,t P_{i,sell,t} c_bat(P_{i,ch,t} P_{i,dis,t}) ]其中P_{i,g,t}是微网i在t时刻微型燃气轮机的出力用二次函数模拟燃料成本λ_b,t和λ_s,t分别是大电网的购电价和上网电价二者不相等这个价差是电能共享收益的关键储能充放电功率计入一个按功率折算的损耗成本c_bat避免电池被无意义地频繁充放。约束条件分几类。功率平衡是最核心的等式约束P_{i,pv,t} P_{i,wt,t} P_{i,g,t} P_{i,dis,t} P_{i,buy,t} P_{i,L,t} P_{i,ch,t} P_{i,sell,t} Σ_{j≠i} P_{i,j,t}左边是电源和购电右边是负荷、储能充电和对外供电。这里P_{i,j,t}表示微网i向微网j输出的功率它是耦合变量必须满足方向守恒P_{i,j,t} P_{j,i,t} 0这个等式约束非常重要它正是分布式求解时需要用ADMM解耦的那部分。储能用标准的SOC递推描述SOC_{i,t1} SOC_{i,t} (η_ch P_{i,ch,t} − P_{i,dis,t}/η_dis) Δt / E_i同时有充放电功率限值、SOC上下限、联络线传输容量、燃气轮机爬坡速率等不等式约束这些和普通微网优化调度的约束完全一致不再逐个展开。我实际操作中这里有一个必须强调的细节储能SOC的终端约束一定要加。如果不强制SOC回到初始值优化器会“聪明”地把一天最后一个时刻的储能全部放空成本显得很低但这种结果完全不可复现第二天根本没有电可放。我在第5章会把这个放进避坑清单。解完第一层得到每个微网在联盟中的运行成本C_i^coal以及联盟总成本C_coalΣ C_i^coal。这个C_coal就是“蛋糕”的总下界第二层要分的就是它和独立运行成本之间的差。2.2 第二层模型非对称纳什谈判怎么分蛋糕第二层的关键是确定谈判破裂点。所谓破裂点就是每个微网不参与联盟、单独与电网交易时能得到的最优运行成本记作C_i^0。这个值需要先把每个微网单独做一次优化调度算出来很多人会把这一步漏掉结果后面所有收益分配都没有参照基准。接下来引入内部结算变量。设x_i为微网i从联盟内收到的净结算金额收到为正、付出为负满足Σ x_i0也就是联盟内部不创造钱、也不销毁钱只是转移支付。这样微网i的最终净成本是C_i^coal−x_i参与联盟获得的合作收益为Δ_i C_i^0 − C_i^coal x_iΔ_i必须大于等于0这就是前面说的个体理性约束——每个微网都不能比单干更亏否则它会退出联盟。联盟的总收益自然就是Δ_totalΣ C_i^0−C_coal。非对称纳什谈判问题写成max ∏_{i∈N} (Δ_i)^α_is.t. Δ_i ≥ 0Σ_{i∈N} x_i 0这里α_i就是第1章说的谈判权重。直接处理乘积形式不方便取对数之后目标变成max Σ_{i∈N} α_i ln(Δ_i)在转移支付不受物理约束干扰的情况下这个问题的KKT条件会给出一个非常漂亮的结果。设拉格朗日乘子μ最优性条件为α_i/Δ_iμ于是Δ_i (α_i / Σ_{k∈N} α_k) · Δ_total说白了就是每个微网分到的合作收益占联盟总收益的比例恰好等于它的谈判权重占全体权重之和的比例。收益分配从一个讨价还价问题变成了一个“按权重切蛋糕”的问题物理意义非常清楚。我在算例里验证这个公式时把所有微网的Δ_i单独核了一遍确实完全吻合。需要注意这个比例分配公式成立的前提是第二层不再受物理约束限制也就是“分钱”和“调度”完全解耦。如果模型里还要同时满足某些过网功率约束或联络线约束那就需要在第二层也挂上ADMM迭代不能直接用闭式解这一点在论文里经常被一笔带过实操时却很容易踩坑。2.3 谈判权重的确定方法这块决定结果走向权重怎么定是整个方案里最容易被忽视、又最影响落地效果的问题。我见过不少项目把α_i全部设成1等于退化成对称纳什谈判那当然也能跑通但就完全没体现非对称设计的初衷。在实践中α_i应该由可量化、可验证的指标来定义而不是拍脑袋。常用的确定方式有几种按储能容量归一化α_i ∝ E_i^ESS谁带的可调储能多谁在削峰填谷中承担的责任大分收益时权重就高。这种方式适合联盟里储能资源差异明显的场景。按可再生能源装机归一化α_i ∝ P_i^RE光伏和风电装机大的微网提供清洁电量的贡献多权重相应抬高。这个指标最容易被所有参与方接受因为装机数据是公开透明的。按独立运行成本归一化α_i ∝ C_i^0原本单干时成本越高的微网加入联盟后释放的边际收益空间越大在谈判中理应获得更多话语权。按最大净交换功率归一化α_i ∝ Σ_t |P_i,net,t|用微网与联盟内外交换电能的总规模衡量它的交易活跃度和重要性。不管用哪种一定要先归一化比如让所有α_i之和等于微网数量n这样在对称情况下α_i1解释起来干净。还要强调一点权重必须在优化前由各参与方共同协商确定不能等调度结果算出来之后再“事后反推”一个能让某方多拿的权重这样会严重破坏信任。我项目里最后采用的是“可再生能源装机储能容量”的加权组合因为这两个数据最容易审计参与方扯皮最少。3. 分布式求解ADMM如何让每个微网“各自算账”3.1 为什么必须分布式隐私和扩展性两个硬约束第一层联盟优化模型里有耦合约束P_{i,j,t}P_{j,i,t}0这意味着任何两个微网之间的交换功率必须大小相等、方向相反。集中式求解当然可以但前面已经说过跨主体场景下没人愿意把内部数据交出来。分布式的意义就在这里每个微网只保留自己的目标函数和约束只和邻居交换“边界变量”——也就是过网功率和对应的拉格朗日乘子——完全不暴露负荷曲线、储能状态和成本系数。扩展性也是一方面。集中式求解的复杂度会随着微网数量和调度时段增加快速上升而ADMM把大问题拆成若干个小的子问题每个微网自己算自己的理论上是可以并行跑的。我实测三微网场景时集中式和分布式差别不大但扩到七八个微网之后分布式的求解时间优势就很明显了而且单个微网的子问题哪怕用商业求解器也没问题。3.2 ADMM迭代步骤三轮重复直到收敛ADMM的做法是为每条耦合约束引入一个辅助变量z_{ij,t}和一个拉格朗日乘子λ_{ij,t}构造增广拉格朗日函数L_ρ Σ_i f_i(x_i) Σ_{t,ij} [ λ_{ij,t}(P_{i,j,t} − z_{ij,t}) (ρ/2)(P_{i,j,t} − z_{ij,t})² ]迭代分三步标号k表示迭代次数第一步每个微网独立求解自己的子问题。给定上一步的z^k和λ^k微网i最小化本地目标加上和邻居之间的惩罚项得到新的P_{i,j,t}^{k1}。这一步完全本地化可以并行。第二步更新辅助变量。过网功率的一致性要求P_{i,j,t}和P_{j,i,t}大小相等、方向相反所以辅助变量的更新是取两个方向的平均z_{ij,t}^{k1} (P_{i,j,t}^{k1} − P_{j,i,t}^{k1}) / 2第三步更新拉格朗日乘子λ_{ij,t}^{k1} λ_{ij,t}^k ρ (P_{i,j,t}^{k1} − z_{ij,t}^{k1})说白了就是谁报的交换功率比双方共识高下一轮就通过乘子给它一个“价格信号”逼它往下调。三轮循环反复跑直到交换功率的偏差足够小。第二层的收益分配问题如果也需要保持物理约束同样可以套用这套ADMM框架迭代结构完全一样。我自己的经验是第一步子问题的求解要快否则整个迭代会被拖死。微网内部的储能约束、爬坡约束如果都用线性化处理子问题是二次规划商业求解器几秒就能解完如果一开始就上混合整数比如把燃气轮机的启停变量放进来迭代一次要几十秒实际调参的时候会非常痛苦。3.3 收敛判据与参数选择光看目标函数很多坑ADMM的收敛判据不能只看目标函数值变不变严格的做法是看原始残差和对偶残差r^k ||P^k − z^k||₂s^k ρ ||z^k − z^{k−1}||₂停止条件为r^k小于ε_pri且s^k小于ε_dual。ε可以用绝对容差加相对容差来设置比如ε_pri√m·ε_absε_rel·max(||P^k||₂, ||z^k||₂)。我在三微网24小时、一小时一个点的算例里一般迭代六七十轮就能达到10的负4次方量级的精度。罚参数ρ的选择是实操中最影响体验的部分。ρ太大收敛平稳但步长小几百轮都磨不完ρ太小变量会在中间来回震荡目标函数忽高忽低看起来像不收敛。我的经验是从ρ1开始试震荡就把ρ乘10收敛太慢就除10。更省事的办法是采用自适应罚参数——根据原始残差和对偶残差的比值每几轮动态调节ρ能省掉大量手调时间。另外用独立运行的最优解作为迭代的初始点能显著减少前期振荡这个热启动技巧我强烈建议加上。4. 仿真验证从算例设计到结果解读4.1 算例配置三个微网、24小时、三组对照场景仿真算例用一个三微网的小系统但特意把负荷特性拉开差距让电能共享的价值体现得更明显。MG1是工业园区白天负荷高、光伏装机大午间有明确的光伏盈余MG2是居民区晚高峰负荷突出配了较大的储能MG3是商业楼宇负荷集中在白天工作时间有光伏也有储能。基础参数如下参数MG1工业园MG2居民区MG3商业楼峰值负荷kW650450380光伏装机kW500200300储能容量/功率kWh/kW300/100400/200300/150微型燃气轮机kW300无200大电网采用分时电价峰时1.2元/度9:00-12:00、17:00-22:00平时0.7元/度谷时0.35元/度23:00-7:00光伏上网电价0.45元/度。微网间的联络线容量统一设为200kW。调度时段取1小时一共24个点。我跑三组场景S0是独立运行完全不共享S1是对称纳什谈判α全部为1S2是非对称纳什谈判α按光伏装机占比归一化后为0.5/0.2/0.3。4.2 结果对比联盟成本一样但分配结果完全不同一组典型的测试结果如下。独立运行时三个微网的总成本约为10860元/天加入电能共享之后联盟总成本降到约8840元/天节省了2020元降幅约18.6%。这部分节省主要来自两个渠道一是光伏余电不再低价上网而是以协商价卖给缺电的邻居二是联合调度让储能的使用更加集中减少了从电网高价购电的时段电量。有意思的是S1和S2两场景下联盟总成本完全一样因为第一层运行优化并不受权重影响权重只作用于第二层的收益分配。看具体分配微网独立运行成本元S1对称分配收益元S1最终成本元S2非对称分配收益元S2最终成本元MG14200700350010103190MG2320062025804042796MG3346070027606062854对称场景下MG1和MG3各分到700MG2分到620微网间的差异不大非对称场景中因为权重按光伏装机比例设定为0.5/0.2/0.3MG1作为光伏盈余大户分到了1010元超过总收益的一半而MG2因为光伏装机小、权重只有0.2分到的收益降到404元。每一个微网的最终成本都比独立运行时更低个体理性约束都满足联盟可以稳定维持。除了成本削峰填谷的效果也值得关注。S0场景下午间光伏弃电率大约8%S1和S2场景弃光都降到接近0与大电网的峰时购电量从S0的约1700kWh降到S1/S2的约1050kWh整整少了近四成。储能也在联合调度下发挥了更高的利用率不再出现某个微网储能满了、旁边另一个微网却在高价购电的滑稽局面。4.3 敏感性分析权重变化如何牵动收益分配为了看清权重的影响力我做了一组敏感性试验把MG2的权重α₂从1逐步调到3MG1和MG3的权重保持不变。根据前面的闭式解MG2的收益占比会从对称时的约33%一路抬到α₂3时的60%而MG1和MG3的占比被压缩到各20%。这个变化非常陡说明权重是一个强杠杆稍微调整一点收益格局就完全不同。从工程角度看这反而是一个明确的信号权重参数必须在合作框架建立的第一天就定死并且用公开可审计的指标来定义。我在实际项目里甚至会把“权重计算表”作为联盟章程的附件每个微网的装机数据、储能容量都列清楚避免运行一段时间后因为收益分配问题反悔扯皮。算法的公平性再强也抵不过规则本身的模糊带来的信任崩塌这一点怎么强调都不过分。5. 实操避坑与经验总结5.1 ADMM调参和模型搭建的常见问题把我在调试过程中遇到的典型问题整理成了一张速查表遇到类似的症状可以直接对照排查现象常见原因解决建议ADMM迭代震荡、目标函数忽高忽低罚参数ρ选得太小把ρ调大按10倍步进试探或改用自适应罚参数收敛极慢上百轮还在磨ρ偏大或初始点离最优解太远ρ降到0.1-0.5用独立运行结果做热启动某个微网最后Δ_i0明显亏了个体理性约束没加或权重设置不合理加上Δ_i≥0的显式约束检查权重归一化和分配逻辑对数函数遇到Δ_i0报错某微网收益恰好落在边界上目标函数中改用ln(Δ_iε)ε取10的负6次方量级结算金额和物理购售电费混在一起模型里没有把内部转移支付x_i独立出来把x_i单独定义为一组变量和电网购售电费用分开记账储能终端SOC被放空结果不可复现缺少SOC回收到初始值的终端约束加上SOC(T)SOC(0)或允许小偏差的约束这些坑里最隐蔽的是终端SOC问题。如果只是加了一条SOC下限约束优化器照样会把最后时段的储能放干因为从成本角度看储能放电的电是“零边际成本”的不放白不放。我在第一版模型里就翻过这个车当时算出来的成本低得离谱后来一查发现是优化器钻了终端SOC的空子。这个经验后来我写进自己的检查清单任何带储能的优化模型第一件事就是检查一天结束时的SOC状态。5.2 从论文到工程落地还有几道坎要迈过模型在算例上跑通离真正在园区里能用还有一段距离。我自己的体会是有三件事比算法本身更花精力。第一件事是把“不合作底线成本”算得让所有参与方信服。这个C_i^0是分配公平性的基准如果某个微网私下改动自己的独立运行模型参数把自己的底线成本抬高它就能多分收益。所以底线成本不能由微网自己报最好由有公信力的第三方按统一规则计算或者在开工会的时候各方共同审定参数。第二件事是联络线损耗。很多论文模型里P2P交易是理想无损的但工程上电能过网必然有损耗损耗由买卖双方按什么比例分担必须事先约定好。我建议在耦合约束里直接加上一个传输效率系数比如P_{i,j,t}·η_lossP_{j,i,t}0哪怕η_loss取0.98也比完全忽略损耗更接近实际。第三件事是应对不确定性。光伏出力的预测误差、负荷波动都会让“日前计划”在执行中偏离纯确定性的日前优化在天气突变的日子很容易出问题。我的建议是至少做两阶段日前做确定性计划日内用滚动修正把光伏预测误差当作扰动项在滚动窗口里重新优化。如果还想更稳可以在第一阶段加入鲁棒约束把光伏出力的恶劣场景考虑进去虽然成本会稍微上升但运行安全性明显更好在项目验收和实际调度里都更好交代。最后再分享一点实际体会这套非对称纳什谈判的方案做完之后我最大的感触是数学模型的推导其实是最顺利的部分真正的难点全在“让人相信规则是公平的”这件事上。权重定多大、底线成本怎么核算、过网损耗怎么分摊每一个都是技术问题但在项目现场每一个都首先是对参与方利益和信任的考验。如果让我再做一次我会把四分之一的精力花在模型上剩下四分之三花在把规则说清楚、算明白、让每个微网业主都能自己复算出一遍收益分配结果上。毕竟博弈论的解再漂亮最终落地靠的还是各方在规则面前都觉得自己没有被亏待。做到这一点这套优化策略才算是真正成功。
返回列表