本文提出了一个求解非线性半定规划的可行序列半定规划(SSDP)算法。该算法的初始点和迭代点均是可行点,在每次迭代中通过求解两个二次半定规划子问题确定搜索方向,步长由满足目标函数下降性和约束函数可行性的线搜索产生,在某些假设条件下本文证明了算法的全局收敛性。 This paper proposes a feasible SSDP algorithm for solving nonlinear semidefinite programming. The initial point and iteration points are feasible. The search direction is determined by solving two quadratic semidefinite programming subproblems. The step size is obtained by calculating the line search that satisfies the descent property of the objective function and the feasibility of the constraint function. The global convergence of the algorithm is proved under mild conditions.
何美玲,黎健玲*
广西大学数学与信息科学学院,广西 南宁
收稿日期:2020年2月2日;录用日期:2020年2月17日;发布日期:2020年2月24日
本文提出了一个求解非线性半定规划的可行序列半定规划(SSDP)算法。该算法的初始点和迭代点均是可行点,在每次迭代中通过求解两个二次半定规划子问题确定搜索方向,步长由满足目标函数下降性和约束函数可行性的线搜索产生,在某些假设条件下本文证明了算法的全局收敛性。
关键词 :非线性半定规划,可行SSDP,线搜索,全局收敛性
Copyright © 2020 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
本文研究如下仅带半负定矩阵约束的非线性半定规划问题(NLSDP):
min f ( x ) s .t . G ( x ) ≼ 0 , (1.1)
其中,函数 f : ℝ n → ℝ 和 G : ℝ n → S m 是光滑的函数, S m 表示m阶实对称矩阵空间, ≼ 表示半负定偏序,即 A ≼ B 表示 A − B 是半负定矩阵。
非线性半定规划问题在最优控制、结构设计、经济金融等领域有广泛应用 [
本文基于文 [
定义2.1:对于可微矩阵函数 G ( x ) : ℝ n → S m , G ( x ) 在 x ∈ ℝ n 处的微分算子 D G ( x ) 定义如下:
D G ( x ) : = ( ∂ G ( x ) ∂ x 1 , ∂ G ( x ) ∂ x 2 , ⋯ , ∂ G ( x ) ∂ x n ) T ,
G ( x ) 在x处沿着 d = ( d 1 , d 2 , ⋯ , d n ) n ∈ ℝ n 的方向导数 D G ( x ) d 为
D G ( x ) d = ∑ i = 1 n d i ∂ G ( x ) ∂ x i ,
相对应的伴随算子 D G ( x ) * 定义为
D G ( x ) * Y = ( 〈 ∂ G ( x ) ∂ x 1 , Y 〉 , 〈 ∂ G ( x ) ∂ x 2 , Y 〉 , ⋯ , 〈 ∂ G ( x ) ∂ x n , Y 〉 ) T , ∀ Y ∈ S m ,
其中 〈 · , · 〉 表示矩阵的内积,定义如下:
〈 A , B 〉 = Tr ( B T A ) = ∑ i = 1 m ∑ j = 1 n a i j b i j , ∀ A = [ a i j ] , B = [ b i j ] ∈ ℝ m × n .
定义2.2:设 x ∈ ℝ n 是NLSDP(1.1)的一个可行点,若存在矩阵 M ∈ S m 使得以下条件成立:
∇ f ( x ) + D G ( x ) ∗ M = 0 ,
G ( x ) ≼ 0 , M ≽ 0 , Tr ( M G ( x ) ) = 0 ,
则称x是NLSDP(1.1)的一个KKT点,M是相应的拉格朗日乘子,上式称为NLSDP(1.1)的KKT条件。
定义2.3:NLSDP(1.1)的约束违反度函数定义如下:
P ( x ) = λ 1 ( G ( x ) ) + = max { 0 , λ 1 ( G ( x ) ) } ,
其中, λ 1 ( A ) 表示矩阵A的最大特征值。
显然, P ( x ) = 0 当且仅当x为NLSDP(1.1)的一个可行点。
令 x k 为当前迭代点,构造如下的二次半定规划子问题(简记为QSDP):
min ∇ f ( x k ) T d + 1 2 d T H k d s .t . G ( x k ) + D G ( x k ) d ≼ 0 , (2.1)
其中 H k 为NLSDP(1.1)的Lagrange函数的Hesse阵或近似阵。
子问题QSDP(2.1)的解 d 0 k 为目标函数的下降方向,但不一定是可行方向,因此需对其进行修正,以便得到一个可行下降方向 d k 。
利用 d 0 k 对子问题QSDP(2.1)的约束不等式的右边进行扰动,得到如下的二次半定规划子问题:
min ∇ f ( x k ) T d + 1 2 d T H k d s .t . G ( x k ) + D G ( x k ) d ≼ − ‖ d 0 k ‖ v E m , (2.2)
其中 E m 为一个m阶的单位矩阵。
记NLSDP(1.1)的可行集为 Ω = { x ∈ ℝ n | G ( x ) ≼ 0 } 。本文需作以下基本假设:
假设1:集合 Ω 是非空的。
假设2:函数 f ( x ) , G ( x ) 是连续可微的。
假设3:存在正的常数a和b,使得
a ‖ d ‖ 2 ≤ d T H k d ≤ b ‖ d ‖ 2 , ∀ d ∈ R n .
求解NLSDP(1.1)的可行SSDP算法描述如下:
算法A:
步骤0:(初始化)选取参数 α ∈ ( 0 , 1 2 ) , β ∈ ( 0 , 1 ) , v > 2 。初始点 x 0 ∈ Ω , H 0 ∈ ℝ n × n 正定,令 k = 0 。
步骤1:(计算搜索方向)
步骤1.1:求解子问题QSDP(2.1)得 d 0 k 。如果 ‖ d 0 k ‖ = 0 ,则停止;否则,进入步骤1.2。
步骤1.2:求解子问题QSDP(2.2)得 d k ,令 θ k = ∇ f ( x k ) T d k 。
步骤2:(线搜索)计算序列 { 1, β , β 2 , ⋯ } 中第一个满足如下两个条件的步长 t k :
f ( x k + t d k ) ≤ f ( x k ) + α t θ k , (2.3)
G ( x k + t d k ) ≼ 0. (2.4)
步骤3:(更新)令 x k + 1 = x k + t k d k ,用某种技术产生新的对称正定阵 H k + 1 ,令 k = k + 1 ,返回步骤1。
为分析的简便,现作如下进一步假设:
假设4:子问题QSDP(2.2)有解 d k ,且 d k 满足如下条件:
‖ d k ‖ ≤ L , ∇ f ( x k ) T d k ≤ min { − ‖ d 0 k ‖ σ , − ‖ d k ‖ σ } .
其中 L > 0 , σ > 2 。
假设5:算法A生成的迭代点列 { x k } 有界。
基于假设条件1~3,易知下面引理成立。
引理2.1:假设1~3成立,则子问题QSDP(2.1)有唯一解 d 0 k ,并且存在矩阵 M k ∈ S m 满足QSDP(2.1)的KKT条件,即
∇ f ( x ) + D G ( x k ) ∗ M k + H k d 0 k = 0 , (2.5a)
G ( x k ) + D G ( x k ) d 0 k ≼ 0 , (2.5b)
M k ≽ 0 , (2.5c)
Tr ( M k ( G ( x k ) + D G ( x k ) d 0 k ) ) = 0. (2.5d)
引理2.2:假设1~3成立,如果 d 0 k = 0 ,则当前迭代点 x k 为NLSDP(1.1)的一个KKT点。
证明:将 d 0 k = 0 代入(2.5),结合定义2.2即知当前迭代点 x k 为NLSDP(1.1)的一个KKT点。
引理2.3:假设1~4成立,算法A的线搜索在有限次计算中生成步长 t k ,即算法A是适定的。
证明:由Taylor展开式知
f ( x k + t d k ) = f ( x k ) + t ∇ f ( x k ) T d k + o ( t ) ,
G ( x k + t d k ) = G ( x k ) + t D G ( x k ) d k + o ( t ) ,
由假设4知 θ k = ∇ f ( x k ) T d k < 0 。因为 α ∈ ( 0 , 1 2 ) ,所以存在 t ¯ k > 0 ,使得对任意 t ∈ ( 0 , t ¯ k ) ,有
f ( x k + t d k ) ≤ f ( x k ) + α t θ k ,
因为 G ( x ) 是连续可微函数,由子问题QSDP(2.2)的约束条件知
G ( x k ) + D G ( x k ) d k ≼ − ‖ d 0 k ‖ v E m ≺ 0 ,
从而有
λ 1 ( G ( x k ) + D G ( x k ) d k ) < 0 , (2.6)
而由 λ 1 ( ⋅ ) 的凸性可得
λ 1 ( G ( x k + t d k ) ) ≤ ( 1 − t ) λ 1 ( G ( x k ) ) + t λ 1 ( G ( x k ) + D G ( x k ) d k ) + o ( t ) ,
所以由 G ( x k ) ≼ 0 ,并结合(2.6)知存在 t ˜ k > 0 ,使得对任意 t ∈ ( 0 , t ˜ k ) ,有
λ 1 ( G ( x k + t d k ) ) ≤ 0 ,
从而
G ( x k + t d k ) ≼ 0 ,
综上所述知存在充分小的 t > 0 ,使得不等式(2.3)和(2.4)成立,故算法A适定。
若算法A产生有限的迭代点列,则由引理2.2知当前迭代点 x k 为问题NLSDP(1.1)的KKT点,因此,我们不妨假设算法A产生无限的迭代点列 { x k } ,本节将证明在适当的假设条件下算法A是全局收敛的。
引理3.1:假设1~5成立, x * 是 { x k } 的一个聚点,即存在子列 K ⊆ { 1 , 2 , ⋯ } ,使得 x k → K x * ,则 d 0 k → K 0 。
证明:(反证法)假设结论不成立,则存在子列 K ¯ ⊆ K 和常数 d _ > 0 ,使得当 k ∈ K ¯ 充分大时, ‖ d 0 k ‖ ≥ d _ 。
下面首先证明存在正数 t _ > 0 ,使得
t k ≥ t _ , ∀ k ∈ K ¯ ,
由假设4及子问题QSDP(2.2)的约束条件知对充分大的 k ∈ K ¯ ,有
θ k = ∇ f ( x k ) T d k ≤ − ‖ d 0 k ‖ σ ≤ − d _ σ , (3.1)
G ( x k ) + D G ( x k ) d k ≼ − ‖ d 0 k ‖ v E m ≼ − d _ v E m . (3.2)
由假设4知 ‖ d k ‖ ≤ L ,即 { d k } 有界,于是由Taylor展开式有
f ( x k + t d k ) = f ( x k ) + t ∇ f ( x k ) T d k + o ( t ) ,
对充分大的
所以对充分大的
同理,由Taylor展开式有
对充分大的
所以对充分大的
综上所述,存在正数
下面基于上述结论导出矛盾。对充分大的
因为
基于引理3.1以及子问题QSDP(2.1)的KKT条件(2.5),可得算法A的全局收敛性,即:
定理3.1:假设1~5成立,
本文将非线性规划可行SQP算法进行了推广,提出了一个求解非线性半定规划的可行SSDP算法。该算法的搜索方向是通过求解两个二次半定规划子问题产生,目标函数直接作为效益函数,线搜索保证目标函数下降和满足可行性。在适当的假设条件下,证明了算法的适定性和全局收敛性。该算法可以应用于对可行性有严格要求的实际问题。
获国家自然科学基金(No. 11561005),广西自然科学基金(No. 2016GXNSFAA380248)资助。
何美玲,黎健玲. 非线性半定规划的一个可行SSDP算法A Feasible SSDP Algorithm for Nonlinear Semidefinite Programming[J]. 应用数学进展, 2020, 09(02): 238-243. https://doi.org/10.12677/AAM.2020.92027
https://doi.org/10.1007/s10957-006-9102-z
https://doi.org/10.1007/s00158-016-1564-5
https://doi.org/10.1007/s10589-013-9545-8
https://doi.org/10.1007/s10107-007-0105-9
https://doi.org/10.1007/s10107-011-0449-z
https://doi.org/10.1007/s10107-010-0354-x
https://doi.org/10.1137/S1052623402417298
https://doi.org/10.1016/j.cam.2016.05.007
https://doi.org/10.1142/S0217595918500094
https://doi.org/10.1186/s13660-017-1415-y
https://doi.org/10.1016/j.ejor.2010.07.020
https://doi.org/10.1137/0325051