层次分析法(AHP)
AHP(Analytic Hierarchy Process)方法,是由 20 世纪 70 年代由美国著名运筹学学家 T.L.Satty 提出的。它是指将决策问
题的有关元素分解成目标、准则、方案等层次,在此基础上进行定性分析和定量分析的一种决策方法。这一方法的特点,是在
对复杂决策问题的本质、影响因素及其内在关系等进行深入分析之后,构建一个层次结构模型,然后利用较少的定量信息,把
决策的思维过程数学化,从而为求解多准则或无结构特性的复杂决策问题提供了一种简便的决策方法。
AHP 十分适用于具有定性的,或定性定量兼有的决策分析。这是一种十分有效的系统分析和科学决策方法,现在已广泛地应
用在企业信用评级、经济管理规划、能源开发利用与资源分析、城市产业规划、企业管理、人才预测、科研管理、交通运输、
水资源分析利用等方面。
一、递阶层次结构的建立
一般来说,可以将层次分为三种类型:
(1)最高层:只包含一个元素,表示决策分析的总目标,因此也称为总目标层。
(2)中间层:包含若干层元素,表示实现总目标所涉及的各子目标,包含各种准则、约束、策略等,因此也称为目标层。
(3)最低层:表示实现各决策目标的可行方案、措施等,也称为方案层。
典型的递阶层次结构如下:
总目标
准则 1
准则 2
准则 3
准则 m1
子准则 1
子准则 2
子准则 3
子准则 m2
方案 1
m
方案 2
方案 3
方案 n
一个好的递阶层次结构对解决问题极为重要,因此在建立递阶层次结构时,应注意到:
(1)从上到下顺序地存在支配关系,用直线段(作用线)表示上一层次因素与下一层次因素之间的关系,同一层次及不相
邻元素之间不存在支配关系。
(2)整个结构不受层次限制。
(3)最高层只有一个因素,每个因素所支配元素一般不超过 9 个,元素过多可进一步分层。
(4)对某些具有子层次结构可引入虚元素,使之成为典型递阶层次结构。
二、构造比较判断矩阵
设有 m 个目标(方案或元素),根据某一准则,将这 m 个目标两两进行比较,把第 i 个目标(i=1,2,…,m)对第 j 个目标
的相对重要性记为 aij,(j=1,2,…,m),这样构造的 m 阶矩阵用于求解各个目标关于某准则的优先权重,成为权重解析判断矩阵,
简称判断矩阵,记作 A=(aij)m×m。
Satty 于 1980 年根据一般人的认知习惯和判断能力给出了属性间相对重要性等级表(见表 4-4)。利用该表取 aij 的值,
称为 1-9 标度方法。
表 4-4 目标重要性判断矩阵 A 中元素的取值
相对重要性 定义
说明
1
3
5
7
9
同等重要
略微重要
相当重要
明显重要
绝对重要
两个目标同样重要
由经验或判断,认为一个目标比另一个略微重要
由经验或判断,认为一个目标比另一个重要
深感一个目标比另一个重要,且这种重要性已有实践证明
强烈地感到一个目标比另一个重要得多
2,4,6,8
两个相邻判断的中间值
需要折中时采用
若决策者能够准确估计 aij(i,j,k=1,2,…,m),则有:
aij=1/aji
aij= aik·akj
aii =1
定义 4-1 设 A=(aij)m×m,A>0,(即 aij >0;i,j=1,2,…,m),如果满足条件(1)aii =1(i =1,2,…,m);(2)aij=1/aji(i,j
=1,2,…,m),则称矩阵 A 为互反正矩阵。
定义 4-2 设 A=(aij)m×m,A>0,如果满足条件 aij= aik·akj(i,j,k=1,2,…,m)则称矩阵 A 为一致性矩阵。
定理 4-1 对于任何一个 m 阶互反正矩阵 A,均有 max ≥m,其中 max 是矩阵 A 的最大特征值。
定理 4-2
m 阶互反正矩阵 A 为一致性矩阵的充分必要条件是 A 的最大特征根为 m。
三、单准则下的排序
层次分析法的信息基础是比较判断矩阵。由于每个准则都支配下一层若干因素,这样对于每一个准则及它所支配的因素都
可以得到一个比较判断矩阵。因此根据比较判断矩阵如何求得各因素 w1,w2, …,wm 对于准则 A 的相对排序权重的过程称为单准则
下的排序。这里设 A=(aij)m×m,A>0。
(一)本征向量法
利用 AW=W 求出所有的值,其中 max 为的最大值,求出 max 对应的特征向量 W*,然后把特征向量 W*规一化为向
量 W,则 W=[w1,w2, …wm]T 为各个目标的权重。求需要解 m 次方程,当 m≥3 时,计算比较麻烦,可以利用 matlab 来求解。
(二)判断矩阵的近似解法
判断矩阵是决策者主观判断的定量描述,求解判断矩阵不要求过高的精度。这里,介绍三种近似计算方法:根法、和法及幂
法。幂法适于在计算机上运算。
1、根法
(1)A 中每行元素连乘并开 m 次方,得到向量
W
*
(
*
*
ww
1
2
,
,...,
*
mw
T
)
其中,
w
*
i
m
m
j
1
a
ij
(2)对 W*作归一化处理,得到权重向量 W=(w1,w2, …wm)T,其中
* /
ww
i
i
m
i
1
(3)对 A 中每列元素求和,得到向量 S=(s1,s2, …sm),其中 sj=
ija
m
i
1
(4)计算 max 的值,
max
2、和法
m
i
1
ws
i
i
SW
1
m
=
m 1
i
(
AW
w
i
)
i
(1)将 A 的元素按列作归一化处理,得矩阵 Q=(qij)m×m。其中,
q
ij
a
ij
/
m
k
1
*
w
i
a
kj
(2)将 Q 的元素按行相加,得向量
m)
,...,
(
,
1
2
T
。其中,
i
q
ij
m
j
1
(3)对向量作归一化处理,得权重向量 W=(w1,w2, …wm)T,其中
iw
(4)求出最大特征值
max
1
m
m 1
i
(
AW
w
i
)
i
3、幂法
m
/
k
i
k
1
幂法是一种逐步迭代的方法,经过若干次迭代计算,按照规定的精度,求出判断矩阵 A 的最大特征值及其对应的特征向
量。
定理 3 设矩阵 A=(aij)m×m,A>0,则
lim
k
k
eA
T
k
eAe
CW
,其中,W 是 A 的最大特征值对应的的特征向量,C 为常
数,向量 e=(1,1,…,1)T。
幂法的计算步骤是:
①任取初始正向量 X(0)=(x1
m
0
X
)0(
(0), x2
{max
i
(0), …, xm
(0))T,计算
)0(
},
Y
X
x
i
)0(
)0(
/
m
0
②迭代计算,对于 k=0,1,2, …计算
AY
X
)1
,
m
k
1
(
k
(
k
)
(
k
)1
X
max
i
{
(
x
i
k
)1
},
Y
(
k
)1
(
k
)1
X
/
m
k
1
③精度检查。当
m 1
k
m
k
时,转入步骤④;否则,令 k=k+1,转入步骤②。
④求最大特征值和对应的特征向量,将 Y(k+1)归一化,即
YW
(
k
)1
/
m
i
1
k
)1
(
y
i
,
max
m
k
1
例 判断矩阵
1
2
A = 1/2
1
5
7
1/5
1/7
1
用幂法计算 A 的最大特征值 max 及其对应额特征向量。精度=0.0001。
解:取初始向量 X(0)=(1,1,1)T,迭代过程见下表
k
0
1
2
3
4
5
6
7
8
X(k)
1
1
1
1
8.0000
8.5000
1.3429
0.9412
3.7312
2.5766
0.4891
3.0367
2.1083
0.4268
3.0961
2.1848
0.4406
3.1229
2.2018
0.4431
3.1195
2.1983
0.4426
3.1189
2.1980
0.4426
3.1189
2.1980
0.4426
1
1
1
1
1
1
1
Y(k)
1
1
1
0.1580
0.6906
0.1311
0.6943
0.1415
0.7057
0.1423
0.7050
0.1419
0.7047
0.1419
0.7047
0.1419
0.7047
0.1419
由上表看出,当 k=7 时,|m8-m7|=|3.1189-3.1189|=0<0.0001,迭代终止,得到 max =3.1189,W=(0.5415,0.3816,0.0769)
T
四、单准则下的一致性检验
由于客观事物的复杂性,会使我们的判断带有主观性和片面性,完全要求每次比较判断的思维标准一致是不太可能的。
因此在我们构造比较判断矩阵时,我们并不要求 n(n-1)/2 次比较全部一致。但这可能出现甲与乙相比明显重要,乙与丙相比极
端重要,丙与甲相比明显重要,这种比较判断会出现严重不一致的情况。我们虽然不要求判断具有一致性,但一个混乱的,经
不起推敲的比较判断矩阵有可能导致决策的失误,所以我们希望在判断时应大体一致。而上述计算权重的方法,当判断矩阵过
于偏离一致性时,其可靠程度也就值得怀疑了。因此,对于每一层次作单准则排序时,均需要作一致性的检验。
一致性指标(Consistency Index,CI):
CI
max
m
m
1
随机指标(Random Index,RI)
一致性比率(Consistency Rate,CR):CR=CI/RI
当 CR 取 0.1 时,最大特征值
'
max =CI·(m-1)+m=0.1·RI·(m-1)+m
表 4-5 随机指标 RI,
'
max 取值表
1
0
2
0
m
RI
'
max
3
4
5
6
7
8
9
0.58
0.90
1.12
1.24
1.32
1.41
1.45
3.116
4.27
5.45
6.62
7.79
8.99
10.16
表中当 n=1,2 时,RI=0,这是因为 1,2 阶判断矩阵总是一致的。
当 n≥3 时,若 CR<0.1 即 max <
'
max ,认为比较判断矩阵的一致性可以接受,否则应对判断矩阵作适当的修正,直到
max 小于
'
max 通过一致性检验时,求得的 W 才有效。
五、层次总排序
计算同一层次中所有元素对最高层(总目标)的相对重要性标度(又称权重向量)称为层次总排序。
1、层次总排序的步骤为:
(1)计算同一层次所有因素对最高层相对重要性的权重向量,这一过程是自上而下逐层进行;
(2)设已计算出第 k-1 层上有 nk-1 个元素相对总目标的权重向量为 w(k-1)=(w1
(k-1), w2
(k-1),…, wn(k-1)
(k-1))T
(3)第 k 层有个 nk 个元素,他们对于上一层次(第 k-1 层)的某个元素 j 的单准则权重向量为 pj
(k)=(w1j
(对于与 k-1 层第 j 个元素无支配关系的对应 wij 取值为 0);
(4)第 k 层相对总目标的权重向量为 wk= (p1
2、层次总排序的一致性检验
(k), p2
(k),…pk-1
(k),)w(k-1)
(k), w2j
(k),…, wnkj)
(k))T
人们在对各层元素作比较时,尽管每一层中所用的比较尺度基本一致,但各层之间仍可能有所差异,而这种差异将随着
层次总排序的逐渐计算而累加起来,因此需要从模型的总体上来检验这种差异尺度的累积是否显著,检验的过程称为层次总排
序的一致性检验。
第 k 层的一致性检验指标 CIk=(CI1
(k-1), CI2
(k-1),…, CInK
(k-1))w(k-1)
RIk=(RI1
(k-1), RI2
(k-1),…, RInK
(k-1))w(k-1)
CRk=CRk-1+CIk/RIk(3≤k≤n)
当 CRk <0.1,可认为评价模型在第 k 层水平上整个达到局部满意一致性。
六、递阶层次结构权重解析过程
1、树状结构目标体系
目标可分为多个层次,每个下层目标都隶属于一个而且只隶属一个上层目标,下层目标是对上层目标的具体说明。对于
树状结构的目标体系,需由上而下逐步确定权重,即由树干向树梢,求树杈各枝相对于树杈的权重。
2、网状结构目标体系
网状结构的目标也分为多个层次,每个下层目标隶属于某几个上层目标(至少有一个下层目标隶属于不止一个上层目标)。
七、AHP 方法的基本步骤
层次分析法大体分为以下六个步骤:
1、 明确问题;建立层次结构;2、两两比较,建立判断矩阵;2、层次单排序及其一致性检验;3、层次总排序及其一
致性检验;4、根据分析计算结果,考虑相应的决策。
例 4-4
(1)建立方案评价的递阶层次结构模型
决策目标 A
商品价格 B
质量 C
企业财务状况 D
售后服务水平 E
候选人 X
候选人 Y
候选人 Z
(2)构造比较判断矩阵
设以 A 为比较准则,B、C、D、E 的两两比较判断矩阵为 A,类似地构造矩阵 B、C、D、E。
A
B
C
D
E
B
X
Y
Z
C
X
Y
Z
B
1
1/2
1/3
1/4
C
2
1
1/2
1/3
D
3
2
1
E
4
3
3/2
2/3
1
X
1
Y
Z
3/2
4/5
2/3
1
8/15
5/4
15/8
1
X
1
Y
Z
3/2
1/2
2/3
2
1
2
1/2
1
D
X
Y
Z
E
X
Y
Z
X
1
1/3
Y
3
1
Z
2
3/4
1/2
4/3
1
X
1
Y
Z
3/2
1/2
2/3
2
1
3
1/3
1
对于上述各比较判断矩阵,用 Matlab 数学软件求出其最大特征值及其对应的特征向量,将特征向量经归一化后,即可得相应的层次单
排序的相对重要性权重向量,以及一致性指标 CI 和一致性比率 CR,列表如下:
层次单排序及一致性计算结果
矩阵
层次单排序的权重向量
max
'
max
( max
CI
mm
/()
)1
RI
CR=CI/RI
A
B
C
D
E
(0.4694,0.2788,0.1491,0.1027)T
4.0164
4.27
0.0055
0.90
0.0061
(0.3429,0.2286,0.4286)T
3
3.116
0
0.58
0
(0.2849,0.2174,0.4977)T
3.0183
3.116
0.0091
0.58
0.0158
(0.5472,0.1897,0.2631)T
3.0015
3.116
7.7081e-004
0.58
0.0013
(0.2727,0.1818,0.5455)T
3.0000
3.116
2.2204e-016
0.58
3.8284e-016
由此可见,所有五个层次单排序的 max 的值均小于
'
max ,CR 的值均小于 0.1,符合一致性要求。
(4)层次总排序
已知第二层(B、C、D、E)相对于总目标层A的排序向量为 W(2)= (0.4694,0.2788,0.1491,0.1027)T,而第三层(X、Y、Z)以第
二层各个因素为准则的排序向量分别为:
Pb
(3)= (0.3429,0.2286,0.4286)T
Pc
(3)= (0.2849,0.2174,0.4977)T
Pd
(3)= (0.5472,0.1897,0.2631)T
Pe
(3)= (0.2727,0.1818,0.5455)T
则第三层(X、Y、Z)相对于总目标的排序向量为
W(3)=( Pb
(3), Pc
(3), Pd
(3), Pe
(3)) ·W(2)=(0.3500,0.2149,0.4352)T
(5)层次总排序的一致性检验
由于 CI(2)=(CIb,CIc,CId,CIe)=(O,0.0091,0.0008,0.0000)
RI(2)=(RIb,RIc,RId,RIe)=(0.5800,0.5800,0.5800,0.5800)
CR2=CRa=0.0061
因此,CI3= CI(2)·W(2)=0.0027
RI3= RI(2)·W(2)=0.5800
CR3= CR2+ CI3/ RI3=0.0107<0.1
当 CR3 <0.1,可以认为评价模型在第 3 层水平上整个达到局部满意一致性
(6)决策
所考虑的三种方案排序的相对优先排序为 Z>X>Y,应该选择企业 Z 作为结盟伙伴。
利用 MATLAB 求解例 4-4
(1)第二层对目标层的权重与一致性检验
A=[1 2 3 4;1/2 1 2 3;1/3 1/2 1 3/2;1/4 1/3 2/3 1] %输入比较判断矩阵 A
a=eig(A)
%求出 A 的所有的特征值
[X,D]=eig(A)
%求出 A 的所有特征向量及对角矩阵
a1=a(1,:)
a2=X(:,1)
%在 A 的所有特征值中取出最大的特征值(第 1 个)
%求最大特征值所对应的特征向量
a3=ones(1,4)
%构造一个其中元素全为 1 的 1×4 矩阵
a4=a3*a2
W2=1/a4*a2
CIa=(a1-4)/3
CRa=CIa/0.90
%求出 a2 中所有元素的和
%求出矩阵 A 的权重向量
%求出 A 的一致性指标
%求出 A 的一致性比率
(2)求出第三层对第二层的各个因素的权重向量及一致性检验
程序基本和(1)中相似,求出 B、C、D、E 的最大特征值、权重向量和一致性比率
D d1
Pd
CId
CRd
E e1
Pe
CIe
CRe
B
C
b1
Pb
CIb
CRb
c1
Pc
CIc
CRc
(3)总排序
P=[Pb Pc Pd Pe]
%构造矩阵 W3
W3=P*W2
%求出总的排序向量
(4)总排序的一致性检验
CI2=[CIb CIc CId CIe]
RI2=[0.58 0.58 0.58 0.58]
CR2=CRa
CI3=CI2*W2
%第 3 层的一致性指标
RI3=RI2*W2
%第 3 层随机指标
CR3=CR2+CI3/RI3
%第 3 层的一致性比率
参考文献:
1.张强:《决策理论与方法》,大连,东北财经大学出版社,2009。
2.李柏年:《模糊数学及其应用》,合肥,合肥工业大学出版社,2007。
3.赵新泉、彭勇行:《管理决策分析》,北京,科学出版社,2008。
4.杜栋、庞庆华:《现代综合评价方法与案例精选》,北京,清华大学出版社,2005