非线性约束最优化方法 ——乘子法1.1 研究背景最优化理论与方法是一门应用性相当广泛的学科,它的最优性主要表现在讨论决策问题的最佳选择性,讨论计算方法的理论性质,构造寻求最佳解的计算方法,以及实际计算能力。
伴随着计算数学理论的发展、优化计算方法的进步以及计算机性能的迅速提高,规模越来越大的优化问题得到解决。
因为最优化问题广泛见于经济计划、工程设计、生产管理、交通运输、国防等重要领域,它已受到政府部门、科研机构和产业部门的高度重视。
然而,随着人们对模型精度和最优性的要求所得到的优化命题往往具有方程数多、变量维数高、非线性性强等特点,使得相关变量的存储、计算及命题的求解都相当困难,从而导致大规模非线性优化很难实现。
因此,寻求高效、可靠的大规模非线性优化算法成为近年来研究的热点。
本文讨论的问题属于非线性约束规划的范畴,讨论了其中的非线性等式约束最优化问题方面的一些问题。
1.2非线性约束规划问题的研究方法非线性约束规划问题的一般形式为(NPL ) {}{}m in (),,s.t. ()0,1,2,...,,()0,1,2,...,ni i f x x R c x i E l c x i I l l l m ∈=∈=≤∈=+++其中,(),()i f x c x 是连续可微的.在求解线性约束优化问题时,可以利用约束问题本身的性质,但是对于非线性约束规划问题,由于约束的非线性使得求解这类问题比较复杂、困难。
因此,我们将约束问题转化为一系列无约束优化问题,通过求解一系列无约束优化问题,来得到约束优化问题的最优解。
我们用到的几类主要的方法有:罚函数法、乘子法以及变尺度法。
传统上我们所提出的非线性约束最优化方法一般都遵循下列三个基本思路之一1 借助反复的线性逼近把线性方法扩展到非线性优化问题中来2 采用罚函数把约束非线性问题变换到一系列无约束问题3 采用可变容差法以便同时容纳可行的和不可行的X 矢量其中源于思路2 的乘子罚函数法具有适合于等式及不等式约束不要求初始点为严格内点,甚至不要求其为可行点对自由度的大小无任何要求等特点。
1.3乘子法罚函数法的主要缺点在于需要惩罚因子趋于无穷大,才能得到约束问题的极小点,这会使罚函数的Hesse矩阵变得病态,给无约束问题的数值求解带来很大问题,为克服这一缺点,Hestenes和Powell 于1964年各自独立地提出乘子法。
所谓乘子法是:由问题的Lagrange 函数出发,考虑它的精确惩罚,从而将约束优化问题化为单个函数的无约束优化问题,它同精确罚函数法一样,具有较好的收敛速度和数值稳定性,且避免了寻求精确罚函数法中关于罚参数阈值的困难,它们一直是求解约束优化问题的主要而有效的算法。
考虑如下非线性等式约束优化问题:(NEP ) min f (x )s.t. 0)(=x c i , i=1,2,...,l 设*x为问题(NEP )的最优解,且它的 Lagrange 函数为)()(),(x c x f x L Tλλ-=其中Tl x c x c x c x c ))(),...,(),(()(21=,Tl ),...,,(21λλλλ=是与x 相对应的Lagrange 的乘子向量。
在一般正规假设条件(Fritz John 必要条件)下,),(**λx 是),(λx L 的稳定点,即0),(**=∇πx L x 。
因此,若能找到*λ,则),(*λx L 的极小值是*λ,那么求解问题(NEP )转化成求解一个无约束极小化问题。
然而),(λx L 的极小值往往不存在。
为了避免出现),(λx L 的极小值不存在的问题,我们构造增广Lagrange 函数)()(21)()(),,(x c x c x c x f x TTσλσλϕ+-=由于0),(**=∇πx L x ,则0)()()()(),(),,(********=∇=∇+∇=∇x c x c x c x c x L x x x σσλσλϕ这样*x是),,(*σλϕx 的一个稳定点。
由此可知,当*λλ=时,适当的选取σ可以使),,(*σλϕx 的无约束极小点就是问题(NEP ) 的最优解。
1.4 乘子法的相关定理和引理引理 设W 是n n ⨯阶矩阵,a 为n 阶向量,若对一切d 满足0,0Td a d ≠=,均有0Td W d >,则存在*σ>,使当*σσ≥时,矩阵TW aaσ+正定.证明 考虑集合{}1K d d ==,只需证明,,d K ∀∈当*σσ≥时,有()0.T Td W aa d σ+> (4.20)事实上,z ∀≠,则z d Kz=∈,则()0T Tz W aaz σ+>与()0TTd W aa d σ+>等价.令{}'0,,TK d d W d d K =≤∈若'K =∅,则,d K ∀∈有Td W d >,因此0σ∀>,有()TTTd W a a dd W dσ+≥>.因此假设'K ≠∅,当/'d K K ∈时,有0TdW d >,因此0σ∀>,有()0TTTd W aa d d W d σ+≥>.下面考虑'd K ∈,由于'K 是有界闭集,则函数TdW d与2()Tad 在'K上取到极小值,不妨设(1)(1)()T d W d 与(2)2()T a d 分别为函数的极小值,并且(2)0T a d ≠;否则由定理条件,有(2)(2)()0T dW d>与(2)'dK ∈矛盾.因此取(1)(1)*(2)2()0,()T TdW da dσ>>当*σσ≥时,有2(1)(1)(2)2()()()()0,TTTTT T d W aa d d W d a d d W da dσσσ+=+≥+>因此,,d K ∀∈(4.20)式成立. 定理1 设*x是问题(NEP )的最优解,且满足二阶充分条件,其相应的Lagrange 乘子为*λ ,则当σ充分大时,*x 为无约束优化问题),,(*minσλϕx x=的最优解,且满足二阶充分条件。
证 只要证明对于充分大的σ,使得0),,(**=∇σλϕx x 并且),,(**2σλϕx x ∇ 为对称正定矩阵,则命题成立。
由于*x是最优解所以l i x c i ,...,2,1,0)(*==∑=∇-∇=∇li i i x x c x f x 1*****)()(),,(λσλϕBB +∇=B B +∇-∇=∇∑=Tx Tli i i x x L x c x f x σλσλσλϕ),()()(),,(**21*2**2**其中))(),...,((**1x c x c l ∇∇=B 为l h ⨯阶的矩阵,有一阶必要条件知0),,(**=∇σλϕx x再有二阶充分条件可知,若对任意的{}0|)(*=B =∈y y x M y ,且0≠y ,有0),(**2>∇y x L y x Tλ 成立.因此,存在0*>σ,使得B B +∇Tx x L ***2),(σλ为对称正定矩阵.事实上,只需要证明B B +∇Tx x L ***2),(σλ在{}1|=∈=Ωy R y n上是正定的即可.对任意的Ω∈y ,2***2***2),()),((yy x L y y x L y x TT x TB +∇=B B +∇σλσλy x L y x T),(**2λ∇≥ 故只需证存在0*>σ使得B B +∇Tx x L ***2),(σλ在 {}0),(|**2≤∇Ω∈=Ω-y x L y y x Tλ 上正定.对任意的-Ω∈y ,2****2inf )),((y y x L y y T x TB +≥B B +∇-Ω∈σσσλ其中σ为),(**2λx L x ∇的最小特征值。
下面只需证明 0inf 2>B -Ω∈y y若0inf 2=B -Ω∈yy ,则存在-Ω∈k y,使得0lim=B ∞→k k y .因为{}k y 是有界序列,故有收敛子列,不妨设-Ω∈→y y k ,因此有0),(**2≤∇y x L y x Tλ.又由于0lim lim =B =B =B ∞→∞→k k k k y y y故)(*x M y ∈,这与0),(**2>∇y x L y x Tλ矛盾,从而有0inf 2>B -Ω∈yy ,这就证明了对于充分大的σ,矩阵B B +∇Tx x L σλ),(**2是对称正定的。
定理2 对给定的),...,2,1(l i i =λ和0>σ,设*x 是无约束优化问题),,(min σλϕx x=的最优解,且满足二阶充分条件.如果),...,2,1(0)(*l i x c i ==,则*x 也是问题(NEP )的最优解,且满足二阶充分条件. 1.5 乘子罚函数法乘子罚函数法是解决非线性等式约束优化问题的一种重要方法,它具有不要求初始点为严格内点,不要求其为可行点,对自由度的大小无任何要求的特点 ,它利用Lagrange 乘子求近似解的方法逼近原问题最优解,而不需要无穷大的罚因子,因此对它的研究有重要的理论和实用价值 .最早的乘子罚函数法是由 Henstenes (1969)针对等式约束问题导出的,其形式为:22)(2)()(),,(x c x c x f x p Tσλσλ+-=增广Lagrange 函数的另一种等价形式是在1969年由Powell 提出的,其特征是对)(x c i 进行平移,即用i i x c θ-)(代替)(x c i ,i θ 是参数,由此Powell(1969)得到罚函数:21))((2)()(),,(∑=-+-=mi iiTx c x c x f x p θσλσλ当构造出函数(,)x φσ后,可以通过求解一个无约束问题得到约束问题的最优解.但事实上,做到这一点很困难.因为(,)x φσ中的*λ未知,在得到*x 之前,我们是无法知道它的.为了克服上述困难的我们用参数λ代替*λ,得到增广Lagrange 函数也就是我们所说的乘子罚函数2(,,)()()(),2x f x c x c x σφλσλ=++考虑其相应的无约束问题min (,,),x φλσ其最优解为(,).xx λσ=由前面定理1我们知道,只要当σ充分大(不一定趋于∞),就有**lim (,).x x λλλσ→=因此,要想求得*x ,只需要不断的调整参数λ使之逐渐接近最优乘子*λ.下面考虑如何调整参数λ,使它逐渐接近*λ在给定(),k k λσ后,求解无约束问题()m in (,,),k k x φλσ其最优解为()k x.由无约束问题的一阶必要条件有()()()()()()()(,,)()()()()0,k k k k k k k x k k xf xc xc xc xφλσλσ∇=∇+∇+∇=当k σ充分大时,由*lim (,)x x σλσ→∞=可知 ()*()*()*,()(),()(),k k k xx f xf x c xc x ≈∇≈∇∇≈∇因此有*()()*()[()]()0k k k f x c xc x λσ∇++∇≈而在*x 处,由约束问题的一阶条件有***()()0,f x c x λ∇+∇=所以有*()()(),k k k c xλλσ≈+这样得到乘子迭代公式(1)()()().k k k k c xλλσ+=+最后就是算法的终止准则条件若()k x 是无约束问题的局部解,并且满足() ()0k c x =,则有()()()()()0,k k k f xc xλ∇+∇=因此,()k x 是约束问题的K-T 点,()k λ为相应的乘子. 有定理2知()k x 是约束问题(NEP )的最优解,停止计算.因此其终止准则为ε≤)(kx c其中ε是指定的精度要求. 1.6 结论从原问题的Lagrange 函数出发,加上适当的罚函数,从而将原问题转化为一系列的无约束优化问题。