Оптимизировать выбор на основе двух переменных - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть pandas df, составленная из натуральных чисел, которая выглядит следующим образом:

id    val1   val2
1     10     1
2     1      10
3     5      5

Я пытаюсь найти наилучший способ выбрать строку, которая максимизирует значения как в val1, так и в val2.Есть ли конкретный алгоритм, который кто-то может порекомендовать?В настоящее время я просто выбираю на основе максимального продукта двух значений.Но есть ли лучший способ?

1 Ответ

0 голосов
/ 07 декабря 2018

Таким образом, строка является оптимальной по Парето, если ее нельзя улучшить по обоим критериям одновременно.В вашем примере все три строки оптимальны по Парето.Преобладают следующие строки:

1  1 (by all of the above rows)
1  7 (by 1, 10)
7  1 (by 10, 1)
3  3 (by 5, 5)

Способ фильтрации оптимальных по Парето строк:

  1. Создание пустого списка оптимальных по Парето строк
  2. Сравните каждыйстрока вашего текущего списка парето оптимальных строк.Любая строка, в которой он доминирует, должна быть удалена.Если над ним не доминирует какая-либо строка в текущем списке, добавьте ее в список строк, оптимальных по парето.
...