主要内容

迭代和功能计数

一般情况下,最优化工具箱™求解器迭代以找到最优解。求解器从一个初始值开始x0,执行一些中间计算,最终导致一个新的点x1,然后重复这个过程,求连续的近似x2x3., ...局部最小值。处理在若干次迭代之后停止k

属性可以限制迭代次数或函数计数MaxIterationsMaxFunctionEvaluations用于求解器使用的选项optimoptions.或者,如果您想让求解器在达到这些极限之一后继续运行,则可以提高这些选项的值。看到设置和更改选项

在任何步骤中,中间计算都可以包括对目标函数和当前迭代点附近的任何约束的求值x.例如,求解器可能通过有限差分估计梯度。在每个邻近点,函数计数(F-count)增加一。这个数字典型的三维空间迭代表明,在前向大小为delta的有限差分的三维空间中,一次迭代通常对应于函数计数增加4次。在图中,e表示的单位向量坐标方向。

典型的三维空间迭代

  • 如果问题没有约束条件,则F-count报告目标函数评估的总数。

  • 如果问题有约束条件,则F-count只报告发生函数求值的点数,而不是约束函数求值的总数。所以,如果问题有很多约束条件F-count可以明显少于函数求值的总数。

有时一个求解器尝试了一个步骤,但拒绝了这个尝试。的信赖域trust-region-reflective,trust-region-dogleg算法将这些失败的尝试计数为迭代,并在迭代显示中报告(未更改的)结果。的内点有效集,levenberg-marquardt算法不会将失败的尝试计数为迭代,也不会在迭代显示中报告尝试。所有尝试的步骤都会增加F-count,不管算法是什么。

F-count是许多求解器迭代显示中的一个标题。例如,请参见解释结果

F-count在输出结构中显示为output.funcCount,使您能够以编程方式访问评估计数。有关更多信息,请参见输出结构

另请参阅

相关的话题