• 大小: 37KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-04
  • 语言: Matlab
  • 标签: NSGA  遗传算法  

资源简介

NSGA-II matlab 遗传算法源码 不错

资源截图

代码片段和文件信息

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 = [];
% objective function one
sum = 0;
for i = 1 : V - 1
    sum = sum - 10*exp(-0.2*sqrt((x(i))^2 + (x(i + 1))^2));
end
% Decision variables are used to form the objective function.
f(1) = sum;

% objective function two
sum = 0;
for i = 1 : V
    sum = sum + (abs(x(i))^0.8 + 5*(sin(x(i)))^3);
end
% Decision variables are used to form the objective function.
f(2) = sum;

%% 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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2216  2006-03-16 15:28  NSGA-II源程序\evaluate_objective.m

     文件       5695  2006-03-16 15:30  NSGA-II源程序\genetic_operator.m

     文件       2024  2006-03-16 15:30  NSGA-II源程序\initialize_variables.m

     文件       7102  2006-03-16 15:36  NSGA-II源程序\non_domination_sort_mod.m

     文件       8127  2006-03-16 15:29  NSGA-II源程序\nsga_2.m

     文件       2200  2006-03-19 19:12  NSGA-II源程序\objective_description_function.m

     文件       2719  2006-03-16 15:38  NSGA-II源程序\replace_chromosome.m

     文件       3627  2006-03-16 15:38  NSGA-II源程序\tournament_selection.m

     文件       7254  2006-03-16 15:28  NSGA-II源程序\html\evaluate_objective.html

     文件      15130  2006-03-16 15:30  NSGA-II源程序\html\genetic_operator.html

     文件       6575  2006-03-16 15:30  NSGA-II源程序\html\initialize_variables.html

     文件      19336  2006-03-16 15:35  NSGA-II源程序\html\non_domination_sort_mod.html

     文件      21283  2006-03-16 15:29  NSGA-II源程序\html\nsga_2.html

     文件       6402  2006-03-16 15:31  NSGA-II源程序\html\objective_description_function.html

     文件       8174  2006-03-16 15:38  NSGA-II源程序\html\replace_chromosome.html

     文件      10253  2006-03-16 15:37  NSGA-II源程序\html\tournament_selection.html

     目录          0  2008-04-02 21:35  NSGA-II源程序\html

     目录          0  2008-04-02 21:35  NSGA-II源程序

     文件        183  2009-02-02 09:47  Matlab中文论坛--助努力的人完成毕业设计.url

     文件       3543  2009-02-01 16:19  使用帮助:新手必看.htm

----------- ---------  ---------- -----  ----

               131843                    20


评论

共有 条评论