这里很简单,我曾经知道这一点,但多年来它已经丢失了。
在 R 中易于编码的简单方程:
f(x,y) = 2x^2 + 4y^2 + 6x - 8y + 15
我有x > 1
和的限制y > -1
。
我这辈子都不记得如何在 R 中正确编写约束,而我的书没有用
为任何帮助而欢呼
寻找最小值和最大值
这里很简单,我曾经知道这一点,但多年来它已经丢失了。
在 R 中易于编码的简单方程:
f(x,y) = 2x^2 + 4y^2 + 6x - 8y + 15
我有x > 1
和的限制y > -1
。
我这辈子都不记得如何在 R 中正确编写约束,而我的书没有用
为任何帮助而欢呼
寻找最小值和最大值
定义采用单个参数向量的函数:
myfun <- function(xy) {
x <- xy[1]
y <- xy[2]
2*x^2 + 4*y^2 + 6*x - 8*y + 15
}
为and提供起始值optim
并指定下限:x
y
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"