约束规划问题的罚函数解法

本文中我们考虑如下有约束的一般优化问题的求解方法:
min ⁡ f ( x ) s. t.  c i ( x ) = 0 , i ∈ E = { 1 , 2 , … , l } c i ( x ) ≤ 0 , i ∈ I = { l + 1 , l + 2 , … , l + m } x ∈ R n \begin{aligned} &\min f(x) \\ \text{s. t. } &c_{i}(x) = 0, i\in E=\{1,2,\dots, l\}\\ & c_{i}(x)\leq 0, i\in I = \{l+1, l+2,\dots,l+m\} \\ & x\in \mathbb{R}^{n} \end{aligned} s. t. minf(x)ci(x)=0,iE={1,2,,l}ci(x)0,iI={l+1,l+2,,l+m}xRn 其中,可行域 D D D 记为:
D = { x ∣ c i ( x ) = 0 , i ∈ E ; c i ( x ) ≤ 0 , i ∈ I ; x ∈ R n } D=\{x | c_{i}(x)=0, i\in E; c_{i}(x)\leq 0, i\in I; x\in\mathbb{R}^{n}\} D={xci(x)=0,iE;ci(x)0,iI;xRn}

求解约束优化问题要比求解无约束优化问题复杂困难得多。一般来说,求解约束优化问题的方法大致分两类:一类是此文中介绍的直接求解法,另一类是本文中即将介绍的罚函数法。

罚函数法是利用目标函数 f ( x ) f(x) f(x) 和约束函数 c ( x ) c(x) c(x),构造具有惩罚性质的函数 P ( x ) = P ˉ ( f ( x ) , c ( x ) ) P(x)=\bar{P}(f(x), c(x)) P(x)=Pˉ(f(x),c(x)) ,使得原约束优化问题转化为求 P ( x ) P(x) P(x) 最优解的无约束优化问题。以下讨论中,我们假设所有函数都是连续的

文章目录

  • 外罚函数法
    • 等式约束的优化问题
    • 不等式约束的优化问题
    • 一般约束的优化问题
  • 内罚函数法
  • 乘子法
    • 等式约束问题的乘子法
    • 只有不等式约束时的乘子法
    • 一般问题的乘子法求解

外罚函数法

外罚函数是一类不可行点的方法,其基本思想是:在求解约束优化的问题时,通过对不可行的迭代点施加惩罚,并随着迭代点的进展,增大惩罚量,迫使迭代点逐步向可行域靠近。

等式约束的优化问题

min ⁡ f ( x ) , x ∈ R n s. t.  c i ( x ) = 0 , i = 1 , 2 , … , l \begin{aligned} &\min f(x), x\in\mathbb{R}^{n} \\ \text{s. t. }& c_{i}(x)=0, i=1,2,\dots,l \end{aligned} s. t. minf(x),xRnci(x)=0,i=1,2,,l P ~ ( x ) = ∑ i = 1 l ∣ c i ( x ) ∣ β , β ≥ 1 \tilde{P}(x)=\sum_{i=1}^{l}|c_{i}(x)|^{\beta},\quad \beta\geq 1 P~(x)=i=1lci(x)β,β1定义如下形式的外罚函数 P ( x , σ ) = f ( x ) + σ P ~ ( x ) = f ( x ) + σ ∑ i = 1 l ∣ c i ( x ) ∣ β , β ≥ 1 \begin{aligned} P(x,\sigma) &= f(x)+\sigma \tilde{P}(x) \\ &= f(x)+\sigma\sum_{i=1}^{l}|c_{i}(x)|^{\beta},\quad \beta\geq 1 \end{aligned} P(x,σ)=f(x)+σP~(x)=f(x)+σi=1lci(x)β,β1其中 σ > 0 \sigma>0 σ>0 是一个参数。显然,当 x x x 为可行点时, P ~ ( x ) = 0 \tilde{P}(x)=0 P~(x)=0 ;当 x x x 不是可行点时 P ~ ( x ) > 0 \tilde{P}(x)>0 P~(x)>0 ,于是 P ( x , σ ) > f ( x ) P(x,\sigma)>f(x) P(x,σ)>f(x) 。特别的,随着 σ \sigma σ 增大, P ( x ) P(x) P(x) 也在增大。所以,要使 P ( x , σ ) P(x,\sigma) P(x,σ) 取到极小值, P ~ ( x ) \tilde{P}(x) P~(x) 应充分小,即 P ( x , σ ) P(x,\sigma) P(x,σ) 的极小点应充分逼近可行域。于是,上述等式约束优化问题转化为无约束优化的问题
min ⁡ x { P ( x , σ ) = f ( x ) + σ P ~ ( x ) } \min_{x}\{P(x,\sigma)=f(x)+\sigma\tilde{P}(x) \} xmin{P(x,σ)=f(x)+σP~(x)}通常取 β = 2 \beta=2 β=2

