【约束非线性优化】ADMM算法精讲

1. 交叉方向乘子法(ADMM)

在本节中,我们将介绍一种用交叉方向乘子法(ADMM)解决带约束的最小化问题的框架。该方法非常通用,可用于解决一大类有约束的最小化问题。

1.1 对偶交替上升(Dual Ascent)

【回顾】:考虑一个目标函数为凸,约束条件为等式约束的原问题(即满足slater条件),是如何通过对偶问题求得最优解的?

设原问题为: min ⁡ x ∈ Ω f ( x ) s.t.  A x = b \min\limits_{\mathbf{x}\in\Omega}f(\mathbf{x})\quad\text{s.t. }A\mathbf{x}=b xΩminf(x)s.t. Ax=b

拉格朗日函数为: L ( x , λ ) = f ( x ) + λ T ( A x − b ) L(\mathbf{x},\lambda)=f(\mathbf{x})+\lambda^T(A\mathbf{x}-b) L(x,λ)=f(x)+λT(Axb),对偶函数: q ( λ ) = min ⁡ x ∈ R n L ( x , λ ) q(\lambda)=\min\limits_{\mathbf{x}\in\R^n}L(\mathbf{x},\lambda) q(λ)=xRnminL(x,λ)

λ ∗ \lambda^* λ 是对偶问题的最优解,根据强对偶定理 λ ∗ = arg ⁡ max ⁡ λ q ( λ ) ⇒ x ∗ = arg ⁡ min ⁡ x ∈ R n L ( x , λ ∗ ) \lambda^*=\arg\max\limits_{\lambda}q(\lambda)\Rightarrow\mathbf{x}^*=\arg\min\limits_{\mathbf{x}\in\R^n}L(\mathbf{x},\lambda^*) λ=argλmaxq(λ)x=argxRnminL(x,λ)

所以如何求解 arg ⁡ max ⁡ λ q ( λ ) \arg\max\limits_{\lambda}q(\lambda) argλmaxq(λ) 成为关键。一个自然的想法是采用梯度上升法,为了达到这个目的,我们需要找到一个方法去计算对偶函数的梯度。而 q ( λ ) = min ⁡ x ∈ R n L ( x , λ ) q(\lambda)=\min\limits_{\mathbf{x}\in\R^n}L(\mathbf{x},\lambda) q(λ)=xRnminL(x,λ),如果我们找到一个 x ~ = arg ⁡ min ⁡ x ∈ R n L ( x , λ ) \tilde{\mathbf{x}}= \arg\min\limits_{\mathbf{x}\in\R^n}L(\mathbf{x},\lambda) x~=argxRnminL(x,λ),那么
q ( λ ) = L ( x ~ , λ ) = f ( x ~ ) + λ T ( A x ~ − b ) q(\lambda)=L(\tilde{\mathbf{x}},\lambda)=f(\tilde{\mathbf{x}})+\lambda^T(A\tilde{\mathbf{x}}-b) q(λ)=L(x~,λ)=f(x~)+λT(Ax~b)
显然,这是一个关于 λ \lambda λ 的线性函数,它的梯度为非常好算: ∇ q ( λ ) = A x ~ − b \nabla q(\lambda)=A\tilde{\mathbf{x}}-b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值