一、多目標優化算法簡介
(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文件夾下面