Learn R Programming

⚠️There's a newer version (3.2.4) of this package.Take me there.

GA

An R package for stochastic optimisation using Genetic Algorithms.

The GA package provides a flexible general-purpose set of tools for implementing genetic algorithms search in both the continuous and discrete case, whether constrained or not. Users can easily define their own objective function depending on the problem at hand. Several genetic operators are available and can be combined to explore the best settings for the current task. Furthermore, users can define new genetic operators and easily evaluate their performances. Local search using general-purpose optimisation algorithms can be applied stochastically to exploit interesting regions. GAs can be run sequentially or in parallel, using an explicit master-slave parallelisation or a coarse-grain islands approach.

Installation

You can install the released version of GA from CRAN:

install.packages("GA")

or the development version from GitHub:

# install.packages("devtools")
devtools::install_github("luca-scr/GA", build = TRUE, build_opts = c("--no-resave-data", "--no-manual"))

Usage

Usage of the main functions and several examples are included in the papers shown in the references section below.

For an intro see the vignette A quick tour of GA, which is available as

vignette("GA")

The vignette is also available in the Get Started section on the GitHub web page of the package at http://luca-scr.github.io/GA/.

References

Scrucca, L. (2013) GA: A Package for Genetic Algorithms in R. Journal of Statistical Software, 53/4, 1-37. https://doi.org/10.18637/jss.v053.i04

Scrucca, L. (2017) On some extensions to GA package: hybrid optimisation, parallelisation and islands evolution. The R Journal, 9/1, 187–206. https://doi.org/10.32614/RJ-2017-008

Copy Link

Version

Install

install.packages('GA')

Monthly Downloads

5,391

Version

3.2.3

License

GPL (>= 2)

Maintainer

Last Published

October 18th, 2022

Functions in GA (3.2.3)

de-class

Class "de"
gaMonitor

Monitor genetic algorithm evolution
binary2gray

Gray encoding for binary strings
binary2decimal

Binary encoding of decimal numbers and vice versa.
gaControl

A function for setting or retrieving defaults genetic operators
GA-internal

Internal GA functions
de

Differential Evolution via Genetic Algorithms
GA-package

Genetic Algorithms
ga

Genetic Algorithms
ga-class

Class "ga"
gaSummary

Summarize genetic algorithm evolution
ga_pmutation

Variable mutation probability in genetic algorithms
ga_Crossover

Crossover operators in genetic algorithms
ga_Selection

Selection operators in genetic algorithms
ga_Population

Population initialization in genetic algorithms
gaisl-class

Class "gaisl"
ga_Mutation

Mutation operators in genetic algorithms
gaisl

Islands Genetic Algorithms
numericOrNA-class

Virtual Class "numericOrNA" - Simple Class for sub-assignment Values
palettes

Colours palettes
parNames-methods

Parameters or decision variables names from an object of class ga-class.
summary.ga-method

Summary for Genetic Algorithms
summary.gaisl-method

Summary for Islands Genetic Algorithms
plot.de-method

Plot of Differential Evolution search path
summary.de-method

Summary for Differential Evolution
persp3D

Perspective plot with colour levels
plot.ga-method

Plot of Genetic Algorithm search path
plot.gaisl-method

Plot of Islands Genetic Algorithm search path