一、多目标优化算法简介
(1)非支配排序的蜣螂优化算法NSDBO
多目标应用:基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度(MATLAB)-CSDN博客
(2)NSGA3
NSGA-III求解微电网多目标优化调度(MATLAB)-CSDN博客
(3)多目标灰狼优化算法MOGWO
多目标应用:基于多目标灰狼优化算法MOGWO求解微电网多目标优化调度(MATLAB代码)-CSDN博客
(4)非支配排序的鲸鱼优化算法NSWOA
多目标应用:基于非支配排序的鲸鱼优化算法NSWOA求解微电网多目标优化调度(MATLAB代码)-CSDN博客
(5)多目标粒子群优化算法MOPSO
多目标应用:基于多目标粒子群优化算法MOPSO求解微电网多目标优化调度(MATLAB代码)-CSDN博客
二、微电网多目标优化调度模型
微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客
三、NSDBO、NSGA3、MOGWO、NSWOA、MOPSO求解微电网多目标优化调度
(1)部分代码
close all;
clear ;
clc;
addpath('./NSDBO/')%添加算法路径
addpath('./NSGA3/')%添加算法路径
addpath('./MOGWO/')%添加算法路径
addpath('./NSWOA/')%添加算法路径
addpath('./MOPSO/')%添加算法路径
global P_load; %电负荷
global WT;%风电
global PV;%光伏
%%
TestProblem=1;
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%问题名
% Parameters
params.Np =100; % 种群大小(可以修改)
params.Nr =200 ; % (外部存档的大小)
params.maxgen =100; % 最大迭代次数(可以修改)
[Xbest{1},Fbest{1}] = NSDBO(params,MultiObj);
[Xbest{2},Fbest{2}] = NSGA3(params,MultiObj);
[Xbest{3},Fbest{3}]= MOGWO(params,MultiObj);
[Xbest{4},Fbest{4}] = NSWOA(params,MultiObj);
[Xbest{5},Fbest{5}] = MOPSO(params,MultiObj);%% 比较不同目标函数寻优对调度结果的影响:
% idxn=1:第1种.将两个目标函数值归一化相加,取相加后最小的目标值的粒子,即寻找折衷解
% idxn=2:第2种寻找总成本最低时的解
% idxn=3:第3种寻找运行成本最低时的解
% idxn=4:第4种寻找环境保护成本最低时的解
idxn=3;%% 结果处理
for i=1:size(Xbest,2)
PG{i}=DealData(Xbest{i},Fbest{i},idxn);
end
strColor={'r*','go','b<','k>','mp','c.','y*'};
strColor1={'r*-','go--','b<-','k>-','mp-','c-.','y-*'};
AlgorithmName={'NSDBO','NSGA3','MOGWO','NSWOA','MOPSO'};%算法名称%% 画结果图
figure(1)
for i=1:size(Fbest,2)
plot(Fbest{1,i}(:,1),Fbest{1,i}(:,2),strColor{i});
hold on
end
legend(AlgorithmName);
xlabel('运行成本')
ylabel('环境保护成本')
saveas(gcf,'./Picture/ParetoFont.jpg') %将图片保存到Picture文件夹下面