考虑直流/直流变换器的多端高压直流输电系统中使用半定规划(SDP)求解最优功率流(OPF)研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

直流/直流变换器(HVDC)多端高压直流输电系统是一种新型的电力输电技术,它具有高效、稳定、灵活等优点,因此受到了广泛关注。在这种系统中,为了实现最优的功率分配和输电效率,需要进行最优功率流(OPF)研究。而半定规划(SDP)是一种用于求解非线性优化问题的方法,可以有效地应用于HVDC多端系统的OPF问题求解中。

在HVDC多端系统中,存在多个直流/直流变换器和多个相互连接的直流输电线路,因此系统的复杂度较高。为了实现最优的功率分配和输电效率,需要考虑多个变换器之间的相互影响和线路的功率损耗等因素。这就需要一个高效的优化算法来求解OPF问题。

SDP方法可以有效地处理具有复杂约束条件和非线性目标函数的优化问题,因此非常适合用于HVDC多端系统的OPF问题求解。通过将系统的功率流模型转化为半定规划问题,并结合求解器进行求解,可以得到最优的功率分配方案,从而提高系统的输电效率和稳定性。

因此,使用半定规划(SDP)求解最优功率流(OPF)是HVDC多端系统研究中的重要课题,可以为实际工程中的输电系统设计和运行提供重要的参考和指导。同时,也为HVDC多端系统的优化运行和控制提供了新的研究思路和方法。

本文考虑直流/直流变换器的多端高压直流输电系统中使用半定规划(SDP)来进行最优功率流(OPF)的方法。该方法来源于A. Garces, D. Montoya, R. Torres. "Optimal Power Flow in Multiterminal HVDC Systems considering DC/DC converters",

Optimal power flow in multiterminal HVDC systems considering DC/DC converters | IEEE Conference Publication | IEEE Xplore

📚2 运行结果

 
Calling SDPT3 4.0: 172 variables, 47 equality constraints
   For improved efficiency, SDPT3 is solving the dual problem.
------------------------------------------------------------

 num. of constraints = 47
 dim. of sdp    var  = 10,   num. of sdp  blk  =  2
 dim. of socp   var  =  2,   num. of socp blk  =  1
 dim. of linear var  = 130
 dim. of free   var  =  1
 6 linear variables from unrestricted variable.
 *** convert ublk to lblk
*******************************************************************
   SDPT3: Infeasible path-following algorithms
*******************************************************************
 version  predcorr  gam  expon  scale_data
   HKM      1      0.000   1        0    
it pstep dstep pinfeas dinfeas  gap      prim-obj      dual-obj    cputime
-------------------------------------------------------------------
 0|0.000|0.000|9.1e+01|3.3e+02|6.5e+05| 6.789949e+02  0.000000e+00| 0:0:00| chol  1  1 
 1|0.957|0.845|3.9e+00|5.1e+01|1.0e+05| 1.378562e+03 -1.974896e+02| 0:0:00| chol  1  1 
 2|1.000|0.952|1.3e-06|2.5e+00|5.9e+03| 7.058639e+02 -9.361565e+00| 0:0:00| chol  1  1 
 3|0.820|0.868|1.5e-06|3.5e-01|1.3e+03| 5.260220e+02 -1.188702e+00| 0:0:00| chol  1  1 
 4|0.982|0.954|2.8e-07|2.2e-02|1.6e+02| 1.123898e+02 -7.621943e-01| 0:0:00| chol  1  1 
 5|0.992|0.425|2.1e-07|1.4e-02|8.2e+01| 5.170660e+01 -8.262528e-01| 0:0:01| chol  1  1 
 6|1.000|0.387|6.6e-08|8.6e-03|4.7e+01| 2.762801e+01 -8.797233e-01| 0:0:01| chol  1  1 
 7|1.000|0.527|2.6e-08|4.2e-03|1.8e+01| 8.904206e+00 -9.778464e-01| 0:0:01| chol  1  1 
 8|0.955|0.702|7.2e-09|1.3e-03|4.4e+00| 1.654725e+00 -1.040556e+00| 0:0:01| chol  1  1 
 9|1.000|0.514|1.5e-09|6.3e-04|1.1e+00|-4.022400e-01 -1.035286e+00| 0:0:01| chol  1  1 
