Documentation of mobjdebconstr
Global Index (all files) (short | long)
| Local contents
| Local Index (files in subdir) (short | long)
Function Synopsis
ObjVal = mobjdebconstr(Chrom);
Help text
MultiObjective Problem (constrained): DEB's constrained function
This function implements DEB's multiobjective constrained function.
Deb, K. : A fast and elitest multi-objective genetic algorithm: NSGA-II.
KanGAL Report 200001, p. 16 and 17, Table VI.
MO properties: Ptrue connected and constrained, PFtrue convex
Syntax: ObjV = mobjdebconstr(Chrom)
For Input and Output parameters see objfun1.
See also: mobjfonseca1, objfun1, mobjdtlz1
Cross-Reference Information
| This function calls |
This function is called by |
|
|
|
Listing of function mobjdebconstr
% Author: Hartmut Pohlheim
% History: 10.04.2005 file created
function ObjVal = mobjdebconstr(Chrom);
% Compute population parameters
[Nind, Nvar] = size(Chrom);
if nargin < 1, Chrom = []; end
if isnan(Chrom), Chrom = []; end
if isempty(Chrom), Chrom = [NaN, NaN, 1]; end
% create objective function parameter structure
if isnan(Chrom(1)),
if all([isnan(Chrom(2)), Chrom(3) <= 10]),
ObjVal = objfunoptset('FunctionName', 'DEBs constrained MO-Function', ...
'VarBoundMin', [0.1, 0], 'VarBoundMax', [1, 5], ...
'NumVarDefault', 2, 'NumVarMin', 2, 'NumVarMax', 2, ...
'NumObjDefault', 4, 'NumObjMin', 4, 'NumObjMax', 4);
end
% compute values of function
else
% F1= x1
% F2=(1+x2)/(x1)
% 0.1 < x1 < 1 ; 0 < x2 < 5
% With the following constraint conditions:
% g1: x2+9x1 >= 6
% g2: -x2+9x1 >= 1
ObjVal = repmat(Inf, [Nind, 4]);
% Define the two objectives
ObjVal(:,1) = Chrom(:,1);
ObjVal(:,2) = (1 + Chrom(:,2)) ./ Chrom(:,1);
% Define the constraints as additional objectives
% First lets calculate the constraines and the distance
% because of -6 (or -1 for G2) we can always compare to 0 (zero)
G1 = (Chrom(:,2) + 9*Chrom(:,1)) - 6;
G2 = (-Chrom(:,2) + 9*Chrom(:,1)) - 1;
% A little magic, set all constrained objective, which are satisfied to zero
% and all other (violated constraints) to the distance from the boundary
% as we are maximizing > 6, > 1) and our objectives are minimized we multiply with -1
ObjVal(:,3) = (G1 >= 0) .* 0 + (G1 < 0) .* G1 .* -1;
ObjVal(:,4) = (G2 >= 0) .* 0 + (G2 < 0) .* G2 .* -1;
end
% End of function
This document is part of
version 3.7 of the
GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with Matlab -
www.geatbx.com.
The Genetic and Evolutionary Algorithm Toolbox is
not public domain.
© 1994-2005 Hartmut Pohlheim, All Rights Reserved,
(support@geatbx.com).