Optimization Toolbox
Optimization Toolbox™ provides functions for finding parameters that minimize or maximize objectives while satisfying constraints. The toolbox includes solvers for linear programming (LP), mixed-integer linear programming (MILP), quadratic programming (QP), second-order cone programming (SOCP), nonlinear programming (NLP), constrained linear least squares, nonlinear least squares, and nonlinear equations.
You can define your optimization problem with functions and matrices or by specifying variable expressions that reflect the underlying mathematics. You can use automatic differentiation of objective and constraint functions for faster and more accurate solutions.
You can use the toolbox solvers to find optimal solutions to continuous and discrete problems, perform tradeoff analyses, and incorporate optimization methods into algorithms and applications. The toolbox lets you perform design optimization tasks, including parameter estimation, component selection, and parameter tuning. It enables you to find optimal solutions in applications such as portfolio optimization, energy management and trading, and production planning.
Get Started
Learn the basics of Optimization Toolbox
Problem-Based Optimization Setup
Formulate optimization problems using variables and expressions, solve in serial or parallel
Solver-Based Optimization Problem Setup
Choose solver, define objective function and constraints, compute in parallel
Nonlinear Optimization
Solve constrained or unconstrained nonlinear problems with one or more objectives, in serial or parallel
Linear Programming and Mixed-Integer Linear Programming
Solve linear programming problems with continuous and integer variables
Quadratic Programming and Cone Programming
Solve problems with quadratic objectives and linear constraints or with conic constraints
Least Squares
Solve least-squares (curve-fitting) problems
Systems of Nonlinear Equations
Solve systems of nonlinear equations in serial or parallel
Optimization Results
Understand solver outputs and improve results