层次分析法的特点:在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。是对难于完全定量的复杂系统作出决策的模型和方法。

决策是指在面临多种方案时需要依据一定的标准选择某一种方案。

1 层次分析法概述

层次分析法(AHP法):该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标能否实现的标准之间的相对重要程度,并合理地给出每个决策方案的每个标准的权数,利用权数求出各方案的优劣次序,比较有效地应用于那些难以定量方法解决的课题。

层次分析法是社会、经济系统决策中的有效工具。其特征是合理地将定性与定量的决策结合起来,按照思维、心理的规律把决策过程层次化、数量化。是系统科学中常用的一种系统分析方法。

层次分析法的3大典型应用:

  1. 用于最佳方案的选取(选择运动员、选择地址)
  2. 用于评价类问题(评价水质状况、评价环境)
  3. 用于指标体系的优选(兼顾科学和效率)

2 层次分析法的基本原理

根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成一个多层次的分析结构模型,从而最终使问题归结为最底层(供决策的方案、措施等)相对于最高层(总目标)的相对重要权值的确定或相对优劣次序的排定。

运用层次分析法构造系统模型时,大致分为以下4个步骤:

  1. 建立层次结构模型
  2. 构造判断(成对比较)矩阵
  3. 层次单排序及其一致性检验
  4. 层次总排序及其一致性检验

2.1 建立层次结构

将决策的目标、考虑的因素(决策准则)和决策对象按它们之间的相互关系分为最高层、中间层和最底层,绘出层次结构图。

一定要绘制出层次结构图!!!

  • 最高层:决策的目的、要解决的问题
  • 中间层:决策时的备选方案
  • 最底层:考虑的因素、决策的准则
  • 若只有两层,没有备选方案,最高层为目标层,最底层为因素层

层次分析法的思维过程的归纳:将决策问题分为3个或多个层次

  • 最高层(目标层):表示解决问题的目的,即层次分析要达到的总目标,通常只有一个总目标
  • 中间层、准则层、指标层、约束层:表示采取的某种措施、政策、方案等实现预定总目标所涉及的中间环节
  • 最底层(方案层):表示将选用的解决问题的各种措施、政策、方案等,通常有几个方案可选。

例1:大学生就业选择问题

例2:选择旅游目的地

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

不把所有因素放在一起比较,而是两两相互比较

心理学家认为成对比较的因素不宜超过9个,否则不宜比较,即每层不要超过9个因素。

判断矩阵元素aij的标度方法

注意:值不具有传递性,不成比例

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

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

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

3 层次分析法的步骤和方法

层次分析法的基本步骤归纳如下:

1.建立层次结构模型:

包括目标层、准则层、方案层

2.构造成对比较矩阵:

从第二层开始用成对比较矩阵和1~9尺度

3.计算单排序权向量并做一致性检验

对每个成对比较矩阵计算最大特征值及其对应的特征向量,利用一致性指标、随机一致性指标和一致性比率做一致性检验。若检验通过,特征向量(归一化后)即为权向量;若不通过,需要重新构造成对比较矩阵。

4.计算总排序权向量并做一致性检验。

计算最下层对最上层总排序的权向量,利用总排序一致性比率CR进行检验。

4 层次分析法的应用

旅游问题

归一化特征向量加起来等于1

