层次分析法(AHP)详细步骤

层次分析法(AHP)详细步骤1.算法简介

大家好,又见面了,我是你们的朋友全栈君。

1. 算法简介

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

2. 算法基本原理

例子:
在这里插入图片描述

2.1. 解决问题的思路

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

2.2. 层次分析法的步骤

1.建立层次结构模型

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

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

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

判断矩阵 a i j a_{ij} aij的标度方法

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

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

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

为了衡量 C I CI CI的大小,引入随机一致性指标 R I RI RI


随机一致性指标
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


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

示例:
在这里插入图片描述在这里插入图片描述

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

  • 计算某一层次所有因素对于最高层(总目标)相对重要性的权值,称为层次总排序。
  • 这一过程是从最高层次到最低层次依次进行的。
    在这里插入图片描述
    A层 m m m个因素 A 1 , A 2 , ⋅ ⋅ ⋅ , A m , A_{1},A_{2},···,A_{m}, A1,A2,,Am,对总目标Z的排序为 a 1 , a 2 , ⋅ ⋅ ⋅ , a m a_{1},a_{2},···,a_{m} a1,a2,,am
    B层 n n n个因素对上层A中因素为 A j A_{j} Aj的层次单排序为 b 1 j , b 2 j , ⋅ ⋅ ⋅ , b n j ( 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层第 i i i个因素对总目标的权值为: ∑ j = 1 m a j b i j \sum_{j=1}^{m}a_{j}b_{ij} j=1majbij)为:
B 1 : a 1 b 11 + a 2 b 12 + ⋅ ⋅ ⋅ + a m b 1 m , B_{1}:a_{1}b_{11}+a_{2}b_{12}+···+a_{m}b_{1m}, B1:a1b11+a2b12++amb1m,
B 2 : a 1 b 21 + a 2 b 22 + ⋅ ⋅ ⋅ + a m b 2 m , B_{2}:a_{1}b_{21}+a_{2}b_{22}+···+a_{m}b_{2m}, B2:a1b21+a2b22++amb2m,
⋅ ⋅ ⋅ ···
B n : a 1 b n 1 + a 2 b n 2 + ⋅ ⋅ ⋅ + a m b n m , B_{n}:a_{1}b_{n1}+a_{2}b_{n2}+···+a_{m}b_{nm}, Bn:a1bn1+a2bn2++ambnm,

层次总排序的一致性比率为: C R = a 1 C I 1 + a 2 C I 2 + ⋅ ⋅ ⋅ + a m C I m a 1 R I 1 + a 2 R I 2 + ⋅ ⋅ ⋅ + a m R I m CR=\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=a1RI1+a2RI2++amRIma1CI1+a2CI2++amCIm,当 C R < 0.1 CR<0.1 CR<0.1时,认为层次总排序通过一致性检验。
例子:
在这里插入图片描述在这里插入图片描述

3.算法总结

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

4.参考

  1. 层次分析法建模——《百度文库》
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153648.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 异步fifo简介_异步fifo时序

    异步fifo简介_异步fifo时序一、概述在大规模ASIC或FPGA设计中,多时钟系统往往是不可避免的,这样就产生了不同时钟域数据传输的问题,其中一个比较好的解决方案就是使用异步FIFO来作不同时钟域数据传输的缓冲区,这样既可以使相异时钟域数据传输的时序要求变得宽松,也提高了它们之间的传输效率。此文内容就是阐述异步FIFO的设计。二、设计原理2.1结构框图如上图所示的同步模块synchronizetowr…

  • 数据库之联合索引

    数据库之联合索引联合索引使用结论:  1):查询条件中出现联合索引第一列,或者全部,则能利用联合索引.  2):条件列中只要条件相连在一起,以本文例子来说就是:  last_name=’1′andfirst_name=’1′  与  first_name=’1′andlast_name=’1′  ,无论前后,都会利用上联合索引.  3):查询条件中没有出现

  • laravel 5 自定义全局函数,怎么弄呢?

    laravel 5 自定义全局函数,怎么弄呢?

    2021年10月26日
  • matlab里for循环语句_matlab中的for循环语句

    matlab里for循环语句_matlab中的for循环语句matlab循环语句for怎么用?matlab中for语句使用方法和应用实例for循环语句1、一般格式为:forx(循环变量)=array(数组)commands(执行的循环代码)end2、array可以是一个数字,也可以是数组,例如输入:fora=5fora=1:5fora=1:1:5(以1为步长到5)只不过在a=1:5和a=1:1:5时,会显示之间的结果,a=5时只显示最后结果。a…

  • HTML DOM clearInterval() 方法

    HTML DOM clearInterval() 方法

    2021年10月18日
  • 【Mask RCNN】论文详解(真的很详细)

    【Mask RCNN】论文详解(真的很详细)论文:http://cn.arxiv.org/pdf/1703.06870v3本文主要是针对论文的详细解析,选出文章各部分的关键点,方便阅读立即。目录:摘要:1、Introduction2、RelatedWork3、MaskR-CNN3.1ImplementationDetails4、Experiments:InstanceSegmentation4…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号