Description Usage Arguments Details Value Author(s) See Also Examples
This function performs migration of individuals.
1 2 |
Chrom |
a matrix containing the individuals of the current population. Each row corresponds to one individual. |
SUBPOP |
an optional number indicating subpopulations. Default is set to 1 subpopulation. |
ObjV |
a vector containing the objective values of the individuals in the current population (cost values). |
MIGR |
a number indicating rate of individuals to be migrated per subpopulation. Default is set to 0.2. |
Select |
an logical value indicating whether fitness-based selection
will be used. Default is set to FALSE. If set to TRUE, then |
Structure |
an character string indicating the name of structure of the subpopulations for migration. The default structure "net" indicates net structure (unconstrained migration). |
gatbxr provides support for multiple subpopulations through the use of
high-level genetic operator functions and a routine for exchanging individuals
between subpopulations. In the literature, the use of multiple populations has
been shown, in most cases, to improve the quality of the results obtained using GAs
compared to the single population GA.
gatbxr supports the use of a single population divided into a number of
subpopulations or demes by modifying the use of data structures such that
subpopulations are stored in contiguous blocks wihtin a single matrix.
This model enables each subpopulation evolved over generations by a traditional GA and
from time to time individuals migrate from one subpopulation to another. The amount of
migration of individuals and the pattern of that migration determines how much genetic
diversity can occur.
migrate
implements the transfer of individuals between subpopulations, in which
Structure
specifies the population topology over which migration will tha place.
The default structure unrestricted migration topology (net
) is the most general
migration strategy. Here, individuals may migrate from any subpopulation to another. For each
subpopulation, a pool of potential immigrants is constructed from the other subpopulations.
The individual migrants are then determined according to the appropriate selection
strategy.
Structure ring
transfers individuals between directionally adjacent subpopulations.
And neighbourhood
is a similar strategy. Like the ring
topology, migration
is made only between nearest neighbours, however, migration may occur in either direction
between subpopulations. For each subpopulation, the possible immigrants are determined,
according to the desired selection method, from the adjacent subpopulations and a final
selection made from this pool of individuals. This ensures that individuals will not
migrate from a subpopulation to the same population.
a list containing following components:
Chrom |
a matrix containing the individuals of the current population after reinsertion. |
ObjV |
if ObjV is input parameters, then return vector containing the objective values of the individuals of the current generation after reinsertion. Else return NULL. |
The original matlab implementation of reins was written by Hartmut Pohlheim. The R implementation was written by David Zhao.
select
, recombin
, mutate
,
reins
1 2 3 4 5 6 7 8 9 10 11 12 13 | ## create initial population
Chrom = crtbp(50,10)$Chrom
## calculate objective value with sum function
objv = apply(Chrom,1,sum)
## assume there are 5 subpopulations, then perform ranking
ObjV = ranking(objv, SUBPOP = 5)
## chosse 20% of the individuals of one subpopulation and replaces
## these individuals with the fittest individuals from an adjacent
## subpopulation in a unidirectional ring structure
res = migrate(Chrom,SUBPOP = 5, ObjV, Select = TRUE, Structure = "ring")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.