AMPL: A comprehensive and powerful algebraic modeling language for linear and nonlinear optimization problems, in discrete or continuous variables.Developed at Bell Laboratories, AMPL lets you use common notation and familiar concepts to formulate optimization models and examine solutions, while the computer manages communication with an appropriate solver. AMPL’s flexibility and convenience render it ideal for rapid prototyping and model development, while its speed and control options make it an especially efficient choice for repeated production runs.
APOPT: NLP / MINLP solver for large-scale optimization, available in AMPL, APMonitor, Gekko, MATLAB, Python, and Julia.
CasADi: An open-source tool for nonlinear optimization and algorithmic differentiation.
Chemical Complex Analysis System: Used to demonstrate optimization of a chemical complex. The System incorporates economic, environmental and sustainable costs and solves a MINLP for the best configuration of plants.
Computational Infrastructure for Operations Research (COIN-OR): An initiative to spur the development of open-source software for the operations research community. It provides a list of open-source tools available for operations research and optimization.
CONOPT: A solver for large-scale nonlinear optimization (NLP) developed and maintained by ARKI Consulting & Development A/S in Bagsvaerd, Denmark.
EAGO: An open-source deterministic global optimization solver in Julia for general nonconvex (MI)NLPs. Several advanced (non-standard) formulation examples are provided.
The General Algebraic Modeling System (GAMS): A high-level modeling system for mathematical programming problems. This site has documentation and related user publications and contributions.
Gekko: Optimization software for estimation and predictive control with machine learning and first principles modeling
Gurobi: A free solver for academics solves large-scale MILP, QP, MIQCP, SOCP, and Bilinear models. Global solver for all problem types, convex and nonconvex. Available from Python, Matlab, R, Java, C++, C#, AMPL, GAMS, pyomo, CVXPY. The Python API has built-in integration with common machine learning packages.
IPOPT: (Interior Point OPTimizer, pronounced eye-pea-Opt) A software package for large-scale nonlinear optimization
JuMP: An algebraic modeling language for mathematical programming problems in Julia. The documentation has several instructional examples.
Pyomo: Python-based, open-source optimization modeling language with a diverse set of optimization capabilities.
Textbooks
Optimization Websites
NEOS Guide Website: The NEOS Optimization Guide provides information about the field of optimization and its sub-disciplines. It focuses on the resources available for solving optimization problems, including the solvers available on the NEOS server.
Decision Tree for Optimization Software: Has solutions to optimization problems, collection of test results and performance tests, example files ready to use with existing software, software which helps formulating an optimization problem or simplifying its solution, and many other helpful materials for optimization.