NSGA3 {MaOEA} | R Documentation |
Elitist Non-dominated Sorting Genetic Algorithm version III
Description
Do an iteration of Elitist Non-dominated Sorting Genetic Algorithm version III (NSGA-III). THe variation is using SBX and polynomial mutation.
Usage
NSGA3(population, fun, nObjective, control = list(), ...)
Arguments
population |
The parent generation. One individual per column. nrow = number of variable, ncol = number of individuals in the population. |
fun |
Objective function being solved. Currently available in the package DTLZ1-DTLZ4, WFG4-WFG9. |
nObjective |
The number of objective functions. A scalar value. Needed to generate weight vectors. |
control |
A list, containing the following:
|
... |
Further arguments to be passed to |
Value
#' @return Returns a list for the next generation
population
The new generation design points. Column major.
populationObjective
The new generation's objective values. Column major.
References
Deb, K., Jain, H.: An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints. Trans. Evol. Comp. 18 (4), 577–601 (2014)
Examples
nVar <- 14
nObjective <- 5
nIndividual <- 100
#control for NSGA3
ctrl <- list(crossoverProbability = 1,
mutationProbability = 1/nVar)
#Initial population
population <- matrix(runif(nIndividual*nVar), nrow = nVar)
# run a generation of NSGA-III with standard WFG8 test function.
NSGA3(population, WFG8,nObjective,ctrl,nObjective)