【无功优化】基于知识获取与共享算法实现多目标无功电压优化附matlab代码

简介: 【无功优化】基于知识获取与共享算法实现多目标无功电压优化附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

1 算法原理

Existing heuristic optimization algorithms are prone to obtain a set of non-dominated solutions overconcentrated within an intermediate area in the objective space. It results in a poor diversity performance of the Pareto front when handling the problem on multi-objective voltage and reactive power coordinated control (MOVRPOC). For mitigating the

aforementioned disadvantages, a newly developed heuristic algorithm, gaining-sharing knowledge based algorithm (GSK), is implemented to handle the problem of MOVRPOC. Then, the minimum system losses, the minimum average voltage deviation and the minimum curtailment rate are treated as optimization objectives, and then the revised IEEE 33-bus distribution system is utilized as the benchmark networks. Grey wolf optimization (GWO) and equilibrium optimizer (EO) are taken as a comparison to validate the improvement on diversity of GSK. The results reveal that GSK is capable to obtain more diverse non-dominated solutions to MOVRPOC for distributed networks, which can bebetter applied to the practical scenarios on MOVRPOC distribution networks.

2 算法流程

多目标无功电压优化是一种在配电网或输电网中通过调整无功功率和电压水平来实现多个优化目标的方法。这些目标可以包括降低功耗、改善电压稳定性、减少潮流损耗等。

以下是多目标无功电压优化的一般流程:

  1. 网络建模:将配电网或输电网进行建模,包括各个节点、支路、负载以及发电设备等。
  2. 目标函数定义:根据具体的优化目标,定义一个或多个目标函数。常见的目标函数包括最小化功耗、最大化电压稳定性指标、最小化网络损耗等。
  3. 约束条件设定:确定约束条件,包括电压限制、无功功率限制、线路容量限制等。这些约束条件是为了保证系统运行的安全性和可行性。
  4. 优化算法选择:选择适当的优化算法来求解多目标优化问题。常用的算法包括遗传算法、粒子群优化、蚁群算法等。这些算法能够搜索优化空间,并找到一组 Pareto 最优解集合,代表了权衡不同优化目标的最佳解。
  5. 优化求解:利用选择的优化算法对目标函数进行优化求解。通过迭代搜索和评估目标函数值,不断更新解空间,直到满足停止准则或达到一定的迭代次数。
  6. 解析结果分析:对求解得到的 Pareto 最优解集合进行分析,根据实际需求选择最优的方案。可以考虑权衡不同目标之间的权重,并选择具有最佳综合性能的解决方案。

⛄ 部分代码

function mpc = case33

mpc.version = '2';

mpc.baseMVA = 100;

%%bus data

%   bus_i type    Pd  Qd  Gs  Bs  area    Vm  Va  baseKV  zone    Vmax    Vmin

mpc.bus = [

   1 3 0     0     0 0 1 1.05 0 12.66 1 1.1 0.9;

%     1 3 0     0     0 0 1.05 1 0 12.66 1 1.05 0.95;

2 1 0.100   0.060 0 0 1 1 0 12.66 1 1.05 0.95;

3 1 0.090 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

4 1 0.120 0.080 0 0 1 1 0 12.66 1 1.05 0.95;

5 1 0.060 0.030 0 0 1 1 0 12.66 1 1.05 0.95;

6 1 0.060 0.020 0 0 1 1 0 12.66 1 1.05 0.95;

7 1 0.200   0.100 0 0 1 1 0 12.66 1 1.05 0.95;

8 1   0.200   0.100   0 0 1 1 0 12.66 1 1.05 0.95;

9 1 0.060 0.020 0 0 1 1 0 12.66 1 1.05 0.95;

10 1 0.060 0.020 0 0 1 1 0 12.66 1 1.05 0.95;

11 1 0.045 0.030 0 0 1 1 0 12.66 1 1.05 0.95;

12 1 0.060 0.035 0 0 1 1 0 12.66 1 1.05 0.95;

13 1 0.060 0.035 0 0 1 1 0 12.66 1 1.05 0.95;

14 1 0.120 0.080 0 0 1 1 0 12.66 1 1.05 0.95;

15 1 0.060 0.010 0 0 1 1 0 12.66 1 1.05 0.95;

16 1 0.060 0.020 0 0 1 1 0 12.66 1 1.05 0.95;

17 1 0.060 0.020 0 0 1 1 0 12.66 1 1.05 0.95;

18 1 0.090 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

19 1 0.090 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

20 1 0.090 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

21 1 0.090 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

22 1 0.090 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

23 1 0.090 0.050 0 0 1 1 0 12.66 1 1.05 0.95;

24 1 0.420 0.200 0 0 1 1 0 12.66 1 1.05 0.95;

25 1 0.420 0.200 0 0 1 1 0 12.66 1 1.05 0.95;

26 1 0.060 0.025 0 0 1 1 0 12.66 1 1.05 0.95;

27 1 0.060 0.025 0 0 1 1 0 12.66 1 1.05 0.95;

28 1 0.060 0.020 0 0 1 1 0 12.66 1 1.05 0.95;

29 1 0.120 0.070 0 0 1 1 0 12.66 1 1.05 0.95;

30 1 0.200 0.100 0 0 1 1 0 12.66 1 1.05 0.95;

   31 1 0.150 0.070 0 0 1 1 0 12.66 1 1.05 0.95;

   32 1 0.210 0.100 0 0 1 1 0 12.66 1 1.05 0.95;

   33 1 0.060 0.040 0 0 1 1 0 12.66 1 1.05 0.95;

];

