主要内容gydF4y2Ba

一阶最优测度gydF4y2Ba

什么是一阶最优测度?gydF4y2Ba

一阶最优性是衡量一个点有多接近gydF4y2BaxgydF4y2Ba是最优的。大多数优化工具箱™求解器使用这种度量,尽管它对不同的算法有不同的定义。一阶最优性是必要条件,但不是充分条件。换句话说:gydF4y2Ba

  • 一阶最优性度量必须在最小值为零。gydF4y2Ba

  • 一阶最优性等于零的点不一定是最小值。gydF4y2Ba

有关一阶最优性的一般信息,请参阅Nocedal和WrightgydF4y2Ba[31]gydF4y2Ba.有关优化工具箱求解器的一阶最优性度量的详细信息,请参见gydF4y2Ba无约束最优gydF4y2Ba,gydF4y2Ba约束最优理论gydF4y2Ba,gydF4y2Ba求解形式的约束最优性gydF4y2Ba.gydF4y2Ba

与一阶最优性相关的停止规则gydF4y2Ba

的gydF4y2BaOptimalityTolerancegydF4y2Ba公差与一阶最优性度量有关。通常,如果一阶最优性度量小于gydF4y2BaOptimalityTolerancegydF4y2Ba,求解器迭代结束。gydF4y2Ba

一些求解器或算法使用gydF4y2Ba相对gydF4y2Ba一阶最优性作为停止准则。如果一阶最优性度量小于,求解器迭代结束gydF4y2BaμgydF4y2Ba次gydF4y2BaOptimalityTolerancegydF4y2Ba,在那里gydF4y2BaμgydF4y2Ba要么是:gydF4y2Ba

  • 目标函数的梯度的无穷范数(最大值)gydF4y2Bax0gydF4y2Ba

  • 解算器输入的无穷范数(最大值),例如gydF4y2BafgydF4y2Ba或gydF4y2BabgydF4y2Ba在gydF4y2BalinproggydF4y2Ba或gydF4y2BaHgydF4y2Ba在gydF4y2BaquadproggydF4y2Ba

相对度量试图解释问题的规模。将目标函数乘以一个非常大或非常小的数并不会改变相对停止准则的停止条件,但会改变一个未缩放的停止条件。gydF4y2Ba

解决与gydF4y2Ba增强的退出消息gydF4y2Ba状态,在停止条件细节,当他们使用相对一阶最优性。gydF4y2Ba

无约束最优gydF4y2Ba

对于一个光滑无约束问题,gydF4y2Ba

最小值gydF4y2Ba xgydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba

一阶最优性度量是的无穷大范数(意思是最大绝对值)gydF4y2Ba∇gydF4y2BafgydF4y2Ba(gydF4y2BaxgydF4y2Ba)gydF4y2Ba,即:gydF4y2Ba

一阶最优测度=gydF4y2Ba 马克斯gydF4y2Ba 我gydF4y2Ba |gydF4y2Ba (gydF4y2Ba ∇gydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba )gydF4y2Ba 我gydF4y2Ba |gydF4y2Ba =gydF4y2Ba 为gydF4y2Ba ∇gydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 为gydF4y2Ba ∞gydF4y2Ba .gydF4y2Ba

这种最优性的衡量是基于平滑函数达到最小值的熟悉条件:它的梯度必须为零。对于无约束问题,当一阶最优测度接近于零时,目标函数的梯度接近于零,因此目标函数可能接近于最小值。如果一阶最优测度不小,则目标函数不最小。gydF4y2Ba

约束最优理论gydF4y2Ba

本节总结了约束问题的一阶最优测度定义背后的理论。在“优化工具箱”函数中使用的定义gydF4y2Ba求解形式的约束最优性gydF4y2Ba.gydF4y2Ba

对于光滑约束问题,设gydF4y2BaggydF4y2Ba而且gydF4y2BahgydF4y2Ba是向量函数,分别表示所有不等式约束和等式约束(意味着约束、线性和非线性约束):gydF4y2Ba

最小值gydF4y2Ba xgydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 受gydF4y2Ba ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba hgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0.gydF4y2Ba

