1. 算法简介

层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。
层次分析法是一种解决多目标的复杂问题的定性与定量相结合的决策分析方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能否实现的标准之间的相对重要程度,并合理地给出每个决策方案的每个标准的权数,利用权数求出各方案的优劣次序,比较有效地应用于那些难以用定量方法解决的课题。

2. 算法基本原理

例子:

2.1. 解决问题的思路

层次分析法的基本思路是将所要分析的问题层次化;根据问题的性质和所要达成的总目标,将问题分解为不同的组成因素,并按照这些因素的关联影响及其隶属关系,将因素按不同层次凝聚组合,形成一个多层次分析结构模型;最后,对问题进行优劣比较并排列。

2.2. 层次分析法的步骤

1.建立层次结构模型

  • 将决策的目标、考虑的因素(决策准则)和决策对象按照他们之间的相互关系分为最高层、中间层和最低层,绘出层次结构图。
  • 最高层: 决策的目的、要解决的问题。
    最低层: 决策时的备选方案。
    中间层: 考虑的因素、决策的准则。
  • 对相邻的两层,称高层为目标层,低层为因素层

层次分析法所要解决的问题是关于最低层对最高层的相对权重的问题,按此相对权重可以对最低层中的各种方案、措施进行排序,从而在不同的方案中做出选择或形成选择方案的原则。

2.构造判断矩阵
层次分析法中构造判断矩阵的方法是一致矩阵法,即:不把所有因素放在一起比较,而是两两相互比较;对此时采用相对尺度,以尽可能减少性质不同因素相互比较的困难,以提高准确度。

判断矩阵aija_{ij}aij​的标度方法

标度 含义
1 表示两个因素相比,具有同样重要性
3 表示两个因素相比,一个因素比另一个因素稍微重要
5 表示两个因素相比,一个因素比另一个因素明显重要
7 表示两个因素相比,一个因素比另一个因素强烈重要
9 表示两个因素相比,一个因素比另一个因素极端重要
2,4,6,8 上述两相邻判断的中值
倒数 因素iii于jjj比较的判断aija_{ij}aij​,则因素jjj与iii比较的判断aji=1/aija_{ji}=1/a_{ij}aji​=1/aij​

3.层次单排序及其一致性检验
对应于判断矩阵最大特征根λmax\lambda maxλmax的特征向量,经归一化(使向量中各元素之和为1)后记为WWW。WWW的元素为同一层次元素对于上一层因素某因素相对重要性的排序权值,这一过程称为层次单排序。

定义一致性指标CI=λ−nn−1CI=\frac {\lambda-n}{n-1}CI=n−1λ−n​:
CI=0CI=0CI=0,有完全的一致性;
CICICI接近于0,有满意的一致性;
CICICI越大,不一致越严重。

为了衡量CICICI的大小,引入随机一致性指标RIRIRI

随机一致性指标RI

n 1 2 3 4 5 6 7 8 9 10 11
RI 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51

定义一致性比率:CR=CIRICR=\frac{CI}{RI}CR=RICI​,一般认为一致性比率CR<0.1CR<0.1CR<0.1时,认为A的不一致程度在容许范围之内,有满意的一致性,通过一致性检验。可用其归一化特征向量作为权向量,否则要重新构造成对比较矩阵A,对aija_{ij}aij​加以调整。

示例:

4.层次总排序及其一致性检验

  • 计算某一层次所有因素对于最高层(总目标)相对重要性的权值,称为层次总排序。
  • 这一过程是从最高层次到最低层次依次进行的。

    A层mmm个因素A1,A2,⋅⋅⋅,Am,A_{1},A_{2},···,A_{m},A1​,A2​,⋅⋅⋅,Am​,对总目标Z的排序为a1,a2,⋅⋅⋅,ama_{1},a_{2},···,a_{m}a1​,a2​,⋅⋅⋅,am​。
    B层nnn个因素对上层A中因素为AjA_{j}Aj​的层次单排序为b1j,b2j,⋅⋅⋅,bnj(j=1,2,3,⋅⋅⋅,m)b_{1j},b_{2j},···,b_{nj}(j=1,2,3,···,m)b1j​,b2j​,⋅⋅⋅,bnj​(j=1,2,3,⋅⋅⋅,m)。

B层的层次总排序(即B层第iii个因素对总目标的权值为:∑j=1majbij\sum_{j=1}^{m}a_{j}b_{ij}∑j=1m​aj​bij​)为:
B1:a1b11+a2b12+⋅⋅⋅+amb1m,B_{1}:a_{1}b_{11}+a_{2}b_{12}+···+a_{m}b_{1m},B1​:a1​b11​+a2​b12​+⋅⋅⋅+am​b1m​,
B2:a1b21+a2b22+⋅⋅⋅+amb2m,B_{2}:a_{1}b_{21}+a_{2}b_{22}+···+a_{m}b_{2m},B2​:a1​b21​+a2​b22​+⋅⋅⋅+am​b2m​,
⋅⋅⋅···⋅⋅⋅
Bn:a1bn1+a2bn2+⋅⋅⋅+ambnm,B_{n}:a_{1}b_{n1}+a_{2}b_{n2}+···+a_{m}b_{nm},Bn​:a1​bn1​+a2​bn2​+⋅⋅⋅+am​bnm​,

层次总排序的一致性比率为:CR=a1CI1+a2CI2+⋅⋅⋅+amCIma1RI1+a2RI2+⋅⋅⋅+amRImCR=\frac{a_{1}CI_{1}+a_{2}CI_{2}+···+a_{m}CI_{m}}{a_{1}RI_{1}+a_{2}RI_{2}+···+a_{m}RI_{m}}CR=a1​RI1​+a2​RI2​+⋅⋅⋅+am​RIm​a1​CI1​+a2​CI2​+⋅⋅⋅+am​CIm​​,当CR<0.1CR<0.1CR<0.1时,认为层次总排序通过一致性检验。
例子:

