前言:自打上期内容火电机组经济调度建模及求解——基础篇推出以后,有小伙伴留言:“不考虑潮流问题的经济调度都是耍流氓。”作为一个有文化的流氓,我们尝试着为大家科普潮流计算。对于电力系统而言,潮流计算是一个非常复杂且重要内容,如果我们推文中有什么不准确的地方,欢迎大家批评指正。
在讲潮流计算之前,需要回答以下八个问题:
什么是电力系统潮流?(答案来源:度娘)
答案1:电力系统在运行时,在电源电势激励作用下,电流或功率从电源通过系统各元件流入负荷,分布于电力网各处,称为电力潮流。
答案2:电力系统中的潮流是指,电网中各节点电压、线路上有功功率、无功功率的稳态分布。
什么是潮流计算?
电力系统潮流计算就是对复杂电力系统正常和故障条件下稳态运行状态的计算。(《电力系统分析》——韩祯祥)
为什么要进行潮流计算?
潮流计算的目标是求取电力系统在给定运行方式下的节点电压和功率分布,用以检查系统各元件是否过负荷、各点电压是否满足要求、功率的分布和分配是否合理以及功率损耗等。(《电力系统分析》——韩祯祥)
潮流计算的应用场景有哪些?
对现有电力系统的运行和扩建、对新的电力系统进行规划设计以及对电力系统进行静态和暂态稳定分析都是以潮流计算为基础。(《电力系统分析》——韩祯祥)
什么是最优潮流(Optimal power flow, OPF)?
最优潮流是从电力系统稳定运行的角度来调整系统中各种控制设备的参数,在满足节点正常功率平衡及各种安全指标的约束下,实现目标函数最小化的优化过程。(答案来源:度娘)
最优潮流计算什么?
由于最优潮流是同时考虑网络的安全性和经济性的分析方法,是传统的经济调度方法无法取代 的,因此在复杂电力系统的可靠性分析、电力系统的安全运行、传输阻塞的经济控制、经济调度、能量管理系统等方面得到广泛的应用。其目标函数通常包括:发电费用最小、电力系统网损耗最小等。(答案来源:度娘)
在计算最优潮流的时候,为什么需要对模型进行进行松弛?
建立的最优潮流模型是非凸模型,而目前大部分求解器只能求解凸优化问题。因此,为了保证模型在允许的运行时间内得到可行解或最优解,必须进行松弛。
常见的松弛方法有哪些?
鲁迅先生讲过,中国人喜欢采用折中的方式处理事情,所以,本期推文我们就利用二阶锥规划的方法对非凸潮流模型进行松弛,建立基于Distflow的潮流模型。
在最优潮流模型中,通常是已知电力系统的结构(如IEEE-33节点)以及负荷参数,用于确定发电机的输出功率,实现发电成本最小( ∑ i ∈ N c i p i g \sum_{i \in \mathcal{N}} c_{i}p_{i}^g ∑i∈Ncipig)或者系统网损最小( ∑ i ∈ N r i j l i j \sum_{i \in \mathcal{N}} r_{i j}l_{i j} ∑i∈Nrijlij)的目标。本模型以最小化发电成本为例,建立基于Distflow的潮流模型:
∑ i ∈ N c i ( p i + p i c ) 变量: { P i j , Q i j } , { l i j } , { v i } , { p i , q i } s . t . p j = ∑ k : j → k P j k − ∑ i : i → j ( P i j − r i j l i j ) , ∀ j ∈ N q j = ∑ k : j → k Q j k − ∑ i : i → j ( Q i j − x i j l i j ) , ∀ j ∈ N v j = v i − 2 ( r i j P i j + x i j Q i j ) + ( r i j 2 + x i j 2 ) l i j , ∀ ( i , j ) ∈ E p i ‾ ≤ p i ≤ p i ‾ , ∀ i ∈ N q i ‾ ≤ q i ≤ q i ‾ , ∀ i ∈ N v i ‾ ≤ v i j ≤ v i ‾ , ∀ i ∈ N l i j ≤ l i j ‾ , ∀ ( i , j ) ∈ E ∥ 2 P i j 2 Q i j l i j − v i ∥ 2 ≤ l i j + v i , ∀ i ∈ N , ∀ ( i , j ) ∈ E \begin{aligned} & \sum_{i \in \mathcal{N}}c_{i}\left(p_{i}+p_{i}^{c}\right) \\ & \text{变量:} \ \left\{P_{i j}, Q_{i j}\right\},\left\{l_{i j}\right\},\left\{v_{i}\right\},\left\{p_{i}, q_{i}\right\} \\ s.t.\ & p_{j}=\sum_{k: j \rightarrow k} P_{j k}-\sum_{i: i \rightarrow j}\left(P_{i j}-r_{i j} l_{i j}\right), \forall j \in \mathcal{N} \\ & q_{j}=\sum_{k: j \rightarrow k} Q_{j k}-\sum_{i: i \rightarrow j}\left(Q_{i j}-x_{i j} l_{i j}\right), \forall j \in \mathcal{N} \\ & v_{j}=v_{i}-2\left(r_{i j} P_{i j}+x_{i j} Q_{i j}\right)+\left(r_{i j}^{2}+x_{i j}^{2}\right) l_{i j}, \forall(i, j) \in \mathcal{E} \\ & \underline{p_i} \leq p_i \leq \overline{p_i}, \forall i \in \mathcal{N} \\ & \underline{q_i} \leq q_i \leq \overline{q_i}, \forall i \in \mathcal{N} \\ & \underline{v_i} \leq v_{i j} \leq \overline{v_i}, \forall i \in \mathcal{N} \\ & l_{i j} \leq \overline{{l}_{i j}}, \forall(i, j) \in \mathcal{E} \\ &\begin{Vmatrix} 2 P_{i j} \\ 2 Q_{i j} \\ l_{i j}-v_{i} \end{Vmatrix}_{2} \leq l_{ij}+v_{i}, \forall i \in \mathcal{N}, \forall(i, j) \in \mathcal{E} \end{aligned} s.t. i∈N∑ci(pi+pic)变量: {Pij,Qij},{lij},{vi},{pi,qi}pj=k:j→k∑Pjk−i:i→j∑(Pij−rijlij),∀j∈Nqj=k:j→k∑Qjk−i:i→j∑(Qij−xijlij),∀j∈Nvj=vi−2(rijPij+xijQij)+(rij2+xij2)lij,∀(i,j)∈Epi≤pi≤pi,∀i∈Nqi≤qi≤qi,∀i∈Nvi≤vij≤vi,∀i∈Nlij≤lij,∀(i,j)∈E∥∥∥∥∥∥2Pij2Qijlij−vi∥∥∥∥∥∥2≤lij+vi,∀i∈N,∀(i,j)∈E
变量包括:
参数包括:
好啦,看到上面公式的小伙伴是不是对这个模型一脸懵,想知道它是怎样推导出来的,别急,咱们一步步地推导。其中,潮流模型推导所需要的储备知识包括但不限于:
本期推文中,潮流模型的主要推导过程为:
∑ i ∈ N c i p i g 最小化发电成本——针对发电机有功功率 s . t . 潮流方程 V i ‾ ≤ ∣ V i ∣ ≤ V i ‾ , ∀ i ∈ N 节点电压幅值约束 s i g ‾ ≤ s i g ≤ s i g ‾ , ∀ i ∈ N 发电机功率约束(包括有功和无功功率) ∣ I i j ∣ ≤ I i j ‾ , ∀ ( i , j ) ∈ E 线路电流幅值约束 \begin{aligned} & \sum_{i \in \mathcal{N}} c_{i}p_{i}^g \quad \text{最小化发电成本——针对发电机有功功率} \\ s.t.\ & \textbf{潮流方程} \\ & \underline{V_i} \leq | V_{i} | \leq \overline{V_i}, \forall i \in \mathcal{N} \quad \text{节点电压幅值约束} \\ & \underline{s_i^g} \leq s_i^g \leq \overline{s_i^g}, \forall i \in \mathcal{N} \quad \text{发电机功率约束(包括有功和无功功率)} \\ & | I_{i j}| \leq \overline{{I}_{i j}}, \forall(i, j) \in \mathcal{E} \quad \text{线路电流幅值约束} \end{aligned} s.t. i∈N∑cipig最小化发电成本——针对发电机有功功率潮流方程Vi≤∣Vi∣≤Vi,∀i∈N节点电压幅值约束sig≤sig≤sig,∀i∈N发电机功率约束(包括有功和无功功率)∣Iij∣≤Iij,∀(i,j)∈E线路电流幅值约束
说明:
声明:
V i − V j = z i j I i j , ∀ ( i , j ) ∈ E 电压方程/欧姆定律 S i j = V i I i j ∗ , ∀ ( i , j ) ∈ E 支路首端功率 ∑ k : j → k S j k − ∑ i : i → j ( S i j − z i j ∣ I i j ∣ 2 ) = s j , ∀ j ∈ N 节点功率平衡 \begin{aligned} & V_{i}-V_{j}=z_{i j}I_{i j}, \forall(i, j) \in \mathcal{E} \quad \text{电压方程/欧姆定律} \\ & S_{i j}=V_{i}I_{i j}^{*}, \forall(i, j) \in \mathcal{E} \quad \text{支路首端功率} \\ & \sum_{k: j \rightarrow k} S_{j k}-\sum_{i: i \rightarrow j} \left(S_{i j}-z_{i j}| I_{i j}|^2\right)=s_j, \forall j \in \mathcal{N} \quad \text{节点功率平衡} \end{aligned} Vi−Vj=zijIij,∀(i,j)∈E电压方程/欧姆定律Sij=ViIij∗,∀(i,j)∈E支路首端功率k:j→k∑Sjk−i:i→j∑(Sij−zij∣Iij∣2)=sj,∀j∈N节点功率平衡
其中:
m i n ∑ i ∈ N c i p i g = ∑ i ∈ N c i ∗ R e ( s i + s i c ) 变量: { S i j } , { I i j } , { V i } , { s i } s . t . V i − V j = z i j I i j , ∀ ( i , j ) ∈ E S i j = V i I i j ∗ , ∀ ( i , j ) ∈ E ∑ k : j → k S j k − ∑ i : i → j ( S i j − z i j ∣ I i j ∣ 2 ) = s j , ∀ j ∈ N V i ‾ ≤ ∣ V i ∣ ≤ V i ‾ , ∀ i ∈ N s i g ‾ ≤ s i g ≤ s i g ‾ , ∀ i ∈ N ∣ I i j ∣ ≤ I i j ‾ , ∀ ( i , j ) ∈ E \begin{aligned} & min \ \sum_{i \in \mathcal{N}} c_{i}p_{i}^g=\sum_{i \in \mathcal{N}} c_{i}*Re(s_i+s_i^c) \\ & \text{变量:} \ \left\{S_{i j}\right\},\left\{I_{i j}\right\},\left\{V_{i}\right\},\left\{s_{i}\right\} \\ s.t.\ & V_{i}-V_{j}=z_{i j}I_{i j}, \forall(i, j) \in \mathcal{E} \\ & S_{i j}=V_{i}I_{i j}^{*}, \forall(i, j) \in \mathcal{E} \\ & \sum_{k: j \rightarrow k} S_{j k}-\sum_{i: i \rightarrow j} \left(S_{i j}-z_{i j}| I_{i j}\rvert^2\right)=s_j, \forall j \in \mathcal{N} \\ & \underline{V_i} \leq | V_{i} \rvert \leq \overline{V_i}, \forall i \in \mathcal{N} \\ & \underline{s_i^g} \leq s_i^g \leq \overline{s_i^g}, \forall i \in \mathcal{N} \\ & | I_{i j}\rvert \leq \overline{{I}_{i j}}, \forall(i, j) \in \mathcal{E} \end{aligned} s.t. min i∈N∑cipig=i∈N∑ci∗Re(si+sic)变量: {Sij},{Iij},{Vi},{si}Vi−Vj=zijIij,∀(i,j)∈ESij=ViIij∗,∀(i,j)∈Ek:j→k∑Sjk−i:i→j∑(Sij−zij∣Iij∣2)=sj,∀j∈NVi≤∣Vi∣≤Vi,∀i∈Nsig≤sig≤sig,∀i∈N∣Iij∣≤Iij,∀(i,j)∈E
非线性项( V i I i j ∗ V_{i}I_{i j}^{*} ViIij∗ 、 z i j ∣ I i j ∣ 2 z_{i j}| I_{i j}|^2 zij∣Iij∣2) 所导致的非凸约束包括:
S i j = V i I i j ∗ , ∀ ( i , j ) ∈ E ∑ k : j → k S j k − ∑ i : i → j ( S i j − z i j ∣ I i j ∣ 2 ) = s j , ∀ j ∈ N \begin{aligned} & S_{i j}=V_{i}I_{i j}^{*}, \forall(i, j) \in \mathcal{E} \\ & \sum_{k: j \rightarrow k} S_{j k}-\sum_{i: i \rightarrow j} \left(S_{i j}-z_{i j} | I_{i j}|^2\right)=s_j, \forall j \in \mathcal{N} \\ \end{aligned} Sij=ViIij∗,∀(i,j)∈Ek:j→k∑Sjk−i:i→j∑(Sij−zij∣Iij∣2)=sj,∀j∈N
支路潮流的相角松弛:OPF-ar
由于上述模型中存在非凸项,造成模型求解困难。为了方便现有商业求解器的求解,采用相角松弛的方法实现非凸约束的松弛。在松弛过程中所涉及的变量包括: { S i j } \left\{S_{i j}\right\} {Sij}, { I i j } \left\{I_{i j}\right\} {Iij}, { V i } \left\{V_{i}\right\} {Vi}, { s i } \left\{s_{i}\right\} {si}。通过去掉电流、电压的相角,保留幅值,并令 l i j = ∣ I i j ∣ 2 l_{i j}=| I_{i j}|^2 lij=∣Iij∣2, v i = ∣ V i ∣ 2 v_{i}=| V_{i}|^2 vi=∣Vi∣2 可得最优潮流模型所需变量: { P i j , Q i j } \left\{P_{i j},Q_{i j}\right\} {Pij,Qij}, { l i j } \left\{l_{i j}\right\} {lij}, { v i } \left\{v_{i}\right\} {vi}, { p i , q i } \left\{p_{i},q_{i}\right\} {pi,qi}。
{ 松弛前: ∑ k : j → k S j k − ∑ i : i → j ( S i j − z i j ∣ I i j ∣ 2 ) = s j , ∀ j ∈ N 松弛后: 有功: p j = ∑ k : j → k P j k − ∑ i : i → j ( P i j − r i j l i j ) , ∀ j ∈ N 无功: q j = ∑ k : j → k Q j k − ∑ i : i → j ( Q i j − x i j l i j ) , ∀ j ∈ N \left\{ \begin{array} {ll} &\text{松弛前:} &\sum_{k: j \rightarrow k} S_{j k}-\sum_{i: i \rightarrow j} \left(S_{i j}-z_{i j}| I_{i j}|^2\right)=s_j, \forall j \in \mathcal{N}\\ &\text{松弛后:}\\ && \textbf{有功:}\ p_{j}=\sum_{k: j \rightarrow k} P_{j k}-\sum_{i: i \rightarrow j} \left(P_{i j}-r_{i j}l_{i j}\right), \forall j \in \mathcal{N} \\ && \textbf{无功:}\ q_{j}=\sum_{k: j \rightarrow k} Q_{j k}-\sum_{i: i \rightarrow j} \left(Q_{i j}-x_{i j}l_{i j}\right), \forall j \in \mathcal{N} \end{array} \right. ⎩⎪⎪⎨⎪⎪⎧松弛前:松弛后:∑k:j→kSjk−∑i:i→j(Sij−zij∣Iij∣2)=sj,∀j∈N有功: pj=∑k:j→kPjk−∑i:i→j(Pij−rijlij),∀j∈N无功: qj=∑k:j→kQjk−∑i:i→j(Qij−xijlij),∀j∈N
S i j = V i I i j ∗ 等式两侧乘以各自的共轭 ⇔ S i j S i j ∗ ⏟ S i j = P i j + j Q i j S i j ∗ = P i j − j Q i j = V i V i ∗ ⏟ ∣ V i ∣ 2 I i j ∗ I i j ⏟ ∣ I i j ∣ 2 ⇔ ( P i j + j Q i j ) ( P i j − j Q i j ) = ∣ V i ∣ 2 ⏟ v i ∣ I i j ∣ 2 ⏟ l i j ⇔ P i j 2 + Q i j 2 = v i l i j \begin{aligned} & \ S_{i j}=V_{i}I_{i j}^* \\ \text{等式两侧乘以各自的共轭} & \Leftrightarrow \ \underbrace{S_{i j}S_{i j}^*}_{ \begin{array}{l} & S_{i j}=P_{i j}+jQ_{i j}\\ & S_{i j}^*=P_{i j}-jQ_{i j} \end{array}} =\underbrace{V_{i}V_{i}^*}_{|V_{i}|^2}\underbrace{I_{i j}^*I_{i j}}_{|I_{i j}|^2} \\ \Leftrightarrow & \ (P_{i j}+jQ_{i j})(P_{i j}-jQ_{i j})=\underbrace{| V_{i}|^2}_{v_i}\underbrace{| I_{i j}|^2}_{l_{i j}} \\ \Leftrightarrow & \ P_{i j}^2+Q_{i j}^2=v_il_{i j} \end{aligned} 等式两侧乘以各自的共轭⇔⇔ Sij=ViIij∗⇔ Sij=Pij+jQijSij∗=Pij−jQij SijSij∗=∣Vi∣2 ViVi∗∣Iij∣2 Iij∗Iij (Pij+jQij)(Pij−jQij)=vi ∣Vi∣2lij ∣Iij∣2 Pij2+Qij2=vilij
首端功率表达式为:
{ 松弛前: S i j = V i I i j ∗ 松弛后: l i j = P i j 2 + Q i j 2 v i \left\{ \begin{array} {ll} & \text{松弛前:}\ &S_{i j}=V_{i}I_{i j}^*\\ & \text{松弛后:}\ &l_{i j}=\frac{P_{i j}^2+Q_{i j}^2}{v_i} \end{array} \right. {松弛前: 松弛后: Sij=ViIij∗lij=viPij2+Qij2
V j = V i − z i j S i j ∗ V i ∗ \begin{aligned} V_{j}=V_{i}-z_{i j}\frac{S_{i j}^{*}}{V_{i}^{*}} \end{aligned} Vj=Vi−zijVi∗Sij∗
等式两端各乘以自身的共轭,去掉相角可得:
v j = V j V j ∗ = ( V i − z i j S i j ∗ V i ∗ ) ( V i ∗ − z i j ∗ S i j V i ) = V i V i ∗ ⏟ v i − ( z i j ∗ S i j + z i j S i j ∗ ) ⏟ 两者相加,虚部抵消 + z i j z i j ∗ S i j S i j ∗ V i V i ∗ ⏟ I i j = S i j V i = v i − 2 R e ( z i j ∗ S i j ) + ∣ z i j ∣ 2 l i j = v i − 2 ( r i j P i j + x i j Q i j ) + ( r i j 2 + x i j 2 ) l i j \begin{aligned} v_{j}& =V_{j}V_{j}^*=(V_{i}-z_{i j}\frac{S_{i j}^{*}}{V_{i}^{*}})(V_{i}^*-z_{i j}^*\frac{S_{i j}}{V_{i}}) \\ & =\underbrace{V_{i}V_{i}^{*}}_{v_{i}}-\underbrace{(z_{i j}^{*}S_{i j}+z_{i j}S_{i j}^{*})}_\text{两者相加,虚部抵消}+ z_{i j}z_{i j}^* \underbrace{\frac{S_{i j}S_{i j}^{*}}{V_{i}V_{i}^{*}}}_{I_{i j}=\frac{S_{i j}}{V_{i}}} \\ & =v_{i}-2Re(z_{i j}^{*}S_{i j})+| z_{i j}|^2l_{i j} \\ & =v_{i}-2(r_{i j}P_{i j}+x_{i j}Q_{i j})+(r_{i j}^{2}+x_{i j}^{2})l_{i j} \end{aligned} vj=VjVj∗=(Vi−zijVi∗Sij∗)(Vi∗−zij∗ViSij)=vi ViVi∗−两者相加,虚部抵消 (zij∗Sij+zijSij∗)+zijzij∗Iij=ViSij ViVi∗SijSij∗=vi−2Re(zij∗Sij)+∣zij∣2lij=vi−2(rijPij+xijQij)+(rij2+xij2)lij
因此,电压平衡方程的表达式为:
{ 松弛前: V i − V j = z i j I i j 松弛后: v j = v i − 2 ( r i j P i j + x i j Q i j ) + ( r i j 2 + x i j 2 ) l i j \left\{ \begin{array} {ll} & \text{松弛前:}\ &V_{i}-V_{j}=z_{i j}I_{i j}\\ & \text{松弛后:}\ &v_{j}=v_{i}-2(r_{i j}P_{i j}+x_{i j}Q_{i j})+(r_{i j}^{2}+x_{i j}^{2})l_{i j} \end{array} \right. {松弛前: 松弛后: Vi−Vj=zijIijvj=vi−2(rijPij+xijQij)+(rij2+xij2)lij
相角松弛后的支路潮流模型:OPF-ar
因为该模型中,电压、电流相角( ∡ V i \measuredangle V_{i} ∡Vi、 ∡ I i j \measuredangle I_{i j} ∡Iij)可以取任意值,因此称之为相角松弛(Angle relaxation, ar)后的潮流模型:
m i n ∑ i ∈ N c i ( p i + p i c ) 变量: { P i j , Q i j } , { l i j } , { v i } , { p i , q i } s . t . p j = ∑ k : j → k P j k − ∑ i : i → j ( P i j − r i j l i j ) , ∀ j ∈ N q j = ∑ k : j → k Q j k − ∑ i : i → j ( Q i j − x i j l i j ) , ∀ j ∈ N v j = v i − 2 ( r i j P i j + x i j Q i j ) + ( r i j 2 + x i j 2 ) l i j , ∀ ( i , j ) ∈ E l i j = P i j 2 + Q i j 2 v i , ∀ ( i , j ) ∈ E v i ‾ ≤ ∣ v i ∣ ≤ v i ‾ , ∀ i ∈ N p i g ‾ ≤ p i g ≤ p i g ‾ , ∀ i ∈ N q i g ‾ ≤ q i g ≤ q i g ‾ , ∀ i ∈ N l i j ≤ I i j ‾ , ∀ ( i , j ) ∈ E \begin{aligned} & min \ \sum_{i \in \mathcal{N}} c_{i}(p_i+p_i^c) \\ & \text{变量:} \ \left\{P_{i j}, Q_{i j}\right\},\left\{l_{i j}\right\},\left\{v_{i}\right\},\left\{p_{i}, q_{i}\right\} \\ s.t.\ & p_{j}=\sum_{k: j \rightarrow k} P_{j k}-\sum_{i: i \rightarrow j} \left(P_{i j}-r_{i j}l_{i j}\right), \forall j \in \mathcal{N} \\ & q_{j}=\sum_{k: j \rightarrow k} Q_{j k}-\sum_{i: i \rightarrow j} \left(Q_{i j}-x_{i j}l_{i j}\right), \forall j \in \mathcal{N} \\ & v_{j}=v_{i}-2(r_{i j}P_{i j}+x_{i j}Q_{i j})+(r_{i j}^{2}+x_{i j}^{2})l_{i j}, \forall(i, j) \in \mathcal{E} \\ & l_{i j}=\frac{P_{i j}^2+Q_{i j}^2}{v_i}, \forall(i, j) \in \mathcal{E} \\ & \underline{v_i} \leq | v_{i} | \leq \overline{v_i}, \forall i \in \mathcal{N} \\ & \underline{p_i^g} \leq p_i^g \leq \overline{p_i^g}, \forall i \in \mathcal{N} \\ & \underline{q_i^g} \leq q_i^g \leq \overline{q_i^g}, \forall i \in \mathcal{N} \\ & l_{i j} \leq \overline{{I}_{i j}}, \forall(i, j) \in \mathcal{E} \end{aligned} s.t. min i∈N∑ci(pi+pic)变量: {Pij,Qij},{lij},{vi},{pi,qi}pj=k:j→k∑Pjk−i:i→j∑(Pij−rijlij),∀j∈Nqj=k:j→k∑Qjk−i:i→j∑(Qij−xijlij),∀j∈Nvj=vi−2(rijPij+xijQij)+(rij2+xij2)lij,∀(i,j)∈Elij=viPij2+Qij2,∀(i,j)∈Evi≤∣vi∣≤vi,∀i∈Npig≤pig≤pig,∀i∈Nqig≤qig≤qig,∀i∈Nlij≤Iij,∀(i,j)∈E
至此,非线性项( V i I i j ∗ V_{i}I_{i j}^{*} ViIij∗ 、 z i j ∣ I i j ∣ 2 z_{i j}| I_{i j}|^2 zij∣Iij∣2) 所导致的三个非凸约束通过相角松弛变成了凸约束。然而,由于二次及二次以上的等式约束非凸,因此,等式约束 l i j = P i j 2 + Q i j 2 v i l_{i j}=\frac{P_{i j}^2+Q_{i j}^2}{v_i} lij=viPij2+Qij2 的存在导致模型非凸。
支路潮流的凸松弛:OPF-cr
由于 OPF-ar 中存在二次等式约束 l i j = P i j 2 + Q i j 2 v i l_{i j}=\frac{P_{i j}^2+Q_{i j}^2}{v_i} lij=viPij2+Qij2 ,导致模型非凸,为实现模型求解,需要进一步放大可行域。将该等式约束的 ′ = ′ '=' ′=′松弛为 ′ ≥ ′ '\geq' ′≥′后(Convex relaxation, cr), l i j ≥ P i j 2 + Q i j 2 v i l_{i j}\geq\frac{P_{i j}^2+Q_{i j}^2}{v_i} lij≥viPij2+Qij2可以改写为旋转二阶锥规划(Second Order Cone Programming, SOCP)的形式:
P i j 2 + Q i j 2 ≤ l i j v i ⇔ P i j 2 + Q i j 2 ≤ ( l i j + v i ) 2 − ( l i j − v i ) 2 4 ⇔ ( 2 P i j ) 2 + ( 2 Q i j ) 2 + ( l i j − v i ) 2 ≤ ( l i j + v i ) 2 ⇔ ∥ 2 P i j 2 Q i j l i j − v i ∥ 2 ≤ l i j + v i \begin{aligned} & \ P_{i j}^2+Q_{i j}^2\leq l_{i j}{v_i} \\ \Leftrightarrow & \ P_{i j}^2+Q_{i j}^2\leq \frac{\left(l_{i j}+{v_i}\right)^2-\left(l_{i j}-{v_i}\right)^2}{4} \\ \Leftrightarrow & \ \left(2P_{i j}\right)^2+\left(2Q_{i j}\right)^2+\left(l_{i j}-{v_i}\right)^2\leq \left(l_{i j}+{v_i}\right)^2 \\ \Leftrightarrow &\ \begin{Vmatrix} 2 P_{i j} \\ 2 Q_{i j} \\ l_{i j}-v_{i} \end{Vmatrix}_{2} \leq l_{ij}+v_{i} \end{aligned} ⇔⇔⇔ Pij2+Qij2≤lijvi Pij2+Qij2≤4(lij+vi)2−(lij−vi)2 (2Pij)2+(2Qij)2+(lij−vi)2≤(lij+vi)2 ∥∥∥∥∥∥2Pij2Qijlij−vi∥∥∥∥∥∥2≤lij+vi
其中, ∣ ∣ ∙ ∣ ∣ 2 ||{\bullet}||_2 ∣∣∙∣∣2表示 ∙ {\bullet} ∙ 的二范数。松弛后的表达式可以用商业求解器 (Cplex、Gurobi等) 实现OPF模型的求解。
9. 火电机组经济调度建模及求解——基础篇
8. Python|Gurobi——零基础学优化建模-终章
7. Python|Gurobi——零基础学优化建模-压轴篇:多目标优化
6. Python|Gurobi——零基础学优化建模-分段模型线性化(PWL)
5. Python|Gurobi——零基础学优化建模-QCP
4. Python|Gurobi——零基础学优化建模-NLP
3. Python|Gurobi——零基础学优化建模-MIP
2. Python|Gurobi——零基础学优化建模-LP
1. Python|Gurobi——零基础学优化建模