Optimization Toolbox

Defining Optimization Problems

Model a design or decision problem as an optimization problem. Set design parameters and decisions as optimization variables. Use variables to define an objective function to optimize and use constraints to limit possible variable values.

Solving Optimization Problems

Apply a solver to the optimization problem to find an optimal solution: a set of optimization variable values that produce the optimal value of the objective function, if any, and meet the constraints, if any.

Nonlinear Programming

Solve optimization problems that have a nonlinear objective or are subject to nonlinear constraints.

Linear and Mixed-Integer Linear Programming

Solve optimization problems that have a linear objective subject to linear constraints with continuous and/or integer variables.

Quadratic and Conic Programming

Solve optimization problems with a quadratic objective and linear constraints or problems with second-order cone constraints.

Least Squares

Solve linear and nonlinear least-squares problems subject to bound, linear, and nonlinear constraints.

Systems of Nonlinear Equations

Solve systems of nonlinear equations subject to bound, linear, and nonlinear constraints.

Multiobjective Optimization

Solve optimization problems that have multiple objective functions subject to a set of constraints.


Build optimization-based decision support and design tools, integrate with enterprise systems, and deploy optimization algorithms to embedded systems.

“MATLAB has helped accelerate our R&D and deployment with its robust numerical algorithms, extensive visualization and analytics tools, reliable optimization routines, support for object-oriented programming, and ability to run in the cloud with our production Java applications.”

Borislav Savkovic, BuildingIQ