Skip to Main Content Skip to Search
Product Documentation

Iterative Display

Introduction

Iterative display is a table of statistics describing the calculations in each iteration of a solver. The statistics depend on both the solver and the solver algorithm. For more information about iterations, see Iterations and Function Counts. The table appears in the MATLAB Command Window when you run solvers with appropriate options.

Obtain iterative display by using optimset to create an options structure with the Display option set to 'iter' or 'iter-detailed'. For example:

options = optimset('Display','iter','LargeScale','off');
[x fval exitflag output] = fminunc(@sin,0,options);

                                                  First-order 
Iteration  Func-count     f(x)       Step-size     optimality
    0           2              0                           1
    1           4      -0.841471             1          0.54 
    2           8             -1      0.484797      0.000993 
    3          10             -1             1     5.62e-005 
    4          12             -1             1             0 

Local minimum found.

Optimization completed because the size of the gradient
is less than the default value of the function tolerance.

You can also obtain iterative display by using the Optimization Tool. Select Display to command window > Level of display > iterative or iterative with detailed message.

Iterative display is available for all solvers except:

Common Headings

The following table lists some common headings of iterative display.

HeadingInformation Displayed

Iteration or Iter

Iteration number; see Iterations and Function Counts

Func-count or F-count

Number of function evaluations; see Iterations and Function Counts

f(x)

Current objective function value

First-order optimality

First-order optimality measure (see First-Order Optimality Measure)

Norm of step

Size of the current step (size is the Euclidean norm, or 2-norm)

Function-Specific Headings

The following sections describe headings of iterative display whose meaning is specific to the optimization function you are using:

bintprog

The following table describes the headings specific to bintprog.

bintprog HeadingInformation Displayed

Explored nodes

Cumulative number of explored nodes.

Obj of LP relaxation

Objective function value of the linear programming (LP) relaxation problem.

Obj of best integer point

Objective function value of the best integer point found so far. This is an upper bound for the final objective function value.

Unexplored nodes

Number of nodes that have been set up but not yet explored.

Best lower bound on obj

Objective function value of LP relaxation problem that gives the best current lower bound on the final objective function value.

Relative gap between bounds

where

  • b is the objective function value of the best integer point.

  • a is the best lower bound on the objective function value.

fgoalattain, fmincon, fminimax, and fseminf

The following table describes the headings specific to fgoalattain, fmincon, fminimax, and fseminf.

fgoalattain, fmincon, fminimax, or fseminf HeadingInformation Displayed

Max constraint

Maximum violation among all constraints, both internally constructed and user-provided; can be negative when no constraint is binding.

CG-iterations

Number of conjugate gradient iterations taken in the current iteration (see Preconditioned Conjugate Gradient Method).

Trust-region radius

Current trust-region radius.

Line search steplength

Multiplicative factor that scales the search direction (see Equation 6-46).

Steplength

Multiplicative factor that scales the search direction (see Equation 6-46).

Attainment factor

Value of the attainment factor for fgoalattain.

Objective value

Objective function value of the nonlinear programming reformulation of the minimax problem for fminimax.

Directional derivative

Gradient of the objective function along the search direction.

Procedure

Hessian update procedures:

  • Infeasible start point

  • Hessian not updated

  • Hessian modified

  • Hessian modified twice

For more information, see Updating the Hessian Matrix.

QP subproblem procedures:

  • dependent — There are dependent (redundant) equality constraints that the solver detected and removed.

  • Infeasible — The QP subproblem with linearized constraints is infeasible.

  • Overly constrained — The QP subproblem with linearized constraints is infeasible.

  • Unbounded — The QP subproblem is feasible with large negative curvature.

  • Ill-posed — The QP subproblem search direction is too small.

  • Unreliable — The QP subproblem seems to be ill-conditioned.

Feasibility

Maximum constraint violation, where satisfied inequality constraints count as 0.

fminbnd and fzero

The following table describes the headings specific to fminbnd and fzero.

fminbnd or fzero HeadingInformation Displayed

Procedure

Procedures for fminbnd:

  • initial

  • golden (golden section search)

  • parabolic (parabolic interpolation)

Procedures for fzero:

  • initial (initial point)

  • search (search for an interval containing a zero)

  • bisection

  • interpolation (linear interpolation or inverse quadratic interpolation)

x

Current point for the algorithm

fminsearch

The following table describes the headings specific to fminsearch.

fminsearch HeadingInformation Displayed

min f(x)

Minimum function value in the current simplex.

Procedure

Simplex procedure at the current iteration. Procedures include:

  • initial simplex

  • expand

  • reflect

  • shrink

  • contract inside

  • contract outside

For details, see fminsearch Algorithm.

fminunc

The following table describes the headings specific to fminunc.

fminunc HeadingInformation Displayed

CG-iterations

Number of conjugate gradient iterations taken in the current iteration (see Preconditioned Conjugate Gradient Method)

Step-size

Multiplicative factor that scales the search direction (see Equation 6-12)

The fminunc medium-scale algorithm can issue a skipped update message to the right of the First-order optimality column. This message means that fminunc did not update its Hessian estimate, because the resulting matrix would not have been positive definite. The message usually indicates that the objective function is not smooth at the current point.

fsolve

The following table describes the headings specific to fsolve.

fsolve HeadingInformation Displayed

Trust-region radius

Current trust-region radius (change in the norm of the trust-region radius)

CG-iterations

Number of conjugate gradient iterations taken in the current iteration (see Preconditioned Conjugate Gradient Method)

Residual

Residual (sum of squares) of the function

Directional derivative

Gradient of the function along the search direction

Lambda

λk value defined in Levenberg-Marquardt Method

linprog

The following table describes the headings specific to linprog.

linprog HeadingInformation Displayed

Primal Infeas A*x-b

Primal infeasibility.

Dual Infeas A'*y+z-w-f

Dual infeasibility.

Duality Gap x'*z+s'*w

Duality gap (see Large Scale Linear Programming) between the primal objective and the dual objective. s and w appear only in this equation if there are finite upper bounds.

Total Rel Error

Total relative error, described at the end of Main Algorithm.

Objective f'*x

Current objective value.

lsqnonlin and lsqcurvefit

The following table describes the headings specific to lsqnonlin and lsqcurvefit.

lsqnonlin or lsqcurvefit HeadingInformation Displayed

Resnorm

Value of the squared 2-norm of the residual at x

Residual

Residual vector of the function

CG-iterations

Number of conjugate gradient iterations taken in the current iteration (see Preconditioned Conjugate Gradient Method)

Directional derivative

Gradient of the function along the search direction

Lambda

λk value defined in Levenberg-Marquardt Method

  


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