Get Started with 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.
Tutorials
- First Choose Problem-Based or Solver-Based Approach
There are two approaches to using Optimization Toolbox solvers: problem-based and solver-based. Before you start, choose the approach.
- Solve a Constrained Nonlinear Problem, Problem-Based
A basic example of solving a nonlinear optimization problem with a nonlinear constraint using the problem-based approach.
- Constrained Nonlinear Problem Using Optimize Live Editor Task or Solver
Minimize a nonlinear function with a nonlinear constraint using a visual approach or a text-based approach.
- Get Started with Problem-Based Optimize Live Editor Task
Basic example using the problem-based Optimize Live Editor task.
- Use Problem-Based Optimize Live Editor Task Effectively
How to use and understand the problem-based Optimize Live Editor task.
- Get Started with Solver-Based Optimize Live Editor Task
An example script to modify for using the solver-based Optimize Live Editor task.
- Use Solver-Based Optimize Live Editor Task Effectively
How to use the solver-based Optimize Live Editor task effectively.
- Set Up a Linear Program, Problem-Based
Linear problem formulation using the problem-based approach.
- Set Up a Linear Program, Solver-Based
Problem formulation using the solver-based approach.
About Optimization
- Optimization Theory Overview
Introduces optimization as a way of finding a set of parameters that can be defined as optimal. These parameters are obtained by minimizing or maximizing an objective function, subject to equality or inequality constraints and/or parameter bounds.
- Optimization Toolbox Solvers
Descriptions of optimization solvers.
- Local vs. Global Optima
Explains why solvers might not find the smallest minimum.
Related Information
- Mathematical Modeling with Optimization, Part 1
- Optimization Modeling, Part 2: Converting to Solver Form
- Optimization Modeling, Part 2: Problem-Based Solution of a
Mathematical Model
- Problem-Based Nonlinear Programming
- How to Use the Solver-Based Optimize Live Editor Task
- How to Use the Problem-Based Optimize Live Editor Task