Template talk:Mathematical optimization software

Mathematical optimization
– This can be viewed either as a particular case of nonlinear programming or as generalization of linear or convex quadratic programming.
 * Convex programming [objective function: convex (minimization) or concave (maximization); constraint set: convex]
 * Linear programming (LP), a type of convex programming, studies the case in which the objective function f is linear and the set of constraints is specified using only linear equalities and inequalities.
 * Second order cone programming (SOCP) is a convex program, and includes certain types of quadratic programs.
 * Semidefinite programming (SDP) is a subfield of convex optimization where the underlying variables are semidefinite matrices. It is generalization of linear and convex quadratic programming.
 * Conic programming is a general form of convex programming. LP, SOCP and SDP can all be viewed as conic programs with the appropriate type of cone.
 * Geometric programming is a technique whereby objective and inequality constraints expressed as posynomials and equality constraints as monomials can be transformed into a convex program.
 * Integer programming studies linear programs in which some or all variables are constrained to take on integer values. This is not convex, and in general much more difficult than regular linear programming.
 * Quadratic programming allows the objective function to have quadratic terms, while the feasible set must be specified with linear equalities and inequalities. For specific forms of the quadratic term, this is a type of convex programming.
 * Fractional programming studies optimization of ratios of two nonlinear functions. The special class of concave fractional programs can be transformed to a convex optimization problem.
 * Nonlinear programming studies the general case in which the objective function or the constraints or both contain nonlinear parts. This may or may not be a convex program. In general, whether the program is convex affects the difficulty of solving it.
 * Stochastic programming studies the case in which some of the constraints or parameters depend on random variables.
 * Robust programming is, like stochastic programming, an attempt to capture uncertainty in the data underlying the optimization problem. This is not done through the use of random variables, but instead, the problem is solved taking into account inaccuracies in the input data.
 * Combinatorial optimization is concerned with problems where the set of feasible solutions is discrete or can be reduced to a discrete one.
 * Stochastic optimization for use with random (noisy) function measurements or random inputs in the search process.
 * Infinite-dimensional optimization studies the case when the set of feasible solutions is a subset of an infinite-dimensional space, such as a space of functions.
 * Heuristics and metaheuristics make few or no assumptions about the problem being optimized. Usually, heuristics do not guarantee that any optimal solution need be found. On the other hand, heuristics are used to find approximate solutions for many complicated optimization problems.
 * Constraint satisfaction studies the case in which the objective function f is constant (this is used in artificial intelligence, particularly in automated reasoning).
 * Constraint programming.
 * Disjunctive programming is used where at least one constraint must be satisfied but not all. It is of particular use in scheduling.

In a number of subfields, the techniques are designed primarily for optimization in dynamic contexts (that is, decision making over time):
 * Calculus of variations seeks to optimize an objective defined over many points in time, by considering how the objective function changes if there is a small change in the choice path.
 * Optimal control theory is a generalization of the calculus of variations.
 * Dynamic programming studies the case in which the optimization strategy is based on splitting the problem into smaller subproblems. The equation that describes the relationship between these subproblems is called the Bellman equation.
 * Mathematical programming with equilibrium constraints is where the constraints include variational inequalities or complementarities.

Other:
 * Multi-objective optimization
 * Multi-modal optimization

Mathematical Programming Glossary: The Nature of Mathematical Programming

 * Abstract
 * Biconvex
 * Bilinear
 * Composite concave
 * Continuous
 * Convex
 * Discrete
 * Disjunctive
 * Dynamic
 * Factorable
 * Fractional
 * Geometric
 * Integer
 * Infinite
 * Lattice
 * Linear
 * Mixed-Integer
 * Multilevel
 * Nonlinear
 * Pseudo-boolean
 * Reverse convex
 * Semi-definite
 * Semi-infinite
 * Separable

Decision Tree for Optimization Software: Problems and Software

 * Global Optimization
 * Unconstrained Optimization
 * Constrained Optimization
 * LP/MILP
 * QP/MIQP
 * SDP/SOCP
 * Geometric programming
 * NLP/MINLP
 * Network Optimization
 * Constraint Programming
 * Dynamic Programming / Control Problems
 * Least Squares: Unconstrained LSQ, Constrained LSQ
 * Complementarity
 * Multiobjective Optimization
 * Discrete Optimization