例 1:求解下列约束优化问题 min ⁡ { f ( x ) = x 1 + x 2 } s. t.  c ( x ) = x 2 − x 1 2 = 0 \begin{aligned}\min\{f(x)=x_{1}+x_{2}\}\\\text{s. t. } c(x)=x_{2}-x_{1}^{2} =0 \end{aligned} min{f(x)=x1+x2}s. t. c(x)=x2x12=0解:构造外罚函数 P ( x , σ ) = x 1 + x 2 + σ ( x 2 − x 1 2 ) 2 P(x,\sigma)=x_{1}+x_{2}+\sigma(x_{2}-x_{1}^{2})^{2} P(x,σ)=x1+x2+σ(x2x12)2利用解析法求解 ∂ P ∂ x 1 = 1 − 4 σ x 1 ( x 2 − x 1 2 ) , ∂ P ∂ x 2 = 1 + 2 σ ( x 2 − x 1 2 ) \frac{\partial P}{\partial x_{1}}=1-4\sigma x_{1}(x_{2}-x_{1}^{2}), \frac{\partial P}{\partial x_{2}}=1+2\sigma(x_{2}-x_{1}^{2}) x1P=14σx1(x2x12),x2P=1+2σ(x2x12) ∇ x P ( x , σ ) = 0 \nabla_{x}P(x,\sigma)=0 xP(x,σ)=0得到 x 1 ( σ ) = − 1 2 , x 2 ( σ ) = 1 4 − 1 2 σ x_{1}(\sigma)=-\frac{1}{2}, x_{2}(\sigma)=\frac{1}{4}-\frac{1}{2\sigma} x1(σ)=21,x2(σ)=412σ1再令 σ → + ∞ \sigma\to+\infty σ+ x ( σ ) = ( − 1 2 , 1 4 ) T = x ∗ P ( x ( σ ) , σ ) = − 1 4 = f ( x ∗ ) \begin{aligned}x(\sigma)=\left(-\frac{1}{2}, \frac{1}{4} \right)^{T}=x^{*} \\ P(x(\sigma), \sigma)=-\frac{1}{4}=f(x^{*})\end{aligned} x(σ)=(21,41)T=xP(x(σ),σ)=41=f(x)

不等式约束的优化问题

我们考虑如下不等式约束的优化问题
min ⁡ f ( x ) , x ∈ R n s. t.  c i ( x ) ≤ 0 , i = 1 , 2 , … , l \begin{aligned} &\min f(x), x\in\mathbb{R}^{n} \\ \text{s. t. }& c_{i}(x)\leq 0, i=1,2,\dots,l \end{aligned} s. t. minf(x),xRnci(x)0,i=1,2,,l P ~ ( x ) = ∑ i = 1 l [ max ⁡ ( 0 , c i ( x ) ) ] α , α ≥ 1 \tilde{P}(x)=\sum_{i=1}^{l}[\max(0, c_{i}(x))]^{\alpha},\quad \alpha\geq 1 P~(x)=i=1l[max(0,ci(x))]α,α1定义如下形式的外罚函数
P ( x , σ ) = f ( x ) + σ ∑ i = 1 l [ max ⁡ ( 0 , c i ( x ) ) ] α α ≥ 1 P(x,\sigma)=f(x)+\sigma\sum_{i=1}^{l}[\max(0, c_{i}(x))]^{\alpha}\quad \alpha\geq 1 P(x,σ)=f(x)+σi=1l[max(0,ci(x))]αα1此时的外罚函数性质与上一节类似,通常取 α = 2 \alpha=2 α=2

一般约束的优化问题

考虑一般的约束优化问题
min ⁡ f ( x ) s. t.  c i ( x ) = 0 , i ∈ E = { 1 , 2 , … , l } c i ( x ) ≤ 0 , i ∈ I = { L + 1 , l + 2 , … , l + m } x ∈ R n \begin{aligned} &\min f(x) \\ \text{s. t. } &c_{i}(x) = 0, i\in E=\{1,2,\dots, l\}\\ & c_{i}(x)\leq 0, i\in I = \{L+1, l+2,\dots,l+m\} \\ & x\in \mathbb{R}^{n} \end{aligned} s. t. minf(x)ci(x)=0,iE={1,2,,l}ci(x)0,iI={L+1,l+2,,l+m}xRn P ~ ( x ) = ∑ i = 1 l ∣ c i ( x ) ∣ β + ∑ i = 1 l [ max ⁡ ( 0 , c i ( x ) ) ] α , α ≥ 1 , β ≥ 1 \tilde{P}(x)=\sum_{i=1}^{l}|c_{i}(x)|^{\beta}+\sum_{i=1}^{l}[\max(0, c_{i}(x))]^{\alpha},\quad \alpha\geq 1,\beta\geq 1 P~(x)=i=1lci(x)β+i=1l[max(0,ci(x))]α,α1,β1类似地,定义如下形式的外罚函数 P ( x , σ ) = f ( x ) + σ ∑ i = 1 l ∣ c i ( x ) ∣ β + ∑ i = 1 l [ max ⁡ ( 0 , c i ( x ) ) ] α , α ≥ 1 , β ≥ 1 P(x,\sigma)=f(x)+\sigma\sum_{i=1}^{l}|c_{i}(x)|^{\beta}+\sum_{i=1}^{l}[\max(0, c_{i}(x))]^{\alpha},\quad \alpha\geq 1,\beta\geq 1 P(x,σ)=f(x)+σi=1lci(x)β+i=1l[max(0,ci(x))]α,α1,β1上述罚函数性质与之前的讨论类似。通常 α = β = 2 \alpha=\beta =2 α=β=2。可见,外罚函数的最优解在 σ → + ∞ \sigma\to+\infty σ+的过程中一直在可行域外部取点,直到趋近最优解 x ∗ x^{*} x。所以之中方法为外罚函数法,简称外点法 P ( x , σ ) P(x,\sigma) P(x,σ) 为外罚函数,或叫增广目标函数, σ \sigma σ为惩罚因子, P ~ ( x ) \tilde{P}(x) P~(x)为惩罚项。

对于比较复杂的约束,通常采用迭代的方法:

  1. 给定初始点 x 0 x^{0} x0,设 ϵ > 0 , c > 1 \epsilon >0, c>1 ϵ>0,c>1 为给定实数,选择序列 { σ k } \{\sigma_{k}\} {σk},使得 σ k → + ∞ \sigma_{k}\to+\infty σk+,令 k = 1 k=1 k=1
  2. x k − 1 x^{k-1} xk1 为初始点,求解无约束优化问题 min ⁡ { P ( x , σ k ) = f ( x ) + σ k P ~ ( x ) } \min\{P(x,\sigma_{k})=f(x)+\sigma_{k}\tilde{P}(x) \} min{P(x,σk)=f(x)+σkP~(x)}得到最优解 x k x^{k} xk
  3. σ k P ~ ( x k ) < ϵ \sigma_{k}\tilde{P}(x^{k})<\epsilon σkP~(xk)<ϵ,则停止迭代, x k x^{k} xk 作为原问题的最优解;否则,令 σ k + 1 = c σ k \sigma_{k+1}=c\sigma_{k} σk+1=cσk k : = k + 1 k:=k+1 k:=k+1,转至步骤2。

