[NewPop,NewFunVal] = pop_agregation(Pop,SelPop,SampledPop,FunVal,SelFunVal,SampledFunVal,replacement_params) pop_agregation Creates a new population (NewPop) by selecting the PopSize best individuals of population Pop and SampledPop altogether INPUTS Pop: Current population SelPop: Current selected population SampledPop: Population sampled from the probabilistic model CurrentFunVal: A matrix of function evaluations, one vector of m objectives for each individual replacement__params{1} = find_bestids_method: Name of the procedure for selecting the k best individuals from a population (by default is 'fitness_ordering' OUTPUTS NewPop : New Population NewFunVal : Evaluations of the new population Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es)
0001 function [NewPop,NewFunVal] = pop_agregation(Pop,SelPop,SampledPop,FunVal,SelFunVal,SampledFunVal,replacement_params) 0002 % [NewPop,NewFunVal] = pop_agregation(Pop,SelPop,SampledPop,FunVal,SelFunVal,SampledFunVal,replacement_params) 0003 % pop_agregation Creates a new population (NewPop) by selecting the PopSize best individuals 0004 % of population Pop and SampledPop altogether 0005 % INPUTS 0006 % Pop: Current population 0007 % SelPop: Current selected population 0008 % SampledPop: Population sampled from the probabilistic model 0009 % CurrentFunVal: A matrix of function evaluations, one vector of m objectives for each individual 0010 % replacement__params{1} = find_bestids_method: Name of the procedure for selecting the k best individuals 0011 % from a population (by default is 'fitness_ordering' 0012 % OUTPUTS 0013 % NewPop : New Population 0014 % NewFunVal : Evaluations of the new population 0015 % 0016 % Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es) 0017 0018 PopSize = size(PopSize,1); 0019 SelPopSize = size(SelPopSize,1); 0020 SampledPopSize = size(SampledPopSize,1); 0021 0022 Agregated_Pop = [Pop;SampledPop]; 0023 Agregated_PopFunVal = [PopFunVal;SampledPopFunVal]; 0024 0025 find_bestinds_method = = char(cellstr(replacement_params{1,1})); 0026 [Ind] = eval([find_bestinds_method,'(Agregated_Pop,Agregated_PopFunVal,PopSize)']); %The k best individuals are taken from Pop 0027 NewPop = Agregated_Pop(Ind,:); 0028 NewFunVal = Agregated_PopFunVal(Ind,:); 0029 0030 0031 return 0032 0033 0034