ADMM 算法的基本概念

ADMM是一种分布式优化方法,其主要思想为将复杂的目标问题进行分解,得到多个可以并行求解的子问题,在对优化问题进行求解的过程中,先对每个子问题进行局部优化求解,最后将局部子问题的最优解进行融合得到全局问题的最优解。其算法模型为:

其中,,函数为关于变量xz 的连续函数。由上述模型可以看出,ADMM算法的全局变量可以拆分成两个可分离的局部变量,且这两个局部变量满足约束条件中的线性等式约束,同时目标函数关于这两个局部变量也可拆分成两个可分离的子函数。

ADMM 对于函数f 和g 的凸性没有要求,函数f 和g 为凸函数或者非凸函数,ADMM都可以进行求解。增广拉格朗日函数可以写成如下形式:

其中,y 为拉格朗日乘子,称为惩罚因子,ADMM 算法的迭代过程可以分成三步:

由上述公式可以看出,ADMM 算法首先利用上一次迭代的变量z 和拉格朗日乘子y 更新变量x ,之后利用刚更新的局部变量x 和上一次迭代的拉格朗日乘子y 更新局部变量z ,最后根据在本次迭代中已经更新的局部变量xz 来更新拉格朗日乘子y 。

按照这样的顺序,ADMM 算法的各个变量之间交替更新。为了简化形式,定义,可以将ADMM 算法的迭代过程写成放缩的形式:

这里定义对偶残差 和原始残差。一般来说,ADMM 算法迭代的终止准则可以通过原始残差和对偶残差来判断,当原始残差和对偶残差足够小时,即

ADMM 算法迭代过程可以终止,其中为原始可行条件和对偶可行条件的容忍度。

相关推荐
2301_822703204 小时前
鸿蒙Flutter第三方库FlutterUnit组件百科适配——具体示例还原演示1
算法·flutter·华为·harmonyos·鸿蒙
2301_7644413311 小时前
LISA时空跃迁分析,地理时空分析
数据结构·python·算法
东北洗浴王子讲AI11 小时前
GPT-5.4辅助算法设计与优化:从理论到实践的系统方法
人工智能·gpt·算法·chatgpt
Billlly11 小时前
ABC 453 个人题解
算法·题解·atcoder
玉树临风ives12 小时前
atcoder ABC 452 题解
数据结构·算法
feifeigo12312 小时前
基于马尔可夫随机场模型的SAR图像变化检测源码实现
算法
fengfuyao98512 小时前
基于STM32的4轴步进电机加减速控制工程源码(梯形加减速算法)
网络·stm32·算法
551只玄猫13 小时前
【数学建模 matlab 实验报告13】主成分分析
开发语言·数学建模·matlab·课程设计·主成分分析
无敌昊哥战神13 小时前
深入理解 C 语言:巧妙利用“0地址”手写 offsetof 宏与内存对齐机制
c语言·数据结构·算法
小白菜又菜13 小时前
Leetcode 2075. Decode the Slanted Ciphertext
算法·leetcode·职场和发展