层次分析法(AHP)详解及其应用
引言
在现实生活和工作中,我们经常面临复杂的决策问题,这些问题通常涉及多个评价准则,且各准则之间可能存在相互影响。如何在这些复杂因素中做出合理的决策?层次分析法(Analytic Hierarchy Process, AHP)作为一种系统、灵活的多准则决策方法,为我们提供了科学的决策工具。
文章目录
- 层次分析法(AHP)详解及其应用
- 引言
- 什么是层次分析法?
- 层次分析法的基本原理
- 层次分析法的实施步骤
- 1. 建立层次结构模型
- 2. 构造判断矩阵
- 3. 计算权重向量和最大特征值
- 4. 一致性检验
- 5. 计算综合权重
- 层次分析法的应用实例
- 案例:选择最佳投资项目
- 第一步:建立层次结构
- 第二步:构造判断矩阵
- 第三步:计算权重
- 第四步:一致性检验
- 第五步:计算方案层对各准则的权重
- 第六步:计算综合权重
- 层次分析法的优缺点
- 优点
- 缺点
- 层次分析法的扩展
- 层次分析法的应用领域
- 结语
- 参考文献
什么是层次分析法?
层次分析法是由美国运筹学家Thomas L. Saaty教授于20世纪70年代提出的一种系统分析方法,它将复杂问题分解为多个层次和要素,通过定性和定量相结合的方式进行决策分析。
层次分析法的基本原理
层次分析法的核心思想是将复杂问题分解为层次结构,通常包括:
- 目标层:决策的最终目标
- 准则层:评价目标的各种准则
- 方案层:可供选择的各种方案
在建立层次结构后,通过两两比较各层次中的元素,形成判断矩阵,计算各元素的权重,最终得到各方案的综合评价。
层次分析法的实施步骤
1. 建立层次结构模型
将决策问题分解为相互关联的决策元素,构建层次结构模型。
2. 构造判断矩阵
采用1-9标度法对同一层次的元素进行两两比较,形成判断矩阵 A A A:
A = [ a i j ] n × n A = [a_{ij}]_{n \times n} A=[aij]n×n
其中 a i j a_{ij} aij表示元素 i i i相对于元素 j j j的重要性程度,标度含义如下:
- 1:表示两个元素同等重要
- 3:表示一个元素比另一个元素稍微重要
- 5:表示一个元素比另一个元素明显重要
- 7:表示一个元素比另一个元素强烈重要
- 9:表示一个元素比另一个元素极端重要
- 2,4,6,8:表示上述相邻判断的中间值
且满足: a j i = 1 a i j a_{ji} = \frac{1}{a_{ij}} aji=aij1
3. 计算权重向量和最大特征值
通过求解判断矩阵的特征向量来获得权重,常用的方法有:
- 和法归一化:将判断矩阵各列归一化后求行平均值
w i = 1 n ∑ j = 1 n a i j ∑ k = 1 n a k j w_i = \frac{1}{n} \sum_{j=1}^{n} \frac{a_{ij}}{\sum_{k=1}^{n} a_{kj}} wi=n1j=1∑n∑k=1nakjaij
- 根法:计算每行元素乘积的n次方根,再归一化
w ˉ i = ∏ j = 1 n a i j n \bar{w}_i = \sqrt[n]{\prod_{j=1}^{n} a_{ij}} wˉi=nj=1∏naij
w i = w ˉ i ∑ j = 1 n w ˉ j w_i = \frac{\bar{w}_i}{\sum_{j=1}^{n} \bar{w}_j} wi=∑j=1nwˉjwˉi
- 特征值法:求解判断矩阵的最大特征值及其对应的特征向量
A ⋅ W = λ m a x ⋅ W A \cdot W = \lambda_{max} \cdot W A⋅W=λmax⋅W
其中 λ m a x \lambda_{max} λmax为最大特征值, W W W为对应的特征向量。
4. 一致性检验
为确保判断的合理性,避免出现决策者认为“A比B重要,B比C重要,C却又比A重要”的矛盾,需要进行一致性检验:
- 计算一致性指标CI:
C I = λ m a x − n n − 1 CI = \frac{\lambda_{max} - n}{n-1} CI=n−1λmax−n
其中 λ m a x \lambda_{max} λmax为最大特征值, n n n为矩阵阶数。
当 C I = 0 CI = 0 CI=0 时对应的矩阵为为一致矩阵。
关于一致矩阵的性质与相关介绍可以参考我的这篇文章:【数学建模】一致矩阵的应用及其在层次分析法(AHP)中的性质 。
- 查找对应的随机一致性指标RI
- 计算一致性比率CR:
C R = C I R I CR = \frac{CI}{RI} CR=RICI
- 当 C R < 0.1 CR < 0.1 CR<0.1时,认为判断矩阵具有满意的一致性
5. 计算综合权重
自上而下计算各层次元素对最终目标的综合权重,得出最终决策方案。
如果第 k − 1 k-1 k−1层有 m m m个元素 P 1 k − 1 , P 2 k − 1 , … , P m k − 1 P_1^{k-1}, P_2^{k-1}, \ldots, P_m^{k-1} P1k−1,P2k−1,…,Pmk−1,它们对总目标的权重分别是 a 1 k − 1 , a 2 k − 1 , … , a m k − 1 a_1^{k-1}, a_2^{k-1}, \ldots, a_m^{k-1} a1k−1,a2k−1,…,amk−1;第 k k k层有 n n n个元素 P 1 k , P 2 k , … , P n k P_1^k, P_2^k, \ldots, P_n^k P1k,P2k,…,Pnk,且元素 P i k P_i^k Pik对元素 P j k − 1 P_j^{k-1} Pjk−1的权重为 b i j k b_{ij}^k bijk,则元素 P i k P_i^k Pik对总目标的权重为:
a i k = ∑ j = 1 m b i j k ⋅ a j k − 1 a_i^k = \sum_{j=1}^{m} b_{ij}^k \cdot a_j^{k-1} aik=j=1∑mbijk⋅ajk−1
层次分析法的应用实例
案例:选择最佳投资项目
假设某公司需要从三个投资项目中选择一个最佳方案,考虑的因素有:预期收益、风险程度和市场前景。
第一步:建立层次结构
- 目标层:选择最佳投资项目
- 准则层:预期收益(C1)、风险程度(C2)、市场前景(C3)
- 方案层:项目A、项目B、项目C
第二步:构造判断矩阵
准则层对目标层的判断矩阵:
A = [ 1 2 4 1 2 1 3 1 4 1 3 1 ] A = \begin{bmatrix} 1 & 2 & 4 \\ \frac{1}{2} & 1 & 3 \\ \frac{1}{4} & \frac{1}{3} & 1 \end{bmatrix} A= 121412131431
第三步:计算权重
使用和法归一化计算权重向量:
A 的列和 = [ 1.75 3.33 8 ] A的列和 = \begin{bmatrix} 1.75 & 3.33 & 8 \end{bmatrix} A的列和=[1.753.338]
归一化矩阵 = [ 1 1.75 2 3.33 4 8 0.5 1.75 1 3.33 3 8 0.25 1.75 0.33 3.33 1 8 ] = [ 0.571 0.600 0.500 0.286 0.300 0.375 0.143 0.100 0.125 ] 归一化矩阵 = \begin{bmatrix} \frac{1}{1.75} & \frac{2}{3.33} & \frac{4}{8} \\ \frac{0.5}{1.75} & \frac{1}{3.33} & \frac{3}{8} \\ \frac{0.25}{1.75} & \frac{0.33}{3.33} & \frac{1}{8} \end{bmatrix} = \begin{bmatrix} 0.571 & 0.600 & 0.500 \\ 0.286 & 0.300 & 0.375 \\ 0.143 & 0.100 & 0.125 \end{bmatrix} 归一化矩阵= 1.7511.750.51.750.253.3323.3313.330.33848381 = 0.5710.2860.1430.6000.3000.1000.5000.3750.125
W = [ 0.571 + 0.600 + 0.500 3 0.286 + 0.300 + 0.375 3 0.143 + 0.100 + 0.125 3 ] = [ 0.558 0.320 0.122 ] W = \begin{bmatrix} \frac{0.571+0.600+0.500}{3} \\ \frac{0.286+0.300+0.375}{3} \\ \frac{0.143+0.100+0.125}{3} \end{bmatrix} = \begin{bmatrix} 0.558 \\ 0.320 \\ 0.122 \end{bmatrix} W= 30.571+0.600+0.50030.286+0.300+0.37530.143+0.100+0.125 = 0.5580.3200.122
第四步:一致性检验
计算 λ m a x \lambda_{max} λmax:
A ⋅ W = [ 1 2 4 1 2 1 3 1 4 1 3 1 ] ⋅ [ 0.558 0.320 0.122 ] = [ 1.704 0.978 0.372 ] A \cdot W = \begin{bmatrix} 1 & 2 & 4 \\ \frac{1}{2} & 1 & 3 \\ \frac{1}{4} & \frac{1}{3} & 1 \end{bmatrix} \cdot \begin{bmatrix} 0.558 \\ 0.320 \\ 0.122 \end{bmatrix} = \begin{bmatrix} 1.704 \\ 0.978 \\ 0.372 \end{bmatrix} A⋅W= 121412131431 ⋅ 0.5580.3200.122 = 1.7040.9780.372
λ m a x = 1 3 ( 1.704 0.558 + 0.978 0.320 + 0.372 0.122 ) = 3.054 \lambda_{max} = \frac{1}{3} \left( \frac{1.704}{0.558} + \frac{0.978}{0.320} + \frac{0.372}{0.122} \right) = 3.054 λmax=31(0.5581.704+0.3200.978+0.1220.372)=3.054
C I = λ m a x − n n − 1 = 3.054 − 3 2 = 0.027 CI = \frac{\lambda_{max} - n}{n-1} = \frac{3.054 - 3}{2} = 0.027 CI=n−1λmax−n=23.054−3=0.027
对于 n = 3 n=3 n=3的矩阵, R I = 0.58 RI = 0.58 RI=0.58
C R = C I R I = 0.027 0.58 = 0.047 < 0.1 CR = \frac{CI}{RI} = \frac{0.027}{0.58} = 0.047 < 0.1 CR=RICI=0.580.027=0.047<0.1
判断矩阵具有满意的一致性。
第五步:计算方案层对各准则的权重
(此处省略具体计算过程,假设已经得到以下权重矩阵)
W C 1 = [ 0.65 0.25 0.10 ] , W C 2 = [ 0.20 0.30 0.50 ] , W C 3 = [ 0.30 0.60 0.10 ] W_{C1} = \begin{bmatrix} 0.65 \\ 0.25 \\ 0.10 \end{bmatrix}, W_{C2} = \begin{bmatrix} 0.20 \\ 0.30 \\ 0.50 \end{bmatrix}, W_{C3} = \begin{bmatrix} 0.30 \\ 0.60 \\ 0.10 \end{bmatrix} WC1= 0.650.250.10 ,WC2= 0.200.300.50 ,WC3= 0.300.600.10
第六步:计算综合权重
W 综合 = W C 1 ⋅ w 1 + W C 2 ⋅ w 2 + W C 3 ⋅ w 3 W_{综合} = W_{C1} \cdot w_1 + W_{C2} \cdot w_2 + W_{C3} \cdot w_3 W综合=WC1⋅w1+WC2⋅w2+WC3⋅w3
= [ 0.65 0.25 0.10 ] ⋅ 0.558 + [ 0.20 0.30 0.50 ] ⋅ 0.320 + [ 0.30 0.60 0.10 ] ⋅ 0.122 = \begin{bmatrix} 0.65 \\ 0.25 \\ 0.10 \end{bmatrix} \cdot 0.558 + \begin{bmatrix} 0.20 \\ 0.30 \\ 0.50 \end{bmatrix} \cdot 0.320 + \begin{bmatrix} 0.30 \\ 0.60 \\ 0.10 \end{bmatrix} \cdot 0.122 = 0.650.250.10 ⋅0.558+ 0.200.300.50 ⋅0.320+ 0.300.600.10 ⋅0.122
= [ 0.45 0.32 0.23 ] = \begin{bmatrix} 0.45 \\ 0.32 \\ 0.23 \end{bmatrix} = 0.450.320.23
因此,项目A是最佳选择。
层次分析法的优缺点
优点
- 结构清晰,逻辑性强
- 计算简便,易于理解和应用
- 能够处理定性和定量相结合的复杂决策问题
- 通过一致性检验保证判断的合理性
缺点
- 当准则或方案较多时,需要进行大量的两两比较
- 判断矩阵的构造具有主观性
- 层次结构中的元素被假设为相互独立,可能与现实情况有差距
- 排序结果可能受到新增或删除方案的影响
层次分析法的扩展
为了克服传统层次分析法的局限性,研究者提出了多种改进方法,如:
- 模糊层次分析法:引入模糊数学处理判断的不确定性,使用模糊数 a ~ i j \tilde{a}_{ij} a~ij代替确定值 a i j a_{ij} aij
- 网络分析法(ANP):考虑元素之间的相互依赖关系,构建超矩阵 W W W
- 群体决策层次分析法:综合多个决策者的判断,如几何平均法:
a i j = ∏ k = 1 K a i j ( k ) K a_{ij} = \sqrt[K]{\prod_{k=1}^{K} a_{ij}^{(k)}} aij=Kk=1∏Kaij(k)
其中 a i j ( k ) a_{ij}^{(k)} aij(k)表示第 k k k个决策者对元素 i i i和 j j j的判断值, K K K为决策者总数。
层次分析法的应用领域
层次分析法在多个领域有广泛应用:
- 工程项目评估与选择
- 资源配置与投资决策
- 人才评价与绩效考核
- 产品设计与评价
- 风险评估与管理
结语
层次分析法作为一种系统、灵活的多准则决策方法,为复杂决策问题提供了科学的解决思路。虽然存在一些局限性,但通过不断改进和与其他方法的结合,层次分析法仍然是现代决策理论中不可或缺的重要工具。在实际应用中,我们应当根据具体问题的特点,合理运用层次分析法,以期获得科学、合理的决策结果。
参考文献
- Saaty, T. L. (1980). The Analytic Hierarchy Process. New York: McGraw-Hill.
- 徐泽水. (2002). 层次分析法原理. 天津: 天津大学出版社.
- 许树柏. (1995). 层次分析法. 北京: 中国人民大学出版社.
这篇文章详细介绍了层次分析法的基本原理、实施步骤、应用实例以及优缺点,希望对您有所帮助!如有任何问题,欢迎在评论区留言交流。