Оптимальный по Парето для более чем четырех переменных
У меня есть фрейм данных с несколькими результатами, каждый с пятью переменными, которые я хотел бы оптимизировать в R. Я использовал
rPref
но у него есть максимум 4 переменные для оптимизации. Кто-нибудь знает, как это сделать с более чем четырьмя?
1 ответ
Я автор пакета rPref . Информация о том, что rPref может вычислить оптимумы Парето только для четырех переменных, просто неверна. Нет ограничений на количество целей оптимизации.
Рассмотрим следующий небольшой пример: Давайте создадим набор данных
(a_1, ..., a_5)
с участием
a_i in {1, 2}
а также
(1, 1, 1, 1, 1)
Исключенный:
library(listcompr)
df <- gen.data.frame(c(a_1, ..., a_5), a_ = 1:2, sum(a_1, ..., a_5) > 5)
Набор данных
df
содержит 31 запись:
> df
a_1 a_2 a_3 a_4 a_5
1 2 1 1 1 1
2 1 2 1 1 1
3 2 2 1 1 1
[...]
30 1 2 2 2 2
31 2 2 2 2 2
Теперь минимизируем все 5 переменных одновременно с помощью rPref:
> library(rPref)
> psel(df, low(a_1) * low(a_2) * low(a_3) * low(a_4) * low(a_5))
a_1 a_2 a_3 a_4 a_5
1 2 1 1 1 1
2 1 2 1 1 1
4 1 1 2 1 1
8 1 1 1 2 1
16 1 1 1 1 2
Оптимумы Парето - это в точности все кортежи с одной цифрой "2", потому что
(2, 1, 1, 1, 1)
является парето-доминантным, например, для
(2, 2, 1, 1, 1)
.