Software

Software


IPOPT

IPOPT (Interior Point OPTimizer, pronounced eye-pea-Opt) is an award winning software package for large-scale nonlinear-optimization. It is open-source software released under the Eclipse Public License (EPL). Written in C++ by Andreas Wächter and Carl Laird, the software distribution provides the flexibility of creating interfaces with various modeling environments, including AMPL, Pyomo, MATLAB, R, GAMS, JModelica, C/C++, and Fortran.  It can be used on Linux/UNIX, Mac OS X and Windows platforms. IPOPT is a part of the COIN-OR project. To learn more about the software and get download instructions, please visit IPOPT’s wiki page.


PYOMO

The Python Optimization Modeling Objects (Pyomo) package is an open-source tool for building optimization applications in Python. Pyomo was developed to allow users to solve optimization problems with ease. This ease is based on both the ability to build a model within Python, a full-featured high-level programming language with a rich set of supporting libraries, and the use of Coopr, the Python optimization package. To add to that, Pyomo provides capabilities that are commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS. Built on the backbone of Python, this flexible package allows for custom user extensions to the modeling language (e.g. PySP for stochastic programming, disjunctive programming, and object-oriented modeling with blocks). Pyomo is developed as a part of Sandia National Lab’s Coopr package. To learn more about the software and get download instructions, please visit Pyomo’s webpage.


Merlion

Merlion is a computational framework that creates an explicit mathematical model for water quality in drinking water distribution systems that is appropriate for embedding within other numerical applications (e.g. optimization). In addition to supporting optimization formulations, the Merlion library is highly efficient for simulating large ensembles of scenarios. To learn more about the Merlion modeling framework, please refer to the following journal publication [pdf].