3.算法总结

  • 应用领域:经济计划个管理,能源政策和分配,人才选拔和评价,生产决策,交通运输,科研选题,产业结构,教育,医疗,环境,军事等。
  • 处理问题类型:决策、评价、分析、预测等。
  • 建立层次分析结构模型是关键一步,要有主要决策层参与。
  • 构造成对比较矩阵是数量依据,应由经验丰富、判断力强的专家给出。

4.参考

  1. 层次分析法建模——《百度文库》

层次分析法(AHP)详细步骤相关推荐

  1. 熵权法EW与层次分析法AHP之数学原理及实例

    1.概述 对于多指标或多目标决策问题,由于涉及到多个指标或属性,在对实测数据进行评价时,需要确定这些指标之间的相互权重,各指标权重的客观性与合理性也会大大影响到最终的评价结果.目前对于指标权重确定的方 ...

  2. MATLAB实现层次分析法AHP及案例分析

    层次分析法(Analytic Hierarchy Process, AHP) 1 模型背景 美国运筹学家匹兹堡大学教授Saaty在20世纪70年代初提出的一种层次权重决策分析方法. 层次分析法(Ana ...

  3. 数学建模之层次分析法AHP

    层次分析法(Analytic Hierarchy Process,AHP)这是一种定性和定量相结合的.系统的.层次化的分析方法.这种方法的特点就是在对复杂决策问题的本质.影响因素及其内在关系等进行深入 ...

  4. 层次分析法 AHP

    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题.它是美国运筹学家 T. L. ...

  5. 层次分析法AHP原理、例题

    1 基本介绍 层次分析法(analytic hierarchy process,简称AHP)是解决多因素综合评价问题的常用方法,该方法是美国运筹学家,匹茨堡大学教授T.L. Saaty于20世纪70年 ...

  6. R语言应用实战-基于R语言的综合评价(层次分析法AHP为例)

    一.综合评价的基本概念 对一个事物的评价往往会涉及多个因素或者多个指标,评价是在多个因素相互作用下的一个综合判断.多指标综合评价方法具有以下的特点:包含若干个指标,分别说明被评价对象的不同方面,评价方 ...

  7. 【数学建模】层次分析法AHP(评价与决策)

    文章目录 一.算法介绍 二.适用问题 三.算法总结 1. 步骤 2. 如何构建层次结构模型 3. 如何构建成对比较矩阵 4. 如何进行一致性检验 四.应用场景举例(旅游问题) 1. 建模 2. 构造成 ...

  8. 层次分析法AHP - 代码注释多 - ( 数据建模 Python代码)

    实际生活中,往往有一些很复杂的系统,我们没办法直观草率的确定权重,比如甲.乙.丙三人竞选总统,严谨的说,需要从三人的社交能力.管理能力.经济能力等方面来考虑,在每个方面,三位候选人的得分也不同,那么到 ...

  9. 2010年高教社杯全国大学生数学建模竞赛题目B题解析及层次分析法AHP在其中的应用

    2010年高教社杯全国大学生数学建模竞赛题目 B题 2010年上海世博会影响力的定量评估 2010年上海世博会是首次在中国举办的世界博览会.从1851年伦敦的"万国工业博览会"开始 ...

  10. 数学建模 --- 层次分析法(AHP模型)

    层次分析法 评价类问题 该问题思路 选出相关指标,求各个指标之间的权重 和 对某个指标而言各个选择权重(分而治之思想) 计算每个方案的得分 层次分析法 层次分析法第一步 --- 层次结构图 层次分析法 ...

最新文章

  1. mysql5.7 高可用_基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构
  2. 在.net中读写config文件的各种方法(转载)
  3. php 二维数组去重
  4. .Net (C#)委托和事件(获取多个返回值)
  5. java double方法_Java Double类compare()方法与示例
  6. NVIDIA Physix Unity3D
  7. js关于浅拷贝、深拷贝,数组的深拷贝
  8. matlab怎么显示bfm模型的纹理模型,BFM模型介绍及可视化实现(C++)
  9. 明晚直播预告丨一则ORA-600案例分析
  10. TF2.0-tf.keras.callbacks.ModelCheckpoint
  11. “云时代架构”经典文章阅读感想十三
  12. 计算机ppt制作培训心得,计算机培训心得
  13. 大二下:概率论与数理统计复习 期末试题A
  14. 国开大学计算机应用基础形考作业三答案,国开学习指南形考作业答案
  15. 十种经典运放电路分析
  16. 如何设置内网打印机端口网络穿透到公网
  17. 深度学习名词(中英文对照)
  18. 全国高中数学联赛——组合
  19. iio Engine 1
  20. TCP/IP传输层协议实现 - TCP接收窗口/发送窗口/通告窗口(lwip)

热门文章

  1. JS中定义对象和集合
  2. linux 火狐打不开网页视频,Ubuntu下Firefox不能播放html视频的问题
  3. 使用51单片机驱动航模无刷电机
  4. Android车牌识别sdk开发包,【车牌识别SDK 车牌识别SDK开发包 车牌识别系统】 - 太平洋安防网...
  5. 移动端前端车牌识别SDK授权
  6. 阿里云 socket 服务器配置
  7. ug二次开发python_UG/NX二次开发入门指导
  8. Vue.js 菜鸟教程 思维导图
  9. 使用Poedit汉化wordpress主题和插件
  10. HTML+CSS网页设计视频教程