Version 4.1 (R2008b) Optimization Toolbox Software

This table summarizes what's new in Version 4.1 (R2008b):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known ProblemsRelated Documentation at Web Site
Yes
Details below
Yes
Summary
Bug Reports
Includes fixes

Printable Release Notes: PDF

Current product documentation

fsolve, lsqcurvefit, lsqnonlin Algorithm and Options Changes

Compatibility Considerations

Optimization Tool Enables Parallel Functionality

You can now access built-in parallel functionality in Optimization Tool for relevant Optimization Toolbox™ solvers and, if licensed, Genetic Algorithm and Direct Search Toolbox™ solvers. The option is available when you have a license for Parallel Computing Toolbox™ functions.

Central Finite Differences Available in Selected Solvers

The following solvers can now use central finite differences for gradient estimation:

The fmincon active-set algorithm and fminunc medium-scale algorithm gained central finite differences this release. The fmincon interior-point algorithm already had them, and the trust-region-reflective algorithm for both solvers requires a user-supplied gradient, so does not use finite differences.

To use central finite differences, use optimset to set the FinDiffType option to 'central' instead of the default 'forward'. This causes the solver to estimate gradients by formulae such as

instead of

Central finite differences take twice as many function evaluations as forward finite differences, but are usually much more accurate.

Central finite differences can work in parallel for gradient estimation in fgoalattain, fmincon active-set algorithm, and fminimax. For details on how to use this parallel gradient estimation, see the Parallel Computing for Optimization chapter in the User's Guide.

lsqnonneg Refactored

lsqnonneg was refactored. It can now use sparse matrices, and it preserves sparsity during its execution.

Finite Difference Algorithm Tweaked

A subroutine for gradient estimation by forward finite differences in nonlinear solvers had a bug that affected it when the current point x had a component with the value 0. Forward finite differences are typically calculated with a step size proportional to sqrt(eps), which is about 1.5*10–8. When a component of x was 0, the step size would instead be proportional to DiffMinChange, which has a default value of 10–8. There is now no difference in step size when x is 0.

Compatibility Considerations

Nonlinear solvers can run slightly differently whenever an iteration causes a component of x to be zero, and gradients are estimated by forward finite differences.

DerivativeCheck Tolerance Changed

The DerivativeCheck option enables you to ascertain whether the derivative (gradient) functions that you supply for objective or constraint functions give approximately the same values as those estimated by a solver using finite differences. The meaning of "approximately" has changed. Now it means the relative error of each component of the gradient is less than 10–6, unless the size of an analytically given component is smaller than 1, in which case it means the absolute difference is less than 10–6. Previously, the gradients were considered approximately equal if the maximum absolute error in any component of the gradient was less than (10–6 * norm of analytic gradient) + 10–5.

Compatibility Considerations

Some problems will now report violations of the DerivativeCheck condition, when previously they would not.

  


 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS