• 大小: 130KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: matlab算法  NSGA-II  

资源简介

所上传算法程序为非支配 排序遗传算法NSGA-II,包含主函数,初始变量函数,竞标选择,遗传操作,非支配排序程序,替换程序,以及目标函数程序。下载之后只需编写自己的目标函数及改变相应的输入变量相关参数即可使用该算法程序。

资源截图

代码片段和文件信息

function f = evaluate_objective(x M V)

%% function f = evaluate_objective(x M V)
% Function to evaluate the objective functions for the given input vector
% x. x is an array of decision variables and f(1) f(2) etc are the
% objective functions. The algorithm always minimizes the objective
% function hence if you would like to maximize the function then multiply
% the function by negative one. M is the numebr of objective functions and
% V is the number of decision variables. 
%
% This functions is basically written by the user who defines his/her own
% objective function. Make sure that the M and V matches your initial user
% input. Make sure that the 
%
% An example objective function is given below. It has two six decision
% variables are two objective functions.

% f = [];
% %% objective function one
% % Decision variables are used to form the objective function.
% f(1) = 1 - exp(-4*x(1))*(sin(6*pi*x(1)))^6;
% sum = 0;
% for i = 2 : 6
%     sum = sum + x(i)/4;
% end
% %% Intermediate function
% g_x = 1 + 9*(sum)^(0.25);

% %% objective function two
% f(2) = g_x*(1 - ((f(1))/(g_x))^2);

%% Kursawe proposed by Frank Kursawe.
% Take a look at the following reference
% A variant of evolution strategies for vector optimization.
% In H. P. Schwefel and R. M鋘ner editors Parallel Problem Solving from
% Nature. 1st Workshop PPSN I volume 496 of Lecture Notes in Computer 
% Science pages 193-197 Berlin Germany oct 1991. Springer-Verlag. 
%
% Number of objective is two while it can have arbirtarly many decision
% variables within the range -5 and 5. Common number of variables is 3.
f = [];
% pset=xlsread(‘C:\Users\weiwei\Desktop\论文\NSGA-II\使用于小论文\青岛会议\NSGA-II\Pre_power_day指令.xls‘);
% pw=xlsread(‘C:\Users\weiwei\Desktop\论文\NSGA-II\使用于小论文\青岛会议\NSGA-II\Real_power_aver实际.xls‘); 


%save(‘pg1.mat‘‘pg1‘)
%save(‘flag1.mat‘‘flag1‘) 
%save(‘soc1.mat‘‘soc1‘)


        
% Decision variables are used to form the objective function.

f(1) = E;
% +2500*abs(soc(1)-soc(96)); 

% objective function two

% Decision variables are used to form the objective function.

f(2) = F;


%% Check for error
if length(f) ~= M
   error(‘The number of decision variables does not match you previous input. Kindly check your objective function‘);
end
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-09-27 10:48  NSGA-II\
     文件      134157  2006-03-20 09:24  NSGA-II\NSGA II.pdf
     文件        2368  2018-09-27 10:51  NSGA-II\evaluate_objective.m
     文件        7188  2015-09-05 21:14  NSGA-II\genetic_operator.m
     文件        3320  2015-10-30 20:50  NSGA-II\initialize_variables.m
     文件        1337  2009-07-20 04:16  NSGA-II\license.txt
     文件        8503  2009-07-16 22:09  NSGA-II\non_domination_sort_mod.m
     文件       11308  2016-07-15 21:02  NSGA-II\nsga_2.m
     文件        3315  2016-07-12 17:21  NSGA-II\objective_description_function.m
     文件        4150  2015-09-03 11:01  NSGA-II\replace_chromosome.m
     文件        5028  2009-07-16 22:09  NSGA-II\tournament_selection.m

评论

共有 条评论