List of optimization software
Encyclopedia
Free and Open Source software
Name | License | Brief info |
---|---|---|
ALGENCAN | GPL | Fortran code for general nonlinear programming. Interfaces with AMPL, C/C++, CUTEr, Matlab, Python, Octave and R. |
ASCEND ASCEND ASCEND is a free, open source, mathematical modelling system developed at Carnegie Mellon University since the late 1978. ASCEND is an acronym which stands for Advanced System for Computations in ENgineering Design. Its main uses have been in the field of chemical process modelling although its... |
GPL | mathematical modelling system |
COIN-OR SYMPHONY | GPL | integer programming |
CUTEr CUTEr CUTEr is an open source testing environment for optimization and linear algebra solvers... |
GPL | testing environment for optimization and linear algebra solvers |
IPOPT 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 Fortran and C and is released under the EPL . IPOPT implements a primal-dual interior point method, and uses line searches based on... |
CPL Common Public License In computing, the CPL is a free software / open-source software license published by IBM. The Free Software Foundation and Open Source Initiative have approved the license terms of the CPL.... |
large scale nonlinear optimization for continuous system |
L-BFGS L-BFGS The limited-memory BFGS algorithm is a member of the broad family of quasi-Newton optimization methods that uses a limited memory variation of the Broyden–Fletcher–Goldfarb–Shanno update to approximate the inverse Hessian matrix... |
BSD | limited-memory quasi-Newton Newton's method in optimization In mathematics, Newton's method is an iterative method for finding roots of equations. More generally, Newton's method is used to find critical points of differentiable functions, which are the zeros of the derivative function.-Method:... packages for large scale optimization |
OpenOpt OpenOpt OpenOpt is an open-source framework for numerical optimization, nonlinear equations and systems of them. It is licensed under the BSD license, making it available to be used in both open- and closed-code software. The package already has some essential .... |
BSD BSD licenses BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named.... |
free numerical optimization framework for solving NLP, LP, MILP, QP, etc. Can involve Automatic differentiation Automatic differentiation In mathematics and computer algebra, automatic differentiation , sometimes alternatively called algorithmic differentiation, is a set of techniques to numerically evaluate the derivative of a function specified by a computer program... via FuncDesigner. |
GLPK | GPL | GNU Linear Programming Kit |
NLopt | MIT, LGPL | single API for many local/global algorithms for nonlinear programming (interfaces for C/C++/Fortran/Matlab/Octave GNU Octave GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB... /Python Python (programming language) Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive... /Scheme GNU Guile GNU Guile is an interpreter/virtual machine for the Scheme programming language. It was first released in 1993. Guile includes modularized extensions for POSIX system calls, APL array functionality, and others packaged as an object library... ) |
PaGMO/PyGMO | GPL | single API for many local/global algorithms for nonlinear programming (C++/Python Python (programming language) Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive... ) and their coarse parallelization. It wraps some NLopt, GSL and SciPy algorithms too |
PPL | GPLv3 | The Parma Polyhedra Library provides numerical abstractions especially targeted at analysis and verification of complex systems |
NOMAD | LGPL | Black-Box optimization package |
This article is about mathematical optimization problem
Optimization problem
In mathematics and computer science, an optimization problem is the problem of finding the best solution from all feasible solutions. Optimization problems can be divided into two categories depending on whether the variables are continuous or discrete. An optimization problem with discrete...
s. If you are looking for PC cleanup programs, go elsewhere.
Proprietary software
- AIMMSAIMMSAIMMS is a software system designed for modeling and solving large-scale optimization and scheduling-type problems....
— optimization modeling system, including GUI building facilities - AMPLAMPLAMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...
— modelling language for large-scale linear, mixed integer and nonlinear optimization - Analytica — optimization modeling software that incorporates state-of-the-art algorithms for linear and nonlinear optimization. Supports LP, NLP, QP, continuous and integer optimization.
- APMonitorAPMonitorAPMonitor, or "Advanced Process Monitor", is a modeling language for differential and algebraic equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic...
— for large-scale, nonlinear, differential and algebraic optimization - ASTOSAstosASTOS is a Trajectory optimization and simulation tool for launch and re-entry missions, orbit transfers, design optimization and for re-entry safety assessments. It solves Aerospace problems with a data driven interface and automatic initial guesses...
— AeroSpace Trajectory Optimization Software for launcher, re-entry and generic aerospace problems - BARONBARONBARON is a computational system for solving nonconvex optimization problems to global optimality. Purely continuous, purely integer, and mixed-integer nonlinear problems can be solved with the software. BARON is available under the AIMMS and GAMS modeling languages on a variety of platforms...
— for global optimization of algebraic nonlinear and mixed-integer nonlinear problems - CPLEXCPLEXIBM ILOG CPLEX Optimization Studio is an optimization software package. In 2004, the work on CPLEX earned the first ....
— integer, linear and quadratic programming - FinMath — contains primal-dual interior-pointInterior point methodInterior point methods are a certain class of algorithms to solve linear and nonlinear convex optimization problems.The interior point method was invented by John von Neumann...
solvers for linear and convex quadratic programming problems, quasi-NewtonQuasi-Newton methodIn optimization, quasi-Newton methods are algorithms for finding local maxima and minima of functions. Quasi-Newton methods are based on...
with BFGSBFGS methodIn numerical optimization, the Broyden–Fletcher–Goldfarb–Shanno method is a method for solving nonlinear optimization problems ....
update formula. - FortMPFortMPFortMP is a software package for solving large-scale optimization problems. It solves linear programming problems, quadratic programming problems and mixed integer programming problems...
— integer, linear and quadratic programming - FortSPFortSPFortSP is a software package for solving stochastic programming problems. It solves scenario-based SP problems with recourse as well as problems with chance constraints and integrated chance constraints...
— stochastic programming - General Algebraic Modeling SystemGeneral Algebraic Modeling SystemThe General Algebraic Modeling System is a high-level modeling system for mathematical optimization. GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. The system is tailored for complex, large-scale modeling applications and allows the user to...
- GESOP — Graphical Environment for Simulation and Optimization
- GurobiGurobiGurobi is a commercial software package for solving large-scale linear optimization, quadratic optimization, and mixed-integer optimization problems...
— integer, linear and quadratic programming - HEEDS MDO — multidisciplinary design optimization using SHERPA, a hybrid, adaptive optimization algorithm.
- Inverse (program)Inverse (program)Inverse is a general purpose computer program for solving inverse and optimization problems.The program has been designed in particular for solving problems where complex numerical simulations Inverse is a general purpose computer program for solving inverse and optimization problems.The program...
— inverse and optimization problems - LINGO — very intuitive for small-scale problems. Can do linear, nonlinear, quadratic, stochastic, and integer optimization
- modeFRONTIERModeFRONTIERmodeFRONTIER is a multi-objective optimization and design environment, written to couple CAD/computer aided engineering tools, finite element structural analysis and computational fluid dynamics software. It is developed by ESTECO Srl and provides an environment for product engineers and designers...
— multidisciplinary design optimization, for computer-aided engineering - Maple (software)Maple (software)Maple is a general-purpose commercial computer algebra system. It was first developed in 1980 by the Symbolic Computation Group at the University of Waterloo in Waterloo, Ontario, Canada....
— Linear, quadratic, and nonlinear, continuous and integer optimization. Constrained and unconstrained. Global optimization with add-on toolbox. - MathematicaMathematicaMathematica is a computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing...
— large-scale multivariate constrained and unconstrained, linear and nonlinear, continuous and integer optimization. - MIDACO-Solver — Black-Box optimization software for (constrained) mixed integer, combinatorial and continuous problems. Available for Matlab, C/C++, Fortran and MS-Excel.
- MOSEKMOSEKMOSEK is a software package for the solution of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically constraint, conic and convex nonlinear mathematical optimization problems. The emphasize in MOSEK is on solving large scale sparse problems. Particularly the...
— linear, quadratic, conic and convex nonlinear, continuous and integer optimization. - NexusNexus (Process integration and optimization)Nexus is software for process integration. It is designed to solve multi-disciplinary and multi-objective optimization problems via a flowchart representation validated on the fly. Nexus is developed by iChrome Ltd., a British engineering and software company that specializes mainly in mathematical...
— multidisciplinary optimization and design process integration - NMathNMathNMath is a numerical package for the Microsoft .NET Framework. It is developed by CenterSpace Software. Version 1.0 was released in March, 2003 as NMath Core...
— linear, quadratic and nonlinear programming - IOSOIOSOIOSO is a multiobjective, multidimensional nonlinear optimization technology.-IOSO approach:IOSO Technology is based on the response surface methodology approach....
— multidisciplinary design optimization, for computer-aided engineering - OptimJOptimJOptimJ is an extension of the Java with language support for writing optimization models and abstractions for bulk data processing. OptimJ aims at providing a clear and concise algebraic notation for optimization modeling, removing compatibility barriers between optimization modeling and...
— Java based modeling language. Premium Edition includes support for Gurobi, Mosek and CPLEX solvers - PottersWheelPottersWheelPottersWheel is a MATLAB toolbox for mathematical modeling of time-dependent dynamical systems that can be expressed as chemical reaction networks or ordinary differential equations . It allows the automatic calibration of model parameters by fitting the model to experimental measurements...
— Parameter estimation in ordinary differential equations (Matlab toolbox, free for academic use). - S+NuOpt — S-PLUSS-PLUSS-PLUS is a commercial implementation of the S programming language sold by TIBCO Software Inc..It features object-oriented programming capabilities and advanced analytical algorithms.-Historical timeline:...
-based solver used for a wide range of applications. - SNOPTSNOPTSNOPT is a software package for solving large-scale optimization problems written by Philip Gill, Walter Murray and Michael Saunders....
— large-scale optimization problems. - Unscrambler OptimizerThe UnscramblerThe Unscrambler is a commercial software product for multivariate data analysis, used primarily for calibration in the application of near infrared spectroscopy and development of predictive models for use in real-time spectroscopic analysis of materials. The software was originally developed in...
product formulation and process optimization software - TOMLABTOMLABThe TOMLAB Optimization Environment is a modeling platform for solving applied optimization problems in MATLAB.-Description:TOMLAB is a general purpose development and modeling environment in MATLAB for research, teaching and practical solution of optimization problems...
— TOMLAB supports global optimization, integer programming, all types of least sqaures, linear, quadratic and unconstrained programming for MATLABMATLABMATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
. TOMLAB supports solvers like GurobiGurobiGurobi is a commercial software package for solving large-scale linear optimization, quadratic optimization, and mixed-integer optimization problems...
, CPLEXCPLEXIBM ILOG CPLEX Optimization Studio is an optimization software package. In 2004, the work on CPLEX earned the first ....
, SNOPTSNOPTSNOPT is a software package for solving large-scale optimization problems written by Philip Gill, Walter Murray and Michael Saunders....
and KNITROKNITROKNITRO is a software package for solving large scale mathematical optimization problems. KNITRO is specialized for nonlinear optimization, but also solves linear programming problems, quadratic programming problems, and systems of nonlinear equations. The unknowns in these problems must be...
. - VisSimVisSimVisSim is a visual block diagram language for simulation of dynamical systems and model based design of embedded systems. It is developed by Visual Solutions of Westford, Massachusetts....
— a visual block diagramBlock diagramBlock diagram is a diagram of a system, in which the principal parts or functions are represented by blocks connected by lines, that show the relationships of the blocks....
language for simulation and optimization of dynamical systemDynamical systemA dynamical system is a concept in mathematics where a fixed rule describes the time dependence of a point in a geometrical space. Examples include the mathematical models that describe the swinging of a clock pendulum, the flow of water in a pipe, and the number of fish each springtime in a...
s. - WORHPWORHPWORHP, pronounced like the English word "warp", also referred to as eNLP by ESA, is a mathematical software library for solving continuous large scale nonlinear optimization problems numerically. The acronym WORHP is sometimes spelled out as "We Optimize Really Huge Problems", its primary intended...
— a large-scale sparse solver for continuous nonlinear optimization. - Xpress-Mosel by FICO — "ultra-large-scale" optimization with 64-bit support.
- Xtreme — Fast nonlinear optimization based on genetic algorithms and neural networks (free version available).
Freeware
- AIMMSAIMMSAIMMS is a software system designed for modeling and solving large-scale optimization and scheduling-type problems....
— free for academic use. - AMPLAMPLAMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...
— free student license. - APMonitor — free online interface.
- ASTOSAstosASTOS is a Trajectory optimization and simulation tool for launch and re-entry missions, orbit transfers, design optimization and for re-entry safety assessments. It solves Aerospace problems with a data driven interface and automatic initial guesses...
— free for academic use. - Galahad libraryGalahad libraryThe Galahad library is a thread-safe library of packages for the solution of optimization—or mathematical programming—problems. The areas covered by the library are unconstrained and bound-constrained optimization, quadratic programming, nonlinear programming, systems of nonlinear equations and...
— free for academic use. - GESOP — free for academic use.
- KNITROKNITROKNITRO is a software package for solving large scale mathematical optimization problems. KNITRO is specialized for nonlinear optimization, but also solves linear programming problems, quadratic programming problems, and systems of nonlinear equations. The unknowns in these problems must be...
— large-scale mathematical optimization problems. Freeware for non-commercial uses. - MIDACO-Solver — Free test version for up to 4 variables. (Matlab, C/C++ ,Fortran, MS-Excel)
- MINTOMINTOMINTO is an integer programming solver which uses branch and bound algorithm. It stands for Mixed Integer Optimizer.MINTO is a software system that solves mixed integer programming problem by a branch and bound algorithm with linear programming relaxations. It also provides automatic constraint...
— integer programming solver using branch and bound algorithm. Freeware for personal use. - PGSL — A global search program using probabilistic sampling.
- OptimJOptimJOptimJ is an extension of the Java with language support for writing optimization models and abstractions for bulk data processing. OptimJ aims at providing a clear and concise algebraic notation for optimization modeling, removing compatibility barriers between optimization modeling and...
— Java based modeling language. Free Edition includes support for lp_solve, GLPK and LP or MPS file formats - PottersWheelPottersWheelPottersWheel is a MATLAB toolbox for mathematical modeling of time-dependent dynamical systems that can be expressed as chemical reaction networks or ordinary differential equations . It allows the automatic calibration of model parameters by fitting the model to experimental measurements...
— Parameter estimation in ordinary differential equations (Free Matlab toolbox for academic use). - WORHPWORHPWORHP, pronounced like the English word "warp", also referred to as eNLP by ESA, is a mathematical software library for solving continuous large scale nonlinear optimization problems numerically. The acronym WORHP is sometimes spelled out as "We Optimize Really Huge Problems", its primary intended...
— free of charge for academic use.