我想解决具有非线性等式约束的非线性问题,并且我正在使用带有惩罚正则化项的增强拉格朗日算子,众所周知,它破坏了我的线性化系统的条件数(我的意思是在每次牛顿迭代时) . 惩罚项越大,条件数越差。有人知道在那种特定情况下摆脱这种不良条件的有效方法吗?
更具体地说,我使用的是经典的增广拉格朗日,因为我有很多通常可能是多余的约束。所以盲目地将约束直接合并到原始变量中是非常方便的。我直接在 KKT 系统上尝试了基于变量消除或有效预处理器的其他更复杂的方法,但是由于约束冗余,我遇到了一些麻烦。
关于问题你=[你1, ⋯ ,你n]变量被公式化为遵循我的拉格朗日形式
L ( u ,λ): = W( u ) + ρλ吨c ( u ) +ρ2C2(你)
所以一般来说,每次牛顿迭代的目标是解决以下形式的问题
A Δ u = b
使用(我们放弃约束的粗麻布)
一个( u , ρ ) : =∇2你W( u ) + ρC吨( u ) C(你)
和
b ( u , ρ ) : = - (∇你W( u ) + ( ρ +λ吨c ( u ) )∇你( u ) )
和首都C是为了C(你):=∇你c ( u ).
谢谢你。