对于外罚函数的算法收敛性与外罚函数的病态性质这里不作讨论。 使用外罚函数法时,选取 σ 1 \sigma_{1} σ1过大,或者 σ k \sigma_{k} σk增长过快可以使算法快速收敛,但很难精确地求解相应的无约束极小问题;反之,可以使求得 P ( x , σ k + 1 ) P(x,\sigma_{k+1}) P(x,σk+1)的极小点变得容易,但收敛太慢。通常取 σ k = 0.1 × 2 k − 1 \sigma_{k}=0.1\times 2^{k-1} σk=0.1×2k1

内罚函数法

在外罚函数法中,近似最优解一般只能近似地满足约束条件,对于某些实际问题这样的近似最优解释不可接受的。内罚函数法是一类保持严格可行性的方法。其基本思想是:严格要求迭代点在可行域内移动,当迭代点接近可行域边界时,有无穷大的障碍,迫使迭代点返回可行域的内部。

考虑不等式约束的优化问题,可行域内部记为: D 0 = { x ∈ R n ∣ c i ( x ) < 0 , i = 1 , 2 , … , l } D^{0}=\{x\in\mathbb{R}^{n} | c_{i}(x)<0, i=1,2,\dots,l\} D0={xRnci(x)<0,i=1,2,,l} B ( x ) = − ∑ i = 1 l ln ⁡ ( − c i ( x ) ) B(x)=-\sum_{i=1}^{l}\ln(-c_{i}(x)) B(x)=i=1lln(ci(x)) 定义如下形式的内罚函数:
P ( x , r ) = f ( x ) + r B ( x ) = f ( x ) − r ∑ i = 1 l ln ⁡ ( − c i ( x ) ) \begin{aligned}P(x,r) &=f(x)+rB(x)\\ &=f(x)-r\sum_{i=1}^{l}\ln(-c_{i}(x))\end{aligned} P(x,r)=f(x)+rB(x)=f(x)ri=1lln(ci(x))其中 r > 0 r>0 r>0 是一参数。

显然,当 x x x 在可行域内部, B ( x ) B(x) B(x)为一正数,当 r r r 趋近于 0 0 0 时, P ( x , r ) P(x,r) P(x,r) 的极小点就会趋近于优化问题的极小点。至少有一个 c i ( x ) c_{i}(x) ci(x) 趋于 0 0 0 时,会导致 B ( x ) B(x) B(x) 剧烈增大,迫使极小点落在可行域的内部。于是,原优化问题就转化为一下形式的优化问题:
min ⁡ P ( x , r ) , x ∈ R n s. t.  c i ( x ) < 0 , i = 1 , 2 , … , l \begin{aligned} &\min P(x,r), x\in\mathbb{R}^{n}\\ \text{s. t. }& c_{i}(x)<0, i=1,2,\dots, l \end{aligned} s. t. minP(x,r),xRnci(x)<0,i=1,2,,l 注意使用内罚函数时,可行域由 D D D 变成 D 0 D^{0} D0 。内罚函数法简称内点法, B ( x ) B(x) B(x) 为对数障碍函数。(这里不介绍倒数障碍函数,因其用得不多性质也不佳)

例 2:用内罚函数法求解约束问题 min ⁡ { f ( x ) = x 1 2 + 2 x 2 2 } s. t.  x 1 + x 2 − 1 ≥ 0 \begin{aligned} &\min\{f(x)=x_{1}^{2}+2x_{2}^{2}\} \\ \text{s. t. }& x_{1}+x_{2}-1\geq 0 \end{aligned} s. t. min{f(x)=x12+2x22}x1+x210 解:构造内罚函数
P ( x ( r ) , r ) = x 1 2 + 2 x 2 2 − r ln ⁡ ( x 1 + x 2 − 1 ) P(x(r),r)=x_{1}^{2}+2x_{2}^{2}-r\ln(x_{1}+x_{2}-1) P(x(r),r)=x12+2x22rln(x1+x21)利用解析法:
∇ x P ( x ( r ) , r ) = ( 2 x 1 − r x 1 + x 2 − 1 , 4 x 2 − r x 1 + x 2 − 1 ) T = 0 \nabla_{x}P(x(r),r)=\left( 2x_{1}-\frac{r}{x_{1}+x_{2}-1}, 4x_{2}-\frac{r}{x_{1}+x_{2}-1} \right)^{T}=0 xP(x(r),r)=(2x1x1+x21r,4x2x1+x21r)T=0
x ( r ) = ( 1 + 1 + 3 r 3 , 1 + 1 + 3 r 6 ) T x(r)=\left( \frac{1+\sqrt{1+3r}}{3}, \frac{1+\sqrt{1+3r}}{6} \right)^{T} x(r)=(31+1+3r ,61+1+3r )T r → 0 r\to 0 r0 ,则
x ( r ) → x ∗ = ( 2 3 , 1 3 ) T , P ( x ( r ) , r ) → f ( x ∗ ) = 2 3 x(r)\to x^{*}=\left(\frac{2}{3}, \frac{1}{3}\right)^{T}, P(x(r),r)\to f(x^{*})=\frac{2}{3} x(r)x=(32,31)T,P(x(r),r)f(x)=32

