xegaPopulation {xegaPopulation}R Documentation

Package xegaPopulation.

Description

Population level functions

Details

The xegaPopulation package provides the representation independent functions of the population level of the simple genetic algorithm xegaX packages:

Interface of Acceptance Rules

newGene<-accept(OperatorPipeline, gene, lF)

  1. Accept all new genes: Identity function. For genetic algorithms.

  2. Accept best: Accepts the gene with the highest fitness. For greedy and randomized greedy algorithms (hill-climbing algorithms).

  3. The Metropolis and the individually variable Metropolis rule: If the new gene gene is better, accept it. If the old gene is better, make a biased random choice. The probability of accepting a decrease in fitness depends on the fitness distance between genes, a constant beta for scaling the exponential decay and a temperature parameter and for the individually variable Metropolis rule a correction term which depends on the distance to the best known fitness of the run.

Constants for Acceptance Rules.

Constant Default Used in
lF$Beta() ? AcceptMetropolis()
AcceptIVMetropolis()
lF$TempK() ? AcceptMetropolis()
AcceptIVMetropolis()
lF$lFCBestFitness() None AcceptIVMetropolis()

Interface of Cooling Schedules

Temperature<-cooling(k, lF)

Cooling schedules convert the progress of the time in the algorithm (measured in generations) into a temperature. The temperature influences the probability of accepting a gene with less fitness than its parent gene.

Constants for Cooling Schedules.

Constant Default Used in
lF$Alpha() ? ExponentialMultiplicativeCooling()
? LogarithmicMultiplicativeCooling()
? PowerMultiplicativeCooling()
lF$Temp0() ? ExponentialMultiplicativeCooling()
? LogarithmicMultiplicativeCooling()
? PowerMultiplicativeCooling()
? PowerAdditiveCooling()
? ExponentialAdditiveCooling()
? TrigonometricAdditiveCooling()
lF$TempN() ? PowerAdditiveCooling()
? ExponentialAdditiveCooling()
? TrigonometricAdditiveCooling()
lF$CoolingPower() ? PowerMultiplicativeCooling()
? PowerAdditiveCooling()
lF$Generations() PowerAdditiveCooling()
ExponentialAdditiveCooling()
? TrigonometricAdditiveCooling()

Interface of Rates

rate<-rateFunction(fit, lF)

Crossover and mutation rate functions may be adaptive. The interface allows for dependencies of the rate on fitness and constants in the local configuration.

Constants for Adaptive Crossover and Mutation Rates

Constant Default Used in
lF$CrossRate1() ? IACRate()
lF$CrossRate2() ? IACRate()
lF$MutationRate1() IAMRate()
lF$MutationRate2() IAMRate()
lF$CutoffFit() ? IACRate()
lF$CBestFitness() IACRate()
IAMRate()

The Architecture of the xegaX-Packages

The xegaX-packages are a family of R-packages which implement eXtended Evolutionary and Genetic Algorithms (xega). The architecture has 3 layers, namely the user interface layer, the population layer, and the gene layer:

Copyright

(c) 2023 Andreas Geyer-Schulz

License

MIT

URL

https://github.com/ageyerschulz/xegaPopulation

Installation

From CRAN by install.packages('xegaPopulation')

Author(s)

Andreas Geyer-Schulz


[Package xegaPopulation version 1.0.0.0 Index]