Documentation of migrate

Global Index (all files) (short | long) | Local contents | Local Index (files in subdir) (short | long)

Function Synopsis

[Chrom, ObjV] = migrate(Chrom, SUBPOP, MigOpt, ObjV, Rank);

Help text

 MIGRATion of individuals between subpopulations

 This function performs migration of individuals.
 The structure of the subpopulations can be chosen between:
  - complete net structure (unrestricted migration)
  - neighbourhood structure
  - ring structure
 The selection of the individuals for migration can be chosen between:
  - uniform at random selection
  - fitness-based selection
 The insertion of migrants is done uniform at random.
 For fitness-based migration (best individuals migrate) the fitness
 values/ranking of the population (Rank) is needed. If omitted or
 empty single objective scaling using the first column of the objective
 values (ObjV) is assumed.
 If the objective values of the population (ObjV) are input parameter
 and ObjV is output parameter the objective values are copied,
 according to the migration of individuals, saving the recomputation
 of the objective values for the whole population.
 The function can handle multiple objective values per individual. 
 Different size of every subpopulation is supported.

 Syntax:  [Chrom, ObjV] = migrate(Chrom, SUBPOP, MigOpt, ObjV, Rank)

 Input parameters:
    Chrom     - Matrix containing the individuals of the current
                population. Each row corresponds to one individual.
    SUBPOP    - (optional) Vector/scalar containing number of individuals
                per subpopulation/number of subpopulations
                if omitted or NaN, 1 subpopulation is assumed
    MigOpt    - (optional) Vector containing migration paremeters
                MigOpt(1): MIGR - Rate of individuals to be migrated per
                           subpopulation (% of subpopulation)
                           if omitted or NaN, 0.2 (20%) is assumed
                MigOpt(2): Select - number indicating the selection method
                           of replacing individuals
                           0 - uniform selection
                           1 - fitness-based selection (best individuals migrate)
                           if omitted or NaN, 0 is assumed
                MigOpt(3): Structure - number indicating the structure
                           of the subpopulations for migration
                           0 - net structure (unconstrained migration)
                           1 - neighbourhood structure
                           2 - ring structure
                           if omitted or NaN, 0 is assumed
    ObjV      - (optional) Column vector or matrix containing the objective values
                of the individuals in the current population,
                if Rank is omitted, first column is used for fitness-based migration,
                saves recalculation of objective values for population
    Rank      - (optional) Column vector containing the fitness values (obtained
                by ranking) of the individuals in the current population,
                best individual has highest value,
                if omitted or empty, single objective scaling using first column
                of ObjV is assumed

 Output parameters:
    Chrom     - Matrix containing the individuals of the current
                population after migration.
    ObjV      - if ObjV is input parameter, than column vector containing
                the objective values of the individuals of the current
                generation after migration.

 See also: geamain, mutate, recombin, selection

Cross-Reference Information

This function calls This function is called by
GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions  www.geatbx.com 

This document is part of version 3.8 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-2006 Hartmut Pohlheim, All Rights Reserved, (support@geatbx.com).