做配电网优化这块的,迟早会碰到一个组合:含SOP的配电网重构。你下载了一篇论文的代码,发现对方用yalmip写得飞起,自己一跑就报错;你搜“二阶锥”,搜出来一堆数学推导,看懂了也觉得离代码十万八千里;你把模型好不容易塞进求解器,又发现要么松弛不紧,要么解出个孤岛网络。我当年第一次把SOP加进重构模型,光是“为什么这个约束要写成锥而不是直接平方”就卡了三天。这篇就专门把这件事讲透:配网重构、SOP、yalmip、二阶锥这四样东西是怎么拧成一股绳的,以及每一步代码和建模到底该怎么写。
先说清楚这是给谁看的。如果你在写电力系统方向的毕业论文、做配电网降损或DG消纳相关研究,或者刚接手一个含柔性互联装置的配电网优化课题,这篇文章可以帮你省掉大量的试错时间。我会从问题本身一路讲到yalmip代码实现,再到最常见的报错和修复方法,尽量让新手能直接“抄作业”,也让有基础的人能把一些“知其然不知其所以然”的地方补齐。
1. 含SOP配电网重构:你真正要解的模型长什么样
很多初学者立项之后第一件事就是找代码,然后发现代码看不懂。问题的根源不是代码写得差,而是你还没搞明白这个模型从上到下到底在设计什么。所以我先不碰代码,把物理问题拆给你看。
1.1 SOP到底是个什么设备
在配电网领域,SOP的全称是Soft Open Point,智能软开关,不是你在质量管理课上背的那种Standard Operating Procedure。这个区分在搜索资料的时候尤其重要,不然你查半天全是在讲作业指导书。
SOP本质上是一台电力电子装置,最常见的拓扑是背靠背的双向变流器,一个交流端口接在配电网的A点,另一个端口接在B点,中间是直流母线。它接的位置,通常是传统配电网里那些长期断开的联络开关处。普通联络开关只有两个状态:闭合或断开。闭合之后,两个馈线变成一个网络,潮流按阻抗自然分布;断开之后,两边彻底隔离。SOP不一样的地方在于,它让两端的功率可以连续调节,而且两端还能独立发出或吸收无功。
打个比方:联络开关像一扇门,要么开要么关;SOP像一扇带阀门的水闸,不但能控制水的流量,还能控制水流过时对两侧水位的影响。正是因为这种连续可控性,SOP被大量用在含有分布式电源、高负荷波动的配电系统里。
1.2 重构与SOP为什么要联合优化
配电网重构优化的是什么?简单说,就是通过调整分段开关和联络开关的开合状态,改变网络拓扑,找到网损最小、电压最稳或者负荷最均衡的运行方式。经典重构问题里,决策变量是每一组开关的0-1状态,目标函数通常是网损,约束条件包含潮流方程、节点电压上下限、支路电流上限,以及一条非常重要的“辐射状拓扑约束”。
如果你只是做纯重构,那问题是一堆0-1变量加非凸潮流,已经不好解了。但加上SOP之后,事情又多了一个维度:SOP两端接在哪个节点,它的有功传输和无功补偿怎么分配,又要满足哪些容量限制?
这里有一个关键认知:重构改变的是“网络骨架”,SOP改变的是“注入功率分布”。这两件事不是独立的,而是强耦合的。SOP传输的有功功率会改变线路潮流,进而影响最优开关组合;反过来,不同开关组合决定了SOP两端所处的电气位置,同一个SOP在不同拓扑下的调压降损效果可能天差地别。
所以你必须把SOP的连续决策变量和开关的0-1决策变量放进同一个优化模型里同时求解,而不是先做一次重构、再在固定拓扑下优化SOP。顺序求解速度是快,但结果很可能是次优的。联合优化的解,一般能比顺序优化多压掉不少网损,这也是论文里强调“SOP与重构协同”的根本原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 非凸问题怎么解:二阶锥松弛的来龙去脉
任何配电网优化问题,绕不开的拦路虎就是潮流方程。而这一节要讲的二阶锥松弛,就是驯服这头猛虎的主流工具。你别被“二阶锥”这个名字吓着,它的思路其实特别朴素:把一个难搞的非凸等式,放成一个好搞的凸不等式。
2.1 DistFlow方程里那个最麻烦的非线性项
配电网潮流计算,最常用的方程是DistFlow模型。它的形式有很多种,但核心就几点:有功平衡、无功平衡、电压降方程,还有一个反映电流平方与功率关系的等式。写成最直观的形式,大概是这样的:
对于支路ij,首端是i,末端是j,有功和无功分别为P_ij和Q_ij,电流幅值平方I_ij^2,电压幅值平方V_i^2和V_j^2,支路电阻电抗R_ij和X_ij。潮流方程里有这么一条:
I_ij^2 = (P_ij^2 + Q_ij^2) / V_i^2
这个等式的麻烦在于,P_ij、Q_ij、V_i都是变量,分子是非凸的二次项,分母又有电压变量,整个等式构成的可行域是完全非凸的。如果你直接把这条约束丢给求解器,求解器一点办法都没有,因为它不是线性规划,也不是二次规划,而是一个混合整数非凸非线性问题。在大规模网络上,这种问题理论上很难求到全局最优。
2.2 三步完成二阶锥松弛:换元、放缩、转形式
解决思路分三步。第一步是换元。既然I_ij^2和V_i^2总是成对出现,那干脆把它们各自定义成一个新变量,比如用l_ij表示I_ij^2,用u_i表示V_i^2。这样电压降方程里的二次项就直接线性化了,状态空间里少了一堆二次项,这是换元的核心收益。
第二步是处理那个最扎手的约束。原来的等式是:
l_ij * u_i = P_ij^2 + Q_ij^2
这是一个等式,两边相乘,非凸。现在把它放缩成一个不等式:
l_ij * u_i >= P_ij^2 + Q_ij^2
看到这里你可能会担心:把等式变成大于等于,解出来的还是原来的问题吗?这就是二阶锥松弛的全部秘密所在。松弛本身不会收紧解的可行域,反而会扩大可行域,所以求解出来的目标值是原问题的下界。后面我会专门讲怎么判断松弛是不
