0
点赞
收藏
分享

微信扫一扫

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】


💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥
🎉作者研究:🏅🏅🏅本科计算机专业,研究生电气学硕主要研究方向是电力系统和智能算法、机器学习和深度学习。目前熟悉python网页爬虫、机器学习、群智能算法、深度学习的相关内容。希望将计算机和电网有效结合!⭐️⭐️⭐️

📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

                          

                                    🎉🎉欢迎您的到来🎉🎉

                     ⛅⛅⛅ 📃个人主页:科研室🌈🌈🌈

                    📚📚📚📋所有代码目录:电气工程科研社👨‍💻👨‍💻👨‍💻


📋📋📋本文目录如下:⛳️⛳️⛳️

目录

​​0 概述​​

​​1 环境经济调度数学模型​​

​​2 多元宇宙算法​​

​​3 Matlab代码实现 ​​

​​3.1 主函数: ​​

​​3.2 目标函数 ​​

​​4 运行结果​​

​​5 IEEE140节点仿真算例及Matlab代码【创新】​​

​​6 参考文献​​


0 概述

多元宇宙算法求解电力系统多目标优化算法有很好的效果,代码换成自己的目标函数,加上约束和惩罚项等。本文用多元宇宙算法求解电力系统多目标优化问题——电力系统环境经济调度问题。

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_经济调度_02

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_matlab_03

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_经济调度_04

提出了一种求解电力系统环境经济调度的新方法,该方法利用宇宙空间在随机创建过程中高膨胀率的物体随虫洞在空间移动物体的规律,通过对白洞和黑洞间随机传送物体来实现最优搜索. 算法具有运算速度快,收敛性强,适用于高维计算等特点.以总燃料费用最低和总污染排放最少为多目标建立环境经济调度模型,最后,通过发电厂传统10机组和40机组算例进行仿真.结果表明:本文所提算法具有经济性和有效性. 

1 环境经济调度数学模型

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_电力系统_05

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_算法_06

2 多元宇宙算法

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_经济调度_07

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_多元宇宙_08

 

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_经济调度_09

3 Matlab代码实现 

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_电力系统_10

3.1 主函数: 

clc;
clear;
close all;
tStart=tic;
% global costdata emissiondata B B0 B00 Pd VarMin VarMax nVar
global data B B0 B00 Pd VarMin VarMax nVar
Pd=2000;
data=xlsread('IEEE10.xls');

B1=xlsread('B10.xls');
B=B1(1:10,1:10);
B0=[0 0 0 0 0 0 0 0 0 0];
B00=0;
% B=B1(1:3,1:3);
% B0=[0 0 0 0 0 0 0 0 0 0];
% B00=0;


%%

Max_time=600; %迭代次数
N=100;
ArchiveMaxSize=100;
% max_iter=Max_time;
nVar=10; % 机组个数

VarSize=[1 nVar]; % 决策变量矩阵的大小
VarMin=data(:,2); %机组出力下限
VarMax= data(:,3); % 机组出力上限

fobj=@(x) IEEE3aobj(x);
dim=nVar;
lb=VarMin';
ub=VarMax';
obj_no=2;

Best_universe=zeros(1,dim);
Best_universe_Inflation_rate=inf*ones(1,obj_no);

Archive_X=zeros(ArchiveMaxSize,dim);
Archive_F=ones(ArchiveMaxSize,obj_no)*inf;
Archive_member_no=0;

WEP_Max=1;
WEP_Min=0.2;

for i=1:N
Universes(i,:)=lcheck3;
end

Time=1;

while Time<Max_time+1
WEP=WEP_Min+Time*((WEP_Max-WEP_Min)/Max_time);
TDR=1-((Time)^(1/6)/(Max_time)^(1/6));
for i=1:size(Universes,1)

