小编MSt*_*ler的帖子

Rsolnp:在 cbind(temp, funv) 中:结果的行数不是向量长度的倍数(arg 1)

我是 stackoverflow 的新手并搜索了很多,但找不到我的问题的答案。我正在尝试使用优化包 Rsolnp 来最小化下面的问题。虽然求解器给了我一个解决方案,但每次运行代码时我都会收到以下警告消息:

警告消息:1:在 cbind(temp, funv) 中:结果的行数不是向量长度的倍数 (arg 1)

此外,该解决方案与我使用 ipop 和 solve.QP 获得的解决方案完全不同。他们的解决方案几乎相同(0.2480、0.0000、0.0121、0.7400)。我尝试了许多不同的问题表述,但无法弄清楚我做错了什么。我感谢所有的帮助和信息!

library(Rsolnp)
# Starting Values
x0 <- c(0.25,0,0.01,0.75)


fn <- function(x){
  d <- c(0.0308, 0.0269, 0.0145, 0.0130)
  d <- -d
  D <- cbind(c(0.1486, 0.0778, -0.0240, -0.0154), 
         c(0.0778, 0.1170, 0.0066, 0.0029), 
         c(-0.0240, 0.0066, 0.0444, 0.0193), 
         c(-0.0154, 0.0029, 0.0193, 0.0148))
 out <- t(d) %*% x + 0.5 * (t(x) %*% D %*% x)
 out
}


# Inequality Constraint: 0 =< x 0 =< 1
lx <- rep(0,4) …
Run Code Online (Sandbox Code Playgroud)

r mathematical-optimization

5
推荐指数
1
解决办法
3545
查看次数

标签 统计

mathematical-optimization ×1

r ×1