recint: Intermediate recombination

Description Usage Arguments Details Value Algorithm Author(s) See Also Examples

View source: R/recint.R

Description

This function performs extended intermediate recombination between pairs of individuals and returns the new individuals after mating.

Usage

1
recint(OldChrom)

Arguments

OldChrom

a matrix containing the chromosomes of the old population. Each line corresponds to one individual.

Details

recint is a function only applicable to populations of real-value variables ( and not binary or integer). The pairs are mated in order, odd row with the next even row. If the number of rows in the matrix OldChrom is odd the the last row is not mated and added at the end of NewChrom. The population should therefore be organised into contiguous pairs that require mating. This can be achieved by using the function ranking to assign a fitness level to each individual and a selection function (e.g. select) to select individuals with a probability related to their fitness in the current population.

Value

a matrix containing the chromosomes of the population after mating, ready to be mutated and/or evaluated, in the same format as OldChrom.

Algorithm

Intermediate recombination combines parent values using the following rule:

offspring = parent1 + Alpha * (parent2 - parent1)

where Alpha is a scaling factor chosen uniformly at random in the interval [-0.25, 1.25]. recint produces a new Alpha for each pair of values to be combined.

Intermediate recombination can generate any point within a hypercube slightly larger than that defined by the parents.

Intermediate recombination is similar to line recombination reclin. Whereas recint uses a new Alpha factor for each pair of values combined together, reclin uses one Alpha factor for each pair of parents.

Author(s)

The original matlab implementation was written by Hartmut Pohlheim. The R implementation was written by David Zhao.

See Also

recombin, recdis, reclin, ranking, sus, rws

Examples

1
2
3
4
5
6
## Initial a real-valued population
FieldDR = matrix(c(-100,-50,-30,-20,100,50,30,20),2,4,byrow=TRUE) 
Chrom = crtrp(6,FieldDR)

## Perform intermeidate recombination
NewChrom = recint(Chrom)

drizztxx/gatbxr documentation built on Dec. 27, 2021, 2:26 a.m.