充电服务商在定价上最爱用的一套打法是什么?很多人第一反应是:峰时卖贵一点,谷时卖便宜一点,两头一拉,利润自然就出来了。但这个经验法则放在智能电网和电动汽车充电场景里,经常撞得头破血流。我接手充电定价这个项目之前,也是这么想的,结果被几个仿真结果教育了一整轮。你把谷时电价压到最低,用户确实趋之若鹜,但代价是谷时段出现新的负荷尖峰,变压器容量直接报警;你把峰时电价抬高,又可能把用户推到隔壁充电站,单站收益不升反降。后来我才意识到,这事本质上是一个定价方和用电方之间的主从博弈问题——充电站先出价,用户再按价决定怎么充,双方目标不一致,但又互相依赖。
这篇文章把我从建模到求解、再到仿真验证的全过程做一个完整复盘,包括主从博弈模型的数学结构、双层优化怎么用KKT和强对偶转化成可求解形式、以及仿真里踩到的几个反直觉坑。不管你是做充电运营、搞电力系统优化,还是正在写相关方向论文的研究生,这里面讲的思路和代码级细节,应该都能帮你少走不少弯路。
1. 充电定价为什么会上博弈论——从"定个价"到"两难问题"
1.1 充电站和用户之间其实是"追价博弈",不是单向定价
传统定价模型里,充电站是价格的制定者,用户是价格的接受者,看起来是一个自上而下的单向过程。但现实里用户没有那么被动——他可以在不同时段之间选择,可以在不同充电站之间选择,甚至可以决定"今天不充了,明天到单位再充"。也就是说,你定的电价会影响用户行为,用户行为反过来又决定你的收入和电网负荷曲线。
这就是 Stackelberg 博弈的标准结构。充电服务商作为领导者(Leader),先公布分时价格;电动汽车用户作为跟随者(Follower),在给定价格下优化自己的充电计划。两者不是同时决策,而是有先后顺序的,领导者必须把跟随者的最优反应提前算进自己的决策里。这个问题和传统定价还有一个关键区别:充电站的购电成本不是固定的,它从电力市场买电,随时间和负荷变化。用户响应导致负荷集中,购电成本上升,站内收益就会被侵蚀。所以充电站定价时面对的其实是两个叠加的博弈:一个是对用户的定价博弈,另一个是对电力市场的购电博弈。
1.2 固定分时电价为什么不够用:静态曲线的两宗罪
很多充电站现在用的静态分时电价(TOU)看起来已经在引导用户错峰了,早高峰贵、午间平、夜间便宜。但它的根本问题是"静态"——价格曲线事先定死,不会随用户实际响应而调整。我见过一个真实的运营数据曲线:某站点推行谷时优惠电价后,凌晨 0 点到 4 点的充电量暴涨了三倍,结果变压器在凌晨 2 点接近满载,而原本预期的"削峰"效果却因为用户争相挤入谷时段而大打折扣。这就是静态 TOU 的第一个罪状——它没有考虑用户的聚合响应会改变负荷分布,造成峰谷倒挂。
第二个罪状是它无法体现充电站的利润空间。固定价格下,充电站赚的钱基本等于售电收入减去购电成本,如果购电成本曲线波动剧烈,最优售价也应该跟着变。静态 TOU 预先钉死价格,等于放弃了对购电成本波动的对冲能力。而主从博弈定价的核心价值,就是让价格曲线"内生"出来——它不再是人拍脑袋定的几个时段数字,而是求解一个优化问题得到的最优响应策略。价格本身变成了一个调度工具,既能引导负荷、又能保护收益。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 主从博弈模型搭建:谁先出牌,谁跟牌,约束条件怎么理
2.1 上层领导者建模:收益最大化下的购电与定价约束
先假设一个足够聚焦的场景:单个充电站,服务一群电动汽车用户,所有车都停在这个站的充电位或者受这个站调度。上层决策者是充电服务商,它的目标是在满足配电约束的前提下最大化总收益。
我要先定义几个变量。设时段集合为 T,每个时段长度为 Δt。上层决策变量有两个:每个时段的充电服务价格 p_t(元/kWh),以及每个时段从配电网购入的功率 P_t^buy(kW)。上层的目标函数可以写成:
max Σ_t [ p_t × L_t - c_t × P_t^buy ]
其中 L_t 是该时段所有用户的总充电负荷,c_t 是时段 t 的购电价格。这里注意 L_t 不是上层直接控制的变量,它是用户对价格 p_t 的整体响应。约束条件包括:购电功率不能超过变压器容量上限 P_max;充电服务价格有上下限,p_min ≤ p_t ≤ p_max;购电量等于充电负荷加上充电站自身的基础损耗和基础负荷。
这个模型直观上就是在问:我定什么价格,才能让"收入减去购电成本"最大,同时不超过电网给我的容量红线?但如果把 L_t 当成普通变量直接塞进目标函数,那就完全错了。L_t 背后是每个用户在既定价格下的最优决策,这个决策由下层问题决定。
2.2 下层用户建模:一个必须保持线性的充电成本最小化问题
下层是用户群。每个用户 n 有自己的车辆参数:电池容量 Cap_n、最大
