一、多目标优化算法简介
(1)多目标鳟海鞘算法MSSA
多目标优化算法:多目标鳟海鞘算法(Multi-objective Salp Swarm Algorithm ,MSSA)-CSDN博客
参考文献:
S. Mirjalili, A.H. Gandomi, S.Z. Mirjalili, S. Saremi, H. Faris, S.M. Mirjalili, Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems, Advances in Engineering Software.多目标优化算法:多目标鳟海鞘算法(Multi-objective Salp Swarm Algorithm ,MSSA)-CSDN博客
(2)多目标人工蜂鸟算法MOAHA
多目标优化算法:多目标人工蜂鸟算法(multi-objective artificial hummingbird algorithm,MOAHA)_最新的多目标优化算法_IT猿手的博客-CSDN博客
参考文献:多目标优化算法:多目标人工蜂鸟算法(multi-objective artificial hummingbird algorithm,MOAHA)_最新的多目标优化算法_IT猿手的博客-CSDN博客
[1]Weiguo Zhao, Zhenxing Zhang, Seyedali Mirjalili, Liying Wang, Nima Khodadadi, Seyed Mohammad Mirjalili.An effective multi-objective artificial hummingbird algorithm with dynamic elimination-based crowding distance for solving engineering design problems,Computer Methods in Applied Mechanics and Engineering, 398,2022,
(3)多目标粒子群优化算法MOPSO
多目标应用:基于多目标粒子群优化算法MOPSO求解微电网多目标优化调度(MATLAB代码)-CSDN博客
(4)NSGA3
NSGA-III求解微电网多目标优化调度(MATLAB)-CSDN博客
(5)NSGA2
NSGA-II求解微电网多目标优化调度(MATLAB)-CSDN博客
二、微电网多目标优化调度模型
微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客
三、MSSA、MOAHA、MOPSO、NSGA3、NSGA2求解微电网多目标优化调度
(1)部分代码
close all; clear ; clc; addpath('./MSSA/')%添加算法路径 addpath('./NSGA3/')%添加算法路径 addpath('./NSGA2/')%添加算法路径 addpath('./MOAHA/')%添加算法路径 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; % 最大迭代次数(可以修改) AlgorithmName={'MSSA','MOAHA','MOPSO','NSGA3','NSGA2'};%算法名称 for i=1:numel(AlgorithmName) Algorithm=str2func(AlgorithmName{i});%依次获取算法 [Xbest{i},Fbest{i}] = Algorithm(params,MultiObj);%算法求解 end %% 比较不同目标函数寻优对调度结果的影响: % 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','bs','kd','mp','cx','y+'}; strColor1={'r*-','go--','bs-.','kd-','mp--','cx-.','y+-'}; %% 画结果图 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文件夹下面