在这种情况下,一阶最优性的意义比无约束问题更为复杂。定义是基于gydF4y2BaKarush-Kuhn-Tucker (KKT)条件。KKT条件类似于梯度必须最小为零的条件,修改以考虑约束条件。不同之处在于KKT条件适用于有约束的问题。gydF4y2Ba

KKT条件使用辅助gydF4y2Ba拉格朗日函数:gydF4y2Ba

lgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba λgydF4y2Ba )gydF4y2Ba =gydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba λgydF4y2Ba ggydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ggydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba λgydF4y2Ba hgydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba hgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba .gydF4y2Ba (1)gydF4y2Ba
向量gydF4y2BaλgydF4y2Ba的级联gydF4y2BaλgydF4y2BaggydF4y2Ba而且gydF4y2BaλgydF4y2BahgydF4y2Ba,为拉格朗日乘子向量。它的长度是约束的总数。gydF4y2Ba

KKT条件为:gydF4y2Ba

∇gydF4y2Ba xgydF4y2Ba lgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba λgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba (2)gydF4y2Ba
λgydF4y2Ba ggydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ggydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ∀gydF4y2Ba 我gydF4y2Ba ,gydF4y2Ba (3)gydF4y2Ba
{gydF4y2Ba ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba hgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba λgydF4y2Ba ggydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ≥gydF4y2Ba 0.gydF4y2Ba (4)gydF4y2Ba
求解器不使用中的三个表达式gydF4y2Ba方程4gydF4y2Ba在计算最优性测度时。gydF4y2Ba

最优性度量与gydF4y2Ba方程2gydF4y2Ba是gydF4y2Ba

为gydF4y2Ba ∇gydF4y2Ba xgydF4y2Ba lgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba λgydF4y2Ba )gydF4y2Ba 为gydF4y2Ba =gydF4y2Ba 为gydF4y2Ba ∇gydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba λgydF4y2Ba ggydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ∇gydF4y2Ba ggydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba λgydF4y2Ba hgydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ∇gydF4y2Ba hgydF4y2Ba hgydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 为gydF4y2Ba .gydF4y2Ba (5)gydF4y2Ba
最优性度量与gydF4y2Ba方程3gydF4y2Ba是gydF4y2Ba
为gydF4y2Ba λgydF4y2Ba ggydF4y2Ba ggydF4y2Ba →gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 为gydF4y2Ba ,gydF4y2Ba (6)gydF4y2Ba
规范在哪里gydF4y2Ba方程6gydF4y2Ba表示向量的无穷范数(最大值)gydF4y2Ba λgydF4y2Ba ggydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ggydF4y2Ba 我gydF4y2Ba →gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

