This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "IPOPT" – news · newspapers · books · scholar · JSTOR(June 2017) (Learn how and when to remove this message)
Developer(s)
Andreas Wächter, Carl Laird
Initial release
August 26, 2005; 18 years ago (2005-08-26)
Stable release
3.14.16[1]
/ April 22, 2024; 31 days ago (2024-04-22)
Operating system
UNIX, Linux, macOS, Microsoft Windows
Available in
C++
License
Eclipse Public License
Website
github.com/coin-or/Ipopt
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 C++ (after migrating from 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: C, C++, Fortran, Java, R, Python, and others.[2]
IPOPT is part of the COIN-OR project.
IPOPT is designed to exploit 1st derivative (gradient) and 2nd derivative (Hessian) 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[3] 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).[4] 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.[5][6]
Carl Laird and Andreas Wächter are the developers of IPOPT 3.0, which is a re-implementation of IPOPT in C++. Wächter and Laird were awarded the 2011 J. H. Wilkinson Prize for Numerical Software for this development.
^"Github release page". GitHub.
^"IPOPT Github repository". GitHub. COIN-OR Foundation. 26 April 2024. Retrieved 27 April 2024.
^Wächter, Andreas; Biegler, Lorenz T. (2006). "On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming" (PDF). Mathematical Programming. 106: 25–57. doi:10.1007/s10107-004-0559-y. S2CID 14183894.
^Raghunathan, Arvind U.; Biegler, Lorenz T. (2005). "An Interior Point Method for Mathematical Programs with Complementarity Constraints (MPCCS)". SIAM Journal on Optimization. 15 (3): 720–750. doi:10.1137/S1052623403429081.
^"CMU-IBM Open Source MINLP Project". Archived from the original on 2006-06-22.
IPOPT, short for "Interior Point OPTimizer, pronounced I-P-Opt", is a software library for large scale nonlinear optimization of continuous systems. It...
source and commercial software, including CBC, CPLEX, FortMP, MOSEK, MINOS, IPOPT, SNOPT, KNITRO, and LGO. Problems are passed to solvers as nl files. AMPL...
programming algorithms (zero-order, first order and second order ones). IPOPT (C++ implementation, with numerous interfaces including C, Fortran, Java...
functions that programmers can embed into their software applications. IPOPTIPOPT (Interior Point OPTimizer) is a software package for large-scale nonlinear...
University of Berlin, the INFORMS Computing Society Prize for developing IPOPT, an open source program for large-scale nonlinear optimization. Biegler...
commercial, including many solvers supported by AMPL, PICO, CBC, CPLEX, IPOPT, and GLPK. Pyomo can either invoke the solver directly or asynchronously...
optimization packages. Ready-to-use interfaces to existing packages, such as IPOPT, MINOS, SNOPT, filterSQP, Knitro and more are provided. The problems in...
directly, but calls nonlinear programming solvers such as APOPT, BPOPT, IPOPT, MINOS, and SNOPT. The APMonitor API provides exact first and second derivatives...
multivariable optimization of user-defined objective functions using SNOPT, IPOPT, and other optimization software Generation of NORAD Two-Line Element states...
Supported solvers include CPLEX, MOSEK, FICO Xpress, CBC, Conopt, MINOS, IPOPT, SNOPT, KNITRO and CP Optimizer. AIMMS features a mixture of declarative...
models are used to test the performance of APOPT relative to solvers BPOPT, IPOPT, SNOPT, and MINOS. A combination of APOPT (Active Set SQP) and BPOPT (Interior...
Pyomo The engine also interfaces to the following solvers: CPLEX CBC CLP IPOPT Like all deterministic global optimization software, Octeract Engine requires...