资源简介
NSGA-II的matlab程序,由Aravind Seshadri编写
代码片段和文件信息
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2009-01-28 00:25 NSGA-II\
目录 0 2006-03-20 00:57 NSGA-II\html\
文件 10253 2006-03-16 21:37 NSGA-II\html\tournament_selection.html
文件 8174 2006-03-16 21:38 NSGA-II\html\replace_chromosome.html
文件 6402 2006-03-16 21:31 NSGA-II\html\ob
文件 21283 2006-03-16 21:29 NSGA-II\html\nsga_2.html
文件 19336 2006-03-16 21:35 NSGA-II\html\non_domination_sort_mod.html
文件 6575 2006-03-16 21:30 NSGA-II\html\initialize_variables.html
文件 15130 2006-03-16 21:30 NSGA-II\html\genetic_operator.html
文件 7254 2006-03-16 21:28 NSGA-II\html\evaluate_ob
文件 134157 2006-03-20 01:24 NSGA-II\NSGA II.pdf
文件 2216 2006-03-16 21:28 NSGA-II\evaluate_ob
文件 7094 2009-07-16 14:08 NSGA-II\genetic_operator.m
文件 3424 2009-07-16 14:09 NSGA-II\initialize_variables.m
文件 8503 2009-07-16 14:09 NSGA-II\non_domination_sort_mod.m
文件 9527 2009-07-16 14:09 NSGA-II\nsga_2.m
文件 3601 2009-07-16 14:09 NSGA-II\ob
文件 4120 2009-07-16 14:09 NSGA-II\replace_chromosome.m
文件 5028 2009-07-16 14:09 NSGA-II\tournament_selection.m
文件 1337 2009-07-19 20:16 license.txt
- 上一篇:SVD算法的MATLAB实现代码
- 下一篇:蚁群算法TSP问题工具箱
相关资源
- SVD算法的MATLAB实现代码
- FCM聚类算法,可直接matlab运行
- HMM的Matlab代码
- GM11模型matlab程序
- 机械优化设计之二次插值法matlab
- matlab GUI计算器设计
- 通过matlab读取同一路径下多个txt或者
- 无线定位基本算法Matlab
- 转差频率控制的的电机仿真模型
- Rossler_混沌系统Lyapunov指数Matlab实现代
- 基于matlab的医学脑部分割
- 基于MATLAB的语音信号处理课程设计
- Matlab基于全局阈值处理的图像二值分
- matlab仿真PID控制系统
- 使用遗传算法优化BP神经网络权值 的
- 最小交叉熵matlab
- 升余弦滚降滤波程序MatLAB
- matlab小波软阈值去噪代码
- matlab 三维傅里叶快速算法 fft
- 利用matlab进行双目标优化
- 用matlab读取txt文件然后画图
- QR算法求矩阵特征值的matlab实现
- 计算测地距离的matlab代码
- 局部线性嵌入LLE的matlab代码
- Matlab有限元编程源代码.rar
- 比例公平调度matlab源程序
- matlab空间中任意一点上画圆柱
- 任意阵列的常规波束形成matlab程序
- 基于混沌的图像置乱MATLAB程序
- MATLAB程序设计与应用(刘卫国-第3版)
评论
共有 条评论