ipoptr
ipoptr is an R interface to Ipopt (Interior Point Optimizer). Ipopt is an open source software package for large-scale nonlinear optimization (Waechter & Biegler, 2006). It can be used to solve general nonlinear programming problems with nonlinear constraints and lower and upper bounds for the controls, such as
min f(x)
x in R^n
s.t. g_L <= g(x) <= g_U
x_L <= x <= x_U
Ipopt is written in C++ and is released as open source code under the Eclipse Public License (EPL). It is available from the COIN-OR initiative. The C++ code has been written by Carl Laird and Andreas Waechter, who is the COIN project leader for Ipopt.
Installation
Installation is not as easy as for most other R packages, because you have to install Ipopt from source first, which is described in the Ipopt documentation. The R vignette describes how to install the interface, after you have successfully installed Ipopt. The interface is distributed under the Eclipse Public License, as is Ipopt. Some of the libraries that Ipopt depends on use different licenses.
This package is distributed in the hope that it may be useful to some. The usual disclaimers apply (downloading and installing this software is at your own risk, and no support or guarantee is provided, I don't take liability and so on), but please if you have any problems, suggestions (for instance to make installing easier), comments, etc.
Files
-
ipoptr.pdf - an R vignette describing how to install and use the R interface to Ipopt.
-
Makevars.in - an updated version that is not available in the Ipopt stable release 3.9.2. Copy this file to Ipopt/contrib/RInterface/src before configuring and installing Ipopt.
-
The code can be downloaded from the Ipopt website or from R-Forge. Both websites contain the same code, although the latest release of the R interface might not be included in the latest stable release of Ipopt, but it will be in trunk.
Changelog
19/02/2011: Version 0.8.2- Added a Journal to correctly direct output to R terminal for all platforms.
- Changed license to EPL in accordance with license change in Ipopt.