1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 基于粒子群优化算法的分布式电源优化调度实现配电网稳定运行(Matlab代码实现)

基于粒子群优化算法的分布式电源优化调度实现配电网稳定运行(Matlab代码实现)

时间:2019-12-14 22:47:27

相关推荐

基于粒子群优化算法的分布式电源优化调度实现配电网稳定运行(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码及数据

🎉4参考文献

💥1 概述

随着社会经济的快速发展,化石能源被无节制的开采与使用,能源紧缺以及环境污染问题愈发严重,气候变化加剧,恶劣天气现象频繁发生。为了有效缓解能源和环境问题,新能源技术例如风能、太阳能以及潮汐能等,目前被广泛使用。分布式能源是新能源发展的重要方向,具有清洁、节能环保和高效灵活的特点,并且具有经济性。现如今,分布式电源在配电网中的利用率越来越高,并网后会给配电网的安全运行造成不同程度的影响,故含分布式电源配电网的优化运行问题亟待解决。

📚2 运行结果

部分代码:

% k:初始为0.6(k belongs to [0.1,1.0]),速率和x的关系(V = kX)

% wV:初始为1(wV best belongs to [0.8,1.2]),速率更新公式中速度前面的弹性系数

% wP:初始为1,种群更新公式中速度前面的弹性系数

% v:初始为5,SVM Cross Validation参数

% popcmax:初始为100,SVM 参数c的变化的最大值.

% popcmin:初始为0.1,SVM 参数c的变化的最小值.

% popgmax:初始为1000,SVM 参数g的变化的最大值.

% popgmin:初始为0.01,SVM 参数c的变化的最小值.

Vcmax = pso_option.k*pso_option.popcmax;

Vcmin = -Vcmax ;

Vgmax = pso_option.k*pso_option.popgmax;

Vgmin = -Vgmax ;

eps = 10^(-5);

% train_1 = train(1:100,1);

% train_label1 = train_label(1:100);

% train_2 = train(31:40,1:9);

% train_label2 = train_label(31:40);

%% 产生初始粒子和速度

for i=1:pso_option.sizepop

% 随机产生种群和速度

pop(i,1) = (pso_option.popcmax-pso_option.popcmin)*rand+pso_option.popcmin;

pop(i,2) = (pso_option.popgmax-pso_option.popgmin)*rand+pso_option.popgmin;

V(i,1)=Vcmax*rands(1,1);

V(i,2)=Vgmax*rands(1,1);

% 计算初始适应度

fitness(i)=myfunc_fit1(pop(i,:));

% [traini1,a1,b1]=svmpredict(train_label1,train_1,model);

% [traini2,a2,b2]=svmpredict(train_label2,train_2,model);

% fitness(i)= 0.25*mse(traini1-train_label1) + 0.75*mse(traini2-train_label2);

end

% 找极值和极值点

[global_fitness bestindex]=min(fitness); % 全局极值

local_fitness=fitness; % 个体极值初始化

global_x=pop(bestindex,:); % 全局极值点

local_x=pop; % 个体极值点初始化

% 每一代种群的平均适应度

avgfitness_gen = zeros(1,pso_option.maxgen);

%% 迭代寻优

for i=1:pso_option.maxgen

for j=1:pso_option.sizepop

%速度更新

V(j,:) = pso_option.wV*V(j,:) + pso_option.c1*rand*(local_x(j,:) - pop(j,:)) + pso_option.c2*rand*(global_x - pop(j,:));

if V(j,1) > Vcmax

V(j,1) = Vcmax;

end

if V(j,1) < Vcmin

V(j,1) = Vcmin;

end

if V(j,2) > Vgmax

V(j,2) = Vgmax;

end

if V(j,2) < Vgmin

V(j,2) = Vgmin;

end

🌈3 Matlab代码及数据

🎉4参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]袁玉松. 计及分布式电源的配电网优化运行策略研究[D].湖北民族大学,.DOI:10.27764/ki.ghbmz..000148.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。