Version: | 1.0-1 |
Title: | 'nloptr' Plug-in for the 'R' Optimization Infrastructure |
Description: | Enhances the R Optimization Infrastructure ('ROI') package with the 'NLopt' solver for solving nonlinear optimization problems. |
Imports: | methods, stats, utils, ROI (≥ 1.0-0), nloptr (≥ 1.2.1) |
License: | GPL-3 |
URL: | https://roigrp.gitlab.io, https://gitlab.com/roigrp/solver/ROI.plugin.nloptr |
NeedsCompilation: | no |
Packaged: | 2023-07-06 14:53:43 UTC; f |
Author: | Florian Schwendinger [aut, cre] |
Maintainer: | Florian Schwendinger <FlorianSchwendinger@gmx.at> |
Repository: | CRAN |
Date/Publication: | 2023-07-06 16:10:05 UTC |
NLP 1
Description
The following example solves the Rosenbrock function (https://en.wikipedia.org/wiki/Rosenbrock_function).
minimize \ f(x) = 100 (x_2 - x_1^2)^2 + (1 - x_1)^2
Examples
library(ROI)
f <- function(x) {
return( 100 * (x[2] - x[1]^2)^2 + (1 - x[1])^2 )
}
f.gradient <- function(x) {
return( c( -400 * x[1] * (x[2] - x[1] * x[1]) - 2 * (1 - x[1]),
200 * (x[2] - x[1] * x[1])) )
}
x <- OP( objective = F_objective(f, n = 2L, G = f.gradient),
bounds = V_bound(ld = -3, ud= 3, nobj = 2L) )
nlp <- ROI_solve(x, solver = "nloptr.lbfgs", start = c(-1.2, 1))
nlp
## Optimal solution found.
## The objective value is: 1.189412e-15
solution(nlp)
## [1] 1 1