%%generator data

%   bus    Pg  Qg  Qmax    Qmin    Vg  mBase   status  Pmax    Pmin

mpc.gen = [

   1    0       0      60 -60    1.05   100   1   100   0  

     

];

%%branch data

%   fbus   tbus    r   x   b   rateA   rateB   rateC   ratio   angle

%   status

mpc.branch = [  %% (r and x specified in ohms here, converted to p.u. below)

   1   2 0.0922 0.0470 0 130 130 130 0 0 1;

2 3 0.4930 0.2512 0 130 130 130 0 0 1;

3 4 0.3661 0.1864 0 130 130 130 0 0 1;

4 5 0.3811 0.1941 0 130 130 130 0 0 1;

5 6 0.8190 0.7070 0 130 130 130 0 0 1;

6 7 0.1872 0.6188 0 130 130 130 0 0 1;

7 8 0.7115 0.2351 0 130 130 130 0 0 1;

8 9 1.0299 0.7400 0 130 130 130 0 0 1;

9 10 1.0440 0.7400 0 130 130 130 0 0 1;

10 11 0.1967 0.0651 0 130 130 130 0 0 1;

11 12 0.3744 0.1298 0 65 65 65 0 0 1;

12 13 1.4680 1.1549 0 32 32 32 0 0 1;

13 14 0.5416 0.7129 0 65 65 65 0 0 1;

14 15 0.5909 0.5260 0 65 65 65 0 0 1;

15 16 0.7462 0.5449 0 65 65 65 0 0 1;

16 17 1.2889 1.7210 0 65 65 65 0 0 1;

17 18 0.7320 0.5739 0 32 32 32 0 0 1;

2 19 0.1640 0.1565 0 32 32 32 0 0 1;

19 20 1.5042 1.3555 0 32 32 32 0 0 1;

20 21 0.4095 0.4784 0 16 16 16 0 0 1;

21 22 0.7089 0.9373 0 16 16 16 0 0 1;

3 23 0.4512 0.3084 0 16 16 16 0 0 1;

23 24 0.8980 0.7091 0 16 16 16 0 0 1;

24 25 0.8959 0.7071 0 32 32 32 0 0 1;

6 26 0.2031 0.1034 0 32 32 32 0 0 1;

26 27 0.2842 0.1447 0 32 32 32 0 0 1;

27 28 1.0589 0.9338 0 32 32 32 0 0 1;

28 29 0.8043 0.7006 0 32 32 32 0 0 1;

29  30 0.5074 0.2585 0 32 32 32 0 0 1;

30 31 0.9745 0.9629 0 16 16 16 0 0 1;

31 32 0.3105 0.3619 0 16 16 16 0 0 1;

32 33 0.3411 0.5302 0 16 16 16 0 0 1;

];

%% convert branch impedances from Ohms to p.u.

[PQ, PV, REF, NONE, BUS_I, BUS_TYPE, PD, QD, GS, BS, BUS_AREA, VM, ...

   VA, BASE_KV, ZONE, VMAX, VMIN, LAM_P, LAM_Q, MU_VMAX, MU_VMIN] = idx_bus;

[F_BUS, T_BUS, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, ...

   TAP, SHIFT, BR_STATUS, PF, QF, PT, QT, MU_SF, MU_ST, ...

   ANGMIN, ANGMAX, MU_ANGMIN, MU_ANGMAX] = idx_brch;

Vbase = mpc.bus(1, BASE_KV) * 1e3;      %% in Volts

Sbase = mpc.baseMVA * 1e6;              %% in VA

mpc.branch(:, [BR_R BR_X]) = mpc.branch(:, [BR_R BR_X]) / (Vbase^2 / Sbase);

return;

⛄ 运行结果

⛄ 参考文献

[1] 王亚梅.面向多目标的主动配电网无功协调优化[D].山东理工大学[2023-06-16].DOI:CNKI:CDMD:2.1018.139525.

[2] 陈功贵,曹佳,刘耀,等.基于全序排列帝国主义算法的多目标无功优化仿真研究[J].实验室研究与探索, 2019, 38(7):6.DOI:10.3969/j.issn.1006-7167.2019.07.023.

[3] 袁辉,徐贵光,周京阳.基于模糊线性规划的无功电压优化[J].电网技术, 2003, 27(12):5.DOI:CNKI:SUN:DWJS.0.2003-12-008.

[4] 刘述奎,陈维荣,李奇,等.基于自适应聚焦粒子群优化算法的电力系统多目标无功优化[J].电网技术, 2009(13):53-58.DOI:CNKI:SUN:DWJS.0.2009-13-012.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料




相关文章
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
226 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
142 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
7月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
7月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
7月前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)

热门文章

最新文章