matlab增广拉格朗日,[Opt] 拉格朗日乘子法 | ADMM | Basis pursuit

本文介绍了拉格朗日乘子法、增广拉格朗日乘子法(ALM)和交替方向乘子法(ADMM),并详细阐述了如何使用ADMM解决Basis Pursuit问题。通过MATLAB代码展示了Basis Pursuit的求解过程,包括更新步骤和结果展示。
摘要由CSDN通过智能技术生成

乘子法

本文先简要介绍三个乘子法,它们的收敛条件依次减弱(不做具体介绍),然后应用 ADMM 算法求解 Basis pursuit 问题最后读读 Boyd 给出的代码。

Lagrange Multiplier(拉格朗日乘子法)

Augmented Lagrangian Multiplier(增广拉格朗日乘子法,ALM)

Alternating Direction Method of Multipliers(变方向乘子法,ADMM)

乘子法部分参考文献[1]。

拉格朗日乘子法

考虑如下等式约束的优化问题

equation?tex=%5Cmin_%7Bx%7D+f%28x%29%5C%5C+%5Ctext%7Bs.t.%7D+Ax%3Db

用拉格朗日乘子法求解,先写出拉格朗日函数:

equation?tex=L%28x%2Cy%29%3Df%28x%29%2By%5ET%28Ax-b%29%5C%5C

其中

equation?tex=y 是拉格朗日乘子。它的对偶函数为

equation?tex=g%28y%29%3D%5Cinf_x+L%28x%2Cy%29%5C%5C

对偶问题为

equation?tex=%5Cmax_y+g%28y%29%5C%5C

我们需要的解是

equation?tex=x%5E%5Cast%3D%5Carg%5Cmin_x+L%28x%2Cy%5E%5Cast%29%5C%5C

这里的

equation?tex=y%5E%5Cast 是对偶问题的最优解,下面我们用梯度下降法求解它。迭代公式为

equation?tex=y%5E%7Bk%2B1%7D%3Dy%5E%7Bk%7D%2B%5Calpha%5Ek+%5Cnabla+g%28y%5Ek%29%5C%5C

其中

equation?tex=%5Cnabla+g%28y%5Ek%29%3DA%5Ctilde%7Bx%7D-b%2C%5Ctilde%7Bx%7D%3D%5Carg%5Cmin_xL%28x%2Cy%5Ek%29

①总结拉格朗日乘子法的更新方法如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值