% disp函数会直接将内容输出在Matlab命令窗口中
disp('请输入准则层判断矩阵A(n阶)');
A=input('A=');
[n,n]=size(A); % 计算矩阵A的行和列
[V,D]=eig(A);%求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。%求出最大特征值和它所对应的特征向量
tempNum=D(1,1); % 特征值的初值
pos=1;    % 标记的第一个数
for h=1:nif D(h,h)>tempNumtempNum=D(h,h);pos=h;end
end   % 找最大特征值及其对应的位置
w=abs(V(:,pos));    % 找出最大特征值对应的特征向量
w=w/sum(w);    % 归一化处理
t=D(pos,pos);  % 最大特征值
disp('准则层特征向量w=');disp(w);disp('准则层最大特征根t=');disp(t);%以下是一致性检验
CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59 1.60 1.61 1.615 1.62 1.63];
CR=CI/RI(n);
if CR<0.10disp('此矩阵的一致性可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR);
else disp('此矩阵的一致性验证失败,请重新进行评分!');
end

5 应用层次分析法的数学建模案例

选拔优秀参赛队员问题

6 层次分析法的优缺点分析

优点:系统性、实用性、简洁性

缺点:具有主观性,结果比较粗超,难以为众人所接受

数学建模 -- 层次分析法(AHP)相关推荐

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

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

  2. 数学建模——层次分析法Python代码

    数学建模--层次分析法Python代码 import numpy as np class AHP: """ 相关信息的传入和准备 """ d ...

  3. [清风数学建模]层次分析法(AHP)笔记及代码实现

    本文章是学习清风老师数学建模视频后所做的笔记,其中一些图片及代码实现来源于清风老师的B站视频: [强烈推荐]清风:数学建模算法.编程和写作培训的视频课程以及Matlab等软件教学_哔哩哔哩_bilib ...

  4. 数学建模层次分析法例题及答案_斩获国际特等奖!兰理工数学建模团队为百年校庆献礼...

    近日,2019年美国大学生数学建模竞赛(MCM-ICM)成绩正式公布. 兰州理工大学数学建模团队再创佳绩,分别获得国际特等奖(Outstanding Winner)1项.一等奖(Meritorious ...

  5. 数学建模 层次分析法

    层次分析法介绍 层次分析法是对一些较为复杂而且模糊的问题做出分析的一种简易方法,它适用于解决难以完全定量的问题. 该方法在数学建模中运用较多,但是主观因素很大,特别是构造成对比较矩阵的时候,必须要有完 ...

  6. 数学建模层次分析法一致性检验建立

    2023年2月11日,备赛美赛复习建模需要使用的算法.在复习层次分析法的过程可以发现,层次分析法建立判断矩阵时具有强主观性,这个时候就需要建立一致性检验,对模型的差异性进行评估. 计算一致性比例: ​ ...

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

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

  8. 数学建模|层次分析法笔记

    一.什么是层次分析法?  定义: 由目标.方案.指标三部分组成. 框架图: 1.含子准则: 2.方案多种(方案交叉): 3.一对多(一准则多方案,方案不交叉): 二.层次分析法如何设计? 层次分析法步 ...

  9. 数学建模层次分析法例题及答案_【热门推荐】影响力意志力创新力、数学建模简明教程...

    <影响力•意志力•创新力> 索书号:B848.4-49/1028 作者:邢群麟编著 出版社:浙江工商大学出版社,2018 馆藏地:新馆304室 简介:本书在总结众多成功人士经验的基础上, ...

  10. 数学建模 层次分析法 python计算权重

    这里用python语言来计算判断矩阵的权重,网上大部分是matlab语言,里面也包含一致性检验的函数,具体各函数使用方法详见代码注释的部分 import numpy as np a=np.array( ...

最新文章

  1. SharePoint 2013 图文开发系列之代码定义列表
  2. Ubuntu 18.04 配置 国内 apt-get 换源
  3. 配置Hyper-V Server 资源计量
  4. dotnet core 开发无缝兼容Http和Websocket协议的接口服务
  5. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记...
  6. dpkg命令_Linux常用命令大全(二)
  7. bzoj3551 [ONTAK2010]Peaks加强版(Kruskal重构树+主席树)
  8. spss导入Excel显示连接服务器超时,Excel里的日期在spss里怎么不正常显示
  9. 数据立方体的基本计算
  10. 解决表格刷新时抖动闪烁问题
  11. BIDI单纤双向光模块
  12. KubernetesDatabase-k8s中helm方式安装postgresql及pgadmin
  13. 深度学习如何训练出好的模型
  14. 浅谈border-radius对border的影响
  15. oracle中yest,在Oracle中声明YESTERDAYS日期作为变量
  16. CVE-2020–9854漏洞攻击链分析
  17. find命令 tpye选项
  18. 关系数据库设计---练习题
  19. Atitit 通过教育提升阶层 不同阶层的不同教育专业分类 目录 1. 顶层婆罗门教育专业 1 1.1. 价值观教育 意识形态 宗教 (哲学 教育学 ) 1 1.2. (11)法学 管理学 公
  20. 制作macOS Monterey启动U盘

热门文章

  1. Matlab滤波函数
  2. linux备份数据库
  3. U盘安装EXSi6.7出错menu.c32文件
  4. 《Java语言程序设计与数据结构》编程练习答案(第十七章)
  5. 《Java就业培训教程》_张孝祥_书内源码_04
  6. 局域网IP搜索小工具
  7. 计算机一级考word几,计算机一级word考试主要内容
  8. python出行轨迹记录_Python中的自动路径绘制,python,轨迹
  9. java 环境配置(详细教程)
  10. 颠覆QQ,干掉微信?腾讯内测“朋友”,会是下一个国民社交APP吗