微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

超过四个变量的帕累托最优

如何解决超过四个变量的帕累托最优

我有一个包含多个结果的数据框,每个结果都有五个变量,我想在R中进行优化。我使用了rPref,但是最多可以优化四个变量。有谁知道如何用四个以上的位置来做到这一点?

解决方法

我是 rPref 包的作者。 rPref 只能计算四个变量的帕累托最优值的信息是完全错误的。优化目标的数量没有限制。

考虑以下小示例:让我们创建一个数据集 (a_1,...,a_5),其中排除了 a_i in {1,2}(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

现在让我们用 rPref 同时最小化所有 5 个变量:

> 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) 是帕累托支配的,例如,(2,2,1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。