Learn R Programming

caRamel (version 1.4)

newXval: Generation of a new population of parameter sets following the five rules of caRamel

Description

generates a new population of parameter sets following the five rules of caRamel

Usage

newXval(param, crit, isperf, sp, bounds, repart_gene, blocks, fireworks)

Value

xnew : matrix of new vectors [ sum(Repart_Gene) + eventually (nobj+1)*nvar if fireworks , NPar ]

project_crit: assumed position of the new vectors in the criteria space: [ sum(Repart_Gene)+ eventually (nobj+1)*nvar if fireworks , NObj ];

Arguments

param

: matrix [ Nvec , NPar ] of parameters of the current population

crit

: matrix [ Nvec , NObj ] of associated criteria

isperf

: vector of Booleans of length NObj, TRUE if maximization of the objective, FALSE otherwise

sp

: variance a priori of the parameters

bounds

: lower and upper bounds of parameters [ NPar , 2 ]

repart_gene

: matrix of length 4 giving the number of games to be generated with each rule: 1 Interpolation in the simplexes of the front, 2 Extrapolation according to the directions of the edges "orthogonal" to the front, 3 Random draws with prescribed variance-covariance matrix, 4 Recombination by functional blocks

blocks

: list of integer vectors containing function blocks of parameters

fireworks

: boolean, TRUE if one tests a random variation on each parameter and each maximum of O.F.

Author

Fabrice Zaoui

Examples

Run this code
# Definition of the parameters
param <- matrix(rexp(100), 100, 1)
crit <- matrix(rexp(200), 100, 2)
isperf <- c(FALSE, FALSE)
bounds <- matrix(data = 1, nrow = 1, ncol = 2)
bounds[, 1] <- -5 * bounds[, 1]
bounds[, 2] <- 10 * bounds[, 2]
sp <- (bounds[, 2] - bounds[, 1]) / (2 * sqrt(3))
repart_gene <- c(5, 5, 5, 5)
fireworks <- TRUE
blocks <- NULL
# Call the function
res <- newXval(param, crit, isperf, sp, bounds, repart_gene, blocks, fireworks)

Run the code above in your browser using DataLab