实变量函数无约束优化的梯度分析

松弛序列:称序列 ${ak}{k=0}^{\infty},a_{k+1}

我们通过迭代求解优化问题的过程中,需要产生一个松弛序列

单变量函数的平稳点和极值点

  • 全局极小点
  • 严格全局极小点
  • 开邻域
  • 闭邻域
  • 极值点
  • 平稳点
  • 鞍点

无约束最小化问题的梯度分析

给定一个实值目标函数

对于超定矩阵方程Az=b定义误差平方和

J(z)=||Azb||bb=(Azb)H(Azb)Jz=zHAHAzzHAHbbHAz+bHbAHAzAHb=0z=(AHA)1AHb

曲率

标量pHHp则称为函数f沿着方向p

在无约束最小化问题中,我们常用共轭梯度向量的负方向zf(z)作为更新方向

zk=zk1μzf(z),μ>0

凸优化理论

最陡下降法(SDA)

xk=f(xk)xk+1=xkμkf(xk)

牛顿法

xk=(2f(xk))1f(xk)xk=xk1μk(2f(xk1))1f(xk1)H=2f(X)(2f(xk))1f(xk)=Δxk
  • 修正牛顿法2f(x)+EIΔx=f(x)

    梯度步长的选择μk,可以是固定,也可以是不断衰减,比如μk=hk+1

次梯度法

对于梯度部分不存在的函数,比如y=|x|,(x=0)

xk=xk1uxf(xk1)

f(x)的泰勒展开为

f(x+Δx)f(x)+(f(x))TΔx+(Δx)THΔx

我们的目的是找到一个次梯度向量g,使其满足

f(y)>=f(x)+gT(yx)

比如

f(x)=|x|gi={1xi>01xi<0[1,1]xi=0xk=xk1ug(xk1)=xk1u||g(xk1)||2g(xk1)

约束优化算法

Lagrangian乘子法

  • 优化目标minf(x)
  • 约束条件s.t.Ax=b我们可以定义代价函数L(x,λ)=f(x)+λT(Axb)对x,λ分别求偏导{Lx=0Lλ=Axb=0更新法则为{xk+1=argminL(x,λk)λk+1=λkμλL(xk,λk)

罚函数法

通过罚函数,将约束优化问题变成反映目标函数和约束标间的合成函数的无约束极小化

考虑约束优化问题

minf0(x)s.t.fi(x)>=0hj(x)=0

xF,F表示x的可行集

加性罚函数

L(x)=f0(x)+p(x){p(x)=0xFp(x)>0xF

乘性罚函数

L(x)=f0(x)p(x){p(x)=1xFp(x)>1xF

等式约束下罚函数定义

p(x)=||h(x)||22=i=1q|hi(x)|2

可以看出p(x)具有以下性质

p(x)={=0hi(x)=0,i=1,...,q>0hi(x)=0,i=1,...,q

对于满足等式约束条件的x无影响,对于违背约束条件的点给予惩罚

不等式约束

对于不等式约束

  • 外罚函数

    P(x)=im(max{0,fi(x)})r

    外罚函数对于在可行集外部的所有点进行处罚

  • 内罚函数

    p(x)=i=1m1fi(x)

    P(x)=i=1m1fi(x)log|fi(x)|P(x)=1fi(x)pP(x)=exp(1fi(x)r)

    这种罚函数相当于在可行集边界 bnd(F)上树立起一道围墙,对于企图从可行内集 int(F)穿越到可行集边界 bnd(F)的点 a进行阻挡,故称为内罚函数(interior penalty function),也称障碍函数(barrier function)。

混合罚函数

等式和不等式约束优化的混合罚函数法

混合外罚

minxf0(x)+ρ1(max{0,fi(x)})2+ρ2|hj(x)|2

混合内罚

minxf0(x)+ρ11fi(x)|log(fi(x)|+ρ2|hj(x)|2

增广拉格朗日乘子法

Lagrangian乘子法的主要缺点

  • 只有当约束优化问题具有局部凸结构时,对偶的无约束优化问题才是良好定义的,并且 Lagrangian乘子的更新λk+1=λk+akh(xk)才有意义。
  • Lagrangian目标函数的收敛比较费时,因为 Lagrangian乘子的更新是一种上升迭代(ascent iteration),只能适度地快速收敛。

罚函数法的不足

  • 收敛慢,大的惩罚参数容易引起转化后的无约束优化问题的病态,从而造成算法的数值不稳定性。

拉格朗日和罚函数的结合

等式约束优化Lagrangian乘子法

JP(x,λ)=f0(x)+λTh(x)+Pψ(h(x)){xk=xk1+ΔxμxL(x,λ)|xk1,λk1λk=λk1+ΔλμxL(x,λ)|xk1,λk1

混合约束优化Lagrangian乘子法

对于优化问题

minxf(x)s.t.Ax=b,Bx<=b

令非负向量s>=0,为松弛变量,使得Bx+s=h,将问题转化为等式约束

Lp(x,s,λ,v)=f(x)+λT(Axb)+VH(Bx+sh)+ρ(||Axb||22+||Bx+sh||22)