文章目录
- 约束优化:PHR-ALM 增广拉格朗日函数法
- 等式约束非凸优化问题的PHR-ALM
- 不等式约束非凸优化问题的PHR-ALM
- 对于一般非凸优化问题的PHR-ALM
- 参考文献
约束优化:PHR-ALM 增广拉格朗日函数法
基础预备:
约束优化:约束优化的三种序列无约束优化方法
凸优化学习笔记:Lagrange函数、对偶函数、对偶问题、KKT条件
由前面的分析我们已经知道,在约束优化的三种序列无约束优化方法中,罚函数法存在Hessian矩阵条件数爆炸而难以求解的问题,Uzawa’s Method要求原目标函数必须为连续凸,这些都对适用范围存在严苛限制。增广拉格朗日函数法对原问题的凸性不做要求,并可以通过对二次罚函数进行某种修正,使得对有限的罚因子,得到的逼近最优解也是可行的。
等式约束非凸优化问题的PHR-ALM
从前面文章中的分析可知,不管原问题是不是凸优化问题,原问题的对偶问题一定是凸优化问题,这是因为对偶问题极大化的目标函数是凹函数,且约束集合为凸集,这是一个非常重要且有用的性质。如下图所示,在Uzawa’s method中,优化问题 d ( λ ) : = min x f ( x ) + λ T h ( x ) , s . t . λ ≤ 0 d(\lambda):=\min _x f(x)+\lambda^{\mathrm{T}} h(x),s.t. \lambda \leq0 d(λ):=minxf(x)+λTh(x),s.t.λ≤0非凸,因为函数 f ( x ) + λ T h ( x ) f(x)+\lambda^{\mathrm{T}} h(x) f(x)+λTh(x)非凸,则无法求出唯一的最优 x x x带入下一步的 λ \lambda λ更新计算。
已知 max λ f ( x ) + λ T h ( x ) = { f ( x ) , h ( x ) = 0 ∞ , otherwise \max _\lambda f(x)+\lambda^{\mathrm T}h(x)=\left\{\begin{array}{l}f(x), h(x)=0 \\ \infty, \text { otherwise }\end{array}\right. maxλf(x)+λTh(x)={f(x),h(x)=0∞, otherwise 是一个不连续函数,如何处理这个不连续的函数,一个非常直观的方法就是将该问题近似成一个连续问题,这是PHR方法的基本思想。增加一项 − 1 2 ρ ∥ λ − λ ˉ ∥ 2 -\frac{1}{2 \rho}\|\lambda-\bar{\lambda}\|^2 −2ρ1∥λ−λˉ∥2,用来近似平滑原来不连续的函数 max λ f ( x ) + λ T h ( x ) \max _\lambda f(x)+\lambda^{\mathrm T}h(x) maxλf(x)+λTh(x),其中 ρ > 0 \rho>0 ρ>0用来惩罚 λ \lambda λ与先验值 λ ˉ \bar{\lambda} λˉ之间的偏差。

这样一来,函数
f
(
x
)
+
λ
T
h
(
x
)
−
1
2
ρ
∥
λ
−
λ
ˉ
∥
2
f(x)+\lambda^{\mathrm{T}} h(x)-\frac{1}{2 \rho}\|\lambda-\bar{\lambda}\|^2
f(x)+λTh(x)−2ρ1∥λ−λˉ∥2被近似成一个光滑函数,同时
f
(
x
)
+
λ
T
h
(
x
)
f(x)+\lambda^{\mathrm T}h(x)
f(x)+λTh(x)是关于
λ
\lambda
λ的线性函数,既是凸函数也是凹函数,
−
1
2
ρ
∥
λ
−
λ
ˉ
∥
2
-\frac{1}{2 \rho}\|\lambda-\bar{\lambda}\|^2
−2ρ1∥λ−λˉ∥2是关于
λ
\lambda
λ的严格凹函数,因此整个函数仍为严格凹,对于严格凹问题
max
λ
f
(
x
)
+
λ
T
h
(
x
)
−
1
2
ρ
∥
λ
−
λ
ˉ
∥
2
\max _\lambda f(x)+\lambda^{\mathrm{T}} h(x)-\frac{1}{2 \rho}\|\lambda-\bar{\lambda}\|^2
maxλf(x)+λTh(x)−2ρ1∥λ−λˉ∥2有唯一最优解
λ
∗
\lambda^*
λ∗满足:
∂
{
f
(
x
)
+
λ
⊤
h
(
x
)
−
1
2
ρ
∥
λ
−
λ
∥
2
}
∂
λ
=
h
(
x
)
−
1
ρ
(
λ
−
λ
ˉ
)
=
0
\frac{\partial\left\{f(x)+\lambda^{\top} h(x)-\frac{1}{2 \rho}\|\lambda-\lambda\|^2\right\}}{\partial \lambda}=h(x)-\frac{1}{\rho}(\lambda-\bar{\lambda})=0
∂λ∂{f(x)+λ⊤h(x)−2ρ1∥λ−λ∥2}=h(x)−ρ1(λ−λˉ)=0
可解得
λ
∗
(
λ
ˉ
)
=
λ
ˉ
+
ρ
h
(
x
)
\lambda^*(\bar{\lambda})=\bar{\lambda}+\rho h(x)
λ∗(λˉ)=λˉ+ρh(x),即最优解
λ
∗
\lambda^*
λ∗是关于
λ
\lambda
λ的函数。将
λ
∗
\lambda^*
λ∗带入原问题:
min
x
max
λ
f
(
x
)
+
λ
T
h
(
x
)
−
1
2
ρ
∥
λ
−
λ
ˉ
∥
2
=
min
x
f
(
x
)
+
λ
∗
(
λ
ˉ
)
T
h
(
x
)
−
1
2
ρ
∥
λ
∗
(
λ
ˉ
)
−
λ
ˉ
∥
2
=
min
x
f
(
x
)
+
(
λ
ˉ
+
ρ
h
(
x
)
)
T
h
(
x
)
−
ρ
2
∥
h
(
x
)
∥
2
=
min
x
f
(
x
)
+
λ
ˉ
T
h
(
x
)
+
ρ
2
∥
h
(
x
)
∥
2
\begin{aligned} & \min _x \max _\lambda f(x)+\lambda^{\mathrm{T}} h(x)-\frac{1}{2 \rho}\|\lambda-\bar{\lambda}\|^2 \\ = & \min _x f(x)+\lambda^*(\bar{\lambda})^{\mathrm{T}} h(x)-\frac{1}{2 \rho}\left\|\lambda^*(\bar{\lambda})-\bar{\lambda}\right\|^2 \\ = & \min _x f(x)+(\bar{\lambda}+\rho h(x))^{\mathrm{T}} h(x)-\frac{\rho}{2}\|h(x)\|^2 \\ = & \min _x f(x)+\bar{\lambda}^{\mathrm{T}} h(x)+\frac{\rho}{2}\|h(x)\|^2 \end{aligned}
===xminλmaxf(x)+λTh(x)−2ρ1∥λ−λˉ∥2xminf(x)+λ∗(λˉ)Th(x)−2ρ1
λ∗(λˉ)−λˉ
2xminf(x)+(λˉ+ρh(x))Th(x)−2ρ∥h(x)∥2xminf(x)+λˉTh(x)+2ρ∥h(x)∥2
此时得到一个与原问题近似的无约束最优化问题,可以用例如L-BFGS方法求解。这就是PHR-ALM的基本思路,通过在原拉格朗日函数的基础之上增加一个增广项获得一个增广拉格朗日函数 L ( x , λ ; ρ ) \mathcal{L}(x, \lambda ; \rho) L(x,λ;ρ),来得到近似光滑且容易解的优化问题。为了更接近于原问题,有两种措施:(1)使 1 ρ → 0 \frac{1}{\rho} \rightarrow 0 ρ1→0 或者 ρ → + ∞ \rho \rightarrow+\infty ρ→+∞,以获取二次罚函数的效果,但 ρ \rho ρ如果很大则和前面分析的罚函数缺陷一样,成为一个Hessian矩阵条件数爆炸的病态问题;(2)迭代更新先验值 λ ˉ ← λ ∗ ( λ ˉ ) \bar{\lambda} \leftarrow \lambda^*(\bar{\lambda}) λˉ←λ∗(λˉ)。
下面介绍一种更为常用的增广拉格朗日函数形式。在迭代过程中,子内循环无约束优化问题 x k + 1 = argmin x L ρ k ( x , λ k ) x^{k+1}=\operatorname{argmin}_x \mathcal{L}_{\rho^k}\left(x, \lambda^k\right) xk+1=argminxLρk(x,λk)每次都不需要求解很精确的 x k x^k xk,因为外循环会不断细化 λ k \lambda^k λk和 x k x^k xk。

不等式约束非凸优化问题的PHR-ALM
对于不等式约束的非凸问题,核心思想是通过引入松弛变量
s
s
s,将不等式约束转化为等式约束,然后再写成增广拉格朗日函数形式。如下图所示,引入松弛变量
s
s
s,原问题维度从n维上升到n+m维。原问题为:
min
x
∈
R
n
f
(
x
)
s.t.
g
(
x
)
≤
0
\begin{array}{rl} \min _{x \in \mathbb{R}^n} & f(x) \\ \text { s.t. } & g(x) \leq 0 \end{array}
minx∈Rn s.t. f(x)g(x)≤0
引入松弛变量后变为等式约束的非凸优化问题:
min
x
∈
R
n
,
s
∈
R
m
f
(
x
)
s.t.
g
(
x
)
+
[
s
]
2
=
0
\begin{aligned} & \min _{x \in \mathbb{R}^n, s \in \mathbb{R}^m} f(x) \\ & \text { s.t. } \quad g(x)+[s]^2=0 \\ & \end{aligned}
x∈Rn,s∈Rmminf(x) s.t. g(x)+[s]2=0
将转化后的问题写成增广拉格朗日函数形式:
min
x
∈
R
n
,
s
∈
R
m
f
(
x
)
+
ρ
2
∥
g
(
x
)
+
[
s
]
2
+
λ
ρ
∥
2
=
min
x
∈
R
n
min
s
∈
R
m
f
(
x
)
+
ρ
2
∥
g
(
x
)
+
[
s
]
2
+
λ
ρ
∥
2
=
min
x
∈
R
n
f
(
x
)
+
ρ
2
∥
max
[
g
(
x
)
+
λ
ρ
,
0
]
∥
2
\min _{x \in \mathbb{R}^n, s \in \mathbb{R}^m} f(x)+\frac{\rho}{2}\left\|g(x)+[s]^2+\frac{\lambda}{\rho}\right\|^2=\min _{x \in \mathbb{R}^n} \min _{s \in \mathbb{R}^m} f(x)+\frac{\rho}{2}\left\|g(x)+[s]^2+\frac{\lambda}{\rho}\right\|^2=\min _{x \in \mathbb{R}^n} f(x)+\frac{\rho}{2}\left\|\max \left[g(x)+\frac{\lambda}{\rho}, 0\right]\right\|^2
x∈Rn,s∈Rmminf(x)+2ρ
g(x)+[s]2+ρλ
2=x∈Rnmins∈Rmminf(x)+2ρ
g(x)+[s]2+ρλ
2=x∈Rnminf(x)+2ρ
max[g(x)+ρλ,0]
2
为与等式约束的拉格朗日乘子
λ
\lambda
λ区分开,将不等式约束非凸问题的增广拉格朗日函数写成:
L
ρ
(
x
,
μ
)
:
=
f
(
x
)
+
ρ
2
∥
max
[
g
(
x
)
+
μ
ρ
,
0
]
∥
2
\mathcal{L}_\rho(x, \mu):=f(x)+\frac{\rho}{2}\left\|\max \left[g(x)+\frac{\mu}{\rho}, 0\right]\right\|^2
Lρ(x,μ):=f(x)+2ρ
max[g(x)+ρμ,0]
2
更新拉格朗日乘子
μ
k
+
1
=
μ
k
+
ρ
h
(
x
k
+
1
)
=
μ
k
+
ρ
(
g
(
x
k
+
1
)
+
[
s
k
+
1
]
2
)
\mu^{k+1}=\mu^k+\rho h(x^{k+1})=\mu^k+\rho\left(g\left(x^{k+1}\right)+\left[s^{k+1}\right]^2\right)
μk+1=μk+ρh(xk+1)=μk+ρ(g(xk+1)+[sk+1]2)。对于
g
(
x
k
+
1
)
+
[
s
k
+
1
]
2
g\left(x^{k+1}\right)+\left[s^{k+1}\right]^2
g(xk+1)+[sk+1]2,当
g
(
x
k
+
1
)
>
0
g\left(x^{k+1}\right)>0
g(xk+1)>0,取
[
s
]
2
[s]^2
[s]2=0,当
g
(
x
k
+
1
)
≤
0
g\left(x^{k+1}\right)\leq0
g(xk+1)≤0,取
[
s
]
2
=
∣
g
(
x
x
+
1
)
∣
[s]^2=\left|g\left(x^{x+1}\right)\right|
[s]2=
g(xx+1)
,因此有
g
(
x
k
+
1
)
+
[
s
k
+
1
]
2
=
max
[
g
(
x
k
+
1
)
,
0
]
g\left(x^{k+1}\right)+\left[s^{k+1}\right]^2=\max \left[g\left(x^{k+1}\right), 0\right]
g(xk+1)+[sk+1]2=max[g(xk+1),0]。综上,可消除松弛变量的影响从而得到:
μ
k
+
1
=
max
[
μ
k
+
ρ
g
(
x
k
+
1
)
,
0
]
\mu^{k+1}=\max \left[\mu^k+\rho g\left(x^{k+1}\right), 0\right]
μk+1=max[μk+ρg(xk+1),0]
求证: min x ∈ R n min s ∈ R m f ( x ) + ρ 2 ∥ g ( x ) + [ s ] 2 + λ ρ ∥ 2 = min x ∈ R n f ( x ) + ρ 2 ∥ max [ g ( x ) + λ ρ , 0 ] ∥ 2 \min _{x \in \mathbb{R}^n} \min _{s \in \mathbb{R}^m} f(x)+\frac{\rho}{2}\left\|g(x)+[s]^2+\frac{\lambda}{\rho}\right\|^2=\min _{x \in \mathbb{R}^n} f(x)+\frac{\rho}{2}\left\|\max \left[g(x)+\frac{\lambda}{\rho}, 0\right]\right\|^2 minx∈Rnmins∈Rmf(x)+2ρ g(x)+[s]2+ρλ 2=minx∈Rnf(x)+2ρ max[g(x)+ρλ,0] 2
证明:在前述问题中,已知 min x ∈ R n , s ∈ R m f ( x ) + ρ 2 ∥ g ( x ) + [ s ] 2 + λ ρ ∥ 2 \min _{x \in \mathbb{R}^n, s \in \mathbb{R}^m} f(x)+\frac{\rho}{2}\left\|g(x)+[s]^2+\frac{\lambda}{\rho}\right\|^2 minx∈Rn,s∈Rmf(x)+2ρ g(x)+[s]2+ρλ 2 等价于 min x ∈ R n min s ∈ R m f ( x ) + ρ 2 ∥ g ( x ) + [ s ] 2 + λ ρ ∥ 2 \min _{x \in \mathbb{R}^n} \min _{s \in \mathbb{R}^m} f(x)+\frac{\rho}{2}\left\|g(x)+[s]^2+\frac{\lambda}{\rho}\right\|^2 minx∈Rnmins∈Rmf(x)+2ρ g(x)+[s]2+ρλ 2
对于松弛变量
s
∈
R
m
s \in \mathbb R^m
s∈Rm而言,其最优化问题为:
min
s
∈
R
m
∥
g
(
x
)
+
[
s
]
2
+
λ
p
∥
2
\min _{s \in \mathbb{R}^m}\left\|g(x)+[s]^2+\frac{\lambda}{p}\right\|^2
s∈Rmmin
g(x)+[s]2+pλ
2
令
g
(
x
)
+
λ
ρ
=
a
g(x)+\frac{\lambda}{\rho}=a
g(x)+ρλ=a,有
min
s
∈
R
m
∥
a
+
[
s
]
2
∥
2
\min _{s \in \mathbb{R}^m}\left\|a+[s]^2\right\|^2
mins∈Rm
a+[s]2
2,
当 a > 0 a>0 a>0时, min ( ∥ a + [ s ] 2 ∥ 2 ) = a \min \left(\left\|a+[s]^2\right\|^2\right)=a min( a+[s]2 2)=a,取 [ s ] 2 = 0 [s]^2=0 [s]2=0;
当 a ≤ 0 a \leq 0 a≤0时, min ( ∥ a + [ s ] 2 ∥ 2 ) = 0 \min \left(\left\|a+[s]^2\right\|^2\right)=0 min( a+[s]2 2)=0,取 [ s ] 2 = ∣ a ∣ [s]^2=|a| [s]2=∣a∣。
所以,
min
s
∈
R
m
∥
g
(
x
)
+
[
s
]
2
+
λ
ρ
∥
2
=
∥
max
[
g
(
x
)
+
λ
ρ
,
0
]
∥
2
\min _{s \in \mathbb{R}^m}\left\|g(x)+[s]^2+\frac{\lambda}{\rho}\right\|^2=\left\|\max \left[g(x)+\frac{\lambda}{\rho}, 0\right]\right\|^2
s∈Rmmin
g(x)+[s]2+ρλ
2=
max[g(x)+ρλ,0]
2
对于一般非凸优化问题的PHR-ALM
结合等式约束和不等式约束的分析,直接将等式约束拉格朗日函数的增广项和不等式约束拉格朗日函数的增广项相加,得到:
L
ρ
(
x
,
λ
,
μ
)
:
=
f
(
x
)
+
ρ
2
{
∥
h
(
x
)
+
λ
ρ
∥
2
+
∥
max
[
g
(
x
)
+
μ
ρ
,
0
]
∥
2
}
\mathcal{L}_\rho(x, \lambda, \mu):=f(x)+\frac{\rho}{2}\left\{\left\|h(x)+\frac{\lambda}{\rho}\right\|^2+\left\|\max \left[g(x)+\frac{\mu}{\rho}, 0\right]\right\|^2\right\}
Lρ(x,λ,μ):=f(x)+2ρ{
h(x)+ρλ
2+
max[g(x)+ρμ,0]
2}
参考文献
机器人中的数值优化
最优化:建模、算法与理论/最优化计算方法