looyifan / PHR Augmented Lagrangian Method

Created Wed, 02 Apr 2025 10:32:39 +0800 Modified Wed, 02 Apr 2025 22:20:53 +0800
1373 Words

背景

  • PHR是Powell、Hestenes和Rockafellar三个人名的缩写,前两个人在等式约束的优化问题中提出了增广拉格朗日乘子法,第三个作者将其推广到不等式约束上,并给出了新的解释

等式约束

  • 问题形式
    • $$min_{x\in\mathbb{R^{n}}}f(x)$$
    • $$s.t.h(x)=0$$
  • 推导
    • Uzawa’s method
      • 通过冯诺依曼定理将minmax问题转化为maxmin(对偶)问题,只需要满足原问题是严格凸的,原问题和对偶问题的最优解就是一致的
      • $$d(\lambda):=min_{x}f(x)+\lambda^{T}h(x)$$
      • 如果原问题不是严格凸,上面的式子求得的\(x^{*}\)就不是唯一的,导致\(d(\lambda)\)不是光滑的,梯度\(\triangledown d(\lambda)\)有可能不存在
    • PHR Augmented Lagrangian Method
      • 核心思路
        • 不直接依赖冯诺依曼定理将minmax问题转化为maxmin问题。
        • 再来观察一下原问题
          • $$min_{x}max_{\lambda}f(x)+\lambda^{T}h(x)$$
        • 现在的主要难点在于,函数的max部分,取值要么是无穷大要么是一个定值,他是一个non smooth的函数,一个很直观的想法是,把这部分近似一下,变成一个smooth的函数:
          • 我们在右边加一个proximal point项。其思路是,我们并不知道\(\lambda\)最优应该取什么值,但可以先假设\(\lambda\)的最优解是\(\bar\lambda\),那么我们在优化的时候尽可能让\(\lambda\)靠近\(\bar\lambda\)
          • $$min_{x}max_{\lambda}f(x)+\lambda^{T}h(x)-\frac{1}{2\rho}\left|\lambda-\bar{\lambda}\right|$$
          • $$(\rho>0)$$
          • 加上这个proximal point项(正则项)之后,原问题的max部分就是对\(\lambda\)的线性项加上对\(\lambda\)的二次项,这对\(\lambda\)来说是一个连续且严格凸的函数,且二次函数的最优值是有解析解的
            • proximal point term
            • phr outer
            • 至此,该问题变成了一个针对\(x\)无约束优化问题
        • 但目前我们只是得到了对原问题的minmax解的一个粗略估计,仍需要持续迭代提高精度,从两个角度进行提升
          • 让正则项趋近于0,即\(\rho\to\infty\)
          • 不断更新更准确的\(\bar\lambda\),\(\bar\lambda\leftarrow\lambda^{*}(\bar\lambda)\)。因为第一次优化时,\(\bar\lambda\)是我们猜的,优化结束后,我们得到的\(\lambda^{*}\)比之前猜的\(\bar\lambda\)更接近最优解,所以第二次就把\(\lambda^{*}\)作为下一轮的\(\bar\lambda\)来不断提高精度
          • 注意,由于我们不断地在更新更精确的\(\bar\lambda\),这意味着\(\left|\lambda-\bar{\lambda}\right|\)本身不断在接近0,所以\(\rho\)的取值不需要真的趋向无穷大, 慢慢增长到一定程度大即可,取到1000就可以了
        • 现在我们不需要借助冯诺依曼定理最minmax问题进行对换了,也就不需要保证\(f(x)\)严格凸
      • 原问题的拉格朗日函数 + 增广项 = 增广拉格朗日法
        • phr alm func
      • 一般来说,我们常把上面的式子整理为如下形式(灰色部分可以省略),进行迭代
        • frequently phr alm

不等式约束

  • 问题形式
    • $$min_{x\in R^{n}}f(x)$$
    • $$s.t.g(x)\leq0$$
  • 原问题变形(不等式变等式)
    • $$min_{x\in R^{n},s\in R^{m}}f(x)$$
    • $$s.t.g(x)+\left[s\right]^{2}\leq0$$
      • 其中\(\left[\cdot\right]^{2}\)表示element-wise squaring
    • phr alm inequal

等式约束+不等式约束

  • 问题形式
    • $$min_{x\in R^{n}}f(x)$$
    • $$s.t.g(x)\leq0,h(x)=0$$
  • PHR_Augmented Lagrangian
    • $$\pounds_{\rho}(x,\lambda,\mu):=f(x)+\frac{\rho}{2}\lbrace\left|h(x)+\frac{\lambda}{\rho}\right|^{2}+\left|max\left[g(x)+\frac{\mu}{\rho},0\right])\right|\rbrace-\frac{1}{2\rho}\lbrace\left|\lambda\right|^{2}+\left|\mu\right|^{2}\rbrace$$
      • 丄式的最后一项一般都省略掉
      • $$\rho>0,\mu\geq0$$
  • 迭代步骤
    • $$\Bigg\lbrace\begin{matrix}x\leftarrow argmin_{x}\pounds_{\rho}(x,\lambda,\mu) \ \lambda\leftarrow\lambda+\rho h(x)\\mu\leftarrow max\left[\mu+\rho g(x),0\right]\\rho\leftarrow min\left[(1+\lambda)\rho,\beta\right]\end{matrix}$$
  • 参数初始化
    • $$\rho=1,\lambda=\mu=0,\gamma=1,\beta=10^{3}$$
  • 内层循环退出条件(求\(argmin_{x}\))
    • phr alm inner loop exit
    • \(\xi\)从一个正数逐渐收敛到0
  • 外层迭代退出条件
    • phr alm outer loop exit