基于PSO算法的权的最小平方法
The Least Square Method of Weight Based on PSO Algorithm
摘要: 基于互反判断矩阵的决策中,权的最小平方法是确定决策变量权重的一种重要方法,通常借用拉格朗日函数去求解该模型的最优解。本文主要采用粒子群优化算法(PSO)去求解权的最小平方模型,并通过实例与拉格朗日函数法进行对比分析,说明了该算法的可行性。
Abstract: In the decision making based on reciprocal judgment matrix, the least square method of weights is an important method to determine the weight of decision variables, and Lagrange function is often used to solve the optimal solution of the model. In this paper, particle swarm optimization (PSO) is mainly used to solve the least-square model of weights, and the feasibility of the algorithm is illustrated by the comparison and analysis between an example and Lagrange function method.
文章引用:刘祖林, 吴志远, 李甲聪. 基于PSO算法的权的最小平方法[J]. 运筹与模糊学, 2020, 10(3): 263-267. https://doi.org/10.12677/ORF.2020.103027

1. 引言

20世纪70年代,美国匹兹堡大学T.L. Satty教授提出了层次分析法(AHP) [1],它为解决社会日益复杂的决策问题提供了一个新的方法。层次分析法的思想是通过把复杂的问题层次化,然后对方案进行两两比较并构造相应的判定矩阵,最后通过对判定矩阵的求解,获得方案权重的优先级。目前,许多学者对求解方案权重的方法进行了研究,并提出了许多求解方法,如Crawford和Williams [2] 提出了最小二乘法,Chu等 [3] 提出了加权最小二乘法,徐泽水 [4] 提出了权的最小平方法等等。在文献 [4] 中,徐泽水借用了拉格朗日函数求解权的最小平方模型的最优解,该方法的计算过程比较复杂,特别是对于大群体决策问题比较耗时。因此,本文进一步研究求解权的最小平方模型的方法,并通过仿真实例说明所用算法的可行性。

2. 基础知识

定义2.1 [5] 设矩阵 A = ( a i j ) n × n ,如果 a i j > 0 , a i j = 1 / a j i ( i , j N ) 则称A为互反判断矩阵。

定义2.2 [5] 设判断矩阵 A = ( a i j ) n × n ,其权重向量为 W = ( w 1 , w 2 , , w n ) T ,若满足:

a i j = a i k / a j k ( i , j , k N ) (2-1)

则称A为完全一致的互反判断矩阵,且有

a i j = w i w j . (2-2)

然而,在实际应用中,由于决策问题的复杂性和专家受知识水平和经验的限制,专家的主观判断与事实存在一定的误差,从而导致了专家给出的互反判断矩阵很难能满足完全一致性。因此,通常情况下(2-2)式是不成立的。由 a i j w i w j ,引入一个偏差项 ε i j ,则有 ε i j = a i j w j w i ,构造偏差函数为:

F W = i = 1 n j = 1 n ( a i j w j w i ) 2 (2-3)

显然,为了得到合理的属性权重W,上述偏差越小越好,此方法称为权的最小平方法。由权重的约束条件,建立权重的数学优化模型如下:

