Skip to Main Content Skip to Search
Product Documentation

Version 6.0 (R2011a) Optimization Toolbox Software

This table summarizes what's new in Version 6.0 (R2011a):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known Problems
Yes
Details below
Yes
Summary
Bug Reports
Includes fixes

New features and changes introduced in this version are:

New Quadratic Programming Algorithm

quadprog has a new algorithm named 'interior-point-convex'. It has these features:

For details on the algorithm, see interior-point-convex quadprog Algorithm. For help choosing the algorithm to use, see Quadratic Programming Algorithms.

Compatibility Considerations

You now choose the quadprog algorithm by using optimset to set the Algorithm option instead of the LargeScale option. If you don't set Algorithm or LargeScale, quadprog behaves as before.

Algorithm option choices are:

The previous way of choosing the quadprog algorithm at the command line was to set the LargeScale option to 'on' or 'off'. quadprog now ignores the LargeScale option, except when you set the inconsistent values LargeScale = 'off' and Algorithm = 'trust-region-reflective'. In this case, to avoid backward incompatibility, quadprog honors the LargeScale option, and uses the 'active-set' algorithm.

quadprog now checks whether any inputs are complex, and, if so, it errors. The only exception is the Hinfo argument for the HessMult option is allowed to be complex.

Enhanced Robustness in Nonlinear Solvers

More solvers now attempt to recover from errors in the evaluation of objective functions and nonlinear constraint functions during iteration steps, or, for some algorithms, during gradient estimation. The errors include results that are NaN or Inf for all solvers, or complex for fmincon and fminunc. If there is such an error, the algorithms attempt to take different steps. The following solvers are enhanced:

New Defaults in DiffMinChange and DiffMaxChange Options

The DiffMinChange and DiffMaxChange options set the minimum and maximum possible step sizes for finite differences in gradient estimation. The defaults are now:

Solvers have mechanisms that ensure nonzero and non-infinite step sizes, so the new defaults simply mean that the step size adjustment algorithms have fewer constraints.

The new defaults remove the previous arbitrary choices. The previous values can be inappropriate when components are too large or small in magnitude. Tests show these new defaults are good for most situations.

Compatibility Considerations

Some solver iterations can differ from previous ones. To obtain the previous behavior:

options = optimset('DiffMinChange',1e-8,'DiffMaxChange',0.1);

Output Structure Tweak

For the trust-region-reflective algorithm, the algorithm field of the output structure is now 'trust-region-reflective'. This value differs slightly from the previous values returned by fmincon, fsolve, lsqcurvefit, lsqnonlin, and quadprog.

Compatibility Considerations

To avoid errors or unexpected results, update any code that depends on the exact value of the output.algorithm string.

ktrlink Compatible with KNITRO 7

ktrlink is compatible with KNITRO® 7. For details, see ktrlink: An Interface to KNITRO Libraries, or the Ziena Optimization web site http://www.ziena.com/.

New quadprog Demo

A new demo shows how to solve portfolio optimization problems using quadprog. View the demo at the command line by entering

showdemo portfoptimdemo
  


Free Optimization Interactive Kit

Learn how to use optimization to solve systems of equations, fit models to data, or optimize system performance.

Get free kit

Trials Available

Try the latest version of optimization products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS