Оптимальный по Парето для более чем четырех переменных

У меня есть фрейм данных с несколькими результатами, каждый с пятью переменными, которые я хотел бы оптимизировать в 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).

Другие вопросы по тегам