约束问题形式
P问题
{min f(x)gi(x)≤0,i=1,...,mhi(x)=0,i=1,...,l,x∈Rn
约束问题局部解的一阶必要条件-KKT条件
若约束问题满足如下条件
1.f(x),gi(x),hi(x)具有连续的一阶偏导数
2.x∗是约束问题的局部最优解
3.在x∗处约束限制条件成立,这里注意,下面方程中的元素都要带∗,表示只有最优解才满足KKT条件
则可以推出⇒
⎧⎪
⎪
⎪
⎪
⎪
⎪
⎪⎨⎪
⎪
⎪
⎪
⎪
⎪
⎪⎩∇L(x∗,λ∗)=∇f(x∗)+∑mi=1λ∗gi(x)+∑li=1μ∗hi(x)=0,(这里注意,若x=(x1,x2,...)T,则∂L∂xi=0,对每个变量xi都偏导=0,参看案例2)hi(x∗)=0,i=1,...,lgi(x∗)≤0,i=1,...,mλ∗i≥0,i=1,,,mλ∗igi(x∗)=0,i=1,...m
最后一条很重要,意思是要么约束起作用gi(x∗)=0,要么约束不起作用λ∗i=0,称为互补松弛条件
定理的证明比较复杂,可以参看b站崔雪婷老师的授课,还有相关的几何解释,比较直观
约束限制条件
KKT条件中其他都好办,唯有约束限制条件未说明,注意约束限制条件不止一种,下面举几个例子
1.约束函数都是线性函数
所有的gi(x),hi(x)都是线性函数
其实这里可以删除那些不起作用的gi(x),按照崔雪婷书上的表达式是gi(x),i∈I(x∗),hi(x)都是线性函数,I(x∗)是有效约束指标集,通俗讲就是起作用的那些个gi(x)
2.Linear Independence CQ - LICQ
∇gi(x∗),∇hi(x)线性无关,同样这里的gi(x∗)可以为i∈I(x∗),(LICQ)
3.Slater CQ (SLCQ) -Slater条件(这个比较常用,因为在对偶理论中也用得到)
对于如下约束问题
⎧⎨⎩min f(x)s.t. gi(x)≤0,i=1,...,mAx=b
那么Slater条件定义为:存在一点x∈relint D(相对内部的意思),使得下式成立
fi(x)<0,i=1,...,m且Ax=b,并且我们称这一点为严格可行的
其他相关CQ可以参考
https://zhuanlan.zhihu.com/p/85441448?from_voters_page=true
案例
f(x)=(x−3)2,0≤x≤5,求min f(x)
1.规范化
{−x≤0x−5≤0
2.看约束,引入2个广义乘子λ∗1,λ∗2
必须要求λ∗1,λ∗2≥0
3.构建拉格朗日函数
L(x,λ∗1,λ∗2)=f(x)+λ∗1g1+λ∗2g2
=(x−3)2+λ∗1(−x)+λ∗2(x−5)
4.联立方程组
⎧⎪⎨⎪⎩∂L∂x=2(x−3)−λ∗1+λ∗2=0λ∗1(−x)=0λ∗2(x−5)=0
5.解方程组,注意,一般仔细讨论解的情况
1)λ∗1≠0,x=0,λ∗2=0,2(0−3)−λ∗1=0,λ∗1=−6,此时λ∗1<0,不成立
2)λ∗1=0,2(x−3)+λ∗2=0,λ∗2(x−5)=0,求这个方程组,⇒x=3,5
2.1)继续分情况讨论,λ∗1=0,x=3时,λ∗2=0,这个解成立
2.2)λ∗1=0,x=5,λ∗2=−4,不成立
λ∗1=0,x=3,λ∗2=0
以上是λ∗1角度的讨论
λ∗2(x−5)=0,λ∗2=0或者x−5=0,x=5(上面讨论过了,舍弃)
λ∗2=0不会出现新的解
最终答案
λ∗1=0,x=3,λ∗2=0
案例2
f(x,y)=x2+2y,在x2+y2=≤1,求f(x,y)min
1.规范化,g1=x2+y2−1≤0
2.构建L(x,y,λ∗1)=x2+2y+λ∗1(x2+y2−1),λ1≥0
3.⎧⎪
⎪⎨⎪
⎪⎩∂F∂x=2x+2λ∗1x=0∂F∂y=2+2λ∗1y=0λ∗1(x2+y2−1)=0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)