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

概述

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

二次惩罚方法
动机

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

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

一般化约束最优化问题

一般化约束最优化问题表示为
minf(x)s.tci(x)=0 i∈     ci(x)≥0 i∈
添加惩罚项系数结果为
Q(x;μ)=f(x)+μ2∑i∈c2i(x)+μ2∑i∈([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)+μ∑i∈|ci(x)|+μ∑i∈|ci(x)|−

通用求解框架

这里写图片描述
增广拉格朗日方法
动机

增广拉格朗日方法在拉格朗日方法的基础上添加了二次惩罚项,从而使得转换后的问题能够更容易求解,不至于因条件数变大不好求。则转换后的问题为
(x,λ;μ)=f(x)−∑i∈λici(x)+μ2∑i∈ci(x)2

在第K步迭代过程中,固定惩罚项参数μ和λk,此时优化x,根据最优化条件有
∇x=∇f(x)−∑i∈(λki−μkci(x))∇ci(x)=0

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

等式约束通用框架

这里写图片描述
实际应用

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

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


原文:https://blog.csdn.net/fangqingan_java/article/details/50001843 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值