【电力系统】基于粒子群算法优化电力系统潮流计算附matlab代码

简介: 【电力系统】基于粒子群算法优化电力系统潮流计算附matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

粒子群优化算法是一种新兴的群体智能优化技术,适用于目前科学领域、工程领域和经济领域中很多复杂的、非线性的甚至非凸形式的最优化问题。本文介绍了PSO算法的基本原理及其在负荷经济分配、无功优化、最优潮流计算等方面的应用。

⛄ 部分代码

%% Calculation of Power System

clc

clear

close all  

%% NR load flow analysis

nbus = 30;

busdata = busdatas(nbus);

linedata = linedatas(nbus);

resultWithoutDG = nrloadflow(nbus,busdata,linedata);

dim = 10;

Pmin=3; %minimum  power of solar DG unit

if nbus==30

   Pmax=30; %maximum power of solar DG unit in MW

else

   Pmax=100;

end

%% potential bus selection

R=linedata(:,3);

sourcbus=linedata(:,1);

destintnbus=linedata(:,2);

% del=180/pi*del;

for ii=1:size(linedata,1)

        alpha(ii)=(R(ii)/(abs(resultWithoutDG.V(sourcbus(ii)))...

                       *abs(resultWithoutDG.V(sourcbus(ii)))))...

                        *cos(resultWithoutDG.del(sourcbus(ii))...

                           -resultWithoutDG.del(destintnbus(ii)));

        beta(ii)=(R(ii)/(abs(resultWithoutDG.V(sourcbus(ii)))...

                      *abs(resultWithoutDG.V(sourcbus(ii)))))...

                       *sin(resultWithoutDG.del(sourcbus(ii))...

                         -resultWithoutDG.del(destintnbus(ii)));

        SV(ii)=alpha(ii).*resultWithoutDG.Pi(destintnbus(ii))...

                    -beta(ii).*resultWithoutDG.Qi(destintnbus(ii));

end

   

[sv,ind]=sort(SV,'descend');

po=destintnbus(ind);

[poo,ia,ic]=unique(po);

temp=po(sort(ia));

loadBusLocation = temp(1:dim);

%% GA optimisation

fitness=  @(x) objf(x,loadBusLocation,resultWithoutDG,nbus);

options = gaoptimset('MutationFcn',@mutationadaptfeasible,'PopulationSize',20);

options = gaoptimset(options,'PlotFcns',{@gaplotbestf}, ...

   'Display','iter','Generations',80);

[GAx,fval] = ga(fitness,dim,[],[],[],[],Pmin.*ones(1,dim)...

                               ,Pmax.*ones(1,dim),[],options);

finalGAresults= resultcalc(GAx,loadBusLocation,resultWithoutDG,nbus);

%% PSO optimisation

[PSOx,objval]=PSO(loadBusLocation,resultWithoutDG,nbus,dim,Pmax,Pmin);

finalPSOresults= resultcalc(PSOx',loadBusLocation,resultWithoutDG,nbus);

FIG1 = figure('Name', 'PSO Optimization','NumberTitle','off');

figure(FIG1)

plot(1./objval)

grid on;

ylabel('VL (pu)');

xlabel('time (sec)');

title('PSO optimisation')

%% Result plotting

% volatge magnitude plot

FIG2 = figure('Name', 'BUS VOLTAGE','NumberTitle','off');

figure(FIG2)

bar([finalPSOresults.V,finalGAresults.V,resultWithoutDG.V],'group')

xlim([0 nbus+1])

ylim([0.95,1.1])

grid on;

legend('PSO optimised','GA optimised','Without DG')

xlabel('Bus number')

ylabel('Volatge Magnitude in p.u.')

title('Bus Voltage')

% power loss comparison

FIG3 = figure('Name', 'Total Active Power loss','NumberTitle','off');

figure(FIG3)

bar([sum(finalPSOresults.Lpij);sum(finalGAresults.Lpij);sum(resultWithoutDG.Lpij)])

grid on;

title('Total Active Power loss in MW')

ylabel('Active Power loss(MW)')

set(gca,'Xtick',0)

text(0.8,-0.2,'PSO tuned')

text(1.8,-0.2,'GA tuned')

text(2.8,-0.2,'Without Optimisation')

% printresult

⛄ 运行结果

image.gif编辑

image.gif编辑

image.gif编辑

⛄ 参考文献

[1]林小朗, 王磊. 改进粒子群优化算法的电力系统最优潮流计算[J]. 广东电力, 2007, 20(3):5.

[2]郭羚, 黄鹏. 粒子群优化算法及其在电力系统中的应用[J]. 科学咨询, 2010.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

相关文章
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
4天前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
103 6
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
83 14
|
8天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
8天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
8天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
8天前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)

热门文章

最新文章