主要内容

迭代和函数计数

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

方法可以限制迭代次数或函数计数MaxIterationsMaxFunctionEvaluations用于求解器的选项optimoptions.或者,如果您希望求解器在达到其中一个极限后继续,则提高这些选项的值。看到设置和更改选项

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

典型的三维空间迭代

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

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

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

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

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

另请参阅

相关的话题

Baidu
map