reclin: Line recombination

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

View source: R/reclin.R

Description

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

Usage

1
reclin(OldChrom)

Arguments

OldChrom

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

Details

reclin 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

Line 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]. reclin produces one Alpha factor for each pair of parents combined.

Line recombination can generate any point on a slghtly longer line than that defined by the parents.

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

Author(s)

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

See Also

recombin, recdis, recint, 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 line recombination
NewChrom = reclin(Chrom)

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