下面给出内罚函数法的算法,此处同样不讨论其收敛性和病态性质。

  1. 给定初始点 x 0 ∈ D 0 x^{0}\in D^{0} x0D0 ,设 ϵ > 0 , 0 < c < 1 \epsilon>0, 0<c<1 ϵ>0,0<c<1为给定实数,选择正值序列 { r k } \{r_{k}\} {rk} 使 r k → 0 r_{k}\to0 rk0,令 k = 1 k=1 k=1
  2. x k − 1 x^{k-1} xk1 为初始点,求解约束优化问题 min ⁡ { P ( x , r k ) = f ( x ) + r k B ( x ) } s. t.  x ∈ D 0 \begin{aligned} &\min \{P(x,r_{k})=f(x)+r_{k}B(x)\} \\ \text{s. t. }& x\in D^{0} \end{aligned} s. t. min{P(x,rk)=f(x)+rkB(x)}xD0得到最优解 x k x^{k} xk
  3. r k B ( x k ) < ϵ r_{k}B(x^{k})<\epsilon rkB(xk)<ϵ , 则停止迭代, x k x^{k} xk 作为原问题的最优解;否则,令 r k + 1 = c r k r_{k+1}=cr_{k} rk+1=crk , k : = k + 1 k:=k+1 k:=k+1,转至步骤2。

注意由于可行域发生了变化, D 0 D^{0} D0不能为空,因此内罚函数法不能处理等式约束问题

乘子法

内外罚函数法的主要缺点是当罚函数中的 σ → + ∞ \sigma\to+\infty σ+ 或者 r → 0 r\to0 r0 时,其Hesse矩阵出现病态,给无约束问题的数值求解带来很大困难。为克服这一缺点,本节介绍乘子法。乘子法的原理与二阶充分条件与Lagrange函数的性质有关,时间问题这里不做详细推导,仅给出定理。

等式约束问题的乘子法

定理
x ∗ x^{*} x, λ ∗ \lambda^{*} λ 满足约束问题
min ⁡ f ( x ) , x ∈ R n s. t.  c i ( x ) = 0 , i = 1 , 2 , … , l \begin{aligned} &\min f(x), x\in\mathbb{R}^{n} \\ \text{s. t. }& c_{i}(x)=0, i=1,2,\dots,l \end{aligned} s. t. minf(x),xRnci(x)=0,i=1,2,,l的二阶充分条件,则存在 σ ∗ > 0 \sigma^{*}>0 σ>0,使当 σ ≥ σ ∗ \sigma\geq \sigma^{*} σσ 时, x ∗ x^{*} x 是无约束问题
min ⁡ { ϕ ( x , λ ∗ , σ ) = f ( x ) + ∑ i = 1 l λ i ∗ c i ( x ) + σ 2 ∑ i = 1 l c i 2 ( x ) } \min\{\phi(x,\lambda^{*},\sigma) = f(x)+\sum_{i=1}^{l}\lambda_{i}^{*}c_{i}(x)+\frac{\sigma}{2}\sum_{i=1}^{l}c_{i}^{2}(x) \} min{ϕ(x,λ,σ)=f(x)+i=1lλici(x)+2σi=1lci2(x)}的严格局部解。反之,若 x k x^{k} xk ϕ ( x , λ ∗ , σ k ) \phi(x,\lambda^{*},\sigma_{k}) ϕ(x,λ,σk) 的极小点,并且 c ( x k ) = 0 c(x^{k})=0 c(xk)=0,则 x k x^{k} xk 是上述约束问题的最优解。

