


[SelPop,SelFunVal]=truncation_selection(Pop,FunVal,selection_params)
truncation_selection: Truncation selection
Individuals are ordered according fitness values (best is the maximum)
For multiobjetive functions, individuals are selected according
average ranking for all the objectives. (i.e. for each objective a truncation
is done)
INPUTS
Pop: Original population
FunVal: A matrix of function evaluations, one vector of m objectives for each individual
selection_params{1}: Truncation parameter T \in (0,1)
OUTPUTS
SelPop: Selected population
SelFunVal: A vector of function evaluations for each selected individual
Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es)

0001 function[SelPop,SelFunVal]=truncation_selection(Pop,FunVal,selection_params) 0002 % [SelPop,SelFunVal]=truncation_selection(Pop,FunVal,selection_params) 0003 % truncation_selection: Truncation selection 0004 % Individuals are ordered according fitness values (best is the maximum) 0005 % For multiobjetive functions, individuals are selected according 0006 % average ranking for all the objectives. (i.e. for each objective a truncation 0007 % is done) 0008 % INPUTS 0009 % Pop: Original population 0010 % FunVal: A matrix of function evaluations, one vector of m objectives for each individual 0011 % selection_params{1}: Truncation parameter T \in (0,1) 0012 % OUTPUTS 0013 % SelPop: Selected population 0014 % SelFunVal: A vector of function evaluations for each selected individual 0015 % 0016 % Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es) 0017 0018 PopSize = size(Pop,1); 0019 0020 T = cell2num(selection_params{1}(1)); % The parameter used by truncation selection is the truncation parameter 0021 number_objectives = size(FunVal,2); 0022 SelPopSize = floor(T*PopSize); 0023 0024 [Index] = fitness_ordering(Pop,FunVal,SelPopSize); 0025 0026 SelPop = Pop(Index,:); 0027 SelFunVal = FunVal(Index,:); 0028 0029 return 0030 0031 0032 0033