1. 引言
多目标优化是最优化理论的一个分支,它与非线性规划、泛函分析以及矩阵论等有着密切的关系,在金融投资、物流网络及国防军事等方面有着广泛的应用需求。鉴于多目标优化在实际生活中的重要作用,学者们自上世纪七十年代以来,针对多目标优化问题开展了大量研究。到目前为止,多目标优化在理论方面已经取得很多重要成果,一套平行于单目标最优化的理论体系正日趋完善[1],这为后续求解多目标优化问题提供了指导方向。
牛顿法具有较快的收敛速度,是求解单目标优化问题常用的方法之一。2009年,Fliege [2]首次将牛顿法推广到多目标优化问题中。Fliege通过求解一个极大极小问题来构造搜索方向,并且证明了当目标函数的二阶导数Lipschitz连续时,算法具有二阶收敛速度。虽然Fliege提出的多目标优化牛顿算法具有较快的收敛速度,但是在求解极大极小问题时的计算量较多,且计算难度大。Jiang [3]对Fliege提出的牛顿法进行改进,采用线性标量化方法,对目标函数的二次近似形式进行线性加权,将它们的和作为新的搜索方向,这样能够充分减少计算量,且算法在一定条件下同样具有二阶收敛速度。除牛顿法之外,最速下降法[4]、投影梯度法[5]、共轭梯度法[6]以及拟牛顿法[7]也已被扩展到多目标优化领域。
上述算法都是运用单调线搜索方法确定步长。对于单目标优化问题而言,单调线搜索方法非常有效,但是对于多目标优化问题来说,很难做到让每一个目标函数值在每一次迭代中都减小,且强制单调性会减慢求解方法的收敛速度,而非单调线搜索方法能有效避免这些不足。Zhang和Hager [8]提出一种平均值类型的非单调线搜索方法,并且证明了这种方法比单调线搜索方法和极大值非单调线搜索方法[9]更有效。
本文结合非单调线搜索技术,对Jiang [3]提出的单调算法进行改进,提出了非单调线性加权牛顿法。在一定的假设条件下证明了算法的收敛性,数值实验结果表明,在相同的条件下,本文提出的算法在求解多目标优化问题时的迭代次数及时间更少,能更加有效地求解多目标优化问题。
本文考虑如下多目标优化问题:
(1.1)
其中,
,
,
为开集。
在本文中,矩阵
的像空间用Im(A)表示,
。
表示目标函数F在x处的Jacobian矩阵,
表示第j个目标函数在x处的梯度,
表示第j个目标函数在x处的Hessian矩阵,
表示目标函数的第j个分量对应的权重系数,
且
。
在本文中,假设F在U上二次连续可微且目标函数每个分量Fj的Hessian矩阵都为正定矩阵,即
在多目标优化问题中,考虑如下偏序关系:
以下定义及引理均来源于文献[2]。
定义1.1 设
,若不存在
,使得
,则
是问题(1.1)的Pareto最优解或有效解(弱Pareto最优解或弱有效解)。
定义1.2 设
,若存在
的一个邻域
,且不存在
,使得
,则
是问题(1.1)的局部Pareto最优解或局部有效解(局部弱Pareto最优解或局部弱有效解)。
定义1.3 设
,若,则
为F的临界点(稳定点)。
引理1.1 设
,
,则有如下结论:
1) 若
是局部弱Pareto最优解,则
是F的一个稳定点。
2) 若U是凸集,F是凸向量函数,则当
是F的稳定点时,
是弱Pareto最优解。
3) 若
,有
其中,U是凸集,
,则当
是F的稳定点时,
是Pareto最优解。
2. 非单调线性加权牛顿算法
考虑多目标优化问题(1.1),在文献[2]中,定义x处的牛顿方向为
,
是如下无约束优化问题的最优解
(2.1)
在上述问题中,
是增量
的二次近似,我们需要在增量最大的情况下求得最小的搜索方向
。Fliege [2]将上述问题转化为约束优化问题,运用拉格朗日乘子法求得
。对于多目标优化问题来说,这种求解搜索方向的方法较为复杂,所需的计算量也比较大。
本文采用加权系数法求解搜索方向s,能够减少计算工作量,求解过程更加简便高效。考虑如下无约束优化问题:
(2.2)
由假设,
正定,这说明
是强凸的,从而问题(2.2)存在唯一的极小值点。
用
表示问题(2.2)的最优值,则有
(2.3)
(2.4)
基于上述讨论,我们将给出求解多目标优化问题的非单调线性加权牛顿算法(Nonmonotone Linear Weighted Newton),我们将它简称为NLWN算法,它的具体步骤如下:
算法2.1 (NLWN方法)
步1 选取初始点
,选取参数
,
,
,
,
,
,
。
步2 由和,分别求出
和
。
步3 若
,终止算法;否则,转步4。
步4 记
是使得下式成立的最小非负整数h:
(2.5)
步5 令
,
。
步6 更新
和
:
(2.6)
(2.7)
令
,转步2。
注记2.1 当
时,则有
。此时非单调线搜索退化成Armijo线搜索。
对于算法2.1,我们有以下引理。
引理2.1 [10]对于算法2.1的每一次迭代,总有
。
引理2.2 [10]设
是由算法2.1产生的序列。若
不是稳定点,则存在步长
满足(2.5)中的非单调线搜索准则。
下面的引理给出
与
的性质。
引理2.3 [2]在本文的假设下,有以下结论:
1)
,
。
2) 以下三个说法是等价的:
a) x不是稳定点。
b)
。
c)
。
3) 由(2.3)给定的函数
在紧集上有界,由(2.4)给定的函数
在U上连续。
3. 全局收敛性
在这一小节,我们将证明算法2.1的全局收敛性。在证明算法2.1的全局收敛性之前,给出如下假设和引理:
假设3.1
,
Lipschitz连续。
引理3.1 当假设3.1成立,且
满足非单调线搜索条件(2.5)时,下面的不等式成立:
(3.1)
证 若
,则(3.1)成立。
若
,由
满足(2.5)式可知,
,有
(3.2)
由假设3.1,
Lipschitz连续,则有
(3.3)
由(3.2)和(3.3)式可得
整理后可得
(3.4)
由引理2.3有
,从而
。此时(3.4)可写成
故引理3.1成立。
定理3.1 假设
有下届
,
,
。当假设3.1成立,且存在一个常数
使得下面的不等式成立时,
(3.5)
由算法2.1产生的序列
的任一极限点都是问题(1.1)的Pareto最优解。
证 首先证明下面的不等式,其中,
。
(3.6)
考虑下面两种情况:
(i) 使用非单调线搜索条件(2.5)及
,可得
令
,即得(3.6)。
(ii) 使用非单调线搜索条件(2.5)及
,由引理3.1,可得
再由(3.5)得
令
,即得(3.6)。
设
是
的极限点,接下来证明
收敛到问题(1.1)的Pareto最优解。
由
及
的更新公式(2.6)、(2.7),以及(3.6),有
(3.7)
(3.8)
由已知条件,
有下届。由引理2.1,有
,从而
也有下界。
对(3.8)的前n + 1项求和,得到
令
,得到
(3.9)
是
的极限点,设K是一个无限指标集,则有
。我们要证明
是Paroto最优解,即证
,用反证法证明。
假设
,即
,
,
,
,
时,有
。
从而有
(3.10)
由(3.7)可得
(3.11)
由(3.10)和(3.11)可得
这与(3.9)矛盾,从而假设不成立,即
。由引理1.1和引理2.3可知,
是问题(1.1)的Paroto最优解,也即,算法2.1产生的序列
的任一极限点都是问题(1.1)的Pareto最优解,故定理3.1成立。
4. 局部超线性收敛速度
我们在本小节给出算法2.1具有局部超线性收敛速度的证明。在证明之前先给出下面的引理及假设。
引理4.1 [2]设
,
,且
。若
,则
引理4.2 [2]设
,
。若
,则
引理4.3 [2]设
,定义
。若
,且满足
1)
,有
;
2)
,
,有
;
3)
;
4)
;
则
。
假设4.1
,
,
,
,有
。
假设4.2
,有
。
假设4.3
。
假设4.4
。
假设4.5
。
在上面的假设中,
,
,
。
下面给出算法2.1的局部超线性收敛定理及证明。
定理4.1 设
是算法2.1产生序列,若假设4.1~4.5成立,则序列
超线性收敛于问题(1.1)的局部Pareto最优解。
证 首先证明当k充分大时,
。
将
在
处二阶泰勒展开,得到
由引理2.1及
的定义,上式可写为
又由引理4.1,上式可写为
(4.1)
由假设4.4可得
,
则(4.1)可写为
上式说明,当k充分大时,
。
其次,证明算法2.1产生的序列
收敛于问题(1.1)的局部Pareto最优解。
由第一部分的证明,当k充分大时,
。即存在充分大的
,
,有
下面用归纳法证明:
1)
(4.2)
2)
(4.3)
当
时,经计算可知(4.2),(4.3)都成立。
假设当
时,(4.2),(4.3)成立,即
,
。
对(4.2),当
时:
从而(4.2)对
都成立。
由(4.2)及假设4.5可得
。又由假设4.1~4.5及引理4.3,得到
(4.4)
对(4.3),结合(4.4),当
时,有
从而(4.3)对
都成立。
由(4.2),(4.3)可得
(4.5)
从而
是柯西序列,存在
,使得
。
对(4.2)中的不等式两边同时取极限可得
(4.6)
由(4.5)可知,
收敛到0。由假设4.2及引理4.1可得
。又由引理2.3,得到
,即
是问题(1.1)的稳定点,由引理1.1可知,
是问题(1.1)的局部Pareto最优解。
最后,我们证明
超线性收敛到
。
定义
,
,
。
,令
。
,
,
。
,则
。
由(4.3)和假设4.5可得,
。
由三角不等式可得
即
。又
且
,从而
。
下面证明假设4.1~4.5对
也成立。
假设4.1 的结论对
成立,又
,
,故假设4.1对
也成立。
假设4.2 的结论对
成立,而
,故假设4.2对
也成立。
由
的定义可知
,从而
,故假设4.3对
也成立。
已知
,又
,即
,故假设4.4对
也成立。
对假设4.5,由
的定义及可得
(4.7)
由
的定义可得
又由(4.3),有
(4.8)
结合(4.7),有,故假设4.5对
成立。
综上,假设4.1~4.5对
成立。
由假设4.1~4.5对
成立可知,(4.6)对
和
也成立,又
,则有
(4.9)
由(4.4)和(4.9)可得
(4.10)
由(4.10)及三角不等式可得
(4.11)
由
的定义,(4.10)和(4.11)可得
又
是任意一个大于0的常数,故
超线性收敛到
。
5. 数值实验
本小节给出一些数值结果,以表明所提出的非单调线性加权牛顿法对求解多目标优化问题的有效性。实验使用MATLAB2016A软件,使用MATLAB中的FMINCON函数求解子问题从而获取搜索方向。在终止准则为
或最大迭代次数为500的条件下,将本文中的算法2.1与文献[3]中的算法(为方便起见,将文献[3]的算法记为算法2.2)作比较,在同样的参数设置下(具体的参数设置为:
,
,
,
),比较两个算法求解同一个多目标优化问题的迭代次数及时间。算法2.1与算法2.2的数值实验结果对比情况如表1所示。
Table 1. Comparison of numerical experimental results between Algorithm 2.1 and Algorithm 2.2
表1. 算法2.1与算法2.2数值实验结果的对比情况
算例名称 |
初始点
|
算法2.1 |
算法2.2 |
迭代次数n |
CPU时间t |
迭代次数n |
CPU时间t |
DGO1 [11] |
0 |
4 |
0.0310 |
13 |
0.0870 |
π/6 |
5 |
0.0421 |
15 |
0.0986 |
π/9 |
8 |
0.0930 |
18 |
0.1142 |
MHHM1 [12] |
0 |
4 |
0.0511 |
8 |
0.0751 |
0.3 |
4 |
0.0410 |
11 |
0.0776 |
0.5 |
3 |
0.0317 |
7 |
0.0509 |
SSFYY2 [13] |
0 |
3 |
0.0311 |
202 |
1.3550 |
−1 |
4 |
0.0481 |
212 |
1.3723 |
−0.25 |
4 |
0.0403 |
215 |
1.3910 |
BK1 [14] |
(0, 2) |
5 |
0.0368 |
23 |
0.2134 |
(0, −1) |
67 |
0.4232 |
500 |
4.9268 |
(−1, 2) |
5 |
0.0485 |
197 |
1.9371 |
LRS1 [15] |
(1, 2) |
5 |
0.0362 |
97 |
0.6231 |
(9, 5) |
7 |
0.0476 |
420 |
2.5258 |
(−2, 4) |
6 |
0.0422 |
500 |
2.9715 |
MHHM2 [12] |
(0.4, 0.1) |
4 |
0.0322 |
12 |
0.0836 |
(1, 1) |
3 |
0.0267 |
8 |
0.0546 |
(0.5, 0.2) |
4 |
0.0534 |
11 |
0.0797 |
MOP5 [16] |
(1, 2) |
52 |
0.5662 |
276 |
3.6353 |
(π/6, π/6) |
6 |
0.0617 |
500 |
4.6164 |
(1, 1.5) |
89 |
0.8493 |
445 |
3.8441 |
PNR [17] |
(1, 0.7) |
5 |
0.0828 |
17 |
0.1892 |
(1.2, 1) |
7 |
0.1264 |
23 |
0.2575 |
(−1, 1) |
7 |
0.0852 |
74 |
0.6424 |
SP1 [18] |
(2, 1) |
5 |
0.0487 |
12 |
0.1026 |
(−1, 1) |
5 |
0.0569 |
37 |
0.3020 |
(−3, 0) |
6 |
0.0570 |
60 |
0.4823 |
T5 [19] |
(1, 1) |
5 |
0.0986 |
12 |
0.1172 |
(2, 3) |
10 |
0.1125 |
47 |
0.419 |
(9, 4) |
11 |
0.1616 |
57 |
0.5487 |
VFM1 [20] |
(0.2, 0) |
3 |
0.0297 |
283 |
1.8009 |
(1, 0.8) |
97 |
0.6974 |
500 |
3.2561 |
(1, 1) |
100 |
0.6881 |
500 |
3.4263 |
AP4 [21] |
(1, 1, 2) |
50 |
0.7091 |
500 |
6.3972 |
(1, 0.5, 2) |
89 |
1.2459 |
500 |
5.5488 |
(0.5, 1, 2) |
47 |
0.644 |
500 |
6.2969 |
T8 [19] |
(1, 0, 1) |
5 |
0.0921 |
16 |
0.2274 |
(1, 0, 2) |
7 |
0.1301 |
374 |
5.4864 |
(2, 0, 5) |
10 |
0.1596 |
25 |
0.3842 |
TRIDIA [10] |
(0.1, −0.2, 0.4) |
4 |
0.0770 |
181 |
2.8785 |
(−0.1, 0.2, 0.5) |
66 |
0.9319 |
378 |
5.3868 |
(0, 0.1, 0.2) |
70 |
1.1856 |
355 |
5.5894 |
ROSEN BROCK [10] |
(0.97, 0.94, 0.99, 0.98) |
24 |
0.6158 |
258 |
6.0115 |
(1.25, 1.3, 1.35, 1.4) |
9 |
0.2246 |
25 |
0.5857 |
(2, 1.98, 1.96, 2) |
14 |
0.3259 |
223 |
4.8018 |
SD [22] |
(1,
,
,
) |
11 |
0.2120 |
500 |
7.1499 |
(1,
,
, 1) |
11 |
0.1964 |
500 |
6.2174 |
(1, 1.45, 1.45, 1) |
15 |
0.2960 |
500 |
6.1492 |
Shifted-TRIDIA [10] |
(−1, 1, −1, 1) |
7 |
0.1571 |
326 |
6.3939 |
(0.1, 0.3, 0.2, 0.1) |
4 |
0.0979 |
78 |
1.7083 |
(−0.4, −0.3, 0.5, 0.5) |
96 |
2.0398 |
500 |
9.8446 |
TOINT [10] |
(0, −1, −1, 4) |
6 |
0.0958 |
25 |
0.3197 |
(−1, −1, 3, 2) |
5 |
0.0841 |
22 |
0.2644 |
(3, 3, 1, 4) |
7 |
0.1149 |
30 |
0.3474 |
DD1 [23] |
(0, 0, 1, 1, 1) |
5 |
0.0416 |
18 |
0.2402 |
(1, 2, 3, 0, 0) |
6 |
0.0477 |
85 |
0.6142 |
(0, 2, 2, −1, −1) |
5 |
0.0482 |
77 |
0.5736 |
JOS1 [24] |
(0, −1, 1, 0, 0) |
4 |
0.0681 |
94 |
2.6891 |
(−0.3, 0.2, 0.1, 0.4, 0.5) |
67 |
0.4709 |
160 |
1.1145 |
(0.3, 0.3, −0.1, 0.8, 0.9) |
4 |
0.0337 |
85 |
0.6184 |
表1列举出了算法2.1和算法2.2关于20个测试问题在不同初始点的数值结果。由表1可知,虽然算法2.1和算法2.2都能求解测试问题,但是算法2.1的数值表现优于算法2.2。在相同的条件下,算法2.1求解多目标优化测试问题的迭代次数以及CPU时间都远小于算法2.2,算法2.1能更高效地求解问题。
6. 结论
本文基于线性加权牛顿算法,结合非单调线性搜索技术,提出了求解无约束多目标优化问题的非单调线性加权牛顿算法(NLWN)。当目标函数二阶连续可微且局部强凸时,证明了由该算法产生的序列局部超线性收敛于多目标优化问题的Pareto最优解。最后,通过数值试验来评估算法的有效性,将它与单调线性加权牛顿算法进行比较,数值结果表明NLWN算法具有较好的数值表现。