主要内容

公差和停止标准

优化的迭代次数取决于求解器的迭代次数停止条件.这些标准包括以下几点公差你可以设置。一般来说,容差是一个阈值,如果超过这个阈值,就会停止求解器的迭代。

使用框架和其他标准optimoptions在解释设置和更改选项

提示

一般设置公差,如OptimalityToleranceStepTolerance远远高于每股收益,通常在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在步骤期间,是目标函数的值的变化的下限。对于那些算法,如果|fx) -fx+1) |<FunctionTolerance,迭代结束。FunctionTolerance一般用作相对绑定,表示迭代结束时|fx) -fx+1) |<FunctionTolerance* (1 + |fx) |),或类似的相对测量方法。看到宽容的细节

    请注意

    不像其他的解决者,fminsearch在满足时停止这两个TolFun(功能公差)和TolX公差(步骤)。

  • OptimalityTolerance是一阶最优测度的容差。如果最优测度小于OptimalityTolerance,迭代结束。OptimalityTolerance也可以是一阶最优测度的相对界。看到宽容的细节.一阶最优测度定义为一阶最优测量

  • ConstraintTolerance是任意约束函数大小的上界。如果求解器返回一个点xcx) >ConstraintTolerance或者|量表信x) | >ConstraintTolerance,求解器报告约束是违反的xConstraintTolerance也可以是相对界限。看到宽容的细节

    请注意

    ConstraintTolerance操作与其他公差不同。如果ConstraintTolerance不满足(即,如果约束函数的大小超过ConstraintTolerance),求解器尝试继续,除非因为其他原因而停止。求解器不会仅仅因为ConstraintTolerance是满意的。

  • MaxIterations是求解器迭代次数的一个界。MaxFunctionEvaluations是函数求值次数的上限。迭代和函数计算将在迭代和功能计数

有另外两种公差适用于特定的求解器:TolPCGmaxpcgiter..这些与先决条件共轭梯度步骤有关。有关更多信息,请参见预条件共轭梯度法

有一些公差只适用于fmincon内部点算法。有关更多信息,请参见内点算法fmincon选项

有一些公差只适用于intlinprog.看到一些“整数”解不是整数金宝搏官方网站分支界限法

相关话题