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

ops/2025/3/17 21:20:52/

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

引言

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

文章目录

  • 层次分析法(AHP)详解及其应用
    • 引言
    • 什么是层次分析法?
    • 层次分析法的基本原理
    • 层次分析法的实施步骤
      • 1. 建立层次结构模型
      • 2. 构造判断矩阵
      • 3. 计算权重向量和最大特征值
      • 4. 一致性检验
      • 5. 计算综合权重
    • 层次分析法的应用实例
      • 案例:选择最佳投资项目
        • 第一步:建立层次结构
        • 第二步:构造判断矩阵
        • 第三步:计算权重
        • 第四步:一致性检验
        • 第五步:计算方案层对各准则的权重
        • 第六步:计算综合权重
    • 层次分析法的优缺点
      • 优点
      • 缺点
    • 层次分析法的扩展
    • 层次分析法的应用领域
    • 结语
    • 参考文献

什么是层次分析法?

层次分析法是由美国运筹学家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=[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=1nk=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=1naij

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 AW=λmaxW

其中 λ 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=n1λmaxn

其中 λ 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 k1层有 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} P1k1,P2k1,,Pmk1,它们对总目标的权重分别是 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} a1k1,a2k1,,amk1;第 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} Pjk1的权重为 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=1mbijkajk1

层次分析法的应用实例

案例:选择最佳投资项目

假设某公司需要从三个投资项目中选择一个最佳方案,考虑的因素有:预期收益、风险程度和市场前景。

第一步:建立层次结构
  • 目标层:选择最佳投资项目
  • 准则层:预期收益(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} AW= 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=n1λmaxn=23.0543=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综合=WC1w1+WC2w2+WC3w3

= [ 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} = \sqrt[K]{\prod_{k=1}^{K} a_{ij}^{(k)}} aij=Kk=1Kaij(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). 层次分析法. 北京: 中国人民大学出版社.

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


http://www.ppmy.cn/ops/166620.html

相关文章

工程化与框架系列(34)--前端重构技巧指南

前端重构技巧指南 &#x1f504; 引言 前端重构是提高代码质量和可维护性的重要手段。本文将深入探讨前端重构的各种技巧&#xff0c;包括代码分析、重构策略、测试保障等方面&#xff0c;帮助开发者更好地进行代码重构。 重构概述 前端重构主要包括以下方面&#xff1a; …

[项目]基于FreeRTOS的STM32四轴飞行器: 二.项目搭建及移植FreeRTOS

基于FreeRTOS的STM32四轴飞行器: 二.项目搭建及debug模块 一.项目搭建二.移植FreeRTOS 一.项目搭建 先配置SYS系统滴答定时器来源为默认&#xff0c;因为其他定时器用来驱动电机了只能与FreeRTOS共用&#xff1a; 之后选择RCC配置芯片的时钟来源&#xff1a; 配置时钟树&am…

记一次OOM异常问题排查

背景 最近&#xff0c;有运维同事收到告警&#xff0c;提示服务器出现CPU占用100%的情况出现&#xff0c;并且严重影响服务性能&#xff0c;甚至导致一些功能不可用。接到上述情况反馈后&#xff0c;随即展开对问题的排查。 排查 CPU占用100%排查 定位进程&#xff1a;使用 t…

git操作大全

以下是一篇关于Git全流程操作的博文&#xff0c;内容涵盖从项目初始化到团队协作的完整步骤&#xff0c;适合新手和需要复习的开发者&#xff1a; Git全流程操作指南&#xff1a;从零到团队协作‌ 本文详细讲解Git在项目开发中的完整操作流程&#xff0c;涵盖‌本地仓库管理、…

基于微信小程序开发的宠物领养平台——代码解读

项目前端 一、项目的技术架构概况 一句话概括&#xff1a;该项目是基于微信小程序开发的宠物领养平台&#xff0c;采用原生小程序框架进行用户界面的构建&#xff0c;使用 wx.request 进行 API 请求&#xff0c;并通过 getApp() 和本地存储来管理全局状态和用户信息。 一&am…

免费高质量贴图(Textures) 网站推荐

以下是一些提供 免费或高质量贴图&#xff08;Textures&#xff09; 的网站&#xff0c;包括 PBR 贴图、HDRI 贴图、材质等&#xff0c;适用于 Three.js、Blender、Unity、Unreal Engine 等软件。 &#x1f30d; 1. Poly Haven&#xff08;https://polyhaven.com/&#xff09;⭐…

【音视频】H265-NALU-AVpacket-PS-RTP(GB28181)

概述 国标平台的推流与直接使用RTSP或者RTMP推流的方法不同&#xff0c;需要先从H265格式的流地址中解析出来NALU&#xff08;直接使用FFmpeg库或者自己构建一个小型的RTSP服务器实现&#xff09;&#xff0c;然后对不同类型的NALU进行处理&#xff0c;H265视频中的NALU类型主…

Cesium 入门教程(基于 vue3)

目录 Cesium 介绍&#xff1a; 下载 Cesium&#xff0c;2种路径: 下载成功后&#xff0c;创建 vue3 项目&#xff1a; 编写内容 一个“纯”地球 添加图层 坐标系及其数值转换 相机位置及动态交互 添加物体和3维建筑物 Cesium 介绍&#xff1a; Cesium 是一个开源的 JavaScript …