基于两个变量优化选择



我有一个由正整数组成的pandas-df,看起来像这样:

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

我正试图找到选择行的最佳方式,该行最大化val1和val2中的值。有人可以推荐一种特定的算法吗?我目前只是根据这两个值的最大乘积进行选择。但是有更好的方法吗?

因此,当一行不能同时在两个标准中改进时,它是帕累托最优的。在您的示例中,所有三行都是帕累托最优的。以下行将占主导地位:

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

过滤Pareto最优行的方法是:

  1. 创建帕累托最优行的空列表
  2. 将每一行与您当前的帕累托最优行列表进行比较。它支配的任何行都应该被删除。如果它不由当前列表中的任何行支配,请将其添加到帕累托最优行列表中

最新更新