温馨提示:本文翻译自stackoverflow.com,查看原文请点击:optimization - R minimize portfolio function with gradient
optimization r

optimization - R用梯度最小化投资组合函数

发布于 2020-04-10 18:03:56

我想最小化功能

f <- function(u){
  return(-(1+u[1]+u[2]+u[3]+u[4]))
}

带渐变毕业

我有一些限制:

1)u [1] + u [2] + u [3] + u [4] = 1

2)0 <= u [1] <= 1,0 <= u [2] <= 1,0 <= u [3] <= 1,0 <= u [4] <= 1

如何正确制作?我只能做2个约束

optim(par=c(0,0,0,0), fn=f,lower=c(0, 0, 0, 0), upper=c(1, 1, 1, 1),method="L-BFGS-B")

但是在这种情况下1个约束是不正确的

查看更多

提问者
Ильшат Мурзурбеков
被浏览
73
ThomasIsCoding 2020-02-02 15:59

也许您可以尝试以下fmincon包装pracma

pracma::fmincon(c(0,0,0,0), 
        f, 
        gr = grad, 
        Aeq = cbind(1,1,1,1), 
        beq = 1,
        lb = c(0,0,0,0), 
        ub = c(1,1,1,1))