通常,优化工具箱™求解器会迭代以找到最优解。求解器从一个初始值开始x0,执行一些中间计算,最终到达一个新的点x1,然后重复这一过程,以求得逐次逼近x2,x3.,……局部最小值。经过一定次数的迭代后,处理停止k。
属性,可以限制迭代次数或函数计数MaxIterations
或MaxFunctionEvaluations
用于求解器的选项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
,使您能够以编程方式访问计算计数。有关更多信息,请参见输出结构。