《Convex Optimization》
之前,讲的下降方法以及Newton方法都是在无约束条件的前提下的。这里讨论的是在等式约束(线性方程)的前提下讨论的。我们研究的是下面的凸优化问题:
minimizef(x)s.t.Ax=b
其中f:Rn→R,A∈Rp×n,rankA=p<n
请不要怀疑rankA=p<n条件的可靠性,否则,只需找出其线性无关组即可。而且,显然,如果Ax=b如果无解,那么优化问题同样无解。
通过对对偶问题,及KKT条件的分析,可以知道,该优化问题存在最优解的充要条件是,存在v∗∈Rp满足:
Ax∗=b,∇f(x∗)+ATv∗=0
策略一 消除等式约束
我们首先确定矩阵F∈Rn×(n−p)和向量^x∈Rn,用以参数化可行集:
{x|Ax=b}={Fz+^x|z∈Rn−p}
只需,^x为Ax=b的一个特解即可。F是值域为A的零空间的任何矩阵(满足A(Fz)=0,即Fz可以取得所有Ax=0的解)。于是等式约束问题就可以变为无约束问题:
minimize˜f(z)=f(Fz+^x)
我们也可以为等式约束构造一个最优的对偶变量v∗:
v∗=−(AAT)−1A∇f(x∗)

另外需要注意的是,如果F是一个消除矩阵,那么任意的FT同样也是合适的消除矩阵,其中T∈R(n−p)×(n−p)是非奇异的。
策略二 Newton方向
我们希望导出等式约束问题:
minimizef(x)s.t.Ax=b
在可行点x处䣌Newton方向Δxnt,将目标函数换成在x附近的二阶泰勒近似:
minimize^f(x+v)=f(x)+∇f(x)Tv+12vT∇2f(x)vs.t.A(x+v)=b
注意上述问题时关于v的优化问题。
根据我们在文章开头提到的最优性条件,可以得到:

其中Δxnt表示Newton方向,w是该二次问题的最优对偶变量。
另外一种解释
我们可以将Newton方向Δxnt及其相关向量w解释为最优性条件
Ax∗=b,∇f(x∗)+ATv∗=0
的线性近似方程组的解。
我们用x+Δxnt代替x∗,用w代替v∗,并将第二个方程中的梯度项换成其在x附近的线性近似,从而得到:
A(x+Δxnt)=b,∇f(x+Δxnt)+ATw≈∇f(x)+∇2f(x)Δxnt+ATw=0
利用Ax=b,以上方程变成:
AΔxnt=0,∇2f(x)Δxnt+ATw=−∇f(x)
这上面定义的一样。
Newton减量——停止准则
我们将等式约束问题的Newton减量定义为:
λ(x)=(ΔxTnt∇2f(x)Δxnt)1/2
这和无约束情况表示的是一样的,因此也可以进行同样的解释。
f在x处的二阶泰勒近似为:
^f(x+v)=f(x)+∇f(x)Tv+(1/2)vT∇2f(x)v
f(x)与二次模型之间的差值满足:
f(x)−inf{^f(x+v)|A(x+v)=b}=λ(x)2/2
从上面可以看出,λ2(x)/2对x处的f(x)−p∗给出了基于二次模型的一个估计,这可以作为设计好的停止准则的基础。
可行下降方法的算法
注意,下面的算法初始点为可行点。

Newton方法和消除法
对原始问题采用Newton方法的迭代过程和对利用消除法简化后采用Newton方法过程完全一致,证明翻阅《凸优化》。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix