基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度(MATLAB)

作品简介

一、微网系统运行优化模型

微电网优化模型介绍:

https://blog.csdn.net/weixin_46204734/article/details/132700070?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132700070%22%2C%22source%22%3A%22weixin_46204734%22%7D

二、基于非支配排序的蜣螂优化算法NSDBO

基于非支配排序的蜣螂优化算法NSDBO简介:

https://blog.csdn.net/weixin46204734/article/details/128176809?opsrequest_misc=%257B%2522request%255Fid%2522%253A%2522170048462416800186521370%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170048462416800186521370&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-128176809-null-null.nonecase&utm_term=NSDBO&spm=1018.2226.3001.4450

三、NSDBO求解微电网多目标优化调度

(1)部分代码

close all;
clear ; 
clc;
global P_load; %电负荷
global WT;%风电
global PV;%光伏
%%
addpath('./NSDBO/')%添加算法路径
TestProblem=1;
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%问题名
% Parameters
params.Np = 100;        % Population size
params.Nr = 200;        % Archive size
params.maxgen = 100;  % Maximum number of iteration
params.ngrid = 20;      % Number of grids in each dimension
[Xbest,Fbest]  = NSDBO(params,MultiObj);


%% 画结果图ParetoFont
figure(1)
plot(Fbest(:,1),Fbest(:,2),'ro');
legend('NSDBO');
xlabel('运行成本')
ylabel('环境保护成本')
saveas(gcf,'./Picture/ParetoFont.jpg') %将图片保存到Picture文件夹下面


%% 比较不同目标函数寻优对调度结果的影响
%idxn=11种.将两个目标函数值归一化相加,取相加后最小的目标值的粒子,即寻找折衷解并画图
%idxn=22种寻找总成本最低时的解并画图
%idxn=33种寻找运行成本最低时的解并画图
%idxn=44种寻找环境保护成本最低时的解并画图
idxn=1;
pg=plotFigure(Xbest,Fbest,idxn);


(2)部分结果

pareto前沿:



 第1种.将两个目标函数值归一化相加,取相加后最小的目标值的粒子,即寻找折衷解并画图






第2种寻找总成本最低时的解并画图






第3种寻找运行成本最低时的解并画图







第4种寻找环境保护成本最低时的解并画图






四、完整MATLAB代码

文件夹内包含完整MATLAB代码,点击main.m即可运行


创作时间: