层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。

层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。

层次分析法具体步骤:

1.建立层次结构模型

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

2.构造判断(成对比较)矩阵

在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,因而Santy等人提出一致矩阵法,即不把所有因素放在一起比较,而是两两相互比较,对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,以提高准确度。

重要性比较结果,表1列出Saaty给出的9个重要性等级及其赋值。按两两比较结果构成的矩阵称作判断矩阵。判断矩阵具有如下性质:

Aij度量方法:

3.层次单排序及其一致性检验

对应于判断矩阵最大特征根λ的特征向量,经归一化(使向量中各元素之和等于1)后记为W。W的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程称为层次单排序。能否确认层次单排序,则需要进行一致性检验,所谓一致性检验是指对A确定不一致的允许范围。其中,n阶一致阵的唯一非零特征根为n;n 阶正互反阵A的最大特征根λ≥n,当且仅当λ=n时,A为一直矩阵,由于λ的连续依赖于aij,则λ 比n 大的越多,A的不一致性越严重,一致性指标用CI计算,CI越小,说明一致性越大。用最大特征值对应的特征向量作为被比较因素对上层某因素影响程度的权向量,其不一致程度越大,引起的判断误差越大。因而可以用 λ-n 数值的大小来衡量A 的不一致程度。定义一致性指标为:

CI=0,有完全的一致性;CI 接近于0,有满意的一致性;CI 越大,不一致越严重。

为衡量CI 的大小,引入随机一致性指标 RI:

其中,随机一致性指标RI和判断矩阵的阶数有关,一般情况下,矩阵阶数越大,则出现一致性随机偏离的可能性也越大,其对应关系如表2:

考虑到一致性的偏离可能是由于随机原因造成的,因此在检验判断矩阵是否具有满意的一致性时,还需将CI和随机一致性指标RI进行比较,得出检验系数CR,公式如下:

一般,如果CR<0.1 ,则认为该判断矩阵通过一致性检验,否则就不具有满意一致性。

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

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

5 算法举例

算法举例:(成对矩阵中的值均需要人为按经验填写。)

第一步:建立层次结构

从苏州、杭州桂林三个城市选择一个城市去旅游。考虑的因素为景色、费用、居住、饮食、旅游5个因素。如下图所示:

第二步:构造成对比较矩阵

(注:矩阵中的各个元素均需要人为按经验填写)

第三步:层次单排序及一致性检验

求该矩阵的最大特征值及其对应的最大特征向量

A的最大特征值为λ=5.037,归一化后的特征向量W={0.263,0.475,0.055,0.099,0.110}

进行一致性检验

A通过了一次性验证,结果是可行的。

第四步:层次总排序及一次性检验

与此类似,求出方案层中各方案的成对比较矩阵

对每个成对矩阵汇总并进行一致性检验。

全部通过。计算每个方案对最终目标的权重:

B3对应的值最大,所以去桂林方案最佳。

层次分析法原理及应用案例相关推荐

  1. 层次分析法原理分析及Python实现层析分析法

    目录 层次分析法概述 定义 步骤归纳 例子 应用实例 Python实现 程序如下: 运行结果截图 层次分析法概述 定义 本文所有图片均来自本人的OneNote笔记 步骤归纳 例子 建立层次结构模型 构 ...

  2. 层次分析法原理及实例(AHP)

    层次分析法(AHP) 一.层次分析法概述 层次分析法(analytic hierarchy process),简称AHP,是指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之上进行定性和 ...

  3. AHP | 层次分析法原理及Python实现

    层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家托马斯·塞蒂(T. L. Saaty)于20世纪70年代中期提出,用于确定评价模型中各评价因子/准则的权重,进一 ...

  4. matlab如何求指标的权向量_【Matlab】案例讲解层次分析法的Matlab实现

    我写过层次分析法的Matlab实现:张敬信:[评价算法]层次分析法​zhuanlan.zhihu.com 其中的ahp函数是来自<吴鹏. Matlab高效编程技巧与应用:25个案例分析>, ...

  5. 【数学建模】层次分析法

    层次分析法 引例 层次分析法介绍 成对比较阵和一致性检验 组合权向量 层次分析法步骤 代码实现 RI 一致性检验 层次单排序 计算组合权向量(层次总排序) 经典案例 代码实现 练习训练 参考文献 引例 ...

  6. 【算法类原创】层次分析法的内涵

            因作者时间有限,所以不会对一些常用的算法计算步骤着以重墨,而会专注于介绍资料上很难查到甚至查不到的内容.如果有需要,作者会考虑写一些介绍算法以及算法应用的文章.         下一篇 ...

  7. 数学建模-层次分析法

    决策 层次分析法原理 相对重要权值的确定 算法步骤 目标层 准则层 方案层 层次分析法解决旅游问题 B1~B5表示 5个属性对于三地的各个重要性 通过层次分析矩阵 得到 各个属性相对于目标的权重. 最 ...

  8. 【人类高质量层次分析法教程】1分钟实现AHP+矩阵一致性调整

    [视频教程]1分钟实现AHP+矩阵一致性调整 课程简介 视频教程 指标体系的确定.专家咨询及数据整理实操 AHP分析+矩阵一致性调整 群决策 资源获取 课程简介 首先说明一下我设计本次课程的目的,目前 ...

  9. python实现AHP算法(层次分析法)

    一.层次分析法原理 层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家托马斯·塞蒂(T. L. Saaty)于20世纪70年代中期提出,用于确定评价模型中各评价因 ...

  10. 评价方法-层次分析法确定指标权重

    Pros: 依据专家经验判断,相对偏主观,方便业务基于不同阶段的需求进行调整 code: class AHP:def __init__(self, arr):self.RI = (0, 0, 0.58 ...

最新文章

  1. VSS2005下载地址
  2. vue可视化拖拽生成工具_vue实现可视化可拖放的自定义表单的示例代码
  3. vsftpd的基于pam_mysql的虚拟用户机制
  4. linux-basic(8)linux磁盘与文件系统管理
  5. Linux 应用程序的源码包如何安装?
  6. Using .NET C# LDAP Library(Novell.Directory.Ldap)
  7. 8902382_52671.jpg
  8. 必须掌握的Python技巧(一)
  9. vs2008 jquery 智能提示
  10. 我的数据分析师转型之路,从零到字节跳动数据分析师
  11. Python日期时间格式转换
  12. python+django+mysql疫苗预约系统毕业设计毕设开题报告
  13. 厦门大学计算机保研学校,厦门大学计算机科学系(专业学位)计算机技术保研夏令营...
  14. c++读xml文件 MSXML
  15. 既要面子,也要里子,车企成不了自动驾驶的“独行侠”
  16. 电脑代理上网和共享上网
  17. 59 SD配置-科目分配-分配科目代码
  18. [014量化交易] python 通过tushare 获取股票数据、名称、股票代码、指定股票名
  19. keras系列︱人脸表情分类与识别:opencv人脸检测+Keras情绪分类(四)
  20. 终于把PID的原理搞懂了

热门文章

  1. 网站html超链接移动,HTML - 超链接
  2. 基于51单片机的红外遥控器设计
  3. 一台服务器接多台显示器,一台主机为两台显示器分屏工作的方法
  4. excel 合并单元格筛选
  5. 卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)
  6. xp服务器远程连接设置方法,Windows XP远程桌面连接设置图解教程
  7. Python 发送短信
  8. 建立ad-hoc网络 // 电脑设置wifi热点 (Win10)
  9. 互联网产品常用英语单词
  10. 解决Win10打开可执行文件提示为了对电脑进行保护,已经阻止此应用的问题