ADMM算法系列1:线性等式或不等式约束下可分离凸优化问题的ADMM扩展

article/2025/9/22 10:07:57

1 研究背景

      交替方向乘数法(ADMM)最初由Glowinski和Marrocco提出,用于解决非线性椭圆问题,它已成为解决各种凸优化问题的基准算法。在方法上,可以认为ADMM算法是在经典增广拉格朗日方法(ALM)的分裂版本。它已经在非常广泛的领域找到了应用,特别是在与数据科学相关的领域,如机器学习、计算机视觉和分布式/集中式优化。

(注:为什么将ADMM算法称为ALM的分裂版本)

可以看出ALM可以解决一块的问题,而对于两块可分离凸优化问题ALM就比较困难,所以引入ADMM算法,可以说ADMM就是松弛的ALM,其中ADMM算法原型框架为:

其中λk+1可以明确的写成:

如果将两块可分离凸优化问题扩展到多块,可能会导致不收敛,故在本文中,如何将ADMM扩展到具有线性不等式约束的两块和多块(两块以上)可分离凸优化问题奠定了基础。

2 主要内容

2.1 收敛路线图

      首先提出了一个统一的算法设计框架和一个在变分不等式背景下进行收敛分析的路线。

a、针对如下凸优化问题:

可以将它转换为变分不等式形式:

b、进一步的对几个符号做了定义:

d、对证明收敛提出了统一框架:

      针对这个统一框架可以分为两部分(预测和校正),故只需要凑出预测步骤找到花Q凑出校正步骤找到花M,有了这两个矩阵证明收敛就很容易了。

e

      有了花Q和花M便有了H和G两个矩阵,我们已经证明了最后一个不等式是成立的,所以只要满足a中的P矩阵的条件就可以证明出所涉及的算法是收敛的。

      在此基础上,可以设计一系列具体的基于ADMM的算法,这些算法在预测校正结构中具有可证明的收敛性。所提出的算法框架和收敛分析路线图适用于具有不同可分性程度的各种凸优化问题,其中可以包括线性等式和线性不等式约束。

2.2 原始ADMM的扩展

a、原始对偶扩展

       其中第一步为预测步骤,利用预测步骤的值去更新迭代校正步骤。推导过程也很简单就是在原始ADMM算法的基础上去掉常数项演变而来,它的收敛性证明便遵循了上面所阐述的收敛性路线图,即先找到它的变分不等式然后凑出收敛性证明的预测校正框架即可。

b、更换迭代顺序

       这个算法框架与原始的ADMM最主要的区别就是可以先进行λ的更新,收敛性证明同样遵循收敛性路线图以及收敛性框架。

2.3扩展到多块可分离凸优化问题

       如果直接扩展到多块可能会不收敛,所以提出算法框架,并证明这个算法框架在处理多块的时候同样是收敛的,收敛性证明同样遵循上文提出的收敛路线及收敛统一框架。

a、原始扩展

同样是利用预测步骤的值在校正步骤中做更新迭代。

b、交换迭代顺序

       这里就和前文对应了,主要是想说明作者在原始ADMM算法的基础上,所提出的新的算法框架是可行的也就是收敛的。

3 总结

      本文建立了标准路线图,以证明所提出的原型算法框架在没有任何额外条件的情况下的收敛性。如果遵循路线图来推导从所提出的原型算法框架中指定的任何算法的收敛性,那么本质上它只需要指定两个矩阵,然后检查另一个矩阵的正定性。

目的就是从高层次和方法论的角度研究原始ADMM的扩展;因此本文没有给出任何实验结果。如前所述,所提出的原型算法框架基本上保持了原始ADMM(1.3)的所有主要结构和特征,这说明了它的通用性和效率,而额外的校正步骤在计算上非常简单。很容易从经验上验证从所提出的算法框架中指定的算法的效率。

这里就和前文对应了,主要是想说明作者在原始ADMM算法的基础上,所提出的新的算法框架是可行的也就是收敛的。


http://chatgpt.dhexx.cn/article/g4nJO7bl.shtml

相关文章

Matlab代码:ADMM算法在考虑碳排放交易的电力系统最优潮流中的应用

Matlab代码:ADMM算法在考虑碳排放交易的电力系统最优潮流中的应用 关键词:交替方向乘子法, ADMM , 最优潮流 ,碳排放, 分布式优化 仿真软件:Matlab软件调用cplex求解器进行求解 程序主要内容&am…

张量ADMM算法

ADMM被广泛用在张量中,下篇是找到的一篇文章: 从等式约束的最小化问题说起: 上面问题的拉格朗日表达式为: …

MATLAB代码:基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究

MATLAB代码:基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究 关键词:分布式调度 ADMM算法 交替方向乘子法 碳排放 最优潮流 参考文档:《A Distributed Dual Consensus ADMM Based on Partition for DC-DOPF with Carbon Emission …

对偶算法与ADMM算法

学习笔记,仅供参考,有错必纠 转载自:机器学习与运筹优化(六)对偶算法与ADMM算法 文章目录 摘要ADMM算法参考文献 摘要 上文我们介绍了约束优化问题和拉格朗日对偶思想。对偶算法就像是男生女生互相挑选,最…

