当前位置:网站首页>【数学基础】 foundation of mathematics :拉格朗日优化和对偶
【数学基础】 foundation of mathematics :拉格朗日优化和对偶
2022-07-21 14:58:00 【NoBlackstone】
数学基础系列文章目录
目录
拉格朗日乘子法与KKT条件
一、无约束优化
对于无约束优化,如果目标函数是凸函数,可直接通过令目标函数的梯度为零求得全局最优值;为避免陷入局部最优值,一般进行优化的目标函数采用凸函数;
凸集定义:在欧氏空间中,对于集合中任意两点的连线,连线上的点都在集合中,则该集合为凸集合;
凸函数定义:对于任意属于[0,1]的a和任意属于凸集的x、y,有f[ax+(1-a)x]≤af(x)+(1-a)f(y),几何意义上就是两点连线上的函数值要大于等于两点之间某点的函数值,即凸函数的任一局部极小点就是全局极小点;
凸函数的充要条件:有f(x)在开凸集S上具有二阶连续偏导数,且f(x)的海塞矩阵(二阶偏导的矩阵)在S上处于半正定,则f(x)为S上的凸函数;
二、带约束优化定义
带约束的优化问题,形式为
{ m i n f ( x ) s . t . g i ( x ) ⩽ 0 h j = 0 \begin{cases}&minf(x)\\&s.t.~g_i(x)\leqslant0\\&h_j=0\end{cases} ⎩⎪⎨⎪⎧minf(x)s.t. gi(x)⩽0hj=0
若三个函数都为线性函数,则该问题为线性规划问题;若任意一个函数为非线性函数,则该问题为非线性规划问题;若目标函数为二次函数,且约束函数都为线性函数,则为二次规划;若目标函数和不等式约束函数为凸函数,等式约束函数为线性函数,则该问题为凸优化问题;
三、等式约束
要在等式约束求得目标函数的极小点,就得找目标函数与约束函数的切点,在切点上可以认为,目标函数的梯度与约束函数的梯度是处于一条直线上的,即存在拉格朗日乘子 μ ⩾ 0 \mu\geqslant0 μ⩾0,有 ∇ x f ( x ∗ ) = μ ∇ x h ( x ∗ ) ∇_x f(x^* )=μ∇_x h(x^*) ∇xf(x∗)=μ∇xh(x∗);满足前述式子并同时满足等式约束函数为零,就能将带约束的优化问题转为不带约束的优化问题,这就是拉格朗日乘子法;
对 L ( x , μ ) = f ( x ) + μ h ( x L(x,μ)=f(x)+μh(x L(x,μ)=f(x)+μh(x)求极小值 x ∗ x^* x∗,该极小值需满足以下条件 ∇ x L ( x ∗ , μ ∗ ) = 0 ∇_x L(x^*,μ^* )=0 ∇xL(x∗,μ∗)=0与 ∇ μ L ( x ∗ , μ ∗ ) = 0 ∇_μ L(x^*,μ^* )=0 ∇μL(x∗,μ∗)=0。
不等式约束
对于不等式约束函数,在几何上它表示为一个区域,称为可行域;一般分为两种情况讨论,第一种是极值点落入可行域内(不包含边界);第二种是极值点落入可行域外(包含边界);
第一种情况:
若目标函数的极值点落入可行域内,则约束函数是不起约束作用的,此时可以直接通过令目标函数的梯度为零求得极值点;如图所示:
第二种情况:
当目标函数的极值点落入可行域外时,约束函数就会起到约束作用,而目标函数就需要在约束函数的边界上求得极值点(因为极小值点在边界上,此时约束函数为零),即切点,同理两个函数的梯度会在一条直线上,只是约束函数的梯度会与目标函数的负梯度同向,有 − ∇ x f ( x ) = λ ∇ x g ( x ) -∇_x f(x)=λ∇_x g(x) −∇xf(x)=λ∇xg(x) 和 λ > 0 λ>0 λ>0;如图所示:
总结:根据以上两种情况,构造拉格朗日函数求解问题;对于不等式约束优化问题,满足三个条件的解便是极小值点,它们就是KKT条件,即存在优化问题: m i n x f ( x ) s . t . g ( x ) ⩽ 0 min_x f(x)~~~s.t.g(x)\leqslant0 minxf(x) s.t.g(x)⩽0;可构造成: L ( x , λ ) = f ( x ) + λ g ( x ) L(x,λ)=f(x)+λg(x) L(x,λ)=f(x)+λg(x),通过令 ∇ x L ( x , λ ) = 0 ∇_x L(x,λ)=0 ∇xL(x,λ)=0和 ∇ λ L ( x , λ ) = 0 ∇_λ L(x,λ)=0 ∇λL(x,λ)=0,求得极小值点 x ∗ x^* x∗;其中极小值点需满足KKT条件: ∇ x L ( x ∗ , λ ∗ ) = 0 ∇_x L(x^* ,λ^* )=0 ∇xL(x∗,λ∗)=0和 λ ∗ ≥ 0 λ^*≥0 λ∗≥0和 λ ∗ g ( x ∗ ) = 0 λ^* g(x^* )=0 λ∗g(x∗)=0;
五、约束优化总结
当同时有多个等式约束和多个不等式约束时,构造拉格朗日函数在目标函数后面将约束函数相应加上,并将所有条件整合到一起;
存在优化问题, m i n x f ( x ) s . t . h i ( x ) = 0 , g j ( x ) ⩽ 0 min_x f(x)~~~s.t. h_i (x)=0,~g_j (x)\leqslant0 minxf(x) s.t.hi(x)=0, gj(x)⩽0;
将其构造为, L ( x , μ , λ ) = f ( x ) + μ T h ( x ) + λ T g ( x ) L(x,μ,λ)=f(x)+μ^T h(x)+λ^T g(x) L(x,μ,λ)=f(x)+μTh(x)+λTg(x);
其中最优解满足条件, ∇ x L ( x ∗ , μ ∗ , λ ∗ ) = 0 , λ j ∗ ≥ 0 , λ j ∗ g j ( x ∗ ) = 0 , g j ( x ∗ ) ≤ 0 , h ( x ∗ ) = 0 ∇_x L(x^*,μ^*,λ^* )=0,λ_j^*≥0,λ_j^* g_j (x^* )=0,g_j (x^* )≤0,h(x^* )=0 ∇xL(x∗,μ∗,λ∗)=0,λj∗≥0,λj∗gj(x∗)=0,gj(x∗)≤0,h(x∗)=0;
拉格朗日对偶性
在约束优化问题中,常常使用拉格朗日对偶性将原始问题转为对偶问题,通过求解对偶问题的解得到原始问题的解;
一、对偶的可用性
首先明确,对偶问题的解不一定直接等于原问题的解(弱对偶),但是对偶问题有两点性质:1、满足强对偶条件时,对偶问题的解等于原始问题的解;2、对偶问题一定是凸优化问题;
二、原始问题
原始问题的优化问题有 { m i n f ( x ) s . t . g i ( x ) ⩽ 0 h j ( x ) = 0 \begin{cases}&min~f(x)\\&s.t.~g_i(x)\leqslant0\\&h_j(x)=0\end{cases} ⎩⎪⎨⎪⎧min f(x)s.t. gi(x)⩽0hj(x)=0;定义拉格朗日函数, L ( x , α , β ) = f ( x ) + ∑ i = 1 q α i g i ( x ) + ∑ j = q + 1 m β j h j ( x ) L(x,\alpha,\beta)=f(x)+\sum_{i=1}^q\alpha_ig_i(x)+\sum_{j=q+1}^m\beta_jh_j(x) L(x,α,β)=f(x)+∑i=1qαigi(x)+∑j=q+1mβjhj(x);考虑函数, Θ P ( x ) = m a x α , β : α i ⩾ 0 L ( x , α , β ) ΘP(x)=\underset{\alpha,\beta:\alpha_i\geqslant0}{max}L(x,\alpha,\beta) ΘP(x)=α,β:αi⩾0maxL(x,α,β),显然当满足约束时,函数为f(x),当不满足约束时,函数为正无穷,即 Θ P ( x ) = { f ( x ) , s a t i s f y c o n s t r a i n t s + ∞ , o t h e r s \Theta P(x)=\begin{cases}f(x),&satisfy~constraints\\ +\infty,&others\end{cases} ΘP(x)={ f(x),+∞,satisfy constraintsothers;极小化该函数得到, m i n x Θ P ( x ) = m i n x m a x α , β : α i ⩾ 0 L ( x , α , β ) \underset{x}{min}\Theta P(x) = \underset{x}{min} ~~\underset{\alpha,\beta:\alpha_i\geqslant0}{max} L(x,\alpha,\beta) xminΘP(x)=xmin α,β:αi⩾0maxL(x,α,β),和原始的优化问题是等价的;同时定义原始问题的最优值为 p ∗ = m i n x Θ P ( x ) p^* = \underset{x}{min} ~\Theta P(x) p∗=xmin ΘP(x);
三、对偶问题
考虑函数, Θ D ( α , β ) = m i n x L ( x , α , β ) \Theta D(\alpha,\beta) = \underset{x}{min}~ L(x,\alpha,\beta) ΘD(α,β)=xmin L(x,α,β);极大化该函数得到 m a x α , β : α i ⩾ 0 Θ D ( α , β ) = m a x α , β : α i ⩾ 0 m i n x L ( x , α , β ) \underset{\alpha,\beta:\alpha_i\geqslant0}{max}~\Theta D(\alpha,\beta) =\underset{\alpha,\beta:\alpha_i\geqslant0}{max}~~\underset{x}{min}~L(x,\alpha,\beta) α,β:αi⩾0max ΘD(α,β)=α,β:αi⩾0max xmin L(x,α,β);将该极大化问题视为对偶问题,同时定义对偶问题的最优值为 d ∗ = m a x α , β : α i ⩾ 0 Θ D ( α , β ) d^* = \underset{\alpha,\beta:\alpha_i\geqslant0}{max}~\Theta D(\alpha,\beta) d∗=α,β:αi⩾0max ΘD(α,β)。
四、原始问题和对偶问题的关系
易得 d ∗ ⩽ p ∗ d^*\leqslant p^* d∗⩽p∗,因为p是先求最大的一块区域然后子啊这块区域求最小,d是先求最小的一块区域然后再这块区域求最大,最大里面的最小,总会大于等于,最小里面的最大;
对 d ∗ ⩽ p ∗ d^*\leqslant p^* d∗⩽p∗,称为弱对偶,对于所有优化问题都成立,可得原始问题的下界;如果 d ∗ ⩽ p ∗ d^*\leqslant p^* d∗⩽p∗,称为强对偶,要满足某些条件才成立;
如果原始问题是一个凸优化问题,且不等式约束函数是严格可行的,即存在x对所有不等式约束函数都小于零,那么强对偶成立;注意的是,这只是强对偶成立的一种情况,在非凸问题中也可以得到强对偶;
强对偶成立时,将拉格朗日函数分别对原变量x和对偶变量α,β分别求导,令导数等于零(需要满足KKT条件),即可求解对偶问题的解,同时也求得原始问题的解;
在对偶问题求解中,如果原始问题不一定是凸优化问题时,在强对偶的情况下,要满足KKT条件;若原始问题是凸优化问题时,则强对偶和KKT条件时互为充要条件的。
边栏推荐
- OSPF实验演示(Huawei路由器设备配置)
- internship:传感器的编写示例
- 判断一个元素在一个数组中的位置插入以后后面所有的值后移
- PHP, TP5 keywords, word segmentation, fuzzy query and sorting according to query conditions
- Using LINGO to solve simple linear programming problems
- 15秒带货120W,这样的爆款视频你也能拍
- OSPF experimental demonstration (Huawei router device configuration)
- office 2013 自定义样式,并且将样式设置为目录
- 吉时利Keithley软件2400|2401|2410|2420|2425|2430 NS-SourceMeter源表软件
- Keithley software 2400 | 2440 | 2450 | 2460 | 2461 | 2470 ns SourceMeter source table software
猜你喜欢
ApacheCon Asia 2022 开启报名:Pulsar 技术议题重磅亮相
异常处理丨一个小案例,带你解决NullPointerException
吉时利Keithley软件2400|2440|2450|2460|2461|2470 NS-SourceMeter源表软件
运营商AI机遇:以大模型拓展全新赛道
Leetcode skimming: bit operation (find numbers that are different and appear only once)
During the attack and defense drill | know Chuangyu Zhao Wei: let the security ability grow on the cloud
吉时利Keithley软件2600系列2611B|2612B|2614B|2634B NS-SourceMeter源表软件
Qt之QML虚拟键盘
携手HMS Core分析服务,以数据助力游戏高效增长
jetbrans rider 格式化代码时,{}不换行
随机推荐
Buffer Overflow Vulnerability Lab实验记录
软件测试简历部分应该注意什么?
Qt在Win10下嵌入记事本
logisim计组实验十 单周期MIPS CPU
U++ UPROPERTY UFUNCTION 基础
懒癌福音!可替代LabVIEW的软件—ATECLOUD智能云测试平台
深入理解完美哈希
单域名SSL证书和多域名SSL证书有什么区别?
Mitsubishi PLC FX3U pulse axis return function block (mc_home_p)
Software testing: equivalence testing, decision table based testing and comprehensive problem analysis
Automatic test software faster than LabVIEW, atecloud cloud test platform evaluation
Node implements batch modification of file names (file renaming)
吉时利Keithley软件2600系列2611B|2612B|2614B|2634B NS-SourceMeter源表软件
Node实现批量修改文件名(文件重命名)
Qt之QML虚拟键盘
射频线缆自动测试系统,让你的测试效率提高60倍
吉时利Keithley软件2600系列2635B|2636B|2651A|2657A NS-SourceMeter源表软件
What is the difference between single domain name SSL certificate and multi domain name SSL certificate?
How to unlock HTC mobile phones officially
Detailed explanation of oracle:pl/sql basic syntax (selection structure, loop structure and cursor)