层次分析法

原文链接(我的主页):https://rick2pc.github.io/2022/07/30/AHP/
层次分析法,即:“The analytic hierarchy process”, 简称AHP

1.建模比赛中最基础的模型之一;

2.主要解决评价类问题;

3.文章中所有图片来自于清风数学建模课程的课件。

我们用一个例子来介绍这个建模方法:

“填好志愿后,小明同学想出去旅游。在查阅了网上的攻略后,他初步选择 了苏杭、北戴河和桂林三地之一作为目标景点。“

”请你确定评价指标、形成评价体系来为小明同学选择最佳的方案。”

对于解决这种评价类问题,我们需要考虑以下三个问题:

  1. 我们的评价目标是什么?
  2. 我们为了达到这个目标有哪几种可选的方案
  3. 评价的准则或者说指标是什么?(我们根据什么东西来评价好坏)

对于我们的例子,我们的回答:

  1. 为小明同学选择最佳的旅游景点。
  2. 三种,分别是去苏杭、去北戴河和去桂林。
  3. 题目没给相关数据支撑,需要我们查阅相关的资料。

一般而言,前两个问题的答案是显而易见的,第三个问题的答案 需要我们根据题目中的背景材料、常识以及网上搜集到的参考资料进行结合,从中筛选出最合适的指标。

在这里,我们假设5个指标:景点;花费;居住;饮食;交通。

然后我们构建一张权重表:

要注意, A H P AHP AHP的最终目的其实就是把这张表通过数学的方式(而不是凭直觉)进行填充,而不是小明自己随便填写,“在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难 是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接 考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此 失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至 有可能提出一组隐含矛盾的数据。”(司守奎《数学建模算法与应用》)

我们首先来思考一下5个指标之间的权重:

一次性考虑五个之间的关系比较繁杂,我们可以两两进行比较,最终通过两两比较的结果来推算权重。

我们使用1~9表示两两指标之间的重要程度(这里的重要程度也可以理解为满意度),具体数字的含义,见下表:

其中,重点要注意一下最后一行那个倒数的含义。

好,我们将根据这个标度,来进行权重的计算:

1. 构建判断矩阵

  1. 首先,对于指标权重,我们会构建一个判断矩阵,再计算权重。如上图,记为 A A A,对应的元素为 a i j a_{ij} aij​。该矩阵有如下特点:

    • a i j a_{ij} aij​ 表示的意思是:与指标 j j j相比, i i i的重要程度。
    • 当 i = j i=j i=j时,两个指标相同,因此同等重要,这就解释了主对角线元素为1。
    • a i j > 0 a_{ij}>0 aij​>0且满足 a i j ∗ a j i = 1 a_{ij}*a_{ji}=1 aij​∗aji​=1(我们称满足这一条件的矩阵为正互反矩阵)。

    但是,在实际建模的过程中,没有“小明”帮助我们填表,层次分析的这张表是交给“专家”填写的,但在比赛过程中往往很难找找到专家标准,一般只能自己填了,但是在论文中就别说出来了。

  2. 其次,对于三个地点在五个把不同标度分别的得分也是重复上面的操作,例如:

    计算在景色方面苏杭,北戴河,桂林所占的得分,我们也是先构建一个判断矩阵,然后再计算权重:

但是,要注意一个问题:

​ 苏杭=A 北戴河=B 桂林=C

​ 苏杭的景色比北戴河好:A>B

​ 苏杭和桂林景色一样好: A = C

​ 北戴河比桂林景色好一点:B > C

这个时候,就会出现问题:如果A = C而A > B,那么C>B与第三条冲突,判断矩阵出现问题

判断矩阵出现了矛盾之处,我们称之为不一致现象

何为一致矩阵?简单理解一下就是各行(列)之间成倍数关系,例:

若矩阵中每个元素 a i j > 0 a_{ij}> 0 aij​>0且满足 a i j ∗ a j i = 1 a_{ij}*a_{ji}=1 aij​∗aji​=1,则我们称该矩阵为正互反矩阵。在层次分析法中,我们构造的判断矩阵均是正互反矩阵。

在正互反矩阵满足 a i j ∗ a j k = a i k a_{ij}*a_{jk}=a_{ik} aij​∗ajk​=aik​,则我们称其为一致矩阵