【配电网优化】基于串行和并行ADMM算法的配电网优化研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

MATLAB代码:全面ADMM算法代码,实现了三种ADMM迭代方式 参考文档:《基于串行和并行ADMM算法的电_气能量流分布式协同优化_瞿小斌》

MATLAB代码:全面ADMM算法代码,实现了三种ADMM迭代方式 关键词:综合能源 分布式协同优化 交替方向乘子法 最优潮流 参考文档:《基于串行和并行ADMM算法的电_气能量流分布式协同优化_瞿小斌》 仿真平台:MATLAB 主要内容&…

ADMM算法在神经网络模型剪枝方面的应用

文章目录 前言1. 交替方向乘子法2. 论文中的表述3. 对论文中的公式进行推导4. 代码流程5. 主要函数实现6. dense vs. prune(finetune)结束语 前言 本篇博客记录一下自己根据对论文 GRIM: A General, Real-Time Deep Learning Inference Framework for Mobile Devices based on …

ADMM算法及其放缩形式,在压缩快照成像重建的图像重建论文中的公式推导

刚接触图像恢复问题,简单记录一下最近看论文刚弄懂的一个小问题 ADMM算法 ADMM(交替方向乘子法)是一种解决变量可分离凸优化问题的简单算法,具有求解速度快,收敛性能好的特点。ADMM可以将原问题转换为几个子问题&…

开漏输出和推挽输出的区别?

《《《《正文》》》》》 《理解三极管的原理》 如下图,以NPN三极管为例: 它是一种电流控制型元器件,即基极B的输出输出电流可以实现对元器件的控制。所以可以进一步理解为基极B为控制端,集电极C为输入端,发射极E为输出…

推挽输出和开漏输出

推挽输出(push-pull): 推挽输出(push-pull): 推挽输出,正如字面上的意思,有“推”,也有“挽”,推挽输出电路运用两个MOS管构成,上面为P-MOS&…

推挽输出和开漏输出详解

序言: 平时,写程序的时候总遇IO口模式的端口配置。但是从来没有仔细研究过具体到底是什么含义。作为一名嵌入式工程师应该是不合格的,现在把端口定义重新梳理一下。 一、NPN和PNP区别 NPN 是用 B→E 的电流(IB&#xff0…

STM32的推挽输出和开漏输出

文章目录 前言一、推挽输出二、开漏输出三、区别和适应场景总结前言 本篇文章将带大家了解STM32的推挽输出和开漏输出,并且学习这两个的区别,学习分别在什么时候使用这两个不同的输出方式。 在 STM32 微控制器中,GPIO(General Purpose Input/Output)模块是一个通用的输入…

什么是GPIO的推挽输出和开漏输出

数字芯片GPIO一般分为推挽输出和开漏输出 数字芯片GPIO一般是推挽输出(PUSH-PULL),其内部结构如下: 当上面的MOS管导通时,GPIO输出高电平1,称为“推” 当下面MOS管导通时,GPIO输出低电平0&…

浅谈开漏输出和推挽输出的理解

理解电路元件特性 在理解这两种输出之前我们需要对三极管这种电路元器件进行理解,三极管都包括三个部分,基极(base)、集电极(Collector)以及发射极(Emitter)。他们负责不同的功能, 1.基极主要负责控制电流导通与否 2.…

开漏输出和推挽输出的差别

GPIO内部仅有以上三种组合形式 而当上面任意两种形式组合时则 一、推挽输出 高低电平两两组合则形成了推挽输出的模式。 优点:能输出高低电平、且高低电平都有驱动能力 缺点:不能实现线与的功能&#xff…

终于搞清楚开漏输出和推挽输出这个鬼东西

先说下推挽输出,简单的说,就是想输出高电平,就输出高电平,想输出低电平就输出低电平。 推挽电路上面是NPN三极管,下面是PNP三极管,请注意输入端和输出端的波形。 下面是输入波形 当输入为正时,上…

推挽输出和开漏输出有什么不同?

推挽输出和开漏输出有什么不同? 推挽输出(Push-Pull Output)开漏输出(Open Drain Output)两者比较 首先介绍一下什么是推挽输出和开漏输出。 推挽输出(Push-Pull Output) 推挽输出结构是由两个…

区分推挽输出和开漏输出

推挽输出:可以输出高,低电平,连接数字器件。 输出 0 时,N-MOS 导通,P-MOS 高阻,输出0。 输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。 开漏输出:输出端相当于三…

GPIO之推挽输出和开漏输出

疑问 GPIO配置为输出时会有两种模式,一种叫推挽输出,一种叫开漏模式。那什么是推挽输出,什么又是开漏输出呢? 三种输出状态 如下图所示为将GPIO配置为输出时的内部示意图: 由上图可以看出,GPIO的输出状…

推挽输出和开漏输出区别

目录 1.推挽输出 2.开漏输出 1.推挽输出 当想输出高电平时,P-MOS导通,N-MOS截止,输出为电源电压VDD 当想输出低电平时,N-MOS导通,P-MOS截止,相当于引脚直接接地,输出低电平 2.开漏输出 开…