In problem-based optimization you create optimization variables,
expressions in these variables that represent the objective and constraints
or that represent equations, and solve the problem using solve
. For the problem-based steps to take for optimization
problems, see Problem-Based Optimization Workflow. For
equation-solving, see Problem-Based Workflow for Solving Equations.
Before you begin to solve an optimization problem, you must choose the appropriate approach: problem-based or solver-based. For details, see First Choose Problem-Based or Solver-Based Approach.
Note: If you have a nonlinear function
that is not composed of polynomials, rational expressions, and elementary
functions such as exp
, then convert the function to an
optimization expression by using fcn2optimexpr
. See Convert Nonlinear Function to Optimization Expression and
Supported Operations on Optimization Variables and Expressions.
For a basic nonlinear optimization example, see Solve a Constrained Nonlinear Problem, Problem-Based. For a basic mixed-integer linear programming example, see Mixed-Integer Linear Programming Basics: Problem-Based. For a basic equation-solving example, see Solve Nonlinear System of Equations, Problem-Based.
EquationProblem | System of nonlinear equations |
OptimizationConstraint | Optimization constraints |
OptimizationEquality | Equalities and equality constraints |
OptimizationExpression | Arithmetic or functional expression in terms of optimization variables |
OptimizationInequality | Inequality constraints |
OptimizationProblem | Optimization problem |
OptimizationVariable | Variable for optimization |
Problem-Based Optimization Workflow
Problem-based steps for solving optimization problems.
Problem-Based Workflow for Solving Equations
Problem-based steps for solving equations.
Expressions define both objective and constraints.
Pass Extra Parameters in Problem-Based Approach
Pass extra parameters, data, or fixed variables in the problem-based approach.
Write Objective Function for Problem-Based Least Squares
Syntax rules for problem-based least squares.
Named Index for Optimization Variables
How to create and work with named indices for variables.
Review or Modify Optimization Problems
Shows how to review or modify problem elements such as variables and constraints.
How to evaluate the solution and its quality.
Set optimization options
Output Function for Problem-Based Optimization
Shows how to use an output function in the problem-based approach to record iteration history and to make a custom plot.
Create Efficient Optimization Problems
Tips for obtaining a faster or more accurate solution when there are integer constraints, and for avoiding loops in problem creation.
Separate Optimization Model from Data
To create reusable, scalable problems, separate the model from the data.
Variables with Duplicate Names Disallowed
Solution to the problem of two optimization variables with the same name.
Create Initial Point for Optimization with Named Index Variables
This example shows how to create initial points for solve
when you have named index variables by using the findindex
function.
Expression Contains Inf or NaN
Optimization expressions containing Inf
or
NaN
cannot be displayed, and can cause unexpected
results.
Objective and Constraints Having a Common Function in Serial or Parallel, Problem-Based
Save time when your objective and nonlinear constraint functions share common computations in the problem-based approach.
Effect of Automatic Differentiation in Problem-Based Optimization
Automatic differentiation lowers the number of function evaluations for solving a problem.
What Is Parallel Computing in Optimization Toolbox?
Use multiple processors for optimization.
Using Parallel Computing in Optimization Toolbox
Perform gradient estimation in parallel.
Minimizing an Expensive Optimization Problem Using Parallel Computing Toolbox™
Example showing the effectiveness of parallel computing
in two solvers: fmincon
and ga
.
Improving Performance with Parallel Computing
Investigate factors for speeding optimizations.
Problem-Based Optimization Algorithms
How the optimization functions and objects solve optimization problems.
Automatic Differentiation Background
Learn how automatic differentiation works.
Supported Operations on Optimization Variables and Expressions
Lists all available mathematical and indexing operations on optimization variables and expressions.