1. 引言
本文考虑以下凸优化问题:
(1.1)
其中
是非空紧凸集,函数
是一个闭凸函数。假设上述优化问题的解集
非空,则对于
,目标函数f满足如下不等式:
(1.2)
其中目标函数f在此点的函数值为
,次梯度为
,且常数
,
,
是定义在
上的范数,
表示相应的内积。当
时,函数
是非光滑函数;当
时,函数
是光滑函数;当
时,函数
是弱光滑函数。文献 [1] [2] [3] [4] 证明了对任意的
,任何的一阶算法为找到(1.1)的一个
-解,即可以找到一个点p使得
,算法所需要计算f的一阶信息即次梯度的次数无法小于
。
本文主要讨论水平束类算法,该类算法利是用当前所有迭代点处的函数值和次梯度产生线性化函数,通过对这些线性化函数取最大,产生一系列近似凸多面体称切平面模型,再极小化割平面模型来逼近原目标函数,并利用切平面模型来产生一系列关于最优值
的上界和下界,该类方法主要是通过迭代不断压缩上下界的间隙来找到原问题的一个近似解。然而,在很多实际问题中,函数在某点的精确的一阶信息(函数值和次梯度)可能比较难甚至是无法计算。因此,设计有效的算法利用近似的一阶信息求解目标函数并使其具有理论上最优的迭代复杂度的近似算法具有重要的理论意义和实际应用价值。目前,关于近似水平束类算法已经有了很多的研究,梁玲 [5] 提出了非光滑优化基于非精确的加速水平束方法,陈韵梅和张维 [6] 提出了基于近似一阶信息的加速水平束方法,近似解达到了最佳精度以及相应的迭代复杂度。本文主要基于Lan [7] 引入的多步加速策略和采用的非欧式距离函数结合陈韵梅 [6] 提出的基于近似一阶信息的加速水平束方法,提出了基于近似一阶信息的改进的加速水平束方法,简记为“IMAPL”。该方法采用非欧几里得距离代替水平束方法中的欧氏距离,从而可以充分利用可行集的几何结构,大大提高了计算速度。文献 [5] “IAPL”非精确数据的加速邻近水平束方法有效性依赖于两个子问题的求解:第一是为了计算原问题的最优值的下界需要求解一个线性规划问题;第二个是为了更新迭代点需要去求解一个二次规划问题。本文对近似一阶信息的加速邻近水平束方法进行改进,去掉了第一个子问题的求解,第二个子问题用来定义新的迭代点和更新下界,并且可以根据可行集具体的几何结构选择合适的邻近函数。
2. 算法设计
本文采用非精确的一阶信息,即在每一次迭代中,对
,产生函数f满足以下条件的近似一阶信息:
(2.1)
其中,
和
分别叫做函数f在点x的近似函数值和近似次梯度,
的定义如下:
(2.2)
根据(2.1)和f的凸性可以得到
(2.3)
假设目标函数(1.2)的近似一阶信息满足下面条件,即对
,函数f在这点的近似一阶信息
满足如下不等式:
(2.4)
为了方便算法的描述和定理的证明的需要,下面给出一些基本知识。
定义邻近函数:
(2.5)
其中,函数
是集合X上系数为
强凸函数,
为函数
的邻近中心。
记集合X对应于函数
的大小为:
(2.6)
记
为函数f在X上的水平集,假如存在一个紧凸集
,满足
,则称集合
为水平集
的一个定位器。
定义间隙为:
. (2.7)
根据
的定义易知
是非负的,通过不断压缩间隙
,寻找原问题(1.1)的近似最优解。该算法的主要思想是利用目标函数的近似一阶信息来产生线性化,进而产生最优值
的上下界,然后不断压缩上下界的间隙来得到给定精度的最优解,算法由外迭代和内迭代子程序构成,每调用一次内迭代子程序,最优值上下界之间的间隙都会随着减少一个常数倍,下面给出算法的具体步骤:
算法
步骤0 (参数选取) 给定精度
,选取参数
,初始模型精度
。
步骤1 (初始化) 给定初始点
,令
,
,
,令
。
步骤2 (终止准则) 如果
,则终止算法,输出近似解
。
步骤3 (调用子程序) 令
,
为当前模型精度,
。
步骤4 (循环) 令
,返回步骤2。
注1:(1)
是在内循环时计算水平参数的一个参数,每当s增加1,算法IMAPL进入下一个阶段,该算法的每一次外迭代主要判断最优值的上下界间隙与给定精度的大小,若间隙大于给定精度,则调用子程序来压缩间隙,否则,终止算法,输出近似最优解。
下面给出算法的内迭代子程序的具体过程,选定一个搜索点p和最优值
的下界
,输出新的搜索点
和新的下界
满足
,其中
且依赖于算法外迭代的输入参数
。
算法内迭代子程序:
。
步骤0 (初始化)令
,
,
,
。选取
,
,考虑由(2.5)定义的邻近函数
,令
。
步骤1 (更新割平面模型)令
(2.8)
(2.9)
(2.10)
步骤2 (更新迭代点和下界)令
(2.11)
若
,则终止程序,输出
,
。
步骤3 (更新上界)令
(2.12)
(2.13)
令
,如果
,则终止程序,并输出
,
。
步骤4 (更新定位器)选取任意多面体集
满足
,其中
(2.14)
步骤5 (循环)令
,返回步骤1。
注2:步骤0中初始上下界来自于算法的外循环,水平值是初始上下界的凸组合,是固定不变的;步骤1中为了保证算法有限次终止,算法中步长
的选取需要满足一定的条件;该算法在步骤2和步骤3分别有终止出口,当上界有显著下降或者下界有显著上升,则终止内循环;步骤4中定位器的更新是可以任意选取集合
满足
,我们选取
在这两个集合中间,能够控制(2.10)中约束的数目,减少迭代次数。
引理2.1 对内迭代子程序
由下列结论成立:
(a)
是水平集
的定位器,即
,
成立。
(b) 对任意的
,有
。
(c) 如果
,则对任意的
,可以找到
使得
成立。
(d) 如果
,则子问题(2.11)有唯一解。如果程序在步骤2终止,则水平值l为最优值的一个下界,即
成立。
证明:(a) 用数学归纳法:
1) 当
时,显然有
成立;
2) 假设
时,有
成立,往证
;
3) 由
的定义(2.9)和f的凸性可知,
成立,结合ii)对
有
且
成立,根据
的定义(2.10)可得
,又因为
可知
,综上可知,
是水平集
的定位器。
(b) 由内迭代子程序的步骤3可以知道,
,故对任意的
时,有
。
(c) 由(a)的证明可知,
成立,根据子程序的步骤4可知
,否则子程序在步骤2终止,下证
成立。
根据子问题(2.11)的一阶最优性条件可知:
,即
,由法锥的定义有
,
。再根据
的定义(2.14)可知,对
有
,所以
,即存在
满足
,
。
(d) 根据
的定义(2.10)和X的紧凸集可知
是紧凸集,又因为
是强凸函数,如果
,则子问题(2.11)存在唯一解,如果程序在步骤2终止,那么意味着
,并且根据(a)可知
,所以
,于是对
,有
成立,从而
,
,即l是
的一个下界。□
为了保证内迭代子程序
能够终止且达到最优的迭代复杂度,需要选取合适的步长
,Lan在文献 [6] 中给出了序列
的一个广义的选取规则。Chen等 [7] 提出了一种更为简洁的选取方法,即序列
需要满足如下条件:
且
, (2.15)
其中,
且为常数,下面提供两个具体的
的选取的例子,可类似文献 [7] 来验证这两个例子满足(2.15)。
引理2.2 [8] (1) 若选取
,取
,条件(2.15)满足。(2) 若选取
满足以下递归关系:
,则当
,条件(2.15)满足。
引理2.3 [7] 当程序
终止时,有
。其中,
(2.16)
注意到
和
分别表示子程序
输入和输出最优值
的上界,引理2.3说明了每当程序
终止时,最优值
的上界和下界的差值总是减少了一个常数倍。
3. 收敛性与复杂度分析
本节将分析IMAPL算法的全局收敛性以及证明该算法终止时总的迭代复杂度。
定理3.1 在
中,如果步长
满足条件(2.15),那么对
,若
在第K次迭代没有终止,则下面结论成立:
(3.1)
证明:假设内迭代子程序
在第
次迭代没有终止,由(2.10),(2.11)可知
,同时由
,
,有
(3.2)
另外,由
的定义有
,又因为
,显然
成立,根据子问题(2.11)可知
,所以
,所以结合
的强凸性和子问题的最优性条件可以得到
(3.3)
所以,
(3.4)
由
的定义及(2.4)和(2.12)即知对
,有
由(2.4)
由(2.12)
由(2.3)和(2.10)
由(2.1)
由
的定义
对上式两边都减去l可得
(3.5)
对式(3.5)两边都除以
可得
(3.6)
当
时,
,上式(3.6)为
(3.7)
对
,由(2.15)知
,上式(3.6)为
(3.8)
对(3.8)从1到K求和再与(3.7)求和,有
所以,
,结合(2.15)和(3.4)可得
□
由上述定理,我们已经得到了
上界的一个估计,下面的定理将使用该估计来进一步计算子程序
满足步骤3中终止条件所需要的迭代次数。由于加速一阶算法无法避免受到误差累积效应的影响,在L、R和
固定的情况下,
并不能无限递减至零,而是存在着一个关于这些参数的一个最小值,以下定理说明了,在
满足一定的条件下,内迭代子程序
的迭代次数有一个上界。
定理3.2 在
中,如果步长
满足条件(2.15),且
满足如下条件
(3.9)
其中,根据间隙的定义(2.7),
表示每次调用
时输入的上界和下界的差值,即
,则内迭代子程序的迭代次数不超过
(3.10)
证明:由(3.1)结合
可得,
(3.11)
不等式右边达到最小时
(3.12)
将式(3.12)代入式(3.11)可得
解得,
。
因此(3.11)右边达到最小时,
因此有
(3.13)
观察内迭代子程序步骤3中终止条件
和水平值l的定义可知,
(3.14)
即步骤3的终止条件等价于(3.14),因此,由(3.13)可知,至少在第
次迭代后内循环终止。所以,内循环或者在满足步骤2中终止条件时提前终止或者最多在第
次迭代后满足步骤3中终止条件而终止,即内循环的迭代次数的上界
。 □
以下定理讨论算法的收敛性和迭代复杂度。
定理3.3 对于任意给定的
,如果算法中步长
选取满足条件(2.15),且对于任意的
均有
,其中
在(3.9)中定义,则算法将收敛到(1.1)的一个
解,且以下结论成立:
1) 调用内循环的次数不超过
(3.15)
2) IMAPL算法总的迭代次数不找过
(3.16)
证明:(1) 观察算法IMAPL的步骤1,并结合
和(2.4)容易得到
由(2.7)
由
的定义
由(2.4)
由(3.4)
同时,根据引理3.2可知,
,
,根据递推关系可以得到
,
(3.17)
容易看都
几何级数递减并必将最终小于
,因此可以假设在第
次调用
后首次得到一个
解,即算法在
时终止,则
(3.18)
结合
和(3.17)可以得到,
(3.19)
因此,
即,
(2) 假设IMAPL算法已经调用了
次子程序,对于
,根据(3.17)、(3.18)可得
即
,
则
结合引理2.1和(3.10),将调用子程序的所有迭代次数相加,得到算法IMAPL的总迭代次数不超过
其中,
表示算法第s次调用子程序时的迭代次数。
4. 结束语
本文提出了一个近似一阶信息的改进的加速水平束方法,该方法结合多步加速策略,引入了三个迭代点序列进行求解,并且通过引入邻近函数代替传统的欧式距离,进而充分利用可行集的几何集合,加快算法的收敛速度,并且与文献 [5] [6] 相比,减少了一个子问题的求解,从而可以减少算法的计算量。最后证明了算法的全局收敛性并分析了迭代复杂度。