【数学建模】层次分析法AHP(评价与决策)
文章目录
- 一、算法介绍
- 二、适用问题
- 三、算法总结
- 1. 步骤
- 2. 如何构建层次结构模型
- 3. 如何构建成对比较矩阵
- 4. 如何进行一致性检验
- 四、应用场景举例(旅游问题)
- 1. 建模
- 2. 构造成对比较矩阵
- 3. 执行代码获得权重
- 4. 计算决策层对总目标的权值
- 5. 根据权重进行决策
- 五、MATLAB代码
- 六、实际案例
- 七、论文案例片段(待完善)
层次分析法主要针对数学建模问题中的一些小的子问题进行求解,如果想直接使用请跳转至——四、五
视频回顾
一、算法介绍
根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成一个多层次的分析结构模型,从而最终使问题归结为最低层(供决策的方案、措施等)相对于最高层(总目标)的相对重要权值的确定或相对优劣次序的排定。
二、适用问题
- 面临多种方案时需要一定的标准选择某一种方案:
- 例如:
- 在海尔、新飞、容声和雪花四个牌号的电冰箱中选购一种。要考虑品牌的信誉、冰箱的功能、价格和耗电量。
- 在苏杭、北戴河、桂林三处选择一一个旅游点。要考虑景点的景色、居住的环境、饮食的特色、交通便利和旅游的费用。
三、算法总结
1. 步骤
- 建立层次结构模型
- 构造判断(成对比较)矩阵
- 层次单排序及其一致性检验
- 层次总排序及其一致性检验
2. 如何构建层次结构模型
将决策的目标、考虑的因素(决策准则)和决策对象按它们之间的相互关系分为最高层、中间层和最低层,绘出层次结构图。
最高层:决策的目的、要解决的问题。
最低层:决策时的备选方案。
中间层:考虑的因素、决策的准则。
- 例如:
3. 如何构建成对比较矩阵
成对比较矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较。成对比较矩阵矩阵的元素aij用Santy的1一9标度(一致矩阵法)方法给出。
- 标度表:
- 例如:
4. 如何进行一致性检验
四、应用场景举例(旅游问题)
1. 建模
构建模型
2. 构造成对比较矩阵
查阅相关知识,咨询相关领域专家意见得到成对比较矩阵
3. 执行代码获得权重
4. 计算决策层对总目标的权值
5. 根据权重进行决策
五、MATLAB代码
disp('请输入判断矩阵A(n阶)');
A=input('A=');
[n,n]=size(A);
x=ones(n,100);
y=ones(n,100);
m=zeros(1,100);
m(1)=max(x(:,1));
y(:,1)=x(:,1);
x(:,2)=A*y(:,1);
m(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
while k>pi=i+1;x(:,i)=A*y(:,i-1);m(i)=max(x(:,i));y(:,i)=x(:,i)/m(i);k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);%以下是一致性检验
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];
CR=CI/RI(n);
if CR<0.10disp('此矩阵的一致性可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR);
end
六、实际案例
A1=[1, 1/2, 4, 3, 3;2, 1, 7, 5, 5;1/4, 1/7, 1, 1/2, 1/3;1/3, 1/5, 2, 1, 1;1/3, 1/5, 3, 1, 1;]B1=[1,2,5;
1/2,1,2;
1/5,1/2,1;]B2=[1,1/3,1/8;
3,1,1/3;
8,3,1;]B3=[1,1,3;
1,1,3;
1/3,1/3,1;]B4=[1,3,4;
1/3,1,1;
1/4,1,1;]B5=[1,1,1/4;1,1,1/4;4,4,1;]
七、论文案例片段(待完善)
【数学建模】层次分析法AHP(评价与决策)相关推荐
- 数学建模 --- 层次分析法(AHP模型)
层次分析法 评价类问题 该问题思路 选出相关指标,求各个指标之间的权重 和 对某个指标而言各个选择权重(分而治之思想) 计算每个方案的得分 层次分析法 层次分析法第一步 --- 层次结构图 层次分析法 ...
- 数学建模——层次分析法Python代码
数学建模--层次分析法Python代码 import numpy as np class AHP: """ 相关信息的传入和准备 """ d ...
- [清风数学建模]层次分析法(AHP)笔记及代码实现
本文章是学习清风老师数学建模视频后所做的笔记,其中一些图片及代码实现来源于清风老师的B站视频: [强烈推荐]清风:数学建模算法.编程和写作培训的视频课程以及Matlab等软件教学_哔哩哔哩_bilib ...
- 数学建模层次分析法例题及答案_斩获国际特等奖!兰理工数学建模团队为百年校庆献礼...
近日,2019年美国大学生数学建模竞赛(MCM-ICM)成绩正式公布. 兰州理工大学数学建模团队再创佳绩,分别获得国际特等奖(Outstanding Winner)1项.一等奖(Meritorious ...
- 数学建模 层次分析法
层次分析法介绍 层次分析法是对一些较为复杂而且模糊的问题做出分析的一种简易方法,它适用于解决难以完全定量的问题. 该方法在数学建模中运用较多,但是主观因素很大,特别是构造成对比较矩阵的时候,必须要有完 ...
- 数学建模层次分析法一致性检验建立
2023年2月11日,备赛美赛复习建模需要使用的算法.在复习层次分析法的过程可以发现,层次分析法建立判断矩阵时具有强主观性,这个时候就需要建立一致性检验,对模型的差异性进行评估. 计算一致性比例: ...
- 数学建模-层次分析法
决策 层次分析法原理 相对重要权值的确定 算法步骤 目标层 准则层 方案层 层次分析法解决旅游问题 B1~B5表示 5个属性对于三地的各个重要性 通过层次分析矩阵 得到 各个属性相对于目标的权重. 最 ...
- 数学建模|层次分析法笔记
一.什么是层次分析法? 定义: 由目标.方案.指标三部分组成. 框架图: 1.含子准则: 2.方案多种(方案交叉): 3.一对多(一准则多方案,方案不交叉): 二.层次分析法如何设计? 层次分析法步 ...
- 数学建模层次分析法例题及答案_【热门推荐】影响力意志力创新力、数学建模简明教程...
<影响力•意志力•创新力> 索书号:B848.4-49/1028 作者:邢群麟编著 出版社:浙江工商大学出版社,2018 馆藏地:新馆304室 简介:本书在总结众多成功人士经验的基础上, ...
- 数学建模 层次分析法 python计算权重
这里用python语言来计算判断矩阵的权重,网上大部分是matlab语言,里面也包含一致性检验的函数,具体各函数使用方法详见代码注释的部分 import numpy as np a=np.array( ...
最新文章
- 教你简单解决过拟合问题(附公式)
- PHP编实现程动态图像的创建
- Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号...
- 077_访问者的信息
- Program terminated with signal SIGSEGV, Segmentation fault.
- 用LVM快照创建虚拟机
- SpringCloud Consul Config 配置中心(一)
- 数据血缘关系图 工具_如何在论文中画出漂亮的插图?用它!丨城市数据派
- python可以实现那些功能_30 个Python代码实现的常用功能,精心整理版
- windows环境安装python
- 【笔记】Windows Sublime text安装json格式化插件SublimePrettyJson
- 2018年人工智能之自动驾驶研究报告
- 计算机专业网页设计周志,毕业设计周志范文100篇
- 管理者如何做好“冲突管理”
- Win10耳机插入电脑无声音问题的解决方案
- 一大批裁员降薪企业名单在路上,你中了吗?
- python function gamma_Python math gamma()用法及代码示例
- 【iOS】首行缩进两个字符
- Netty -Netty心跳检测机制案例,Netty通过WebSocket编程实现服务器和客户端长链接
- 【GameMaker 极速入门】#1环境配置
热门文章
- RoFormerV2:自然语言理解的极限探索
- 科研助力 | 牛津,MIT导师计算机科研项目招生(仅限AI,机器学习,深度学习方向)...
- poj2955 Brackets 最大括号匹配 区间动态规划
- 复现网状的记忆Transformer图像描述模型(失败)
- 05 | REST消息通信:如何使用 OpenFeign 简化服务间通信
- JVM 核心技术 调优分析与面试经验
- r语言x c(-1 -2),【软件】R语言入门之向量
- python平稳性检验_Python数据分析0.3 用statsmodels进行ADF平稳性检验
- qt能使用logback_SpringBoot 中使用 LogBack 配置
- 牛客题霸 NC21 链表内指定区间反转