迭代输出
简介
迭代输出包含一系列的统计量,用来描述求解器在每次迭代中的计算。统计量取决于求解器和求解器算法。当您使用适当的选项运行求解器时,该表会出现在 MATLAB® 命令行窗口中。有关迭代的详细信息,请参阅迭代和函数计算次数。
通过使用 optimoptions 并将 Display 选项设置为 'iter' 或 'iter-detailed',获得迭代输出。例如:
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-05
4 12 -1 1 0
Local minimum found.
Optimization completed because the size of the gradient is less than
the value of the optimality tolerance.迭代输出适用于除下列求解器之外的所有求解器:
lsqlin'trust-region-reflective'算法lsqnonnegquadprog'trust-region-reflective'算法
常见标题
下表列出了迭代输出的一些常见项目标题。
函数特定项目标题
本节中的表介绍各优化函数的迭代输出中的特定项目标题。
fgoalattain、fmincon、fminimax 和 fseminf
下表描述了特定于 fgoalattain、fmincon、fminimax 和 fseminf 的输出标题。
| fgoalattain、fmincon、fminimax 或 fseminf 的输出标题 | 显示的信息 |
|---|---|
|
|
| 当前迭代中采用的共轭梯度迭代次数(请参阅预条件共轭梯度法) |
| 目标函数沿搜索方向的梯度 |
| 最大约束违反值,其中满足条件的不等式约束计为 |
| 缩放搜索方向的乘法因子(请参阅公式 29) |
| 内部构造的和用户提供的所有约束的最大违反度;当没有绑定约束时,可以为负值 |
|
|
| 黑塞矩阵更新过程:
有关详细信息,请参阅更新黑塞矩阵。 QP 子问题过程:
|
| 缩放搜索方向的乘法因子(请参阅公式 29) |
| 当前信赖域半径 |
fminbnd 和 fzero
| fminbnd 或 fzero 标题 | 显示的信息 |
|---|---|
|
|
| 算法的当前点 |
fminsearch
下表描述了特定于 fminsearch 的标题。
| fminsearch 标题 | 显示的信息 |
|---|---|
| 当前迭代中的单纯形过程。过程包括:
有关详细信息,请参阅fminsearch 算法。 |
fminunc
下表描述了特定于 fminunc 的标题。
| fminunc 的输出标题 | 显示的信息 |
|---|---|
| 当前迭代中采用的共轭梯度迭代次数(请参阅预条件共轭梯度法) |
| 缩放搜索方向的乘法因子(请参阅公式 11) |
fminunc 'quasi-newton' 算法可以在 First-order optimality 列的右侧发出 skipped update 消息。此消息表示 fminunc 没有更新其黑塞矩阵估计值,因为生成的矩阵不是正定矩阵。该消息通常指示目标函数在当前点处不平滑。
fsolve
下表描述了特定于 fsolve 的标题。
| fsolve 的输出标题 | 显示的信息 |
|---|---|
| 当前目标函数值,目标函数向量的欧几里德范数的平方 |
| 莱文贝格-马夸特方法中定义的 λk 值 |
| 当前信赖域半径(信赖域半径的范数变化) |
intlinprog
下表描述了特定于 intlinprog 的标题。
| intlinprog 的输出标题 | 显示的信息 |
|---|---|
| 探查的节点的累积数 |
| 自 |
| 找到的整数可行点的数量 |
| 找到的最佳整数可行点的目标函数值。此值是最终目标函数值的上界 |
| 其中
注意 虽然您将 |
linprog
下表描述了特定于 linprog 的标题。每个算法都有自己的迭代输出。
| linprog 的输出标题 | 显示的信息 |
|---|---|
| 原始不可行性,约束违反值的一种测度,在解处应为零。 有关定义,请参阅预测-校正 ( |
| 对偶不可行性,拉格朗日导数的一种测度,在解处应为零。 有关拉格朗日函数的定义,请参阅预测-校正。有关对偶不可行性的定义,请参阅预测-校正 ( |
| 上界可行性。{x} 指那些具有有限上界的 x。此值是内点传统线性规划中的 ru 残差。 |
| 原始目标和对偶目标之间的对偶间隙(请参阅内点传统线性规划)。仅当问题具有有限上界时, |
| 总相对误差,在主算法的末尾有介绍 |
| 拉格朗日乘数乘以与边界的距离的一种测度,在解处应为零。请参阅停止条件中的 rc 变量。 |
|
|
lsqlin
lsqlin 'interior-point' 迭代输出继承自 quadprog 迭代输出。线性最小二乘:内点或活动集中解释了这些函数之间的关系。有关迭代输出的详细信息,请参阅quadprog。迭代输出的唯一区别在于,lsqlin 显示的是标题为 Resnorm 的列,而不是 quadprog 标题 f(x)。
lsqnonlin 和 lsqcurvefit
下表描述了特定于 lsqnonlin 和 lsqcurvefit 的标题。
| lsqnonlin 或 lsqcurvefit 的输出标题 | 显示的信息 |
|---|---|
| 莱文贝格-马夸特方法中定义的 λk 值 |
| 在 |
| 最大约束违反值,其中满足条件的不等式约束计为 |
quadprog
下表描述了特定于 quadprog 的标题。
| quadprog 的输出标题 | 显示的信息 |
|---|---|
| 原始不可行性,定义为 |
| 对偶不可行性,定义为 |
| 非活动不等式的拉格朗日乘数的最大绝对值的一种测度,在解处应为零。在不可行性检测中此量为 g。 |
| 最大约束违反值,其中满足条件的不等式约束计为 |