层次分析法(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)
blank

相关推荐

  • FindWindowEx 遍历所有窗口

    FindWindowEx 遍历所有窗口 FindWindowEx 唯一麻烦是第2个参数的指定.Explore下窗口是Z序的 ,实际上就是根据第一个参数和第2个参数来找第2个参数后的一个窗口:HWNDchild=0;child=FindWindowEx (NULL,child,NULL,NULL);这样,child就是一个Explore,然后,通过循环能够找到c…

  • html iframe 传递数据,iframe参数 怎么传递参数到iframe页面「建议收藏」

    html iframe 传递数据,iframe参数 怎么传递参数到iframe页面「建议收藏」关于使用iframe跳转参数获取问题怎么把URL参数传递到B页面的iframe的C页面里?A页面打开一个B页面的链接,怎么把A页面的URL参数传递到B页面iframe的CA.htmlBB.htmlwindow.onload=function(){varv=document.getElementById(“miao”);v.src=”C.html?p=”+UrlValue(…

  • ov7670图像传感器_cmos图像传感器封装

    ov7670图像传感器_cmos图像传感器封装注释:配置方法由其他博文复制整理而来,不是个人原创,感恩原作者 图像传感器(sensor)概述: 现在用的传感器主要有两种:一种是CCD,另一种是CMOS,现在主流的是CMOS对于CCD传感器,其输出的是带制式的模拟信号,需要经过视频解码后得到数字信号对于CMOS传感器,其直接输出数字信号,可以直接与控制器连接 像素部分 那么对于像素部分,我们常常听到30万像素,…

  • 图像搜索引擎「建议收藏」

    图像搜索引擎「建议收藏」ListofCBIRenginesFromWikipedia,thefreeencyclopediaJumpto:navigation,searchThisisalistofpubliclyavailableContent-basedimageretrieval(CBIR)engines,theseimagesearc

  • 数据库 分区表详解

    数据库 分区表详解如果你的数据库中某一个表中的数据满足以下几个条件,那么你就要考虑创建分区表了。1、数据库中某个表中的数据很多。很多是什么概念?一万条?两万条?还是十万条、一百万条?这个,我觉得是仁者见仁、智者见智的问题。当然数据表中的数据多到查询时明显感觉到数据很慢了,那么,你就可以考虑使用分区表了。如果非要我说一个数值的话,我认为是100万条。2、但是,数据多了并不是创建分区表的惟一条件,哪怕你有一千万条记录,但

发表回复

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

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