【发布时间】:2016-10-17 05:23:02
【问题描述】:
我几乎没有数学背景,正在尝试编写一个多目标优化函数。
我有以下 3 个向量:
A = 0.4122487 0.3861316 0.3160613 0.2949684
B = 0.1407469 0.1828053 0.2088941 0.2143583
C = 0.2966363 0.1947112 0.1664350 0.1543946
我的目标如下:找出最能满足我要求的值 X:1) 最小化 A,2) 最大化 B 和 3) 最大化 C。
这是我的代码:
fun <- function(weights,A,B,C){
fit = sum((weights[1] * A +
weights[2] * B +
weights[3] * C))
return(fit)
}
# the weight of A (positive, since I want to minimise A)
Wa = 1
# the weight of B (negative, since I want to maximise B)
Wb = -0.5
# the weight of C (negative, since I want to maximise C)
Wc = -1.5
result <- optim(weights=c(Wa,Wb,Wc), fn = fun)
结果如下:
result$par = 2.365022e+44 -1.697108e+44 -9.150244e+43
result$value = -5.343856e+44
我的实现是否正确?我如何解释这些结果?我的理解非常有限,但本能地这些数字与我的初始向量范围相比似乎不成比例......
【问题讨论】:
-
为什么对这个问题投反对票?
标签: r optimization