Optimization Toolbox

Using the Optimization Toolbox

Preface

What Is the Optimization Toolbox?

New Features in Version 2.1

Toolbox Speed

Function Handles

Large Structured Problems

Using This Guide

Acknowledgments

Related Products

Configuration Information

Technical Conventions

Matrix, Vector, and Scalar Notation

Typographical Conventions

Tutorial

Overview

Introduction

Problems Covered by the Toolbox

Using the Optimization Functions

Examples that Use Standard Algorithms

Unconstrained Example

Nonlinear Inequality Constrained Example

Constrained Example with Bounds

Constrained Example with Gradients

Gradient Check: Analytic Versus Numeric

Equality Constrained Example

Maximization

Greater-Than-Zero Constraints

Additional Arguments: Avoiding Global Variables

Multiobjective Examples

Large-Scale Examples

Problems Covered by Large-Scale Methods

Nonlinear Equations with Jacobian

Nonlinear Equations with Jacobian Sparsity Pattern

Nonlinear Least Squares with Full Jacobian Sparsity Pattern

Nonlinear Minimization with Gradient and Hessian

Nonlinear Minimization with Gradient and Hessian Sparsity Pattern

Nonlinear Minimization with Bound Constraints and Banded Preconditioner

Nonlinear Minimization with Equality Constraints

Nonlinear Minimization with a Dense but Structured Hessian and Equality Constraints

Quadratic Minimization with Bound Constraints

Quadratic Minimization with a Dense but Structured Hessian

Linear Least Squares with Bound Constraints

Linear Programming with Equalities and Inequalities

Linear Programming with Dense Columns in the Equalities

Default Parameter Settings

Changing the Default Settings

Displaying Iterative Output

Output Headings: Medium-Scale Algorithms

Output Headings: Large-Scale Algorithms

Optimization of Inline Objects Instead of M-Files

Typical Problems and How to Deal with Them

Converting Your Code to Version 2 Syntax

Using optimset and optimget

New Calling Sequences

Example of Converting from constr to fmincon

Selected Bibliography

Standard Algorithms

Overview

Optimization Overview

Unconstrained Optimization

Quasi-Newton Methods

Line Search

Quasi-Newton Implementation

Hessian Update

Line Search Procedures

Least Squares Optimization

Gauss-Newton Method

Levenberg-Marquardt Method

Nonlinear Least Squares Implementation

Gauss-Newton Implementation

Levenberg-Marquardt Implementation

Constrained Optimization

Sequential Quadratic Programming (SQP)

Quadratic Programming (QP) Subproblem

SQP Implementation

Updating the Hessian Matrix

Quadratic Programming Solution

Line Search and Merit Function

Multiobjective Optimization

Introduction

Goal Attainment Method

Algorithm Improvements for Goal Attainment Method

Selected Bibliography

Large-Scale Algorithms

Overview

Trust Region Methods for Nonlinear Minimization

Preconditioned Conjugate Gradients

Linearly Constrained Problems

Linear Equality Constraints

Box Constraints

Nonlinear Least Squares

Quadratic Programming

Linear Least Squares

Large-Scale Linear Programming

Main Algorithm

Preprocessing

Selected Bibliography

Reference

Function Reference

Functions by Category

Minimization

Equation Solving

Least Squares (Curve Fitting)

Utility

Demos of Large-Scale Methods

Demos of Medium-Scale Methods

Function Arguments

Optimization Options Parameters

Alphabetical List of Functions

fgoalattain

fminbnd

fmincon

fminimax

fminsearch

fminunc

fseminf

fsolve

fzero

linprog

lsqcurvefit

lsqlin

lsqnonlin

lsqnonneg

optimget

optimset

quadprog


 Using the Optimization Toolbox