基于遗传算法和粒子群算法的潮流计算比较(Matlab代码实现)

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

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

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

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

目录

 ⛳️赠与读者

💥1 概述

一、遗传算法在潮流计算中的应用

二、粒子群算法在潮流计算中的应用

三、遗传算法与粒子群算法的比较

四、结论

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

 电力系统潮流是指系统中的所有运行参数总体,其中包括各个发电机与负荷的功率及其电流、各母线电压的大小与相位、各个线路与变压器等元件所通过的电流、功率及其损耗。
潮流计算是根据已知的电网结构和运行条件来确定系统运行形态的分析系统稳态运行的计算。它是电气工程长期研究的重要课题。

本文讲解基于遗传算法和粒子群算法的潮流计算比较(Matlab代码实现)

受Reynols和 Heppner的模型的启发,1995年,电子工程学博士 Russell Eherhart和社会心理学博士James Kennedy提出了粒子群算法[3-4]粒子群算法模拟小鸟在觅食的过程中通过共享信息找到食物位置的行为来解决问题.在此算法中将小鸟食物的位置对应成问题空间解的位置,小鸟对应成无质量无体积的“粒子”,小鸟在觅食过程中的信息共享和相互协作对应成粒子间的信息共享和相互协作﹐在信息共享的同时粒子调整运动方向和速度,从而快速搜寻到最优解.    

                                         图1 粒子群算法流程图

遗传算法具有很多优点:(1)可全局搜索,不易陷入局部最优解;(2)编码多样化,很多问题都可以用遗传算法解决;(3)可并行随机搜索﹐且搜索范围逐渐缩小; (4)适应度的函数很灵活,可离散可连续,求导微分方面也不限制;(5)很复杂的问题也能使用遗传算法,且结果可靠;(6)兼容性、可扩展性强,可以和很多其他算法融合使用.随着科技的进步,以及对各算法研究的深入,很多算法研究到一定程度缺陷也越明显,要想规避某算法的缺陷,与其他算法融合使用形成新的算法是很好的方法,而遗传算法就是一个比较好的合作算法.

以下是对基于遗传算法和粒子群算法的潮流计算的比较研究:

一、遗传算法在潮流计算中的应用

遗传算法(Genetic Algorithm,GA)是一种模拟自然选择和遗传学原理的优化搜索算法。在电力系统潮流计算中,遗传算法主要用于解决无功优化问题,这是一个具有非线性约束和目标函数、连续控制变量和离散控制变量的复杂问题。

遗传算法通过编码、选择、交叉和变异等操作,不断进化出一个优秀的种群,即一组解决方案。在潮流计算中,这些解决方案代表不同的电力系统运行状态,通过计算每个状态的适应度(即目标函数值),可以评估其优劣。遗传算法的优点在于其全局搜索能力强,能够避免陷入局部最优解。然而,遗传算法也存在计算量大、收敛速度慢等缺点。

二、粒子群算法在潮流计算中的应用

粒子群优化算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,它模拟了鸟群觅食过程中的迁徙和群集行为。在PSO算法中,每个粒子代表一个潜在的解决方案,通过不断调整自己的位置和速度来逼近全局最优解。

粒子群算法在潮流计算中的应用与遗传算法类似,也是用于解决无功优化问题。粒子群算法通过粒子间的信息共享和合作,能够较快地收敛到全局最优解。此外,粒子群算法还具有参数设置简单、易于实现等优点。然而,粒子群算法的性能也受到一些因素的影响,如惯性权重、加速度系数等参数的选择。

三、遗传算法与粒子群算法的比较

  1. 搜索机制:遗传算法通过选择、交叉和变异等操作来进化种群,而粒子群算法则通过粒子间的信息共享和合作来逼近全局最优解。两种算法在搜索机制上有所不同,导致它们在解决具体问题时的表现也有所差异。
  2. 全局搜索能力:遗传算法具有较强的全局搜索能力,能够避免陷入局部最优解。而粒子群算法在搜索过程中也表现出较好的全局收敛性,但在某些情况下可能会受到局部最优解的影响。
  3. 计算效率:粒子群算法通常比遗传算法具有更快的收敛速度,因为粒子群算法中的粒子能够更快地逼近全局最优解。然而,这也取决于具体问题的复杂性和算法参数的设置。
  4. 参数设置:遗传算法和粒子群算法都需要设置一些参数来控制算法的运行。遗传算法中的参数包括种群大小、交叉概率、变异概率等;粒子群算法中的参数包括惯性权重、加速度系数等。这些参数的选择对算法的性能有很大影响。

四、结论

遗传算法和粒子群算法在电力系统潮流计算中都具有一定的应用价值。遗传算法具有较强的全局搜索能力,适用于解决复杂的无功优化问题;而粒子群算法则具有较快的收敛速度和易于实现的优点。在实际应用中,可以根据具体问题的特点和需求选择合适的算法进行求解。同时,也可以考虑将两种算法进行结合或改进,以进一步提高算法的性能和效率。

📚2 运行结果


部分代码:

%% 基于遗传算法和粒子群算法的潮流计算比较(Matlab代码实现)
clc;
clear;
close all;
%% 随机数种子
rng('default')
rng(1)
%%
addpath(genpath('matpower7.0'))
%%
data.mpc=case9;
data.numBranch=length(data.mpc.branch(:,1));
data.distance=xlsread('线型.xlsx',2);
data.Line=xlsread('线型.xlsx',1);
data.numLine=length(data.Line(:,1));
data.base=100;
data.lamdaLoss=25; %损耗成本系数
%% 算法参数设置
dim=data.numBranch;
%%
lb=zeros(1,dim);
ub=ones(1,dim);
fobj=@aimFcn_1;
option.lb=lb; %下限
option.ub=ub; %上限
option.dim=dim;%决策变量个数
if length(option.lb)==1 %判断是否成立,如果成立就往下进行
    option.lb=ones(1,option.dim)*option.lb; %统一长度,每个决策变量对应一个lb和ub
    option.ub=ones(1,option.dim)*option.ub; %统一长度,每个决策变量对应一个lb和ub
end
option.fobj=fobj;
option.showIter=0;
%% 算法参数设置
% 基本参数
option.numAgent=20;        %初始解个体数 越大越好
option.maxIteration=20;    %最大迭代次数 越大越好
option.popSize=option.numAgent;
option.lenTS=option.numAgent*5;  %禁忌长度
% 遗传算法
option.p1_GA=0.85;
option.p2_GA=0.1;
% 粒子群算法
option.w_pso=0.1;
option.c1_pso=1;
option.c2_pso=1;
str_legend=[{'GA'},{'PSO'}];
%% 初始化种群个体
x=ones(option.numAgent,option.dim);
y=ones(option.numAgent,1);
for i=1:option.numAgent
    x(i,:)=option.lb+rand(1,option.dim).*(option.ub-option.lb);
    [y(i),~,x(i,:)]=option.fobj(x(i,:),option,data);
end
% 使用算法求解
rng(1)
[bestY(1,:),bestX(1,:),recording(1)]=GA(x,y,option,data);
rng(1)
[bestY(2,:),bestX(2,:),recording(2)]=PSO(x,y,option,data);
%%
figure

🎉3 参考文献

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

[1]赵波,郭创新,曹一家.基于粒子群优化算法和动态调整罚函数的最优潮流计算[J].电工技术学报, 2004, 019(005):47-54.

[2]张粒子,舒隽,林宪枢,等.基于遗传算法的无功规划优化[J].中国电机工程学报, 2000, 20(006):5-8.

🌈4 Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值