主要内容

黑森输出

fminuncfmincon求解器返回一个近似的Hessian作为可选输出。

[x, fval exitflag、输出校友,黑森]= fminunc(有趣,x0)%或[x, fval exitflag、输出λ,校友,黑森]= fmincon (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon)

介绍返回的Hessian的含义,以及预期的准确性。

还可以指定求解器用作输入Hessian参数的Hessian类型。为fminunc,请参阅包括梯度和Hessians.为fmincon,请参阅Hessian作为输入

fminunc黑森

无约束问题的Hessian矩阵是目标函数的二阶导数矩阵f

黑森 H j 2 f x x j

  • 拟牛顿算法- - - - - -fminunc返回解处的估计Hessian矩阵。fminunc通过有限差分计算估计,因此估计一般是准确的。

  • 信赖域算法- - - - - -fminunc在倒数第二次迭代时返回一个Hessian矩阵。

    • 如果你在目标函数中提供一个Hessian,并设置HessianFcn选项“目标”fminunc返回这个黑森。

    • 如果你提供HessianMultiplyFcn函数,fminunc返回Hinfo矩阵的HessianMultiplyFcn函数。有关更多信息,请参见HessianMultiplyFcn信赖域部分的fminunc选项表格

    • 否则,fminunc返回渐变上的稀疏有限差分算法的近似值。

    这个Hessian对于倒数第二次迭代是准确的。然而,倒数第二个迭代可能不会接近最后一个点。

    信赖域算法在倒数第二次迭代时返回Hessian以提高效率。fminunc在内部使用Hessian计算下一步。当fminunc达到停止条件时,它不需要计算下一步,因此,不计算Hessian。

fmincon黑森

约束问题的Hessian是拉格朗日的Hessian。对于一个目标函数f,非线性不等式约束向量c,非线性等式约束向量量表信,拉格朗日是

l f + λ c + j λ j c e j

λ拉格朗日乘数法;看到一阶最优性测量拉格朗日乘子的结构.拉格朗日的Hessian是

H 2 l 2 f + λ 2 c + j λ j 2 c e j

fmincon有几个算法,有几个Hessians选项,如fmincon信任区域反射算法fmincon活动集算法,fmincon内点算法

  • 有效集sqp,或sqp-legacy算法- - - - - -fmincon返回它在倒数第二次迭代时计算的Hessian近似值。fmincon在Hessian矩阵的迭代过程中,计算其解处的拟牛顿近似。在一般情况下,这种近似并不是在每个分量上都与真Hessian相匹配,而只是在某些子空间上。于是,黑森人回来了fmincon可以是不准确的。有关的详细资料有效集计算,认为SQP实现

  • trust-region-reflective算法- - - - - -fmincon返回它在倒数第二次迭代时计算的Hessian。

    • 如果你在目标函数中提供一个Hessian,并设置HessianFcn选项“目标”fmincon返回这个黑森。

    • 如果你提供HessianMultiplyFcn函数,fmincon返回Hinfo矩阵的HessianMultiplyFcn函数。有关更多信息,请参见Trust-Region-Reflective算法fmincon选项

    • 否则,fmincon返回渐变上的稀疏有限差分算法的近似值。

    这个Hessian对于倒数第二次迭代是准确的。然而,倒数第二个迭代可能不会接近最后一个点。

    trust-region-reflective算法在倒数第二次迭代时返回Hessian以提高效率。fmincon在内部使用Hessian计算下一步。当fmincon达到停止条件时,它不需要计算下一步,因此,不计算Hessian。

  • 内点算法

    • 如果HessianApproximation选择是“lbfgs”有限差分的,或者如果你提供HessianMultiplyFcn函数,fmincon返回[]海赛。

    • 如果HessianApproximation选择是“蓄热”(默认),fmincon返回在最后一点的Hessian近似的准牛顿近似。这个黑森可能是不准确的,就像有效集sqp算法的麻绳。

    • 如果HessianFcnOption是一个函数句柄,fmincon在最后一点返回这个函数作为Hessian。

相关的话题