主要内容

迭代和函数计数

通常,优化工具箱™求解器迭代以找到最优方案。求解器从一个初始值开始x0,执行一些最终指向新点的中间计算x1,然后重复此过程,求逐次逼近x2x3., ...局部最小值的。在一些迭代之后,处理停止k

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

在任何步骤中,中间计算都可以涉及到评估目标函数和当前迭代点附近的任何约束x.例如,求解器可以用有限差分估计梯度。在每一个附近的点,函数计数(F-count)增加1。这个数字典型的三维空间迭代结果表明,在具有正向有限差分大小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,使您能够以编程方式访问计算计数。有关更多信息,请参见输出结构

另请参阅

相关的话题