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 optimoptions
to
create options with the Display
option set to 'iter'
or 'iter-detailed'
.
For example:
options = optimoptions(@fminunc,'Display','iter','Algorithm','quasi-newton'); [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
app. Select Display to command window > Level of display
> iterative
or iterative
with detailed message
.
Iterative display is available for all solvers except:
linprog
'active-set'
algorithm
lsqlin
'trust-region-reflective'
and 'active-set'
algorithms
lsqnonneg
quadprog
'trust-region-reflective'
and 'active-set'
algorithms
The following table lists some common headings of iterative display.
Heading | Information Displayed |
---|---|
| Current objective function value. For |
| First-order optimality measure (see First-Order Optimality Measure). |
| Number of function evaluations; see Iterations and Function Counts. |
| Iteration number; see Iterations and Function Counts. |
| Size of the current step (size is the Euclidean norm, or 2-norm). |
The following sections describe headings of iterative display whose meaning is specific to the optimization function you are using:
The following table describes the headings specific to fgoalattain
, fmincon
, fminimax
, and fseminf
.
fgoalattain, fmincon, fminimax, or fseminf Heading | Information Displayed |
---|---|
| Value of the attainment factor for |
| Number of conjugate gradient iterations taken in the current iteration (see Preconditioned Conjugate Gradient Method). |
| Gradient of the objective function along the search direction. |
| Maximum constraint violation, where satisfied inequality
constraints count as |
| Multiplicative factor that scales the search direction (see Equation 6-45). |
| Maximum violation among all constraints, both internally constructed and user-provided; can be negative when no constraint is binding. |
| Objective function value of the nonlinear programming
reformulation of the minimax problem for |
| Hessian update procedures:
For more information, see Updating the Hessian Matrix. QP subproblem procedures:
|
| Multiplicative factor that scales the search direction (see Equation 6-45). |
| Current trust-region radius. |
The following table describes the headings specific to fminbnd
and fzero
.
fminbnd or fzero Heading | Information Displayed |
---|---|
| Procedures for
Procedures for
|
| Current point for the algorithm |
The following table describes the headings specific to fminsearch
.
fminsearch Heading | Information Displayed |
---|---|
| Minimum function value in the current simplex. |
| Simplex procedure at the current iteration. Procedures include:
For details, see fminsearch Algorithm. |
The following table describes the headings specific to fminunc
.
fminunc Heading | Information Displayed |
---|---|
| Number of conjugate gradient iterations taken in the current iteration (see Preconditioned Conjugate Gradient Method) |
| Multiplicative factor that scales the search direction (see Equation 6-11) |
The fminunc
'quasi-newton'
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.
The following table describes the headings specific to fsolve
.
fsolve Heading | Information Displayed |
---|---|
| Gradient of the function along the search direction |
| λk value defined in Levenberg-Marquardt Method |
| Residual (sum of squares) of the function |
| Current trust-region radius (change in the norm of the trust-region radius) |
The following table describes the headings specific to intlinprog
.
linprog Heading | Information Displayed |
---|---|
| Cumulative number of explored nodes. |
| Time in seconds since |
| Number of integer feasible points found. |
| Objective function value of the best integer feasible point found. This is an upper bound for the final objective function value. |
| where
|
The following table describes the headings specific to linprog
.
linprog Heading | Information Displayed |
---|---|
| Dual infeasibility. |
| Duality gap (see Interior-Point-Legacy Linear Programming) between the primal objective
and the dual objective. |
| Current objective value. |
| Primal infeasibility. |
| Total relative error, described at the end of Main Algorithm. |
The following table describes the headings specific to lsqnonlin
and lsqcurvefit
.
lsqnonlin or lsqcurvefit Heading | Information Displayed |
---|---|
| Gradient of the function along the search direction |
| λk value defined in Levenberg-Marquardt Method |
| Value of the squared 2-norm of the residual at |
| Residual vector of the function |
The following table describes the headings specific to quadprog
.
quadprog Heading | Information Displayed |
---|---|
| Maximum constraint violation, where satisfied inequality
constraints count as |
| Total relative error is a measure of infeasibility, as defined in Total Relative Error |