1. 引言
本文考虑如下非线性半定规划问题(NLSDP):
(0.1)
其中函数
,
,
是连续可微函数。
表示所有m阶实对称矩阵构成的矩阵空间。
表示A为半负定矩阵,
表示A为负定矩阵。
非线性半定规划在工程设计,最优控制,经济,金融等领域有着广泛的应用(见文 [1] [2] [3] )。基于非线性规划的罚函数法思想,一些学者提出了求解非线性半定规划的罚函数型算法。文 [4] 引进了非线性半定规划罚函数,结合线搜索策略提出了一个罚函数型的序列半定规划算法;文 [5] 基于罚函数技术和二阶校正方向,提出了一个超线性收敛的序列半定规划算法;文 [6] 通过由两个具有相同系数矩阵的线性方程组产生主搜索方向,罚函数作为效益函数用于线搜索确定步长,提出非线性半定规划的一个序列线性方程组算法;文 [7] 的第3章通过引进罚函数作为效益函数建立了一个超线性收敛的序列半定规划算法。
本文是将文 [8] 中产生搜索方向的子问题的构造策略和罚参数的更新策略推广到非线性半定规划,建立一个求解非线性半定规划的线搜索精确罚函数方法。在每次迭代中通过求解一个二次半定规划产生搜索方向的某个精确罚函数作为效益函数,用于线搜索确定步长。而且构造了一个信赖域子问题,并且借助信赖域子问题的最优解更新罚参数。在较温和的条件下算法具有全局收敛性。
2. 算法
为方便起见,下面引进矩阵函数的微分算子和伴随算子的记号。
对于连续可微矩阵函数
,记其微分算子
为
且对任意的
,有
记
的伴随算子为
,且
,有
其中
表示矩阵A与B的内积,且
,
表示矩阵的迹。定义NLSDP (0.1)的Lagrange函数为
其中
。
定义1.1:设
是NLSDP (0.1)的可行点,若存在向量
和矩阵
满足如下条件:
则称
是NLSDP (0.1)的一个KKT点,称
为对应于
的Lagrange乘子。
定义NLSDP (0.1)的约束违反度函数如下:
(1.1)
其中
表示矩阵A的最大特征值,
,
简记为
,
表示欧氏范数。定义NLSDP (0.1)的罚函数如下:
(1.2)
其中
为罚参数。设当前迭代点为
,构造约束违反度函数
线性模型如下:
(1.3)
构造罚函数
的二次模型如下:
(1.4)
其中矩阵
是NLSDP (0.1)的Lagrange函数的Hesse阵或其近似阵。对于给定的罚参数
,使用(1.4)产生搜索方向,即求解如下无约束问题(简记
):
(1.5)
记上述问题的最优解为
。由于
是非光滑问题,求解较为复杂,因此将其等价转化为如下光滑问题:
(1.6)
其中
为m阶单位矩阵。记其解为
。
为更新罚参数,类似文 [8] ,构造如下信赖域子问题(简记
):
(1.7)
其中信赖域半径
。记其解为
。由于
为非光滑问题,因此将其等价转化为如下光滑问题:
(1.8)
下面给出算法的具体步骤。
算法A:
步骤0:(初始步)任取
,
(单位阵),
,
,
,
,
。令
。
步骤1:求解子问题
得最优解
。若
并且
,则算法终止,否则转步骤2。
步骤2:若
且
,则转步骤5。
步骤3:求解子问题
得最优解
。若
(1.9)
则算法终止,否则转步骤4。
步骤4:(更新罚参数)
步骤4.1:若
,则取
且使得如下等式成立
(1.10)
其中
是子问题
的解,转步骤4.3。
步骤4.2:若
,则取
,若如下不等式
(1.11)
成立,则转步骤4.3,否则取
使得(1.11)成立,转步骤4.3,其中
是子问题
的最优解。
步骤4.3:(二次模型预估下降量)若不等式
(1.12)
成立,则令
,否则通过下式更新罚参数
:
(1.13)
其中
。
步骤4.4:求解子问题
得最优解
,转步骤5。
步骤5:(线搜索)令
为序列
中满足如下不等式的最大值:
(1.14)
则令
。
步骤6:(更新步)利用某种方式更新
为对称正定矩阵
,取
,
,
,转步骤1。
3. 全局收敛性
本节将分析算法A的适定性。为此,需作如下基本假设:
假设A:
A1:函数
是二阶连续可微;
A2:算法A产生的序列
包含于某个紧凸集中;
A3:存在正常数a和b,使得
。
现将非线性规划的稳定点和不可行稳定点的定义(见文 [9] )推广到非线性半定规划。
定义2.1:设
,若对于任意非零向量
,函数
的方向导数
,则称x为
的一个稳定点。
定义2.2:设
,若对于任意向量
,有
,则称x为NLSDP (0.1)的一个稳定点。同时若
,则称x为NLSDP (0.1)的一个不可行稳定点。
引理2.1:设
为当前迭代点,则
(2.1)
证明:由文 [4] 的引理5知
(2.2)
另外,对于
,由文 [4] 的引理5知
令
,可得
(2.3)
由(2.2)和(2.3)即知(2.1)的第一个式子成立。由方向导数的定义以及(2.1)的第一个式子即知(2.1)的第二个式子成立。
引理2.2:设当前点为
,则如下结论成立:
(1)
为
的稳定点当且仅当子问题
的最优解
。
(2) 若
为
的稳定点且
,则
是NLSDP (0.1)的一个KKT点。
(3)
为
的稳定点当且仅当对于任意给定的信赖域半径
,子问题
的最优解
满足如下等式:
(2.4)
证明:(1) 子问题
的最优解
当且仅当对于任意方向
,有
。再由引理2.1和稳定点的定义知结论成立。
(2) 若
是
的稳定点,则由结论(1)知子问题
的最优解
。由子问题(1.6)的KKT条件可得
(2.5a)
(2.5b)
(2.5c)
(2.5d)
(2.5e)
将
代入,即有
(2.6a)
(2.6b)
(2.6c)
(2.6d)
(2.6e)
由
知
为NLSDP (0.1)的可行点,故结合(2.6b),(2.6c)和
知
。再结合(2.6a),(2.6d),(2.6e)即知
是NLSDP (0.1)的KKT点。
(3) 由引理2.1知
是
的稳定点当且仅当0是
的稳定点,结合
是凸函数知0是
的一个最优解,因此,
,结合
即得
。反之,若
,即0是子问题
的一个最优解,由此知0是
的稳定点,于是对任意方向
,有
。由引理2.1即知
是
的稳定点。
为了方便起见,记
(2.7)
则由(1.4)知
。下面引理给出算法A的适定性。
引理2.3:设当前点
既不是NLSDP (0.1)的KKT点,也不是约束违反度函数
的稳定点,则以下结论成立:
(1) 若算法A执行到步骤4,则当
时,存在
,使得(1.10)式成立;当
时,存在
,使得(1.11)式成立。另外,若(1.12)不成立,则通过(1.13)式产生的
满足如下不等式:
(2.8)
其中是子问题
的最优解。同时该
也满足不等式(1.10)和(1.11)。
(2) 若算法A执行到步骤5,则
是罚函数
在
处的下降方向,并且总存在步长
,使得(1.14)式成立。
证明:(1) 若算法A执行到步骤4,由于子问题(1.8)的最优解
是子问题(1.6)的可行解,故有
(2.9)
若
,则由上式知(1.10)成立。若
,注意到
。由于0是子问题(1.7)的可行解,因此有
。于是由(2.9)有
故(1.11)式成立。
若(1.12)不成立,注意到当前的
为步骤4.1或步骤4.2更新后的罚参数且子问题
的最优解是
,下面分两种情况讨论:
若
,注意到
是子问题
的最优解,则有
。因此,
,即(2.8)成立。
若
,则
,故
。
记
,往证
。
若(1.10)成立,则
若(1.11)成立,结合
及
,则有
由此可知
。
接下来证明
满足(2.8)。由(1.13)得
结合
和(1.4),得
即
满足(3.8)。
最后证明
满足(1.10)和(1.11)。设罚参数
,由于
是子问题
的最优解,故有
,即
两式相减,得
,因此,
是关于罚参数
的单调减函数。由于(1.12)式不成立,故有
,结合
,化简得
结合(1.13)式,可得
,因此有
(3.10)
若
,则由(2.10)和(2.9)得
,故
,即
满足(1.10)式。
若
,则由(2.10)和(2.11)得
即
满足(1.11)式。
(2) 若
不是罚函数
的稳定点,则由引理2.2 (1)知
。由于
是凸的且
为
的最优解,故有
。由方向导数的定义和
的凸性得
因此,
是
在0处的下降方向。由引理2.1可得:
因此,
是罚函数
在
处的下降方向。从而当
充分小时,有如下不等式成立:
(2.11)
由
的凸性可得
,故有
结合引理2.1和(2.11),可知不等式(1.14)成立。
若算法有限步终止,则由引理2.2知当前点
或为NLSDP (0.1)的KKT点,或为NLSDP (0.1)的不可行稳定点。在以下讨论中,不妨假设算法A产生无穷序列
且
为其任一聚点。
类似文 [8] 的证明,可得如下引理成立。
引理2.4:若假设A成立,则对于任意
,子问题
的最优解
包含于如下闭球:
其中,
,
是子问题
的解集中最小范数值点。
下面给出算法A的全局收敛性定理。
定理2.1:若假设A成立,罚参数序列
有界,算法A产生无穷序列
且
为其任一聚点,则
(1) 若
,则
为NLSDP (0.1)的一个KKT点;
(2) 若
,则
为NLSDP (0.1)的一个不可行稳定点。
证明:由算法A和假设可知,罚参数序列
是单调不减且有界,因此,存在常数
,当k充分大时,有
。记
,不失一般性,当
时,设
。记
是子问题
的最优解,往证
。
(反证)假设
,则
。于是有
记
,其中
。因此存在指标
,当
时,由上式和
得
(2.12)
当
足够小时,由引理2.4,(1.1),(1.3),假设A1和Taylor展开式得
(2.13)
由引理2.4,(1.3),假设A及Taylor展开式得
(2.14)
其中
介于
与
之间。
由(2.13)和(2.14)知当
足够小时,有
故存在一个常数
,使得
(2.15)
由
的凸性可得
(2.16)
由
的定义知
,结合(2.12),(2.15)和(2.16),可得
若
,结合上式,则知(1.14)成立。由步长
的选择可知,
(2.17)
注意到
是子问题
的最优解,可以证明
(2.18)
(反证)假设上式不成立,则
。由(1.4),假设A2以及上式可得
这与“
是
的最优解”矛盾。因此不等式(2。18)成立。
由假设A1,(2.17)和(2.18)可知,存在常数
,使得
成立,于是结合(1.14)和(2.12)可得
,由此可推知
,这与“
有界”矛盾。因此,
。
于是由引理2.2 (1)知
是罚函数
的稳定点。若
,则由引理2.2 (2)知
为NLSDP (0.1)的KKT点,即结论(1)成立。
若
,往下证明
为NLSDP (0.1)的不可行稳定点。
下面证明
。由于
,则当
充分大时
(2.19)
由步骤4.3知
(2.20)
因此,由(2.19)和(2.20)有
。由此可知
,
从而
,于是由引理2.2 (3)可知
是
的稳定点。又因
,所以
是NLSDP (0.1)的不可行稳定点。
4. 数值试验
为了验证算法A的可行性与有效性,本节利用MATLAB (2014a)实现了算法,程序运行环境为:Windows 7 (64 bite),RAM: 4G,CPU 3,60 GHz。测试的算例来自于文 [10] [11] [12] 中的静态反馈控制问题(SOFP),即
在算法实现中,选取 [12] 的初始点为
,其中
为给定的数。选取的参数如下:
终止准则为:
。数值结果见表1,表中的主要符号含义如下:
问题:COMPleib算例库的算例名称;
n:自变量维数;
m:半定约束矩阵的阶数;
p:等式约束个数;
f*:最优函数值;
Iter:算法迭代次数;
P*:最优解的约束违反度函数值;
Time:计算机运行时间(秒)。
5. 结束语
本文提出了一个线搜索精确罚函数法。搜索方向由二次半定规划子问题产生,罚函数作为效益函数用于线搜素,线搜索保证效益函数的充分下降;罚参数在算法中自动更新,且罚参数的更新策略依赖信赖域子问题的最优解。在适当的条件下算法具有全局收敛性。
基金项目
获国家自然科学基金(No. 11561005),广西自然科学基金(No. 2016GXNSFAA380248)资助。