Optimization Toolbox Release Notes

# Chapter 1Optimization Toolbox 2.2 Release Notes

New Features

This section summarizes the new features and enhancements introduced in the Optimization Toolbox 2.2.

If you are upgrading from a release earlier than Release 12.1, then you should also see New Features of the Optimization Toolbox 2.1.1 Release Notes.

New fsolve Default Algorithm

The `fsolve` function, which is used to solve systems of nonlinear equations, has a new default algorithm for medium-scale systems where the number of equations is equal to the number of variables. The new algorithm uses a trust-region dogleg method that has improved convergence properties over the previous default method. It is based on the algorithm described in [1].

Medium-Scale Is Now the Default Method

In keeping with the new default trust-region dogleg algorithm, `fsolve` now defaults to the medium-scale method. The default for the `'LargeScale'` parameter is changed to `'off'`.

To use the large-scale `fsolve` method, which was the default in Versions 2.0 and 2.1, specify the large-scale method using code similar to

• ```options = optimset('LargeScale','on');
xsol = fsolve(myfun,x0,options);
```

New 'NonlEqnAlgorithm' Parameter

A new 'NonlEqnAlgorithm' `fsolve` parameter enables you to choose the Levenberg-Marquardt or Gauss-Newton algorithm over the trust-region dogleg algorithm. 'NonlEqnAlgorithm' has three options: `'dogleg'` (default), `'lm'` (Levenburg-Marquart), and `'gn'` (Gauss-Newton). Specify the use of an algorithm other than the default with code similar to

• ```options = optimset('NonlEqnAlgorithm','`gn`');
xsol = fsolve(myfun,x0,options);
```

References

[1]  J.J. Moré, B.S. Garbow, and K.E. Hillstrom, "User Guide for MINPACK - 1," Argonne National Laboratory, Rept. ANL-80-74, 1980

Function Summary

Version 2.2 of the Optimization Toolbox provides the following functions with new or changed capabilities.

Optimization Functions with New or Changed Capabilities

 Function Enhancement or Change `fsolve` The trust-region dogleg algorithm is now the default for medium-scale systems of equations where the number of equations is equal to the number of variables. See New fsolve Default Algorithm for more information. `optimset` A new 'NonlEqnAlgorithm' parameter, which applies only to `fsolve`, enables you to choose the Levenberg-Marquardt or Gauss-Newton algorithm over the new default trust-region dogleg algorithm.

 Optimization Toolbox Release Notes Major Bug Fixes