在R中使用约束

Yes*_*ure 4 r constraints

这里很简单,我曾经知道这一点,但多年来它已经丢失了.

简单的方程易于编码R:

f(x,y) = 2x^2 + 4y^2 + 6x - 8y + 15
Run Code Online (Sandbox Code Playgroud)

我有x > 1和的约束y > -1.

我不能为我的生活记住如何在R中正确地写出约束,而我所拥有的书是没有用的

欢呼任何帮助

寻找最小和最大

Jus*_*tin 7

定义一个带有单个参数向量的函数:

myfun <- function(xy) { 
  x <- xy[1] 
  y <- xy[2] 

  2*x^2 + 4*y^2 + 6*x - 8*y + 15
}
Run Code Online (Sandbox Code Playgroud)

供应开始值optim和指定下界x和y:

starting_values <- c(0, 0)
optim(starting_values, myfun, lower=c(1, -1), method='L-BFGS-B')
Run Code Online (Sandbox Code Playgroud)

optim 输出:

$par
[1] 1 1

$value
[1] 19

$counts
function gradient 
       2        2 

$convergence
[1] 0

$message
[1] "CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL"
Run Code Online (Sandbox Code Playgroud)