注意:在使用判断矩阵求权重之前,必须对其进行一致性检验。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fc4mYPaJ-1659151534540)(https://raw.githubusercontent.com/Rick2pc/Typora/main/202207301110166.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TiUrADbi-1659151534540)(https://raw.githubusercontent.com/Rick2pc/Typora/main/202207301110107.png)]

2. 根据判断矩阵计算权重

方法一:算数平均法求权重

  1. 第一步: 将判断矩阵按照列进行归一化(每一个元素除以其所在列的和);
  2. 第二步: 将归一化的各列相加(按行求和);
  3. 第三步: 将相加得到的向量中每个元素除以 n n n即可得到权重向量。

例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ow2EPXo2-1659151834963)(https://raw.githubusercontent.com/Rick2pc/Typora/main/202207301109075.jpg)]

方法二:几何平均法求权重

  1. 第一步: 将A的元素按照行相乘得到一个新的列向量;
  2. 第二步: 将新的向量的每个分量开n次方;
  3. 第三步:对该列向量进行归一化即可得到权重向量。

方法三:特征值法求权重

假如我们的判断矩阵一致性可以接受,那么我们可以仿照一致矩阵权重的求法。

  1. 第一步:求出矩阵A的最大特征值以及其对应的特征向量;
  2. 第二步:对求出的特征向量进行归一化即可得到我们的权重。

三种方法说实话感觉没什么区别,写论文的时候选一种就好了,但是最好点明三种方法都算过了,然后在附录里面展现出最后的结果。

3. 计算得分

根据上节的三种方法,我们可以选择一种方法分别计算每个区块的得分,然后填入表中

每一种颜色就代表了一个判断矩阵

然后根据指标权重和每个地区在5个指标上的权重进行打分,例:

这样,我们就可以得到三个地区,在五个指标上的得分,进而来选择小明想要去的地方。

4. 总结

存中…(img-31ciNpwj-1659151534546)]

[外链图片转存中…(img-LVvA6TwZ-1659151534547)]

[外链图片转存中…(img-QVW17jYg-1659151534547)]

[外链图片转存中…(img-vg6YdndN-1659151534547)]

数学建模 based on 清风相关推荐

  1. 数学建模清风第三次直播:excel在数学建模中的应用

    学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...

  2. 数学建模清风第二次直播:模拟退火算法

    学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...

  3. 数学建模清风第一次直播:传染病模型和微分方程拟合

    学习网址:课件下载 数学建模清风第一次直播:传染病模型和微分方程拟合 数学建模清风第二次直播:模拟退火算法 数学建模清风第三次直播:excel在数学建模中的应用 博客笔记: 数学建模清风第一次直播:传 ...

  4. 数学建模清风微信公众号的习题答案(挑战篇-完结)

    以下题目是来自微信公众号数学建模清风老师的题目 以下是本人结合在微信公众号上学到的知识去做的,如有不正确或不足,欢迎指正! Q15.在本章3.3.5小节介绍sort函数时,我们留下了一个问题:如果存在 ...

  5. 清风数学建模学习之TOPSIS法

    建模演练题部分摘要: 美国媒体彭博社发布的新冠疫情韧性排行榜,根据开放进程.现阶段疫情和生活质量三类指标对世界主要经济体防疫效果进行排序.我们从该榜单合理性出发,新增指标,通过主客观赋权法,利用TOP ...

  6. 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析

    灰色关联分析   灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小.   此方法可用于 进行系统分析,也可应用于对问题 ...

  7. 清风数学建模笔记——Excel画图保姆级教学

    备注:本篇内容是在Office环境下作图,WPS不支持直方图和箱线图好像.免费的Office软件可以在微信搜索中搜"Office"然后挑一个下载即可 本文借鉴了数学建模清风老师的课 ...

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

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

  9. 模拟退火算法(数学建模清风)

    退火是一种金属热处理工艺,指的是将金属缓慢加热到一定温度,保持足够时间,然后以适宜速度冷却. 模拟退火算法能解决的四个问题: (1)求一个给定的函数的最值问题 (2)TSP问题 (3)书店买书问题(0 ...

最新文章

  1. Oracle to_char函数的使用方法
  2. se是什么职位_女皇大学PSE&SE 独家解析!
  3. 函数式编程 -- 测试题集
  4. socket python udp_python-socket UDP
  5. vue.js+webpack 为 img src 赋值的路径问题解决方法
  6. JAVA几何图注水,Java学习:使用Graphics2D类画的简易土星图案
  7. abb机器人编程指令goto指令_abb机器人编程指令——轨迹偏移使用的指令以及moveL指令...
  8. 构建综合性平安校园视频监控系统,全面保障在校师生安全
  9. C语言小白教程第三讲-常量
  10. Insecure Direct Object References
  11. leet 75. 颜色分类
  12. 默默学Sharding-Sphere(一)
  13. Unknown integral data type for ids : java.lang.String; nested exception is org.hibernate.id.Identifi
  14. 硬盘分类及挂载硬盘知识补充和介绍
  15. C++无论字符串长度为多少sizeof()始终是28字节
  16. python socket通信 心跳_python socket 编程之三:长连接、短连接以及心跳(转药师Aric的文章)-阿里云开发者社区...
  17. 一文带你看懂微信小程序费率怎么收
  18. 新建 Microsoft Office Word 文档
  19. 极兔速递 一面面试题
  20. 阅读笔记:RELATIONAL LEARNING BETWEEN MULTIPLE PULMONARY NODULES VIA DEEP SET ATTENTION TRANSFORMERS

热门文章

  1. k-近邻算法(KNN)Python实现
  2. 《C++大学教程》 第九版 课后习题 8.12
  3. GitHub 3.1K,业界首个流式语音合成系统开源
  4. 如何下载4K高清汽车视频素材
  5. iOS - 隐藏/显示导航栏
  6. php网页设计心得,网页设计心得体会
  7. 可以帮我做一个python的3D飞机小游戏吗
  8. Kafka-Eagle 监控
  9. C语言程序训练-1586-计算组合数
  10. java战神_如何评价 《战神 God of War》(战神 4)?