组合最优性度量是中计算值的最大值gydF4y2Ba方程5gydF4y2Ba而且gydF4y2Ba方程6gydF4y2Ba.接受非线性约束函数的解算器报告约束违反gydF4y2BaggydF4y2Ba(gydF4y2BaxgydF4y2Ba> 0gydF4y2Ba或gydF4y2Ba|gydF4y2BahgydF4y2Ba(gydF4y2BaxgydF4y2Ba| > 0gydF4y2Ba作为gydF4y2BaConstraintTolerancegydF4y2Ba违规。看到gydF4y2Ba公差和停止标准gydF4y2Ba.gydF4y2Ba

求解形式的约束最优性gydF4y2Ba

大多数约束工具箱求解器将一阶最优性度量的计算分离为边界、线性函数和非线性函数。测度为以下两个范数的最大值,对应于gydF4y2Ba方程5gydF4y2Ba而且gydF4y2Ba方程6gydF4y2Ba:gydF4y2Ba

为gydF4y2Ba ∇gydF4y2Ba xgydF4y2Ba lgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba λgydF4y2Ba )gydF4y2Ba 为gydF4y2Ba =gydF4y2Ba 为gydF4y2Ba ∇gydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba TgydF4y2Ba λgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba egydF4y2Ba 问gydF4y2Ba lgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba egydF4y2Ba 问gydF4y2Ba TgydF4y2Ba λgydF4y2Ba egydF4y2Ba 问gydF4y2Ba lgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba λgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba egydF4y2Ba 问gydF4y2Ba ngydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ∇gydF4y2Ba cgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba λgydF4y2Ba egydF4y2Ba 问gydF4y2Ba ngydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba ∇gydF4y2Ba cgydF4y2Ba egydF4y2Ba 问gydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 为gydF4y2Ba ,gydF4y2Ba (7)gydF4y2Ba
为gydF4y2Ba |gydF4y2Ba lgydF4y2Ba 我gydF4y2Ba −gydF4y2Ba xgydF4y2Ba 我gydF4y2Ba |gydF4y2Ba λgydF4y2Ba lgydF4y2Ba ogydF4y2Ba wgydF4y2Ba egydF4y2Ba rgydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba →gydF4y2Ba ,gydF4y2Ba |gydF4y2Ba xgydF4y2Ba 我gydF4y2Ba −gydF4y2Ba ugydF4y2Ba 我gydF4y2Ba |gydF4y2Ba λgydF4y2Ba ugydF4y2Ba pgydF4y2Ba pgydF4y2Ba egydF4y2Ba rgydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba →gydF4y2Ba ,gydF4y2Ba |gydF4y2Ba (gydF4y2Ba 一个gydF4y2Ba xgydF4y2Ba −gydF4y2Ba bgydF4y2Ba )gydF4y2Ba 我gydF4y2Ba |gydF4y2Ba λgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba egydF4y2Ba 问gydF4y2Ba lgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba →gydF4y2Ba ,gydF4y2Ba |gydF4y2Ba cgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba |gydF4y2Ba λgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba egydF4y2Ba 问gydF4y2Ba ngydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba →gydF4y2Ba 为gydF4y2Ba ,gydF4y2Ba (8)gydF4y2Ba

向量的模在哪里gydF4y2Ba方程7gydF4y2Ba而且gydF4y2Ba方程8gydF4y2Ba是无穷范数(最大值)。拉格朗日乘子上的下标对应于求解拉格朗日乘子结构。看到gydF4y2Ba拉格朗日乘数结构gydF4y2Ba.求和gydF4y2Ba方程7gydF4y2Ba覆盖所有约束的范围。如果边界是±gydF4y2Ba正gydF4y2Ba这一项不受约束,所以它不是和的一部分。gydF4y2Ba

仅线性等式gydF4y2Ba

对于一些只有线性方程的大范围问题,一阶最优测度是方程的无穷范数gydF4y2Ba预计gydF4y2Ba梯度。换句话说,一阶最优性测度是投影到零空间上的梯度的大小gydF4y2BaAeqgydF4y2Ba.gydF4y2Ba

有界最小二乘和信赖区反射求解器gydF4y2Ba

对于最小二乘求解器和信赖域反射算法,在只有边界的问题中,一阶最优测度是最大值gydF4y2Ba我gydF4y2Ba的gydF4y2Ba|gydF4y2BavgydF4y2Ba我gydF4y2Ba*gydF4y2BaggydF4y2Ba我gydF4y2Ba|gydF4y2Ba.在这里gydF4y2BaggydF4y2Ba我gydF4y2Ba是gydF4y2Ba我gydF4y2Ba梯度的第Th分量,gydF4y2BaxgydF4y2Ba是当前点,和gydF4y2Ba

vgydF4y2Ba 我gydF4y2Ba =gydF4y2Ba {gydF4y2Ba |gydF4y2Ba xgydF4y2Ba 我gydF4y2Ba −gydF4y2Ba bgydF4y2Ba 我gydF4y2Ba |gydF4y2Ba 如果负梯度指向边界gydF4y2Ba bgydF4y2Ba 我gydF4y2Ba 1gydF4y2Ba 否则gydF4y2Ba .gydF4y2Ba

如果gydF4y2BaxgydF4y2Ba我gydF4y2Ba在一个边界上,gydF4y2BavgydF4y2Ba我gydF4y2Ba是零。如果gydF4y2BaxgydF4y2Ba我gydF4y2Ba不是在边界处,而是在最小值点处的梯度gydF4y2BaggydF4y2Ba我gydF4y2Ba应该是零。因此,一阶最优性度量在最小点应该为零。gydF4y2Ba

相关的话题gydF4y2Ba