Global Index (all files) (short | long) | Local contents | Local Index (files in subdir) (short | long)
[Chrom, ObjV] = migrate(Chrom, SUBPOP, MigOpt, ObjV, Rank);
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
This function calls | This function is called by |
---|---|