{ min F W = i = 1 n j = 1 n ( a i j w j w i ) 2 s .t . j = 1 n w j = 1 (2-4)

3. 标准PSO算法

3.1. 算法的基本思想

PSO算法是由J. Kennedy和R.C. Eberhart [6] 于1995年首次被提出,它是一种基于群体的优化技术,是通过一组初始化的群体在搜索空间并行搜索。它是根据鸟群、鱼群和人类社会行为规律的模拟提出来的。在1998年,Shi Y.和Eberhart R.C.通过引入了一个惯性权重w来协调PSO算法的全局和局部寻优能力,称此方法为标准PSO算法。

粒子群算法首先是通过引入一个适应度函数来确定初始粒子的优先级,然后通过局部和全局的逐步搜素寻找粒子的最优解。如假设一个粒子群体中有M个粒子在D维空间中搜素,假定第i个粒子在t时刻的状态属性为:位置坐标为 X i t = ( x i 1 t , x i 2 t , , x i n t ) T ,飞行速度为 V i t = ( v i 1 , v i 2 , , v i n ) T ,其中 v i d [ v min , d , v max , d ] v min , v max 分别为最小和最大的速度,个体最优位置为 P i t = ( p i 1 , p i 2 , , p i n ) T ,全局最优位置为 P g t = ( p g 1 , p g 2 , , p g n ) T ,且 1 d D , 1 i M 。则粒子在t + 1时刻的位置通过如下公式进行更新:

v i d t + 1 = w v i d t + c 1 r 1 ( p i d t x i d t ) + c 2 r 2 ( p g d t x i d t ) (3-1)

x i d t + 1 = x i d t + v i d t + 1 (3-2)

为了提高算法的性能,在(3-1)中关于w的取值,Shi Y.采用从0.9线性递减到0.4的策略,具体计算如下:

w = w start w start w end t max × t (3-3)

其中, t max 为当前迭代次数, w start , w end 分别为初始惯性权重和终止惯性权重。

3.2. 算法步骤

为了利用PSO方法求解(2-4)的优化模型,下面给出它的算法步骤如下:

步骤1:假定决策者给出的判断矩阵为 R = ( r i j ) n × n ,并对种群N个权重向量 W i = ( w 1 , w 2 , , w n ) , i = 1 , 2 , , N 进行初始化,其中 W i [ 0 , 1 ] 。设学习因子 c 1 = 2 , c 2 = 2 ,迭代次数: T max ,惯性权重 i = 1 n w i = 1 w start = 0.9 w end = 0.4 V max = 0.1 V min = 0.1 。初始化N个对应的速度向量 V i = ( v 1 , v 2 , , v n ) i = 1 , 2 , , N

步骤2:评价每一个粒子。对 W i , i = 1 , 2 , , N ,通过(2-3)式算出 F W ( i ) 的值,然后对群体中各个粒子与 W ( i ) 的适应值 F W ( i ) 做比较,并把当前最优位置的粒子 W i 设置为最好适应值所对应的位置。再与全局最好的位置 W g 做比较,最后选出最好适的应值 W i 作为当前全局最优位置 W g

步骤3:利用(3-1)、(3-2)和(3-3)式对粒子的速度和位置进行更新。如果

v i > v max 将其设置为 v max ,如果 v i < v min 将其设置为 v min

步骤4:结束条件的检验.如果当前的迭代次数达到了预先设定的最大次数 T max ,则停止迭代,否则转到步骤(2);

步骤5:输出最优FW的值及其排序权重。

3.3. 拉格朗日乘数法

对(2-4)式引入一个拉格朗日乘子 λ ,构造相应的拉格朗日函数 L ( W , λ ) 如下:

L ( W , λ ) = i = 1 n j = 1 n ( a i j w j w i ) 2 2 λ ( j = 1 n w j 1 ) (3-4)

根据函数极值点存在的必要条件:一阶偏导数等于0。即:

{ F W W = i = 1 n ( a i k w k w i ) a i k j = 1 n ( a k j w j w k ) λ = 0 L λ = j = 1 n w j 1 = 0 ( k = 1 , 2 , , n ) (3-5)

其中 W = ( w 1 , w 2 , , w n , λ ) T m = ( 0 , 0 , , 0 , 1 ) T C = ( c i j ) ( n + 1 ) × ( n + 1 )

c i j = ( a i j + a j i ) , ( i , j = 1 , 2 , , n , i j ) c i i = ( n 2 ) + j = 1 n a j i 2 ( i , j = 1 , 2 , , n )

c k , n + 1 = 1 ( k = 1 , 2 , , n ) c n + 1 , k = 1 ( k = 1 , 2 , , n ) c n + 1 , n + 1 = 0

运用克莱姆法则可以求解线性方程组 C W = m ,得到判定矩阵A的权重向量W。

4. 仿真实例及其分析

假如决策者在决策中给出的互反判定矩阵如下:

A = [ 1 3 5 4 7 1 / 3 1 3 2 5 1 / 5 1 / 3 1 1 / 2 3 1 / 4 1 / 2 2 1 3 1 / 7 1 / 5 1 / 3 1 / 3 1 ]

采用拉格朗日乘数法进行求解,根据(3-4)和(3-5)式,在结合 C W = m ,由克莱姆法解得:

W 0 = ( 0.5158 , 0.2025 , 0.0934 , 0.1306 , 0.0577 , 0.0564 ) T

其中权重向量 W = ( 0.5158 , 0.2025 , 0.0934 , 0.1306 , 0.0577 ) ,拉格朗日乘子 λ = 0.0564

把权重向量带入偏差函数(2-3)式可得 F W = 0.0564 ,即最优解为0.0564。

采用PSO算法进行求解,设仿真实验参数:种群 N = 100 ,维数为5维,迭代次数为200次.根据SPO的算法步骤,可求得优化模型(2-4)式的最优解为: F W = 0.0564 ,权重向量: W = ( 0.5156 , 0.2025 , 0.0932 , 0.1313 , 0.0574 ) T 。得到迭代的仿真示意图如图1所示:

Figure 1. Relation between FM and iteration

图1. FM与迭代关系

从上图可以看出,开始时FW的值随着迭代次数的增加而迅速下降,当迭代到40次时,它的值趋于平稳,之后FW的值基本不变。

5. 结果分析

对于上述两种方法求解模型(2-4)的最优解均为FW = 0.0564,得到的权重向量优先级相似,因此,说明了利用PSO算法求解权的最小平方的方法是可行的,并且它是通过一种迭代方式进行求解,对于求解大的群体决策问题,该算法更加高效。

参考文献

[1] Satty, T.L. and Alexander, J.M. (1989) Conflict Resolution: The Analytic Hierarchy Approach. Praeger, New York.
[2] Crawford, G. and Williams, C. (1985) A Note on the Analysis of Subjective Judgment Matrices. Journal of Mathematical Psychology, 29, 387-405.
https://doi.org/10.1016/0022-2496(85)90002-1
[3] Chu, A.T.W., Kalaba, R.E. and Spingarn, K. (1979) A Comparison of Two Methods for Determining the Weights of Belonging to Fuzzy Sets. Journal of Optimization Theory and Applications, 27, 531-538.
https://doi.org/10.1007/BF00933438
[4] 徐泽水. 互补判断矩阵的两种排序方法——权的最小平方法及特征向量法[J]. 系统工程理论与实践, 2002(7): 71-75.
[5] Satty, T.L. (1980) The Analytic Hierarchy Process. Vol. 41, McGraw-Hill, New York, 19-28.
[6] Kennedy, J. and Eberhart, R. (1995) Particle Swarm Optimization. IEEE Inter-national Conference on Neural Networks, Perth, 2002, 1942-1948.