1. 先看清问题:共享储能为什么绕不开博弈
1.1 各配各的储能,算下来全是无效投资
搞综合能源微网优化的人,几乎都遇到过同一个尴尬场景:某个园区微网,光伏装机不小,为了消纳和削峰填谷,咬牙配了一套储能,结果实际运行下来,储能系统一天有十几个小时处于闲置状态。另一边,同一条馈线上的另一个微网,晚高峰想买电却顶着尖峰电价,明明旁边的储能仓库里躺着闲着的电池,就是没法用。
这就是独立储能配置的核心矛盾:单一微网的容量配置按照"最大需量+故障备用"来设计,但实际生产生活中,大部分时间根本用不到那个峰值。储能不像变压器,装上就有收益,它是典型的"用起来才有效益"的资产,闲置就是亏损。单靠一个微网去消化储能的充放电能力,经济性往往撑不起投资回报。
所以整条思路开始转向:与其每个微网各买一套储能,不如在几个微网之间共享一套储能系统,用一个专门的运营商来建设、维护和调度。物理上,储能站接在多个微网的公共节点;商业模式上,谁用谁付钱,运营商按充放电量收费或者按容量收租赁费。这个问题的本质从"买设备"变成了"改善资源配置"。
但共享一听就涉及到一套核心矛盾——多个微网不再是独立的个体,他们围绕同一个储能展开竞争,谁都想在低价时段多充、高峰时段多放,谁都想让储能优先服务自己。这种场景下,单纯做统一调度指令是不现实的,因为各个微网的老板不是同一个人,需求曲线不同、利益目标不同,甚至算不过来的账都有分歧。统一调度在技术上可行,在博弈上不可行。
1.2 利益主体一多,价格就成了解不开的死结
微网之间共享储能,表面问题是设备怎么接线、容量怎么分配,实际问题是价格怎么定。储能运营商希望卖电价格高一点、充电价格低一点,当然最好充电放电两头都赚;微网则恰恰相反,希望充电便宜、放电贵,最好储能运营商让利。
传统的微网优化调度,本质上是一个单层优化问题:所有设备归一个人管,所有收益归同一个目标函数,求解器算完直接给调度计划。但共享储能场景下,决策权分散在两方手里,储能运营商决定电价、决定储能充放电计划,微网只能根据电价去调整自己内部的机组出力和负荷需求,还要考虑跟其他微网之间的购售电关系。这就形成了典型的上下层博弈关系。
更麻烦的是微网之间也有博弈。电价高的时候,两个微网可能同时想多放电;电价低的时候,又同时想多充电。储能容量有限,你今天充多了,我明天可能就没得用了。这种竞争没法用一根管道、一个总表来解决,必须在机制设计层面让每个微网自己表达需求,并根据宏观电价调整自己的行为。
还有一重复杂性来自微网内部的多元设备。所谓的"综合能源微网",不是只有电负荷,还有燃气轮机、余热锅炉、电转气、光伏、风电、蓄热罐等等,能量耦合关系复杂。电价变化不止影响电力调度,还会通过电转气、电制热这些环节传导到热负荷和气负荷。也就是说,博弈不仅发生在储能运营商与微网之间,还发生在微网内部各能源子系统之间如何响应外部价格信号。
这一层层叠下来,单一目标优化彻底失效,必须引入一个能描述"分层决策+独立决策主体"的数学框架。主从博弈理论就是这个场景下最顺手的工具。
1.3 主从博弈恰好卡在这个问题的"缝隙"里
主从博弈,学名Stackelberg博弈,最核心的思想就是"领跑者先动、追随者后动,且后者必须基于前者的策略做最优反应"。这跟共享储能的实际决策链条非常像:储能运营商先公布充放电价,微网收到价格之后,根据自己的内部条件做优化调度,进而产生实际的充放电行为;储能运营商再根据微网的响应行为调整自己的定价策略,直到双方都不愿意单方面改变策略,达到均衡。
用这个模型至少能解决三件事:一是把双层决策结构显式建模,运营商的定价策略和微网的运行计划不再是"先规划再协调",而是在同一框架内嵌套求解;二是让价格成为协调信号,微网不需要把内部全部数据交给运营商,只需要根据价格做响应,这在实际工程中非常重要,因为微网不愿意透露成本数据;三是把竞争关系纳入约束条件,微网之间的相互影响通过"共享储能容量约束"和"公共节点功率平衡"体现,而不是靠人为配额。
很多研究者一开始会想到用纳什均衡去处理这个问题,几个微网和储能运营商同时决策、同时达到均衡。但实际问题里,储能运营商和微网之间根本不存在"同时决策"的信息基础,永远是运营商先给价,微网再看价下单。这个先后顺序决定了问题天然就是Stackelberg结构,硬套Nash反而失真。后面我会细讲为什么选主从博弈而不选合作博弈或联合优化。
2. 主从博弈框架怎么搭:谁当"领头羊",谁当"跟班"
2.1 角色分配:领导者与跟随者的取舍
搭建主从博弈模型的第一步不是写方程,而是决定谁是领导者、谁是跟随者。这个选择非常关键,因为领导者拥有"先动优势",能把自己的策略强加给整个系统,在均衡结果中通常会获得更有利的地位。
共享储能场景下,最常见的做法是把储能运营商设为领导者,微网设为跟随者。这里的理由很现实:储能运营商掌握着容量分配的主动权,它的定价直接决定微网的成本结构;同时,它自身只关心储能的充放电量、寿命损耗和套利收益,决策变量相对集中。把这样一个相对"简单"的主体放上层,下层做复杂微网调度,模型层级清晰、求解路径顺畅。
反过来行不行?也有文献尝试把微网联盟放上层,统一决策购电计划,储能运营商放下层只能被动响应。这种设计在我看来有先天缺陷——微网之间的联盟本身就存在利益冲突,一个"联盟上层"的决策变量根本不明确,到底以谁的利益为上层目标?是联盟总收益最大,还是每个微网的单独收益最大?如果联盟内部先做一轮Shapley值分配,那问题的复杂度和不确定性会成倍上升,反而不如把运营商放上层来得通透。
这里有一个实操心得很重要:如果你研究的是多运营商、多微网的大系统,不要急着把所有主体全部往上塞。先把博弈层次控制在两层,运营商和微网各占一层,微网之间暂用"同一价格下各自独立响应"来模拟竞争关系。这样既能捕捉核心博弈,又不至于让均衡解在数学上崩溃。
2.2 决策变量与交互价格体系设计
建模的第二个关键要点,是定义清楚两层的决策变量和它们之间的交互物理量。
上游储能运营商的决策变量包括充放电价、储能充放电功率,甚至还包括备用容量租金。充放电价这里需要注意,不能当成一个定值,必须区分充电价和放电价,而且这两个价格还得分时段,否则微网没有任何理由在低电价时段多购电、高电价时段多放电,博弈就没得玩了。
下游微网的决策变量就复杂了:燃气轮机的启停和出力、余热回收机组的热功率、光伏和风电的上网或自用比例、各类可平移负荷的启停时间、与上级电网的交换功率,以及与共享储能的充放电功率。这里最重要的一个变量是"微网向储能运营商购买的充放电量",因为它是上下层博弈的耦合桥梁。储能运营商定电价,微网根据电价决定充多少、放多少,这些量形成实际结算依据。
价格体系设计我建议采用"两部制"而非单纯电量价:一部是容量费,按微网占用的储能容量结算,相当于预留费;另一部是电量费,按实际充放电量结算。容量费的作用是把储能容量"占用"这个稀缺资源显性定价,避免微网在低电价时段无限充电、把储能当仓库用。实际算例里,加入容量费之后,微网会更精确地评估自己的储能需求,系统的整体利用率反而提升,这一点很多初做博弈模型的人容易忽略。
2.3 为什么用Stackelberg而不是Nash或合作博弈
我见过很多同学一上来就问"为什么不用纳什均衡"。这里做个简洁对比:纳什均衡假设所有玩家同时行动、互相知道对方策略空间,最后稳定在一个谁都不愿意单独改变策略的点。但纯纳什模型没法体现"先动者"对市场的塑造能力,储能运营商定了价,微网只能在这个价格下做最优响应——这是先后的非对称关系,不是同时决策的对称关系。用Nash去近似Stackelberg,结果往往会高估微网的话语权,低估运营商的定价空间。
合作博弈则是另一种思路,假设所有主体愿意坐下来谈,共享收益然后按某种规则分配。合作博弈在概念上很美好,但落地几乎不可能,因为微网之间是竞争关系,没有哪个微网愿意主动把私有运行数据拿出来做大联盟规划。而且合作博弈需要解决超可加性和核心非空等一堆理论检查,工程实用性远不如主从博弈直接。
还有一个更实际的原因:主从博弈可以用双层规划的标准数学工具求解析解,或者用KKT条件转成单层问题交给求解器。这类工具链成熟、可复现性强,非常适合工程落地。相比之下,Nash均衡求解往往需要迭代寻找混合策略,收敛性靠运气;合作博弈的分配方案又在现实中容易被拒。所以,主从博弈是"理论贴切+工程可解"的折中最优解。
3. 数学模型搭建:目标函数、约束与KKT转换
3.1 上层模型:储能运营商的定价与收益
确定框架之后,进入模型搭建环节。上层是储能运营商的优化问题,目标函数一般写成最大化运行收益:
$$\max ; \sum_{t \in T} \left( p_{dis,t} \cdot P_{dis,t}^{ESS} - p_{ch,t} \cdot P_{ch,t}^{ESS} \right) - C_{om}^{ESS} - C_{loss}^{ESS}$$
其中,$p_{dis,t}$和$p_{ch,t}$分别是储能运营商在时段t对外发布的放电价格和充电价格,$P_{dis,t}^{ESS}$和$P_{ch,t}^{ESS}$是微网群在t时段实际从储能购买/充入的功率——注意,这两个量不是运营商自己定的,而是微网响应之后的结果。这就形成嵌套关系。
约束方面,上层要考虑储能自身的运行边界:
$$0 \le P_{ch,t}^{ESS} \le P_{rated}^{ESS}, \quad 0 \le P_{dis,t}^{ESS} \le P_{rated}^{ESS}$$
$$SOC_{t+1} = SOC_t + \eta_{ch} P_{ch,t}^{ESS} \Delta t - \frac{P_{dis,t}^{ESS} \Delta t}{\eta_{dis}}$$
$$SOC_{min} \le SOC_t \le SOC_{max}$$
还有价格上下限约束。价格不能定得太离谱,现实中也要受电网目录电价约束,所以通常设置 $p_{ch,min} \le p_{ch,t} \le p_{ch,max}$、$p_{dis,min} \le p_{dis,t} \le p_{dis,max}$,具体数值可以按当地峰谷平电价区间去取。比如谷段充电价下限取0.3元/kWh,峰段放电价上限取1.2元/kWh,这样模型结果不会出现脱离实际的异常价格。
这里要特别说明一个容易踩的坑:运营商的收益函数里,$P_{dis,t}^{ESS}$和$P_{ch,t}^{ESS}$是下层决策的结果,意味着上层优化问题的可行域是被下层映射过的。换句话说,上层不能想怎么定就怎么定,必须考虑"定这个价,微网会不会来买、来买多少"。
3.2 下层模型:微网的运行调度
下层是每个微网的独立优化问题。以一个包含燃气轮机、光伏、储能、电热负荷的典型综合能源微网为例,目标函数是最小化自身运行成本:
$$\min ; \sum_{t \in T} \left( c_{buy,t} P_{buy,t}^{grid} - c_{sell,t} P_{sell,t}^{grid} + c_{gas} F_{GT,t} + p_{ch,t} P_{ch,t}^{ESS} - p_{dis,t} P_{dis,t}^{ESS} \right)$$
这里$c_{buy,t}$和$c_{sell,t}$是微网与上级电网的购售电价,$c_{gas}$是天然气价格,$F_{GT,t}$是燃气轮机消耗的气量。执行层面,$p_{ch,t}$和$p_{dis,t}$由上层给定,微网把它们当作已知参数,决策自己的充放电量。注意式子里面用了一个巧妙的设计:$p_{ch,t} P_{ch,t}^{ESS}$是充电成本,$p_{dis,t} P_{dis,t}^{ESS}$是放电收益,一正一负,微网的充放电行为直接受储能价格引导。
下层的约束包括微网内部的电功率平衡、热功率平衡、气功率平衡,燃气轮机爬坡和出力上下限,与上级电网的交换功率限制,以及储能SOC状态方程等。对于综合能源系统,电转气设备还要增加电-气耦合约束,燃气锅炉和余热回收之间也要满足热力平衡。这些约束的完整程度直接决定模型中微网响应价格的行为是否真实,不能为了"省算力"把关键约束砍掉。
这里有个细节:下层每个微网都是独立求解的,但在共享储能场景下,它们的充放电需求共用同一个储能物理容量。所以严格建模时,下层各微网的充放电决策之和要等于上层储能的充放电量:
$$\sum_{n=1}^{N} P_{ch,n,t}^{ESS} = P_{ch,t}^{ESS}, \quad \sum_{n=1}^{N} P_{dis,n,t}^{ESS} = P_{dis,t}^{ESS}$$
这个耦合约束在单层优化里是简单的求和等式,但在双层博弈框架里,它意味着每个微网的最优响应不能"想充多少就充多少",而是要通过价格机制去平衡竞争,最终在均衡点满足总量约束。
3.3 双线性项与强对偶:把"豹子"关进笼子
模型写完之后,大部分新手会在这一步卡住:下层是min问题,上层是max问题,两层嵌套,没法直接交给求解器。这就是双层规划的经典难点。主流解法是对下层问题取KKT条件,将整个双层问题转化为带均衡约束的单层数学规划(MPEC),然后再线性化处理。
下层微网调度问题本质是线性规划。对线性规划来说,KKT条件包含四部分:原问题约束的可行性、对偶问题的可行性、驻点条件、互补松弛条件。前两部分是线性约束,直接写出就行。麻烦的是互补松弛条件,它形如 $0 \le \lambda \perp g(x) \ge 0$,意思是拉格朗日乘子和对应的不等式约束不能同时松弛。
此外,上层目标函数里的 $p_{dis,t} \cdot P_{dis,t}^{ESS}$ 和 $p_{ch,t} \cdot P_{ch,t}^{ESS}$ 是价格变量乘以功率变量,即两个决策变量相乘,产生双线性项。要处理这个,常用强对偶定理:因为下层问题凸且满足Slater条件,原问题最优值等于对偶问题最优值,可以用下层满足KKT后的对偶目标与上层目标做等价替换,把双线性项"消掉"。
实际操作中,这一步非常容易出现数值问题。举个例子,强对偶之后会引入一组辅助变量和等式约束,如果原问题约束的尺度差异大(比如电价是元/kWh量级,SOC是0到1量级,功率是kW量级),矩阵条件数会变得很差。我建议在写代码之前,先把所有物理量做标幺化处理,功率、电价、容量统一到同一量级,否则CPLEX和Gurobi很容易报数值警告。
4. 求解流程:从双层规划到可计算的MILP
4.1 为什么不直接硬解双层规划
很多人会问,既然现有的求解器这么强,能不能直接把双层问题丢进去算?答案是不行。原因很简单:双层规划本身非凸、NP-hard,上层每给出一组价格,下层就要重新求解一次,这个嵌套循环的搜索空间非常大。假设储能价格分24个时段、每个时段价格有10个可选档位,下层有3个微网,光是价格组合就有$10^{24}$种,穷举不可能。
更麻烦的是,下层问题在给定价格下可能有多解或退化情形,导致上层的目标函数值不连续,经典的非线性优化算法(比如序列二次规划)在这种不连续目标下基本不收敛。
所以标准的工程做法是"降维打击":把下层线性规划通过KKT条件转化为上层的一个均衡约束系统,然后整个问题就变成一个单层的约束优化问题,交给MILP求解器去处理。这样一改,理论复杂度不变,但实际求解效率大幅提升,尤其是中小规模算例(比如3-5个微网、24-72个时段),Gurobi或CPLEX在几分钟内就能给出全局最优解或接近最优的解。
4.2 KKT+强对偶+Big-M的标准套路
下面给出一个可以直接抄的转换流程,以储能运营商为上层、3个微网为下层为例:
第一步,写出每个微网的下层优化模型,确认它是线性规划。如果不是线性规划——比如含非线性效率曲线——先做分段线性化,把非线性约束转成线性约束。
第二步,构建每个微网模型的拉格朗日函数,写出KKT条件中的驻点条件、原对偶可行条件和互补松弛条件。这里要注意,每一个不等式约束都要配一个拉格朗日乘子,乘子数量多但大多是简单的上下界对偶乘子。
第三步,用Big-M法将互补松弛条件线性化。互补条件$0 \le \mu \perp (Ax-b) \ge 0$可以等价写成:
$$0 \le \mu \le M z, \quad 0 \le (Ax-b) \le M (1-z), \quad z \in {0,1}$$
其中$z$是0-1辅助变量,$M$是足够大的正常数。理论上M取所有约束上界的2-3倍就够,但如果取太大(比如10的8次方),求解器会因为数值病态而收敛缓慢。
第四步,利用强对偶定理将上层目标函数中的双线性项替换为下层对偶问题的表达式。替换后上层目标变成线性函数。
第五步,将上层约束、下层KKT条件、强对偶等式合并为一个混合整数线性规划(MILP),调用求解器求解。
这套流程下来,原来的双层问题变成了一个可以求全局最优的MILP。我实测的体验是,3微网系统、24时段、储能SOC离散到0.01精度,Gurobi大约需要几十秒到几分钟。规模再大,就得上分解算法或启发式算法了。
4.3 外层智能算法与内层求解器配合的完整流程
MILP解法在理论上是干净漂亮的,但实际项目里有个致命问题:当微网数量超过5个、设备模型加了离散状态(燃气轮机启停变量)之后,MILP的整数变量动辄上万个,直接硬解内存爆炸。这时候工程上更常用的是"智能算法套线性规划"的两层迭代法。
具体做法是:外层用粒子群算法或差分进化算法来优化储能运营商的定价策略,每个粒子携带一组完整的价格序列(24个充电价+24个放电价);内层把每个粒子的价格作为参数,分别独立求解N个微网的线性规划调度问题,得到收益响应值;再把响应值传给外层做适应度评估,更新粒子位置,反复迭代直到收敛。
这个方案最大的好处是把非线性的博弈问题分解成"N个小LP + 一个启发式搜索",计算负担大幅降低。而且每个微网的LP相互独立,天然可以并行计算,开多线程之后速度会快很多。
不过要提醒,外层智能算法的收敛性没有MILP那样有理论保证,可能出现目标函数不下降、粒子早熟等现象。我的对策是:先用MILP求解一个简化算例(去掉部分离散变量),用它的最优解来校准智能算法的参数(粒子数、惯性权重、交叉概率),再回头跑完整模型。这样既保证精度,又不至于让求解时间失控。
归纳一下我常用的求解流程:
| 步骤 | 操作 | 工具/方法 | 关键注意 |
|---|---|---|---|
| 1 | 数据准备 | 微网负荷曲线、光伏风机出力曲线、储能参数 | 数据时段对齐,统一时区 |
| 2 | 建模 | Pyomo或YALMIP搭建双层模型 | 变量命名规范,方便排查 |
| 3 | KKT转换 | 对下层LP取KKT条件 | 确认下层是线性规划 |
| 4 | 线性化 | Big-M法处理互补条件 | M取值要调试,不能一刀切 |
| 5 | 求解 | Gurobi/CPLEX求解MILP | 注意数值稳定性 |
| 6 | 替代方案 | 外层PSO+内层LP | 大规模算例推荐 |
| 7 | 结果校验 | 检查均衡稳定性和物理约束不越限 | 对比单层优化结果,验证改进幅度 |
5. 常见问题与排查实录
5.1 收敛震荡:迭代不收敛的典型场景
双层博弈迭代求解时,最常见的故障是目标函数在相邻迭代间来回震荡,始终达不到均衡。这类问题我在多微网算例里遇到不下三次,根因大多在"价格响应过于敏感"。微网对电价变化非常敏感,外层价格稍微调一点,内层调度计划就剧烈变化,导致储能容量分配出现跳变,上层收益也随之跳变。
解决这个问题的标准做法是给迭代加"阻尼"。具体来说,更新价格时不直接用新粒子的最优值,而是做加权平均:
$$p^{k+1} = \alpha p^{k+1}_{candidate} + (1-\alpha) p^{k}$$
其中$\alpha$取0.3-0.5,让价格变化平缓下来。还有一个更彻底的方案:把上层目标函数改成"带罚函数"的形式,微网响应偏离上次迭代值超过一定阈值时,在上层目标中扣分,这样能压缩搜索空间、避免跑偏。
我实际测试过一个四微网系统,不加速率的条件下迭代25次左右基本稳定;加了阻尼之后12次就能收敛到同一均衡点,而且均衡点质量更好(上层收益略低但同时刻系统总成本也下降了,社会福利更优)。
5.2 M值选取:大了数值病态,小了吃掉可行域
Big-M线性化中的M值,是整套MPEC转化里最需要"手调"的参数。M过大的后果是符号波动:乘子和约束偏差的乘积超出求解器的数值容忍度,求解器会误判约束可行性,进而导致某些本应可行的解被排除,或出现虚假的"最优解"。M过小的后果则相反,会把本应满足的互补条件在取值范围上截断,压缩可行域,导致次优甚至错误的均衡点。
我的建议是按照物理量纲逐条约束设置M,而不是全局共用一个M。比如对储能功率约束的互补条件,M取$P_{rated}^{ESS}$的2到3倍即可;对购电功率约束,M取微网购电上限的1.5倍;对SOC约束,M取SOC上限减去下限。逐条设置虽然麻烦,但数值稳定性远超全局统一M。另外,Gurobi的参数MIPFocus=3和NumericFocus=3在这种带有大M的模型里非常管用,值得记一笔。
5.3 均衡唯一性:"先手优势"和多种均衡的问题
做完博弈求解,很多人会问"这个均衡是不是唯一的"。实话实说,主从博弈的均衡在很多情况下不是唯一的。特别是储能运营商的价格上下限不对称、多个微网的结构高度相似时,可能出现多个均衡:同一个系统,一组价格会导致微网A受益、微网B受损,另一组价格正好反过来,两组都满足KKT条件,都稳定。
处理多变均衡的实际思路是引入均衡筛选准则。我用的准则是"帕累托改进优先":在满足KKT条件的多个均衡解里,选择让全体微网收益总和最大的那一组。这套准则的经济学含义是,虽然运营商有先手优势,但它定的价格如果让所有微网都活不下去,合作基础就崩了,所以均衡解要兼顾系统的可持续发展。实现上不复杂,求解时加一个二次目标:先解出最优上层收益,再固定上层收益≥最优值的95%,以微网收益总和最大为目标重新求解。
5.4 参数敏感性:算例结果"好看"未必靠得住
最后一条是给拿这套模型写论文或做报告的人提个醒:算例结果对参数设置极其敏感,尤其是储能容量费系数、微网的购售电价差、燃气轮机效率这三类参数。我试过只把容量费从0.05元/kWh调到0.2元/kWh,微网对储能的需求直接下降三分之一,系统风光利用率掉了快10个百分点。倒不是说模型有问题,而是主从博弈本身放大了参数变化的影响——价格体系一变,所有决策主体的行为都跟着变。
所以做结果分析时,一定要做敏感性分析,至少扫一遍储能容量、峰谷价差、负荷水平三个维度,把均衡结果的变化趋势画出来。这样做有两个好处:一是能证明模型结果不是凑参数凑出来的;二是能帮决策者看清楚什么条件下共享储能真正有市场价值。
6. 扩展思路与个人体会
6.1 从源侧到需求侧:博弈框架还能扩展
最后再分享一点扩展思路。前面讲的是"共享储能+综合能源微网"的标准场景,其实这个主从博弈框架完全可以复用。比如把储能运营商换成虚拟电厂聚合商,下层从微网换成大量柔性负荷用户,博弈结构不变,只是下层约束换成了可平移负荷、可削减负荷的约束。再比如把上层换成综合能源服务商,同时售电、售热、售气,下层微网的响应会从单一电功率变成多能耦合响应,模型复杂度上了一个台阶,但框架本身不需要推倒重来。
另一个值得试的方向是把不确定性引入博弈。光伏和风电出力不确定时,下层微网对电价的响应不再是确定性最优,而是在期望收益下的决策问题。这需要在KKT转换之前先把下层问题写成随机规划或鲁棒优化,博弈的均衡解变成"分布式的均衡策略"。数学上更难,但更贴近实际运行调度。
6.2 踩坑总结:几个可以直接抄的建议
根据我做这个方向的体会,给后来者几条实用建议。
第一,建模之前先画清楚信息流图。谁给谁报价、谁给谁下调度指令、钱从谁流向谁,全部画在纸上再写公式。很多人模型写到一半发现目标函数符号反了,都是因为没理清耦合关系。
第二,不要一上来就追求全局最优。先把博弈模型跑通,哪怕求解精度差一点,把每个主体的收益变化趋势验证对了,再回头优化算法。趋势对了,说明模型逻辑正确;趋势不对,那一定是建模阶段就出了问题,求解器再强也没用。
第三,底层数据一定要做归一化处理。储能商的收益和微网的成本,一个动辄万元量级、一个可能只有几百元,如果直接进同一目标函数,数值范围差的三个数量级会让求解器做大量无效搜索。把价格归一化到0到1区间,计算效率和稳定性都有明显改善。
主从博弈这套方法在共享储能领域越来越受关注,不是因为它名字唬人,而是因为它的决策逻辑恰好匹配了工程实际中的"先定价、后响应"机制。只要记住:上层定价要考虑下层反应,下层响应要反馈到上层收益,模型的骨干就立住了。在这个骨干上,无论是往深度加设备细节,还是往广度加参与主体,都是水到渠成的事。