这里很简单,我曾经知道这一点,但多年来它已经丢失了.
简单的方程易于编码R:
f(x,y) = 2x^2 + 4y^2 + 6x - 8y + 15
Run Code Online (Sandbox Code Playgroud)
我有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
}
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)
| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |