Given a list of datasets, return the indexes of the pair with the largest EAF differences according to the method proposed by Diaz and López-Ibáñez (2021) .
Arguments
- data
(
list(1)
) A list of matrices with at least 3 columns- maximise
(
logical()
|logical(1)
)
Whether the objectives must be maximised instead of minimised. Either a single logical value that applies to all objectives or a vector of logical values, with one value per objective.- intervals
(
integer(1)
)
The absolute range of the differences \([0, 1]\) is partitioned into the number of intervals provided.- reference
(
numeric()
)
Reference point as a vector of numerical values.- ideal
(
numeric()
)
Ideal point as a vector of numerical values. IfNULL
, it is calculated as minimum (resp. maximum if maximising that objective) of each objective indata
.
Value
(list()
) A list with two components pair
and value
.
References
Juan Esteban Diaz, Manuel López-Ibáñez (2021). “Incorporating Decision-Maker's Preferences into the Automatic Configuration of Bi-Objective Optimisation Algorithms.” European Journal of Operational Research, 289(3), 1209–1222. doi:10.1016/j.ejor.2020.07.059 .
Examples
# FIXME: This example is too large, we need a smaller one.
files <- c("wrots_l100w10_dat","wrots_l10w100_dat")
data <- lapply(files, function(x)
read_datasets(file.path(system.file(package="eaf"),
"extdata", x)))
nadir <- apply(do.call(rbind, data)[,1:2], 2, max)
x <- largest_eafdiff(data, reference = nadir)
str(x)
#> List of 2
#> $ pair : int [1:2] 1 2
#> $ value: num 6.6e+09