交替方向乘子法(ADMM)的原理和流程

参考网站:
1、https://www.cnblogs.com/think90/p/11492368.html
2、http://maths.nju.edu.cn/~hebma/Talk/OptimalParameter.pdf
3、https://dmax1314.github.io/slides/admm.pdf
4、https://zhuanlan.zhihu.com/p/120895368

内容:
1、LM、ALM、ADMM
LM:拉格朗日
ALM:增广拉格朗日
ADMM:首先要有一个增广拉格朗日函数,然后分别固定另外两个变量,更新其中一个变量:(也就是其名:交替方向)
增广拉格朗日函数是将约束条件合并到目标函数中去,是在拉格朗日的基础上添加了一个惩罚项。ADMM算法[1]是ALM算法的延伸。ADMM算法就是使用一种交替求解的方式。经典ADMM算法适用于求解2-blocks的凸优化问题(我的理解,简单来说,就是有两个决策变量),ALM算法只适用于求解1-block的凸优化的问题。

2、交替方向乘子法(ADMM)的原理和流程的白话总结
image
image
image
终止条件:
ADMM的迭代过程通常会在以下几种情况下终止:
达到最大迭代次数。
目标函数的值变化非常小(即达到收敛)。
𝑥和𝑧的差异变得非常小。
image
image
image

3、目前个人理解,ADMM至多解决两个决策变量的优化问题,三个及以上就不行了。需要这样处理:
image

posted @ 2025-09-08 23:05  我救自己万万次  阅读(251)  评论(0)    收藏  举报