数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)

原文地址为: 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)

概述

求解带约束的最优化问题,一类很重要的方法就是将约束添加到目标函数中,从而转换为一系列子问题进行求解,最终逼近最优解。关键问题是如何将约束进行转换。本节主要介绍
1. 二次惩罚方法
2. 非平滑惩罚方法
3. 增广拉格朗日方法

二次惩罚方法

动机

带约束问题如果转换为目标函数加上一个对约束的惩罚项,则问题转换为一个无约束问题。
转换后的问题可以通过惩罚项的系数进行控制,一个比较常见的惩罚函数就是二次惩罚。

等式约束的最优化问题

等式约束问题可以表示为

min f(x)s.t ci(x)=0,iE
添加一个二次惩罚项,则有
Q(x;μ)=f(x)+μ2iEc2i(x)
其中 μ 是惩罚参数,直观上只要增加惩罚参数的值就可以逼近原始问题的最优解。
在实际中,对于某个惩罚参数 μ 只要几步无约束最优化问题,不需要寻找最优解。

一般化约束最优化问题

一般化约束最优化问题表示为

minf(x)s.tci(x)=0 iE     ci(x)0 iI
添加惩罚项系数结果为
Q(x;μ)=f(x)+μ2iEc2i(x)+μ2iI([ci(x)])2
其中 ci(x) 表示当该值大于0时,结果为0,否则为 ci(x)

二次惩罚项通用框架

这里写图片描述

1.参数 μ 的选择可以根据无约束问题的优化难度进行确定,如果很容易优化则可以 μk+1=μk ,否则可以选择 μk+1=μk
2. 定理:如果转换后的问题 Q(x;μk) 每一步都计算最优解,并且当 μk 时能够接近原始问题的最优解。

非平滑惩罚函数

有些惩罚函数是精确的,即惩罚项参数 μ 达到一定值时转换后的问题的最优解就是原始问题的最优解,其中l1惩罚项就是精确的,表示如下

ϕ1(x;μ)=f(x)+μiE|ci(x)|+μiE|ci(x)|

通用求解框架

这里写图片描述

增广拉格朗日方法

动机

增广拉格朗日方法在拉格朗日方法的基础上添加了二次惩罚项,从而使得转换后的问题能够更容易求解,不至于因条件数变大不好求。则转换后的问题为

L(x,λ;μ)=f(x)iEλici(x)+μ2iEci(x)2

在第K步迭代过程中,固定惩罚项参数 μ λk ,此时优化x,根据最优化条件有
xL=f(x)iE(λkiμkci(x))ci(x)=0

对比最优性条件,应该有 f(x)=0;λ=λkiμkci(x) ,从而很自然的可以将 λk+1=λkiμkci(x)

等式约束通用框架

这里写图片描述

实际应用

在实际中,增广拉格朗日方法可以很有效的处理边界约束和线性约束最优化问题。

总结

了解通过将约束转换为惩罚项添加到目标函数上的方法,了解增广拉格朗日方法的动机。


转载请注明本文地址: 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)

猜你喜欢

转载自blog.csdn.net/kkwant/article/details/80867736