10|0.788|0.290|1.5e-10|4.5e-04|8.0e-01|-4.795658e-01 -9.778514e-01| 0:0:01| chol  1  1 
11|1.000|0.249|2.2e-10|3.4e-04|6.3e-01|-5.445901e-01 -9.435774e-01| 0:0:01| chol  1  1 
12|1.000|0.434|9.3e-11|1.9e-04|3.3e-01|-6.892845e-01 -8.939429e-01| 0:0:01| chol  1  1 
13|1.000|0.550|4.3e-11|8.6e-05|1.2e-01|-7.877809e-01 -8.553636e-01| 0:0:01| chol  1  1 
14|1.000|0.351|9.4e-12|5.6e-05|7.7e-02|-8.021517e-01 -8.438502e-01| 0:0:01| chol  1  1 
15|1.000|0.618|5.1e-12|2.1e-05|2.7e-02|-8.164122e-01 -8.294243e-01| 0:0:01| chol  1  1 
16|0.990|0.924|2.5e-12|1.6e-06|1.9e-03|-8.198496e-01 -8.206746e-01| 0:0:01| chol  1  1 
17|0.981|0.986|4.6e-12|1.1e-06|2.8e-05|-8.199469e-01 -8.199574e-01| 0:0:01| chol  1  1 
18|1.000|0.980|1.8e-12|1.7e-08|9.9e-07|-8.199484e-01 -8.199490e-01| 0:0:01| chol  1  1 
19|1.000|0.987|3.0e-11|6.0e-10|2.9e-08|-8.199488e-01 -8.199488e-01| 0:0:01| chol  1  1 
20|1.000|0.986|7.8e-12|1.8e-11|1.1e-09|-8.199488e-01 -8.199488e-01| 0:0:01| chol  1  2 
21|1.000|0.986|2.7e-13|7.0e-13|5.1e-11|-8.199488e-01 -8.199488e-01| 0:0:01| chol 
  linsysolve: Schur complement matrix not positive definite   
  linsysolve: solution contains NaN or inf
  stop: difficulty in computing predictor directions
-------------------------------------------------------------------
 number of iterations   = 22
 primal objective value = -8.19948777e-01
 dual   objective value = -8.19948777e-01
 gap := trace(XZ)       = 5.06e-11
 relative gap           = 1.92e-11
 actual relative gap    = 2.28e-11
 rel. primal infeas (scaled problem)   = 2.73e-13
 rel. dual     "        "       "      = 6.97e-13
 rel. primal infeas (unscaled problem) = 0.00e+00
 rel. dual     "        "       "      = 0.00e+00
 norm(X), norm(y), norm(Z) = 5.0e+02, 4.5e+00, 1.0e+01
 norm(A), norm(b), norm(C) = 1.2e+03, 1.3e+02, 1.4e+01
 Total CPU time (secs)  = 0.63  
 CPU time per iteration = 0.03  
 termination code       =  0
 DIMACS: 3.9e-13  0.0e+00  1.7e-12  0.0e+00  2.3e-11  1.9e-11
-------------------------------------------------------------------
 
------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +0.0199488
 

Rango =

     3

---------------- Power Losses ----------------

ans =

    0.0131

---------------- Voltages --------------------
    1.0000
    1.0100
    1.0053
    0.9907
    0.9873
    1.0068
    0.9896
    0.9911

---------------- Line Power Flow -------------
2 -> 6 : 0.300000
6 -> 2 : -0.299057
1 -> 6 : -0.191593
6 -> 1 : 0.192901
6 -> 3 : 0.106157
3 -> 6 : -0.105998
1 -> 3 : -0.373545
3 -> 1 : 0.375534
1 -> 4 : 0.785087
4 -> 1 : -0.777768
4 -> 5 : 0.277768
5 -> 4 : -0.276834
5 -> 7 : -0.123166
7 -> 5 : 0.123443
8 -> 7 : 0.123628
7 -> 8 : -0.123443
---------------- DC/DC Converters -----------

Qp =

    0.0068

>> 

 部分代码:

% We define a new variable X = V'*V
cvx_begin
  cvx_precision high
  variable X(NumN,NumN) symmetric;
  variable P(NumN,1); 
  variable Q(NumDCDC,1);
  variable S(NumN,1);
  variable F(2*NumL,1);
  variable Qp;
  minimize trace(G*X) + Qp;
  subject to      
     X == semidefinite(NumN);   
     X <= (Vmax^2)*ones(NumN);
     X >= (Vmin^2)*ones(NumN);    
     P - S - Ad'*Q == diag(G*X);
     P <= Pmax;
     P >= Pmin;      
     Q <= Qmax;
     Q >= -Qmax;
     2*S >= abs(Ad')*(gamma*Q.^2 + beta*abs(Q));
     X(1,1) == 1;      
     Qp == sum(S);
     F == HH*vec(X);
     F >= -Fmax;
     F <=  Fmax;
 cvx_end
Rango = rank(X)
%% Eigenvalue approximation
[V,D] = eig(X);
lm = diag(D);
vm = V(:,NumN);
vm*vm'*lm(NumN);
disp('---------------- Power Losses ----------------');
trace(G*X)
disp('---------------- Voltages --------------------');
Vap = sqrt(lm(NumN))*vm;
disp(Vap);
disp('---------------- Line Power Flow -------------');
kk = 0;
for k = 1:NumL
    kk = kk +1;
    fprintf('%i%s%i%s%f\n',MT.Lines(k,1),' -> ',MT.Lines(k,2),' : ',F(kk));
    kk = kk +1;
    fprintf('%i%s%i%s%f\n',MT.Lines(k,2),' -> ',MT.Lines(k,1),' : ',F(kk));
end
disp('---------------- DC/DC Converters -----------');
Qp
 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

A. Garces, D. Montoya and R. Torres, "Optimal power flow in multiterminal HVDC systems considering DC/DC converters," 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE), Santa Clara, CA, USA, 2016, pp. 1212-1217, doi: 10.1109/ISIE.2016.7745067.

🌈4 Matlab代码实现

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值