【数学建模】层次分析法(AHP)详解及其应用

层次分析法(AHP)详解及其应用

引言

在现实生活和工作中,我们经常面临复杂的决策问题,这些问题通常涉及多个评价准则 ,且各准则之间可能存在相互影响。如何在这些复杂因素中做出合理的决策?层次分析法 (Analytic Hierarchy Process, AHP)作为一种系统、灵活的多准则决策方法,为我们提供了科学的决策工具。

文章目录

什么是层次分析法?

层次分析法是由美国运筹学家Thomas L. Saaty教授于20世纪70年代提出的一种系统分析方法,它将复杂问题分解为多个层次和要素,通过定性和定量相结合的方式进行决策分析。

层次分析法的基本原理

层次分析法的核心思想是将复杂问题分解为层次结构,通常包括:

  1. 目标层:决策的最终目标
  2. 准则层:评价目标的各种准则
  3. 方案层:可供选择的各种方案

在建立层次结构后,通过两两比较各层次中的元素,形成判断矩阵,计算各元素的权重,最终得到各方案的综合评价。

层次分析法的实施步骤

1. 建立层次结构模型

将决策问题分解为相互关联的决策元素,构建层次结构模型。

2. 构造判断矩阵

采用1-9标度法对同一层次的元素进行两两比较,形成判断矩阵 A A A:

A = a i j n × n A = a_{ij}_{n \times n} A=aijn×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 = \sqrtn{\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重要"的矛盾,需要进行一致性检验:

  1. 计算一致性指标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)中的性质

  1. 查找对应的随机一致性指标RI
  2. 计算一致性比率CR:

C R = C I R I CR = \frac{CI}{RI} CR=RICI

  1. 当 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是最佳选择。

层次分析法的优缺点

优点

  1. 结构清晰,逻辑性强
  2. 计算简便,易于理解和应用
  3. 能够处理定性和定量相结合的复杂决策问题
  4. 通过一致性检验保证判断的合理性

缺点

  1. 当准则或方案较多时,需要进行大量的两两比较
  2. 判断矩阵的构造具有主观性
  3. 层次结构中的元素被假设为相互独立,可能与现实情况有差距
  4. 排序结果可能受到新增或删除方案的影响

层次分析法的扩展

为了克服传统层次分析法的局限性,研究者提出了多种改进方法,如:

  1. 模糊层次分析法 :引入模糊数学处理判断的不确定性,使用模糊数 a ~ i j \tilde{a}{ij} a~ij代替确定值 a i j a{ij} aij
  2. 网络分析法(ANP) :考虑元素之间的相互依赖关系,构建超矩阵 W W W
  3. 群体决策层次分析法:综合多个决策者的判断,如几何平均法:

a i j = ∏ k = 1 K a i j ( k ) K a_{ij} = \sqrtK{\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为决策者总数。

层次分析法的应用领域

层次分析法在多个领域有广泛应用:

  1. 工程项目评估与选择
  2. 资源配置与投资决策
  3. 人才评价与绩效考核
  4. 产品设计与评价
  5. 风险评估与管理

结语

层次分析法作为一种系统、灵活的多准则决策方法,为复杂决策问题提供了科学的解决思路。虽然存在一些局限性,但通过不断改进和与其他方法的结合,层次分析法仍然是现代决策理论中不可或缺的重要工具。在实际应用中,我们应当根据具体问题的特点,合理运用层次分析法,以期获得科学、合理的决策结果。


参考文献

  1. Saaty, T. L. (1980). The Analytic Hierarchy Process. New York: McGraw-Hill.
  2. 徐泽水. (2002). 层次分析法原理. 天津: 天津大学出版社.
  3. 许树柏. (1995). 层次分析法. 北京: 中国人民大学出版社.

这篇文章详细介绍了层次分析法的基本原理、实施步骤、应用实例以及优缺点,希望对您有所帮助!如有任何问题,欢迎在评论区留言交流。

相关推荐
2601_953988071 天前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·后端·物联网·tcp/ip·数学建模·前端框架
数模竞赛Paid answer2 天前
2026年华东杯数学建模C题收益率预测问题解题全过程文档及程序
算法·数学建模·数据分析·华东杯
数模竞赛Paid answer3 天前
2026年电工杯数学建模A题绿电直连型电氢氨园区优化运行求解全过程论文及程序
算法·数学建模·电工杯
AI Dog3 天前
MathHub:数学建模学习社区,内置数学建模智能体Modulus
学习·数学建模·智能体·modulus·数学建模智能体
统计学小王子3 天前
分类模型评价指标——R语言(数学建模常用)
数学建模·分类·r语言
数模竞赛Paid answer4 天前
2026年华东杯数学建模B题医药物流安排问题解题全过程文档及程序
算法·数学建模·数据分析·华东杯
数模竞赛Paid answer4 天前
2020年深圳杯数学建模A题关于国家“先行示范区”建设中的医疗和养老保障问题解题全过程论文及程序
算法·数学建模·数据分析·深圳杯
数模竞赛Paid answer4 天前
2021年深圳杯数学建模C题配电网可靠性和故障软自愈研究解题全过程论文及程序
算法·数学建模·数据分析·深圳杯
数模竞赛Paid answer5 天前
2026年华数杯数学建模A题微构体中填充导电介质的仿真优化解题全过程及程序
数学建模·数据分析·华数杯
数模竞赛Paid answer5 天前
2021年深圳杯数学建模B题背向瑞利散射光纤激光传感器设计解题全过程论文及程序
数学建模·数据分析·深圳杯