NEOS Optimization Guide: Optimization Tree and NEOS Solvers: Index

 * Continuous Optimization
 * Bound Constrained Optimization
 * Constrained Optimization
 * Derivative-Free Optimization
 * Global Optimization
 * Linear Programming (LP)
 * Nondifferentiable Optimization
 * Nonlinear Programming (NLP)
 * Quadratic Constrained Quadratic Programming (QCQP)
 * Quadratic Programming (QP)
 * Second Order Cone Programming (SOCP)
 * Semidefinite Programming (SDP)
 * Semiinfinite Programming (SIP)
 * Unconstrained Optimization
 * Nonlinear Least Squares (NLLS)
 * Nonlinear Equations
 * Discrete Optimization
 * Integer Linear Programming (ILP)
 * Mixed Integer Nonlinear Programming (MILNP)
 * Combinatorial Optimization (CO)
 * Traveling Salesman Problem (TSP)
 * Optimization Under Uncertainty
 * Stochastic Programming
 * Stochastic Linear Programming
 * Complementarity Problems and Variational Inequalities
 * Complementarity Problems
 * Game Theory
 * Linear Complementarity Problems
 * Mathematical Programs with Complementarity Constraints
 * Mathematical Programs with Equilibrium Constraints
 * Nonlinear Complementarity Problems
 * Multiobjective Optimization

Optimization Software Guide: Software Classification

 * Unconstrained Optimization
 * Nonlinear Least Squares
 * Nonlinear Equations
 * Linear Programming
 * Quadratic Programming
 * Bound Constrained Optimization
 * Constrained Optimization
 * Network Optimization
 * Integer Programming
 * Misc.
 * Nondifferentiable Optimization
 * Multiple Criteria Optimization

Wiley Encyclopedia of Operations Research and Management Science: Optimization Software

 * Instance Formats
 * Simplex-based LP Solvers
 * Interior-Point LP Solvers: BPMPD, CLP, FortMP, GIPALS32, HOPDM, GLPK, CPLEX, LINDO, LIPSOL, LOQO, MSF, MOSEK, PCx, SAS/OR, Xpress-Optimizer
 * Conic Optimization [LP, SOCP, (NL)SDP] Software: CPLEX, CSDP, CVXOPT, DSDP, LMIlab, LOQO, MOSEK, PENSDP, SDPA, SDPlr, SDPT3, SeDuMi, SMCP
 * MILP software: CPLEX, Gurobi, LINDO, MOSEK, Xpress-Optimizer, BLIS, CBC, GLPK, MINTO, SCIP, SYMPHONY
 * MINLP software:  CPLEX, Xpress-Optimizer, MOSEK, SCIP;  alphaBB, AlphaECP, AOA, BARON, BNB, BONMIN, Couenne, DICOPT, Xpress-SLP, FILMINT, FMINCONSET, KNITRO, LAGO, LINDOBB, LINDOGlobal, LOGMIP, MIDACO, MILANO, MINLP_BB, MISQP, OQNLP, SBB
 * Software for Nonlinearly Constrained Optimization:  Ipfilter, IPOPT, KNITRO, LANCELOT, LINDO, LOQO;  CONOPT, FilterSQP, KNITRO,   LINDO LRAMBO, NLPQLP, NPSOL, PATHNLP, SNOPT, SQPlab;  ALGENCAN, GALAHAD, LANCELOT, MINOS, PENNON

OPTI Toolbox: Solvers and YALMIP: Solvers

 * Linear Programming (LP) / Mixed Integer Linear Programming (MILP)
 * Quadratic Programming (QP) / Mixed Integer Quadratic Programming (MIQP)
 * Quadratically Constrained Quadratic Programming (QCQP) / Mixed Integer Quadratically Constrainted Quadratic Programming (MIQCQP)
 * Second-order cone programming (SOCP) / Mixed Integer Second-order cone programming (MISOCP)
 * Semidefinite Programming (SDP)
 * System of Nonlinear Equations (SNLE)
 * Nonlinear Least Squares (NLS)
 * Nonlinear Programming (NLP) / Mixed Integer Nonlinear Programming (MINLP) / Global Nonlinear Programming (GNLP)

Optimization Online Submissions: Areas

 * Combinatorial Optimization
 * Complementarity and Variational Inequalities
 * Convex and Nonsmooth Optimization
 * Global Optimization
 * Infinite Dimensional Optimization
 * Integer Programming
 * Linear, Cone and Semidefinite Programming
 * Network Optimization
 * Nonlinear Optimization
 * Optimization Software and Modeling Systems
 * Robust Optimization
 * Stochastic Programming

Other useful links

 * NEOS Optimization Guide: Algorithms
 * NEOS Optimization Guide: Linear Programming FAQ
 * Optimization Guide: Nonlinear Programming FAQ
 * OR/MS Today: 2013 Linear Programming Software Survey
 * OR/MS Today: 1998 Nonlinear Programming Software Survey
 * Arnold Neumaier's catalog of
 * Global Optimization Software
 * Local Optimization Software