This article needs additional citations for verification. (June 2017) (Learn how and when to remove this template message)
The topic of this article may not meet Wikipedia's general notability guideline. (June 2017) (Learn how and when to remove this template message)
|Developer(s)||Andreas Wächter, Carl Laird|
|Initial release||August 26, 2005|
3.12.11 / September 17, 2018
|Operating system||UNIX, Linux, OS X, Microsoft Windows|
|License||Eclipse Public License|
IPOPT, short for "Interior Point OPTimizer, pronounced I-P-Opt", is a software library for large scale nonlinear optimization of continuous systems. It is written in Fortran and C and is released under the EPL (formerly CPL). IPOPT implements a primal-dual interior point method, and uses line searches based on Filter methods (Fletcher and Leyffer). IPOPT can be called from various modeling environments and C.
IPOPT is part of the COIN-OR project.
IPOPT is designed to exploit 1st and 2nd derivative (Hessians) information if provided (usually via automatic differentiation routines in modeling environments such as AMPL). If no Hessians are provided, IPOPT will approximate them using a quasi-Newton methods, specifically a BFGS update.
IPOPT was originally developed by Ph.D. student Andreas Wächter and Prof. Lorenz T. Biegler of the Department of Chemical Engineering at Carnegie Mellon University. Their work was recognized with the INFORMS Computing Society Prize in 2009.
Arvind Raghunathan later created an extension to IPOPT for Mathematical programming with equilibrium constraints (MPEC) . This version of IPOPT is generally known as IPOPT-C (with the 'C' standing for 'complementarity'). While in theory any mixed-integer program can be recast as an MPEC, it may or may not be solvable with IPOPT-C. Solution of MINLPs (Mixed-Integer Nonlinear Programs) using IPOPT is still being explored  .
- Index of /download/source/Ipopt
- A. Wächter and L.T. Biegler, On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Mathematical Programming 106 (2006) 25-57.
|This computer-library-related article is a stub. You can help Wikipedia by expanding it.|