Documentation of selrws
Global Index (all files) (short | long)
| Local contents
| Local Index (files in subdir) (short | long)
Function Synopsis
NewChromIx = selrws(FitnV, Nsel, Dummy);
Help text
SELection by Roulette Wheel Selection
This function performs selection with Roulette wheel selection.
This function selects a given number of individuals Nsel from a
population. FitnV is a column vector containing the fitness
values of the individuals in the population.
Syntax: NewChrIx = selrws(FitnV, Nsel)
Input parameters:
FitnV - Column vector containing the fitness values of the
individuals in the population.
Nsel - Number of individuals to be selected
Output parameters:
NewChromIx- Column vector containing the indexes of the selected
individuals relative to the original population, shuffeld.
The new population, ready for mating, can be obtained
by calculating OldChrom(NewChromIx,:).
See also: selection, selsus, sellocal, seltrunc, seltour
Cross-Reference Information
|
This function is called by |
|
|
Listing of function selrws
% Author: Hartmut Pohlheim
% History: 31.05.95 file created
% 03.07.97 function reworked, selection algorithm
% made quicker and easier to understand
% 03.09.98 special case of selection from just one fitness
% value is handled now
function NewChromIx = selrws(FitnV, Nsel, Dummy);
% Identify the population size (Nind)
[Nind,ans] = size(FitnV);
% Perform selection (roulette wheel selection)
% (often called Stochastic Sampling with Replacement)
if Nind == 1,
NewChromIx = repmat(FitnV, [Nsel, 1]);
else
CumFitn = cumsum(FitnV);
Trials = CumFitn(Nind) .* rand(1, Nsel);
MatFitn = repmat(CumFitn, [1, Nsel]);
MatTrials = repmat(Trials, [Nind, 1]);
NewChromIx = sum(MatTrials >= MatFitn)+1;
NewChromIx = NewChromIx(:);
end
% Shuffle selected values
[ans, shuf] = sort(rand(Nsel, 1));
NewChromIx = NewChromIx(shuf);
% 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).