4

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

在 R 中易于编码的简单方程:

f(x,y) = 2x^2 + 4y^2 + 6x - 8y + 15

我有x > 1和的限制y > -1

我这辈子都不记得如何在 R 中正确编写约束,而我的书没有用

为任何帮助而欢呼

寻找最小值和最大值

4

1 回答 1

7

定义采用单个参数向量的函数:

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

  2*x^2 + 4*y^2 + 6*x - 8*y + 15
}

为and提供起始值optim并指定下限:xy

starting_values <- c(0, 0)
optim(starting_values, myfun, lower=c(1, -1), method='L-BFGS-B')

optim输出:

$par
[1] 1 1

$value
[1] 19

$counts
function gradient 
       2        2 

$convergence
[1] 0

$message
[1] "CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL"
于 2012-08-17T17:26:21.750 回答