👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
《《《《《《《《更多资源还请持续关注本专栏》》》》》》》
论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html
针对现有智能优化算法在求解主动配电网故障定位问题时存在的收敛速度慢、易陷入局部最优解、容错性差、种群质量低等问题,提出一种改进的多元宇宙优化算法(improved multi-verses optimization, IMVO)。首先构建具有容错能力的主动配电网模型,根据故障定位问题的特点对多元宇宙的种群进行离散化编码。其次将自适应精英策略融入改进算法的多元宇宙种群的更迭中,以保证多元宇宙的种群质量。设计基于非线性曲线变化的虫洞存在概率(wormhole existence probability, WEP)与旅行距离率(travel distance rate, TDR)的更新机制,以提高算法前段搜寻相对最优宇宙的能力与后段调整最优探测距离的精度。最后通过自适应突变操作增强改进算法的局部搜索能力,进而提高全局寻优能力。仿真实验结果表明,改进多元宇宙优化算法在单点、多点以及信息畸变故障定位中全局寻优能力显著,相较于其他优化算法在解决配电网故障定位问题上具有更高的准确率与收敛速率。
部分代码展示:
function [ bestPosition, fitValue ,BestCost] = ...
PSOFUN( CostFun,nVar,VarMin,VarMax,MaxIt,nPop )
%% PSO Parameters
CostFunction=@(x) CostFun(x); % Cost Function
w=1; % Inertia Weight
wdamp=0.99; % Inertia Weight Damping Ratio
c1=1.5; % Personal Learning Coefficient
c2=2.0; % Global Learning Coefficient
VarSize=[1 nVar]; % Size of Decision Variables Matrix
% Velocity Limits
VelMax=0.1*(VarMax-VarMin);
VelMin=-VelMax;
%% Initialization
empty_particle.Position=[];
empty_particle.Cost=[];
empty_particle.Velocity=[];
empty_particle.Best.Position=[];
empty_particle.Best.Cost=[];
particle=repmat(empty_particle,nPop,1);
GlobalBest.Cost=inf;
for i=1:nPop
% Initialize Position
particle(i).Position=unifrnd(VarMin,VarMax,VarSize);%随机初始化变量
% particle(i).Position=round(particle(i).Position);
% Initialize Velocity
particle(i).Velocity=zeros(VarSize);%速度
% Evaluation
particle(i).Cost=CostFunction(particle(i).Position);%目标
% Update Personal Best
particle(i).Best.Position=particle(i).Position;%更新个体最优
particle(i).Best.Cost=particle(i).Cost;
% Update Global Best%更新全局最优
if particle(i).Best.Cost<GlobalBest.Cost
GlobalBest=particle(i).Best;
end
end
BestCost=zeros(MaxIt,1);
%% PSO Main Loop
for it=1:MaxIt
for i=1:nPop
% Update Velocity更新速度
particle(i).Velocity = w*particle(i).Velocity ...
+c1*rand(VarSize).*(particle(i).Best.Position-particle(i).Position) ...
+c2*rand(VarSize).*(GlobalBest.Position-particle(i).Position);
% Apply Velocity Limits速度约束
particle(i).Velocity = max(particle(i).Velocity,VelMin);
particle(i).Velocity = min(particle(i).Velocity,VelMax);
% Update Position更新位置
particle(i).Position = particle(i).Position + particle(i).Velocity;
% particle(i).Position=round(particle(i).Position);
% Velocity Mirror Effect变量越限镜像处理
IsOutside=(particle(i).Position<VarMin | particle(i).Position>VarMax);
particle(i).Velocity(IsOutside)=-particle(i).Velocity(IsOutside);
% Apply Position Limits%变量越限处理
particle(i).Position = max(particle(i).Position,VarMin);
particle(i).Position = min(particle(i).Position,VarMax);
% Evaluation新目标
particle(i).Cost = CostFunction(particle(i).Position);
% Update Personal Best
if particle(i).Cost<particle(i).Best.Cost
particle(i).Best.Position=particle(i).Position;
particle(i).Best.Cost=particle(i).Cost;
% Update Global Best更新全局最优
if particle(i).Best.Cost<GlobalBest.Cost
GlobalBest=particle(i).Best;
end
end
end
BestCost(it)=GlobalBest.Cost;
disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);
w=w*wdamp;
end
效果展示:
113号资源-源程序:论文可在知网下载《改进多元宇宙算法的主动配电网故障定位方法研究》本人博客有解读基于资源-CSDN文库https://download.csdn.net/download/LIANG674027206/89322736 👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
《《《《《《《《更多资源还请持续关注本专栏》》》》》》》
论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html