ϕ ( ⋅ ) \phi(\cdot) ϕ() 被称为增广Lagrange函数乘子罚函数 λ ∗ \lambda^{*} λ 实际上是最优解 x ∗ x^{*} x 处的Lagrange乘子。我们可以通过取一个适当大的 σ \sigma σ ,然后调整 λ \lambda λ 使它逐渐趋近于 λ ∗ \lambda^{*} λ ,就能得到约束问题的最优解,这是乘子法的基本思想。

下面给出具体迭代算法:

  1. 给定初始点 x 0 x^{0} x0 ,设初始乘子 λ 1 \lambda^{1} λ1 ,精度要求为 ϵ \epsilon ϵ ,放大系数为 c c c,选择序列 { σ k } \{\sigma_{k}\} {σk},使 σ k → + ∞ \sigma_{k}\to+\infty σk+,令 k = 1 k=1 k=1
  2. x k − 1 x^{k-1} xk1 为初始点,求解无约束优化问题 min ⁡ x ϕ ( x , λ k , σ k ) \min_{x}\phi(x,\lambda^{k},\sigma_{k}) xminϕ(x,λk,σk)得到最优解 x k x^{k} xk
  3. [ ∑ i = 1 l c i 2 ( x k ) ] 1 2 ≤ ϵ [\sum_{i=1}^{l}c_{i}^{2}(x_{k})]^{\frac{1}{2}}\leq \epsilon [i=1lci2(xk)]21ϵ,则停止迭代,得到近似解 x k x^{k} xk;否则,转到步骤4。
  4. λ i k + 1 = λ i k + σ k c i ( x k ) \lambda_{i}^{k+1}=\lambda_{i}^{k}+\sigma_{k}c_{i}(x^{k}) λik+1=λik+σkci(xk) k : = k + 1 k:=k+1 k:=k+1,转到步骤2。

只有不等式约束时的乘子法

现在我们考虑只有不等式约束的问题:
min ⁡ f ( x ) , x ∈ R n s. t.  c i ( x ) ≤ 0 , i = 1 , 2 , … , l \begin{aligned} &\min f(x), x\in\mathbb{R}^{n} \\ \text{s. t. }& c_{i}(x)\leq 0, i=1,2,\dots,l \end{aligned} s. t. minf(x),xRnci(x)0,i=1,2,,l利用等式约束的结果,引入松弛变量 z i z_{i} zi,将上述问题转化为等式约束问题
min ⁡ f ( x ) , x ∈ R n s. t.  c i ( x ) + z i 2 = 0 , i = 1 , 2 , … , l \begin{aligned} &\min f(x), x\in\mathbb{R}^{n} \\ \text{s. t. }& c_{i}(x)+z_{i}^{2}= 0, i=1,2,\dots,l \end{aligned} s. t. minf(x),xRnci(x)+zi2=0,i=1,2,,l由于变量增加了,因此问题的维度由 n + l n+l n+l 变成 n ˉ + 2 l \bar{n}+2l nˉ+2l 。这使得问题变得复杂。为了克服此问题,我们可以先关于 z z z 求极小 z ˉ \bar{z} zˉ,再将其代入原问题。此处同样不讨论具体细节。

