我正在尝试优化一个函数,同时强制参数的总和等于1。我试图理解this post,但似乎它演变成比初始问题更复杂的事物。希望有一个更简单的例子可以使我和其他人受益:
library(compositions)
fun <- function(x){
x <- clo(c(x[1],x[2]),total=1)
y <- x[1]^2 - x[2]^2 + x[1]*x[2] + 2*x[1] - 2*x[2]
print(y)
}
optim1 <- optim(c(1/2,1/2), fun, lower=c(0,0), method = "L-BFGS-B")
fun(x=optim1$par)
这是在参数总和= 1的约束下执行优化的可行方法吗?有更好的方法吗?