nsga2: NSGA II MOEA

Description Usage Arguments Value Author(s) References Examples

Description

Multicriterion optimization algorithm

Usage

1
nsga2(fn, idim, odim, ..., constraints = NULL, cdim = 0, lower.bounds = rep(-Inf, idim), upper.bounds = rep(Inf, idim), popsize = 100, generations = 100, cprob = 0.7, cdist = 5, mprob = 0.2, mdist = 10)

Arguments

fn

Function

idim

Input dimension

odim

Output dimension

...

Arguments passed through to 'fn'

constraints

Constraint function

cdim

Constraint dimension

lower.bounds

Lower bound of input

upper.bounds

Upper bound of input

popsize

Size of population

generations

Number of generations to breed. If a vector, then the result will contain the population at each given generation.

cprob

Crossing probability

cdist

Crossing distribution index

mprob

Mutation probability

mdist

Mutation distribution index

Value

If generation is an integer, a list describing the final population with components par, value and pareto.optimal. If generations is a vector, a list is returned. The i-th element of the list contains the population after generations[i] generations.

Author(s)

Heike Trautmann trautmann@statistik.uni-dortmund.de, Detlef Steuer steuer@hsu-hamburg.de and Olaf Mersmann olafm@statistik.uni-dortmund.de

References

Deb, K., Pratap, A., and Agarwal, S.. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6 (8) (2002), 182-197.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
## Binh 1 problem:
binh1 <- function(x) {
  y <- numeric(2)
  y[1] <- crossprod(x, x)
  y[2] <- crossprod(x - 5, x - 5)
  return (y)
}
r1 <- nsga2(binh1, 2, 2,
           generations=150, popsize=100,
           cprob=0.7, cdist=20,
           mprob=0.2, mdist=20,
           lower.bounds=rep(-5, 2),
           upper.bounds=rep(10, 2))
plot(r1)

## VNT problem:
vnt <- function(x) {  
  y <- numeric(3)
  xn <- crossprod(x, x)
  y[1] <- xn/2 + sin(xn);
  y[2] <- (crossprod(c(3, -2), x) + 4)^2/8 + (crossprod(c(1, -1), x) + 1)^2/27 + 15
  y[3] <- 1/(xn + 1) - 1.1*exp(-xn)
  return (y)
}

r2 <- nsga2(vnt, 2, 3,
           generations=150, popsize=100,
           lower.bounds=rep(-3, 2),
           upper.bounds=rep(3, 2))
plot(r2)

Example output

Loading required package: scatterplot3d

mco documentation built on May 2, 2019, 5:01 p.m.

Related to nsga2 in mco...