nloptr :: auglag不接受我的论证

时间:2016-07-20 13:35:47

标签: r optimization parameter-passing nonlinear-optimization

我在包nloptr中遇到了auglag函数的问题。我有一个多元可微分非线性函数,以最小化框约束和等式约束。因此我想到了函数nloptr :: auglag。下面你可以看到出了什么问题(这不是我的功能,但很好地显示了问题):

 x0 <- c(1, 1)
 fn <- function(x, b) return(b * sum(x^2))
 gr <- function(x, b) return(2 * b * x)
 lb <- c(-1, -0.5)
 ub <- c(2, 1.5)

 sol <- nloptr::auglag(x0 = x0, fn = fn, gr = gr, 
            lower = lb, upper = ub, b = 2)

然后我得到以下错误:

 Error in .checkfunargs(eval_grad_f, arglist, "eval_grad_f") :
 eval_grad_f requires argument 'b' but this has not been passed to 
 the 'nloptr' function.

即使没有添加等式约束,也是如此。

我是以错误的方式传递论据吗?

0 个答案:

没有答案