层次分析法(AHP)——MATLAB在数学建模中的应用(第2版)
层次分析法(AHP)
层次分析法(Analytic Hierarchy Process)由美国运筹学家萨蒂在20世纪70年代提出,是一种将 半定性、半定量问题 转化为定量问题解决的决策方法。
AHP将各种因素层次化,并逐层比较多种关联因素,为分析和预测事物发展提供可比较的定量依据。
AHP适用于那些难以完全用定量进行分析的复杂问题,因此在资源分配、选优排序、政策分析、冲突解决以及决策预报等领域得到广泛的应用。
AHP的应用场景归纳如下:
- 评价、评判类的题目。
- 资源分配和决策类的题目。
- 一些优化问题,尤其是多目标优化问题。
层次结构模型
层次结构模型分为三层:
- 最高层: 目的、要解决的问题
- 中间层: 考虑的因素、决策的准则、主因素,可包含若干层
- 最低层: 解决问题的各种措施、方案,或为中间层的子因素
两层之间,较高层称为目标层,较低层称为因素层。
要得出最优方案,就需要确定各方案的定量的权重大小,权重越大,则方案越好。为确定最终方案(最底层)对于目的(最高层)的影响的权重大小,需要逐层构建判断矩阵,进行分析。
判断矩阵的构建
判断矩阵是比较各层次各因素权重大小定量化的结果。一般采用Santy的1-9标度法。
通过每两个因素之间的比较,可以构建一个正反矩阵。
并且λmax\lambda_{max}λmax对应的特征向量ω\omegaω经过归一化后,就是同一层次各元素相对于上一层的权重
判断矩阵的检验
判断矩阵是否有效,是解决问题时十分容易遇到的。而我们采用一致性去判断 判断矩阵 的有效性。主要就是通过一致性比率C.R进行判断。
一致性比率C.R,即一致性指标C.I和同阶平均随机一致性指数R.I的比值。由一致性矩阵的特征可以知道在一致性矩阵中,λmax=n\lambda_{max}=nλmax=n,因此,若判断矩阵的λmax\lambda_{max}λmax越接近于nnn,则判断矩阵的一致性越接近完全一致。所以用一致性指标C.R=λmaxn−1C.R=\frac{\lambda_{max}}{n-1}C.R=n−1λmax来表示。
但由于不同阶数的判断矩阵的一致性指标之间难以比较,为了统一比较的标准,引入了平均随机一致性指数R.I。该指数通过随机方法构造判断矩阵,经过500次以上的重复计算,求出一致性指标,并加以平均而得到的。
一般认为C.R<0.1C.R<0.1C.R<0.1时,判断矩阵符合一致性标准。
层次总排列
最终结果需要综合各个层次的权重进行计算,即称为层次总排列。
层次总排列权重的计算方法即为,最底层的方案在中间层的每一个目标的权重与该目标对于最高层的权重的积的和。
层次总排列的一致性检验为C.R=b1∗C.I1+...+bm∗C.Imb1∗R.I1+...+bm∗R.ImC.R=\frac{b_1*C.I_1+...+b_m*C.I_m}{b_1*R.I_1+...+b_m*R.I_m}C.R=b1∗R.I1+...+bm∗R.Imb1∗C.I1+...+bm∗C.Im。
AHP权重计算MATLAB代码
%AHP权重计算程序
%数据读入
function w = AHP(A)
%%一致性检验
[n,n]=size(A);
[v,d]=eig(A);%返回特征值的对角矩阵 D 和矩阵 V,其列是对应的右特征向量,使得 A*V = V*D。
r=d(1,1);%最大特征值
CI=(r-n)/(n-1);
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];
CR=CI/RI(n);
if CR<0.10CR_Result = '通过';
elseCR_Result = '不通过';
end
%%权向量计算
w=v(:,1)/sum(v(:,1));
w=w';
disp('判断矩阵权向量计算报告');
disp(['一致性指标:',num2str(CI)]);
disp(['一致性比例:',num2str(CR)]);
disp(['一致性检验结果:',CR_Result]);
disp(['特征值:',num2str(r)]);
disp(['权向量:',num2str(w)]);
层次分析法(AHP)——MATLAB在数学建模中的应用(第2版)相关推荐
- matlab数学建模可应用到第几章,《MATLAB在数学建模中的应用(第2版)》
<MATLAB在数学建模中的应用(第2版)> 卓金武 (编者)) 基本信息 •出版社: 北京航空航天大学出版社; 第2版 (2014年9月1日) •丛书名: MATLAB开发实例系列图书 ...
- 2010年高教社杯全国大学生数学建模竞赛题目B题解析及层次分析法AHP在其中的应用
2010年高教社杯全国大学生数学建模竞赛题目 B题 2010年上海世博会影响力的定量评估 2010年上海世博会是首次在中国举办的世界博览会.从1851年伦敦的"万国工业博览会"开始 ...
- 层次分析法matlab_建模开讲课程回放2:层次分析法及其MATLAB
建模开讲:层次分析法及其MATLAB实践 主讲人:于晶贤老师 课程回放地址如下,大家可以复制链接到地址栏即可观看,也可以直接点击左下角的观看: https://ke.qq.com/webcourse/ ...
- 熵权法EW与层次分析法AHP之数学原理及实例
1.概述 对于多指标或多目标决策问题,由于涉及到多个指标或属性,在对实测数据进行评价时,需要确定这些指标之间的相互权重,各指标权重的客观性与合理性也会大大影响到最终的评价结果.目前对于指标权重确定的方 ...
- matlab如何求指标的权向量_【Matlab】案例讲解层次分析法的Matlab实现
我写过层次分析法的Matlab实现:张敬信:[评价算法]层次分析法zhuanlan.zhihu.com 其中的ahp函数是来自<吴鹏. Matlab高效编程技巧与应用:25个案例分析>, ...
- c语言写层次分析法,基于C语言的层次分析法在医院工作质量评价中的设计与实现...
高宇翔 王磊 买力曼·巴哈尼 朱诗威 艾孜买提·艾则孜 吴淼 摘要:目的:对新疆医院工作质量进行综合评价和分析,并提出合理的改进建议,结合新疆医院的工作质量,采用层次分析法提出医院工作质量评价模型,并 ...
- 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...
两类层次分析法的转换及在应用中的比较-计算机工程与应用 114 2012 ,48 (9) Computer Engineering and Applications 计算机工程与应用 两类层次分析法的 ...
- MATLAB在数学建模中的应用
MATLAB在数学建模中的应用 一.预备知识 1.1.关于MATLAB软件 由于科学技术及计算机的飞速发展,各类数学软件不断涌现,这使在解决各类复杂的问题变得非常简单.常用的数学软件有Mathemat ...
- Maltab在数学建模中的应用(第二版)——读书笔记上
Maltab在数学建模中的应用(第二版)--读书笔记上 1.MATLAB与数据文件的交互 1.1数据拟合 1.2数据拟合实例 1.3数据可视化 1.4层次分析法 2.规划问题的MATLAB求解(多约束 ...
- Maltab在数学建模中的应用(第二版)——读书笔记下
Maltab在数学建模中的应用(第二版)--读书笔记下 1彩票中的数学2002B 总结 2露天卡车调度问题2003B 总结 3奥运会商圈规划问题2004A 总结 4交巡警服务平台的设置与调度2011B ...
最新文章
- Python Qt GUI设计:窗口之间数据传递(拓展篇—5)
- Cell:大肠癌耐化疗药,细菌是帮凶
- 清空表中数据 id从1开始
- Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压...
- BigDecimal add方法问题:调用add后,求和结果没变
- linux ps 详解 博客,Linux PS 命令 详解(转)
- 纯数学教程 Page 325 例LXVIII (15) 调和级数发散
- (38)FPGA三种基本逻辑门(或门)
- Excel复制粘贴——跳过空单元格案例
- 稳居TIOBE前三,涨幅No.1,Python做了什么?
- 如何利用大数据打造智慧交通
- 计算机一级主要学什么,计算机一级考试内容是什么 考试难不难
- 阿里java开发编程规范
- R. Shankar《Principles of Quantum Mechanics (2nd)》(山卡《量子力学原理(第二版)》)双语目录
- 国家/地区 语言缩写代码 查询备用
- 【学习记录】【python】【tkinter】自学tkinter的简要记录
- SEC主席Gary Gensler在被问及以太坊是否是证券时,选择了沉默
- xpdl关于join和split的定义的翻译。(转)
- 强化学习之Grid World的Monte Carlo算法解析【MiniWorld】SYSU_2023SpringRL
- PaddlePaddle飞桨《高层API助你快速上手深度学习》『深度学习7日打卡营』第四节课后作业题(代码实践)---快来选一顿好吃的年夜饭