View source: R/makeNKFunction.R
makeMNKFunction | R Documentation |
Generators for multi-objective NK-landscapes, i.e., with at least two objectives.
Function makeMNKLandscape(M, N, K)
create NK-landscapes with M
(\geq 2
) objectives, input dimension N
, and epistatic links specified
via parameter K
. K
can be a single integer value, a vector of
M
integers or a list of length-N
integer vectors (see parameter
description for details) which allow for maximum flexibility. It is also
possible to compose a MNK-landscape by passing a list of single-objective
NK-landscapes via argument funs
.
makeMNKFunction(M, N, K, funs = NULL)
makeRMNKFunction(M, N, K, rho = 0)
M |
[ |
N |
[ |
K |
[ |
funs |
[ |
rho |
[ |
Function makeRMNKLandscape(M, N, K, rho)
generates a MNK-landscape
with correlated objective function values. The correlation can be adjusted
by setting the rho
parameter to a value between minus one and one.
[smoof_multi_objective_function
]
H. E. Aguirre and K. Tanaka, Insights on properties of multiobjective MNK-landscapes, Proceedings of the 2004 Congress on Evolutionary Computation, Portland, OR, USA, 2004, pp. 196-203 Vol.1, doi: 10.1109/CEC.2004.1330857.
makeNKFunction
Other nk_landscapes:
exportNKFunction()
,
makeNKFunction()
# generate homogeneous uncorrelated bi-objective MNK-landscape with each
# three epistatic links
M = 2L
N = 20L
K = 3L
fn = makeMNKFunction(M, N, K)
# generate MNK-landscape where the first function has 3 epistatic links
# per bit while the second function has 2
fn = makeMNKFunction(M, N, K = c(3L, 2L))
# sample the number of epistatic links individually from {1, ..., 5} for
# every bit position and every objective
K = lapply(seq_len(M), function(m) sample(1:(N-1), size = N, replace = TRUE))
fn = makeMNKFunction(M, N, K = K)
#' # generate strongly positively correlated objectives
fn = makeRMNKFunction(M, N, K, rho = 0.9)
# alternative constructor: generate two single-objective NK-landscapes
# and combine into bi-objective problem
soofn1 = makeNKFunction(N, K = 2L) # homegeneous in K
K = sample(2:3, size = N, replace = TRUE)
soofn2 = makeNKFunction(N, K = K) # heterogeneous in K
moofn = makeMNKFunction(funs = list(soofn1, soofn2))
getNumberOfObjectives(moofn)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.