Home > Mateda2.0 > selection > ParetoFront_selection.m

# ParetoFront_selection

## PURPOSE

[SelPop,SelFunVal]=truncation_selection(Pop,FunVal,selection_params)

## SYNOPSIS

function[SelPop,SelFunVal]=truncation_selection(Pop,FunVal,selection_params)

## DESCRIPTION

     [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)

## CROSS-REFERENCE INFORMATION

This function calls:

- fitness_ordering [Index]=fitness_ordering(Pop,FunVal)

This function is called by:

## SOURCE CODE

    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