下面给出具体算法:

  1. 给定初始点 x 0 x^{0} x0 ,设初始乘子 λ 1 \lambda^{1} λ1 ,精度要求 ϵ \epsilon ϵ ,放大系数为 c c c ,选择序列 { σ k } \{\sigma_{k}\} {σk},使 σ k → + ∞ \sigma_{k}\to+\infty σk+,令 k = 1 k=1 k=1
  2. x k − 1 x^{k-1} xk1 为初始点,求解无约束规划问题: min ⁡ x ϕ ( x , λ k , σ k ) \min_{x}\phi(x,\lambda^{k},\sigma_{k}) xminϕ(x,λk,σk)得到最优解 x k x^{k} xk
  3. { ∑ i = 1 l [ max ⁡ ( c i ( x k ) , − λ i k σ k ) ] 2 } 1 2 ≤ ϵ \left\{\sum_{i=1}^{l}\left[\max\left(c_{i}(x^{k}), -\frac{\lambda_{i}^{k}}{\sigma_{k}}\right)\right]^{2}\right\}^{\frac{1}{2}}\leq \epsilon {i=1l[max(ci(xk),σkλik)]2}21ϵ,则停止迭代,得近似解 x k x^{k} xk ;否则,转至步骤4。
  4. λ i k + 1 = max ⁡ { 0 , λ i k + σ k c i ( x k ) } , k : = k + 1 \lambda_{i}^{k+1}=\max\{0, \lambda_{i}^{k}+\sigma_{k}c_{i}(x^{k})\}, k:=k+1 λik+1=max{0,λik+σkci(xk)},k:=k+1,转至步骤2。

一般问题的乘子法求解

对于一般约束优化问题:
min ⁡ f ( x ) s. t.  c i ( x ) = 0 , i ∈ E = { 1 , 2 , … , l } c i ( x ) ≤ 0 , i ∈ I = { l + 1 , l + 2 , … , l + m } x ∈ R n \begin{aligned} &\min f(x) \\ \text{s. t. } &c_{i}(x) = 0, i\in E=\{1,2,\dots, l\}\\ & c_{i}(x)\leq 0, i\in I = \{l+1, l+2,\dots,l+m\} \\ & x\in \mathbb{R}^{n} \end{aligned} s. t. minf(x)ci(x)=0,iE={1,2,,l}ci(x)0,iI={l+1,l+2,,l+m}xRn 乘子罚函数为
ϕ ( x , λ , σ ) = f ( x ) + ∑ i = 1 l λ i c i ( x ) + σ 2 ∑ i = 1 l c i 2 ( x ) + 1 2 σ ∑ i = l + 1 l + m { [ max ⁡ ( 0 , λ i + σ c i ( x ) ) ] 2 − λ i 2 } \phi(x,\lambda,\sigma)=f(x)+\sum_{i=1}^{l}\lambda_{i}c_{i}(x)+\frac{\sigma}{2}\sum_{i=1}^{l}c_{i}^{2}(x)+\frac{1}{2\sigma}\sum_{i=l+1}^{l+m}\{[\max(0, \lambda_{i}+\sigma c_{i}(x))]^{2}-\lambda_{i}^{2}\} ϕ(x,λ,σ)=f(x)+i=1lλici(x)+2σi=1lci2(x)+2σ1i=l+1l+m{[max(0,λi+σci(x))]2λi2}其乘子迭代公式为:
λ i k + 1 = λ i k + σ k c i ( x k ) , i = 1 , 2 , … , l λ i k + 1 = max ⁡ { 0 , λ i k + σ k c i ( x k ) } , i = l + 1 , l + 2 , … , l + m \begin{aligned}&\lambda_{i}^{k+1}=\lambda_{i}^{k}+\sigma_{k}c_{i}(x^{k}),\quad &i=1,2,\dots,l\\&\lambda_{i}^{k+1}=\max\{0,\lambda_{i}^{k}+\sigma_{k}c_{i}(x^{k})\},\quad &i=l+1,l+2,\dots,l+m \end{aligned} λik+1=λik+σkci(xk),λik+1=max{0,λik+σkci(xk)},i=1,2,,li=l+1,l+2,,l+m终止准则为:
{ ∑ i = 1 l c i 2 ( x k ) + ∑ i = l + 1 l + m [ max ⁡ ( c i ( x k ) , − λ i k σ k ) ] 2 } 1 2 ≤ ϵ \left\{\sum_{i=1}^{l}c_{i}^{2}(x^{k})+\sum_{i=l+1}^{l+m}\left[\max\left(c_{i}(x^{k}), -\frac{\lambda_{i}^{k}}{\sigma_{k}}\right)\right]^{2}\right\}^{\frac{1}{2}}\leq\epsilon {i=1lci2(xk)+i=l+1l+m[max(ci(xk),σkλik)]2}21ϵ

关于Lagrange乘子法更一般的介绍可参考此文。

你可能感兴趣的:(Convex,Optimization)