%边界检查(如果宇宙超出边界,则将它们带回搜索空间内)
Flag4ub=Universes(i,:)>ub;
Flag4lb=Universes(i,:)<lb;
Universes(i,:)=(Universes(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;
Universes(i,:)=lbcoff3bus(Universes(i,:));
%计算宇宙的通货膨胀率(适合度)
Inflation_rates(i,:)=fobj(Universes(i,:));

%精英主义
if dominates(Inflation_rates(i,:),Best_universe_Inflation_rate)
Best_universe_Inflation_rate=Inflation_rates(i,:);
Best_universe=Universes(i,:);
end

end

[sorted_Inflation_rates,sorted_indexes]=sort(Inflation_rates);

for newindex=1:N
Sorted_universes(newindex,:)=Universes(sorted_indexes(newindex),:);
end

%原始MVO论文中的标准化通货膨胀率
normalized_sorted_Inflation_rates=normr(sorted_Inflation_rates);

Universes(1,:)= Sorted_universes(1,:);
% Universes(1,:)=lchecktf1(Universes(1,:));
[Archive_X, Archive_F, Archive_member_no]=UpdateArchive(Archive_X, Archive_F, Universes, Inflation_rates, Archive_member_no);
if Archive_member_no>ArchiveMaxSize
Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
[Archive_X, Archive_F, Archive_mem_ranks, Archive_member_no]=HandleFullArchive(Archive_X, Archive_F, Archive_member_no, Archive_mem_ranks, ArchiveMaxSize);
else
Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
end
Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
% 提高复盖率
index=RouletteWheelSelection(1./Archive_mem_ranks);
if index==-1
index=1;
end
Best_universe_Inflation_rate=Archive_F(index,:);
Best_universe=Archive_X(index,:);



%更新宇宙的位置
for i=2:size(Universes,1)%从2开始,因为第1位是精英
Back_hole_index=i;
for j=1:size(Universes,2)
r1=rand();
if r1<normalized_sorted_Inflation_rates(i)
White_hole_index=RouletteWheelSelection(-sorted_Inflation_rates);% 对于最大化问题,排序的通货膨胀率应该写成排序的通货膨胀率
if White_hole_index==-1
White_hole_index=1;
end
%Eq. (3.1)
Universes(Back_hole_index,j)=Sorted_universes(White_hole_index,j);
% Universes(Back_hole_index,j)=lchecktf1(Universes(Back_hole_index,j));
end

if (size(lb',1)==1)
%如果边界都是一样的,那么原MVO论文中的公式(3.2)就会出现
r2=rand();
if r2<WEP
r3=rand();
if r3<0.5
Universes(i,j)=Best_universe(1,j)+TDR*((ub-lb)*rand+lb);

end
if r3>0.5
Universes(i,j)=Best_universe(1,j)-TDR*((ub-lb)*rand+lb);
end
end
end

if (size(lb',1)~=1)
%公式( 3.2 )在原始MVO论文中,如果对每个变量的上下界不同
r2=rand();
if r2<WEP
r3=rand();
if r3<0.5
Universes(i,j)=Best_universe(1,j)+TDR*((ub(j)-lb(j))*rand+lb(j));
end
if r3>0.5
Universes(i,j)=Best_universe(1,j)-TDR*((ub(j)-lb(j))*rand+lb(j));
end
end
end

end
Universes(i,:)=lbcoff3bus(Universes(i,:));
end
display(['At the iteration ', num2str(Time), ' there are ', num2str(Archive_member_no), ' non-dominated solutions in the archive']);
Time=Time+1;
%
end
plot(Archive_F(:,1),Archive_F(:,2),'Ro','LineWidth',2,...
'MarkerEdgeColor','r',...
'MarkerFaceColor','r',...
'MarkerSize',2);
xlabel('污染排放量')
ylabel('煤耗量')
title('Pareto最前沿')
% Universes
Archive_F(:,1)
Archive_F(:,2)
Best_universe

3.2 目标函数 

function z=IEEE10aobj(x)

global data
lb=data(:,2);
e1=data(:,8);
d1=data(:,7);
c1=sum(data(:,4));
b1=data(:,5);
a1=data(:,6);
F=zeros(length(x(:,1)),1);
E=zeros(length(x(:,1)),1);


for i=1:length(x(:,1))
%F(i)=x(i,:).*x(i,:)*a1+x(i,:)*b1+c1;
F(i)=x(i,:).*x(i,:)*a1+x(i,:)*b1+c1+sum(abs(d1.*sin(e1.*(lb-x(i,:)'))));
end
Delta=data(:,13);
Xi=data(:,12);
Alpha=data(:,11);
Beta=data(:,10);
Gamma=sum(data(:,9));

for i=1:length(x(:,1))
%E(i)= x(i,:).*x(i,:)*Alpha+x(i,:)*Beta+Gamma;
E(i)= (x(i,:).*x(i,:)*Alpha+x(i,:)*Beta+Gamma)+exp(x(i,:).*Delta')*Xi;
end
F(i);
E(i);

z=[E F]';

end

 全部代码点这里:多元宇宙算法及其在电力系统环境经济调度的应用(Matlab实现)

4 运行结果

10机组运行结果:

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_电力系统_11

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_多元宇宙_12

  

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_算法_13

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_多元宇宙_14

本文提出了一种求解电力系统环境经济调度的新方法,计及阀点效应和污染排放因素,建立多目标规划模型,利用PPF定价原则权衡多重因素. 多元宇宙算法在求解EED问题时具有计算精度高,收敛速度快等特点,在求解高维度问题表现更佳,适用于其他工程问题研究.

4 IEEE140节点仿真算例及Matlab代码【创新】

需要这部分点这里:​​🍞正在为您运送作品详情​​

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】_算法_15

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者,博主专门做了一个专栏目录,整个专栏只放了一篇文章,足见我对其重视程度:博主专栏目录​。做到极度细致,方便大家进行学习!亲民!!!还有我开了一个专栏给女朋友的,很浪漫的喔,代码学累的时候去瞧一瞧,看一看:女朋友的浪漫邂逅。有问题可以私密博主,博主看到会在第一时间回复。 

5 参考文献

[1]刘世宇,王孜航,杨德友.多元宇宙算法及其在电力系统环境经济调度的应用[J].东北电力大学学报,2018,38(04):19-26. 

举报

相关推荐

0 条评论