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

层次分析法(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.rhkb.cn/news/34961.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

失败的面试经历(ʘ̥∧ʘ̥)

一.面向对象的三大特性 1.封装&#xff1a;将对象内部的属性私有化&#xff0c;外部对象不能够直接访问&#xff0c;但是可以提供一些可以使外部对象操作内部属性的方法。 2.继承&#xff1a;类与类之间会有一些相似之处&#xff0c;但也会有一些异处&#xff0c;使得他们与众…

qt加载VeloView工程

接上一篇点云软件配置与编译&#xff0c;使用qt加载需要先完成编译。编译完成后到编译目录下lidarview-superbuild\common-superbuild\lidarview\build 找到CmakeCache.txt&#xff0c;如下是我的编译目录。 使用QT6.5.3加载了CmakeCache.txt&#xff0c;QT5.14还加载不了cmake…

Windows Qt动态监测系统分辨率及缩放比变化

前言 Windows 显示设置中&#xff0c;可以修改缩放比&#xff0c;所有界面和文字会同比例放大或缩小&#xff0c;在开发桌面程序时&#xff0c; 实时监测Qt应用程序在不同缩放比例下的表现&#xff0c;可以及时调整程序界面以适应不同显示屏幕的需求。 正文 本文通过Qt相关…

CVE-2017-5645(使用 docker 搭建)

介绍: 是一个与 Apache Log4j2 相关的安全漏洞,属于远程代码执行,它可能允许攻击者通过构造恶意的日志信息 在目标系统上执行任意代码 Log4j2 介绍 Log4j2 是 Apache 的一个日志记录工具,属于 Java 应用的日志框架,它是 Log4j 的升级版,性能更好,功能更多.它被广泛的适用于 J…

交互式可视化进阶(Plotly Dash构建疫情仪表盘)

这里写目录标题 交互式可视化进阶(Plotly Dash构建疫情仪表盘)1. 引言2. 项目背景与意义3. 数据集生成与介绍4. GPU加速在数据处理中的应用5. 交互式仪表盘构建与Plotly Dash6. PyQt GUI集成与美化7. 工程整体架构8. 部分代码实现9. 代码自查与BUG排查10. 总结与展望交互式可…

RabbitMQ(补档)

RabbitMQ 是一个开源的消息队列软件&#xff08;有时也被称为消息代理&#xff09;&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;。它主要用于应用程序之间&#xff0c;或者软件组件之间的消息通信。通过使用 RabbitMQ&#xff0c;可以实现异步的、可靠的…

平方矩阵问题

Ⅰ 回字形二维数组 #include <iostream> #include <iomanip> using namespace std; int main(){int n;while(cin>>n,n){for(int i0; i<n;i){for(int j0; j<n; j){int upi, downn-i1, leftj, rightn-j1;cout<<min(min(up,down),min(left,right)…

电子电气架构 --- 智能座舱和车载基础软件简介

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人生是一场骗局,最大的任务根本不是什么买车买房,也不是及时行乐,这就是欲望,不是理想,是把自己对生命的希望寄托在外物上,正确的做法应该是内…

Qt 通过MSVC编译运行项目

第一步下载Qt 把Qt能选的插件都选上&#xff0c;有的是连接数据库必须得插件&#xff0c;有的是做图表必须得插件&#xff0c;有的是运行MSVC必须得插件&#xff0c;能选尽量都选上。 第二步安装VS2017&#xff0c;当然我们安装2017的目的主要是用C的编译器&#xff0c;这里提…

高效手机检测:视觉分析技术的优势

在当今社会&#xff0c;手机已成为人们日常生活和工作中不可或缺的工具。然而&#xff0c;在某些特定场合&#xff0c;如考场、工作场所等&#xff0c;手机的使用却可能带来负面影响。因此&#xff0c;如何有效监测和防止在这些场合偷用手机的行为&#xff0c;成为了一个亟待解…

Gitee重新远程连接仓库(Linux)

Gitee重新远程连接仓库&#xff08;Linux&#xff09; 因为虚拟机重新安装了一回&#xff0c;所以需要重新和远程仓库连接&#xff0c;在网上找了很久没有找到相关操作&#xff0c;自己实操成功&#xff0c;记录下本博客&#xff0c;帮助有需要的人 确保新虚拟机安装Git 在新虚…

【论文笔记】FFA-Net: Feature Fusion Attention Network for Single Image Dehazing

文章目录 1. 研究背景2. FFA - Net网络结构3. 实验结果4. 研究贡献5. 重点详解1. 通道注意力&#xff08;Channel Attention, CA&#xff09;通道注意力的实现步骤&#xff1a; 2. 像素注意力&#xff08;Pixel Attention, PA&#xff09;像素注意力的实现步骤&#xff1a; 3. …

计算机视觉cv2入门之图像的读取,显示,与保存

在计算机视觉领域&#xff0c;Python的cv2库是一个不可或缺的工具&#xff0c;它提供了丰富的图像处理功能。作为OpenCV的Python接口&#xff0c;cv2使得图像处理的实现变得简单而高效。 示例图片 目录 opencv获取方式 图像基本知识 颜色空间 RGB HSV 图像格式 BMP格式 …

深度学习中的向量的样子-DCN

深度学习中向量都是 竖着的&#xff0c;譬如 DCN中的计算逻辑

OBS推WebRTC流,并添加毫秒级时间显示

作者在用OBS推WebRTC流&#xff0c;并用浏览器观看推送的实时流。另外就是想看一下延迟有多少。采用一台电脑&#xff0c;流媒体服务器为SRS&#xff0c;相关配置比较简单&#xff0c;可以自行搜索。 推送的流 http://localhost:1985/rtc/v1/whip/?applive&streamlivestr…

【MySQL】多表操作 —— 外键约束

目录 多表关系一对一关系一对多/多对一关系多对多关系 外键约束基本概念一对多/多对一创建外键约束外键约束下的数据操作数据插入数据删除 删除外键约束 多对多创建外键约束外键约束下的数据操作数据插入数据删除 删除外键约束 多表关系 MySQL 多表之间的关系可以概括为&#…

82.HarmonyOS NEXT 性能优化指南:从理论到实践

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; HarmonyOS NEXT 性能优化指南&#xff1a;从理论到实践 文章目录 HarmonyOS NEXT 性能优化指南&#xff1a;从理论到实践1. 性能优化概述1.1 性能指…

树莓派急速安装ubuntu;映射磁盘与储存磁盘文件;ubuntu映射整个工程;保存系统工作状态

一、用途 在使用树莓派上下载ubuntu时&#xff0c;需要一张sd卡&#xff0c;当你需要给这张卡做备份的时候&#xff0c;可以是使用磁盘映射软件&#xff0c;从而达到备份的目的 同时有一些大佬发布了ubuntu的映射文件&#xff0c;可以直接使用该文件&#xff0c;然后还原他的整…

Qt 控件概述 QPushButton 与 QRadioButton

目录 QPushButton setIcon 设置图标 setShortCut 设置快捷键 setAutoRepeat : 设置是否连发 ​编辑RadioButton 槽函数 单选按钮的分组排异 QPushButton QPushButtoon继承于QAbstractButton(抽象类)&#xff1b; QAbstract中与QPushButton关联性极大的属性 ​ setIcon…