凸优化 [4]:有约束转为无约束——Lagrange 乘子理论与 Lagrange 函数

凸优化 [4]:有约束转为无约束——Lagrange 乘子理论

本篇主要目的: 解决含有等式、不等式约束的优化问题。

主要方法: 将目标函数进行转换,将原问题转换为无约束最优化问题。

证明部分: 见《凸优化》或《非线性规划》,这里不抄一遍了。

等式约束条件下的最优解

最优化以下问题:

min ⁡ f ( x ) subject to h ( x ) = [ h 1 ( x ) ⋮ h m ( x ) ] = 0 \begin{aligned} \min & && f(x)\\ \text{subject to} & && h(x) =\left[\begin{matrix}h_1(x)\\\vdots\\h_m(x)\end{matrix}\right]= 0 \end{aligned} minsubject tof(x)h(x)=h1(x)hm(x)=0

其中, h ( x ) h(x) h(x) 连续可导。

x ∗ x^* x 为最优解的必要条件为:存在正向量 λ \lambda λ ,使得:

∇ f ( x ∗ ) + ∑ i λ i ∇ h i ( x ∗ ) = 0 \nabla f(x^*) + \sum_{i}\lambda_i\nabla h_i(x^*)=0 f(x)+iλihi(x)=0

理解形式:

  1. 目标函数的梯度 ∇ f ( x ∗ ) \nabla f(x^*) f(x) 属于约束函数的梯度 ∇ h ( x ) \nabla h(x) h(x) x ∗ x^* x 处长成的子空间:也即目标函数梯度可以由约束函数的梯度线性表出。
    ∇ f ( x ∗ ) = − ∑ i λ i ∇ h i ( x ∗ ) \nabla f(x^*) =- \sum_{i}\lambda_i\nabla h_i(x^*) f(x)=iλihi(x)

  2. 目标函数的 ∇ f ( x ∗ ) ⊥ V ( x ∗ ) \nabla f(x^*)\perp V(x^*) f(x)V(x) 其中 V ( x ∗ ) V(x^*) V(x) 为一阶可行变分子空间:
    V ( x ∗ ) = { Δ x ∣ ∇ h i ( x ∗ ) T Δ x = 0 } V(x^*)=\left\{\Delta x\right\vert \nabla h_i(x^*)^T\Delta x=0\} V(x)={Δxhi(x)TΔx=0}

进一步地,满足二阶导正定条件 ∀ d ∈ V ( x ∗ ) \forall d \in V(x^*) dV(x)
d T ( ∇ 2 f ( x ∗ ) + ∑ i λ i ∇ 2 h i ( x ∗ ) ) ) d ≥ 0 d^T\left(\nabla^2 f(x^*)+\sum_{i}\lambda_i \nabla^2 h_i(x^*))\right)d\ge 0 dT(2f(x)+iλi2hi(x)))d0

等式约束的拉格朗日函数

定义 L : R m + n ↦ R L:\R^{m+n}\mapsto\R L:Rm+nR
L ( x , λ ) = f ( x ) + ∑ i = 1 m λ i h i ( x ) L(x,\lambda)=f(x)+\sum_{i=1}^m \lambda_i h_i(x) L(x,λ)=f(x)+i=1mλihi(x)

则原问题的约束转化为如下条件:

{ ∂ L ( x ∗ , λ ∗ ) ∂ x ∗ = 0 ⇒ ∇ f ( x ) + ∑ λ i ∇ h i ( x ) = 0 ∂ L ( x ∗ , λ ∗ ) ∂ λ ∗ = 0 ⇒ h ( x ) = 0 y T ∂ 2 L ( x ∗ , λ ∗ ) ∂ x ∗ ∂ x ∗ y ≥ 0 , ∀ y ∈ V ( x ∗ ) \begin{cases} \begin{aligned} \frac {\partial L(x^*,\lambda^*)}{\partial x^*}&=0&&\Rightarrow\nabla f(x)+\sum\lambda_i\nabla h_i(x)=0\\ \frac {\partial L(x^*,\lambda^*)}{\partial \lambda^*}&=0&&\Rightarrow h(x)=0\\ y^T\frac{\partial^2 L(x^*,\lambda^*)}{\partial x^*\partial x^*}y&\ge 0&&,\forall y\in V(x^*) \end{aligned} \end{cases} xL(x,λ)λL(x,λ)yTxx2L(x,λ)y=0=00f(x)+λihi(x)=0h(x)=0,yV(x)

通过求解如上问题,可以得到原问题的局部最优解。(注:如果原问题是凸问题的话,不用考虑最有一个条件,因为凸函数的二阶导矩阵一定是正定的。)

其中,该解满足 ∃ γ > 0 , ϵ > 0 \exist \gamma>0,\epsilon>0 γ>0,ϵ>0 使得 ∀ x \forall x x 满足 h ( x ) = 0 h(x)=0 h(x)=0 ,且 ∥ x − x ∗ ∥ < 0 \|x-x^*\|<0 xx<0

f ( x ) ≥ f ( x ∗ ) + γ 2 ∥ x − x ∗ ∥ 2 f(x)\ge f(x^*)+\frac{\gamma}{2}\|x-x^*\|^2 f(x)f(x)+2γxx2

这个性质在之前 凸优化 [3]:无约束最优化——一阶、二阶条件 这篇文章中证明过。其中 γ ≤ λ m i n ( ∇ 2 f ( x ) ) \gamma\le \lambda_{min}(\nabla^2f(x)) γλmin(2f(x))

不等式约束问题

原始问题:
min ⁡ f ( x ) subject to { h ( x ) = 0 g 1 ( x ) ≤ 0 ⋮ g r ( x ) ≤ 0 ⇒ { h ( x ) = 0 g ( x ) ≤ 0 \begin{aligned}\min && &f(x)\\\text{subject to} && &\begin{cases}h(x)=0\\g_1(x)\le 0\\\vdots\\g_r(x)\le 0\end{cases}\Rightarrow \begin{cases}h(x)=0\\g(x)\le 0\end{cases}\end{aligned} minsubject tof(x)h(x)=0g1(x)0gr(x)0{h(x)=0g(x)0

引入一个新概念:积极约束、非积极约束。

A ( x ) = { j ∣ g j ( x ) = 0 } A(x)=\left\{j\vert g_j(x)=0\right\} A(x)={jgj(x)=0}

A ( x ) A(x) A(x) 表示 x x x 点处落在哪些不等式约束的边界上。

  1. 处理积极约束的时候,将积极约束看作等式约束,就化为上面提到的等式约束问题。
  2. 对于非积极约束,则这些约束对最优化问题没有起到约束作用,因此将这些的系数在方程中的惩罚项设为 0 即可。(也就是不考虑这部分)

Remark 1: 也即:只考虑积极约束,并将积极约束转换为等式约束,与求解等式约束相同的方法来求解积极约束。

Remark 2: 因为积极约束是有方向性的,定义域是在 R n \R^n Rn 的子空间下的一个凸集。因此在设计算法的时候,需要考虑方向性。(因为之前没有考虑到非积极约束的符号,设计算法的时候需要保证最优解一定在凸集的内部

你可能感兴趣的:(凸优化与非线性规划)