☰
基于非对称纳什谈判的多微网电能共享运行优化策略全解析
2026/10/8 10:20:16 网站建设 项目流程

搞过多微网项目的人应该都有同感:单个微网孤岛运行,光伏大发的时候用不完,负荷高峰的时候又不够用,储能配小了帮不上忙,配大了成本直接吃掉本来就不多的收益。把相邻几个微网用联络线连起来做电能共享,本来能同时解决弃光和购电成本两个问题,但真正落地的时候你会发现,最难的不是调度算法,而是“省下来的钱怎么分”——分法不公平,联盟说散就散。我最近把基于非对称纳什谈判的多微网电能共享运行优化策略从博弈建模、分布式求解到算例验证完整实现了一遍,今天把整条链路摊开讲清楚。文章里的模型、参数和坑,都是我实测后整理出来的,适合正在做微网群能量管理、园区多主体协同或者研究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,t+1} = 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_i=0,也就是联盟内部不创造钱、也不销毁钱,只是转移支付。这样微网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)^α_i

s.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,这样在对称情况下α_i=1,解释起来干净。还要强调一点:权重必须在优化前由各参与方共同协商确定,不能等调度结果算出来之后再“事后反推”一个能让某方多拿的权重,这样会严重破坏信任。我项目里最后采用的是“可再生能源装机+储能容量”的加权组合,因为这两个数据最容易审计,参与方扯皮最少。

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}^{k+1}。这一步完全本地化,可以并行。

第二步,更新辅助变量。过网功率的一致性要求P_{i,j,t}和P_{j,i,t}大小相等、方向相反,所以辅助变量的更新是取两个方向的平均:

z_{ij,t}^{k+1} = (P_{i,j,t}^{k+1} − P_{j,i,t}^{k+1}) / 2

第三步,更新拉格朗日乘子:

λ_{ij,t}^{k+1} = λ_{ij,t}^k + ρ (P_{i,j,t}^{k+1} − z_{ij,t}^{k+1})

说白了就是:谁报的交换功率比双方共识高,下一轮就通过乘子给它一个“价格信号”,逼它往下调。三轮循环反复跑,直到交换功率的偏差足够小。第二层的收益分配问题如果也需要保持物理约束,同样可以套用这套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(商业楼)
峰值负荷(kW)650450380
光伏装机(kW)500200300
储能容量/功率(kWh/kW)300/100400/200300/150
微型燃气轮机(kW)300无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是对称纳什谈判(α全部为1),S2是非对称纳什谈判(α按光伏装机占比,归一化后为0.5/0.2/0.3)。

4.2 结果对比:联盟成本一样,但分配结果完全不同

一组典型的测试结果如下。独立运行时三个微网的总成本约为10860元/天;加入电能共享之后,联盟总成本降到约8840元/天,节省了2020元,降幅约18.6%。这部分节省主要来自两个渠道:一是光伏余电不再低价上网,而是以协商价卖给缺电的邻居;二是联合调度让储能的使用更加集中,减少了从电网高价购电的时段电量。

有意思的是,S1和S2两场景下联盟总成本完全一样,因为第一层运行优化并不受权重影响,权重只作用于第二层的收益分配。看具体分配:

微网独立运行成本(元)S1对称分配收益(元)S1最终成本(元)S2非对称分配收益(元)S2最终成本(元)
MG14200700350010103190
MG2320062025804042796
MG3346070027606062854

对称场景下MG1和MG3各分到700,MG2分到620,微网间的差异不大;非对称场景中,因为权重按光伏装机比例设定为0.5/0.2/0.3,MG1作为光伏盈余大户分到了1010元,超过总收益的一半,而MG2因为光伏装机小、权重只有0.2,分到的收益降到404元。每一个微网的最终成本都比独立运行时更低,个体理性约束都满足,联盟可以稳定维持。

除了成本,削峰填谷的效果也值得关注。S0场景下午间光伏弃电率大约8%,S1和S2场景弃光都降到接近0;与大电网的峰时购电量从S0的约1700kWh降到S1/S2的约1050kWh,整整少了近四成。储能也在联合调度下发挥了更高的利用率,不再出现某个微网储能满了、旁边另一个微网却在高价购电的滑稽局面。

4.3 敏感性分析:权重变化如何牵动收益分配

为了看清权重的影响力,我做了一组敏感性试验:把MG2的权重α₂从1逐步调到3,MG1和MG3的权重保持不变。根据前面的闭式解,MG2的收益占比会从对称时的约33%一路抬到α₂=3时的60%,而MG1和MG3的占比被压缩到各20%。这个变化非常陡,说明权重是一个强杠杆,稍微调整一点,收益格局就完全不同。

从工程角度看,这反而是一个明确的信号:权重参数必须在合作框架建立的第一天就定死,并且用公开可审计的指标来定义。我在实际项目里甚至会把“权重计算表”作为联盟章程的附件,每个微网的装机数据、储能容量都列清楚,避免运行一段时间后因为收益分配问题反悔扯皮。算法的公平性再强,也抵不过规则本身的模糊带来的信任崩塌,这一点怎么强调都不过分。

5. 实操避坑与经验总结

5.1 ADMM调参和模型搭建的常见问题

把我在调试过程中遇到的典型问题整理成了一张速查表,遇到类似的症状可以直接对照排查:

现象常见原因解决建议
ADMM迭代震荡、目标函数忽高忽低罚参数ρ选得太小把ρ调大(按10倍步进试探),或改用自适应罚参数
收敛极慢,上百轮还在磨ρ偏大,或初始点离最优解太远ρ降到0.1-0.5;用独立运行结果做热启动
某个微网最后Δ_i<0,明显亏了个体理性约束没加,或权重设置不合理加上Δ_i≥0的显式约束;检查权重归一化和分配逻辑
对数函数遇到Δ_i=0报错某微网收益恰好落在边界上目标函数中改用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}·η_loss+P_{j,i,t}=0,哪怕η_loss取0.98,也比完全忽略损耗更接近实际。

第三件事是应对不确定性。光伏出力的预测误差、负荷波动都会让“日前计划”在执行中偏离,纯确定性的日前优化在天气突变的日子很容易出问题。我的建议是至少做两阶段:日前做确定性计划,日内用滚动修正,把光伏预测误差当作扰动项在滚动窗口里重新优化。如果还想更稳,可以在第一阶段加入鲁棒约束,把光伏出力的恶劣场景考虑进去,虽然成本会稍微上升,但运行安全性明显更好,在项目验收和实际调度里都更好交代。

最后再分享一点实际体会

这套非对称纳什谈判的方案做完之后,我最大的感触是:数学模型的推导其实是最顺利的部分,真正的难点全在“让人相信规则是公平的”这件事上。权重定多大、底线成本怎么核算、过网损耗怎么分摊,每一个都是技术问题,但在项目现场每一个都首先是对参与方利益和信任的考验。如果让我再做一次,我会把四分之一的精力花在模型上,剩下四分之三花在把规则说清楚、算明白、让每个微网业主都能自己复算出一遍收益分配结果上。毕竟博弈论的解再漂亮,最终落地靠的还是各方在规则面前都觉得自己没有被亏待。做到这一点,这套优化策略才算是真正成功。

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

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

立即咨询