基于两个变量的优化选择

2024-03-29 06:35:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我试图找到一种最佳的方法来选择使val1和val2中的值最大化的行。有没有什么特别的算法可以推荐?我现在只是根据两个值的最大乘积来选择。但是有更好的方法吗


Tags: 方法算法iddf乘积正整数val1val2
1条回答
网友
1楼 · 发布于 2024-03-29 06:35:17

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

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. 将每一行与您当前的帕累托最优行列表进行比较。它占据主导地位的任何一行都应该被删除。如果它不受当前列表中任何行的支配,则将其添加到pareto最优行列表中

相关问题 更多 >