优化的迭代次数取决于求解器的迭代次数停止条件.这些标准包括以下几点公差你可以设置。一般来说,容差是一个阈值,如果超过这个阈值,就会停止求解器的迭代。
使用框架和其他标准optimoptions
在解释设置和更改选项.
提示
一般设置公差,如OptimalityTolerance
和StepTolerance
远远高于每股收益
,通常在1 e-14
.设置小公差并不总是导致精确的结果。相反,当求解器收敛时,它可能无法识别,并可能继续无意义的迭代。公差值小于每股收益
有效地禁用了停止条件。本技巧不适用于Fzero.
,使用默认值每股收益
为了TolX
宽容。
optimoptions
显示公差。例如,
选择= optimoptions (“fmincon”);[options.OptimalityTolerance, options.FunctionTolerance options.StepTolerance]
Ans = 1.0e-06 * 1.0000 1.0000 0.0001
你也可以在求解函数参考页的选项部分找到默认公差。
StepTolerance
一个步骤大小的下限是否意味着标准(x我- - - - - -x我+1).如果求解器试图采取的步骤小于StepTolerance
,迭代结束。StepTolerance
一般用作相对绑定,表示迭代结束时| (x我- - - - - -x我+1) |<StepTolerance
* (1 + |x我|),或类似的相对测量方法。看到宽容的细节.
对一些算法,FunctionTolerance
在步骤期间,是目标函数的值的变化的下限。对于那些算法,如果|f(x我) -f(x我+1) |<FunctionTolerance
,迭代结束。FunctionTolerance
一般用作相对绑定,表示迭代结束时|f(x我) -f(x我+1) |<FunctionTolerance
* (1 + |f(x我) |),或类似的相对测量方法。看到宽容的细节.
请注意
不像其他的解决者,fminsearch
在满足时停止这两个TolFun
(功能公差)和TolX
公差(步骤)。
OptimalityTolerance
是一阶最优测度的容差。如果最优测度小于OptimalityTolerance
,迭代结束。OptimalityTolerance
也可以是一阶最优测度的相对界。看到宽容的细节.一阶最优测度定义为一阶最优测量.
ConstraintTolerance
是任意约束函数大小的上界。如果求解器返回一个点x与c(x) >ConstraintTolerance
或者|量表信(x) | >ConstraintTolerance
,求解器报告约束是违反的x.ConstraintTolerance
也可以是相对界限。看到宽容的细节.
请注意
ConstraintTolerance
操作与其他公差不同。如果ConstraintTolerance
不满足(即,如果约束函数的大小超过ConstraintTolerance
),求解器尝试继续,除非因为其他原因而停止。求解器不会仅仅因为ConstraintTolerance
是满意的。
MaxIterations
是求解器迭代次数的一个界。MaxFunctionEvaluations
是函数求值次数的上限。迭代和函数计算将在迭代和功能计数.
有另外两种公差适用于特定的求解器:TolPCG
和maxpcgiter.
.这些与先决条件共轭梯度步骤有关。有关更多信息,请参见预条件共轭梯度法.
有一些公差只适用于fmincon
内部点算法。有关更多信息,请参见内点算法在fmincon
选项
.
有一些公差只适用于intlinprog
.看到一些“整数”解不是整数金宝搏官方网站和分支界限法.