• 层次分析:

    层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。不妨用假期旅游为例:假如有3个旅游胜地A、B、C供你选择,你会根据诸如景色、费用和居住、饮食、旅途条件等一些准则去反复比较这3个候选地点.首先,你会确定这些准则在你的心目中各占多大比重,如果你经济宽绰、醉心旅游,自然分别看重景色条件,而平素俭朴或手头拮据的人则会优先考虑费用,中老年旅游者还会对居住、饮食等条件寄以较大关注。其次,你会就每一个准则将3个地点进行对比,譬如A景色最好,B次之;B费用最低,C次之;C居住等条件较好等等。最后,你要将这两个层次的比较判断进行综合,在A、B、C中确定哪个作为最佳地点。

  • 模型建立的基本步骤:
    1、建立层次结构模型。在深入分析实际问题的基础上,将有关的各个因素按照不同属性自上而下地分解成若干层次,同一层的诸因素从属于上一层的因素或对上层因素有影响,同时又支配下一层的因素或受到下层因素的作用。最上层为目标层,通常只有1个因素,最下层通常为方案或对象层,中间可以有一个或几个层次,通常为准则或指标层。当准则过多时(譬如多于9个)应进一步分解出子准则层。

      2、构造成对比较阵。从层次结构模型的第2层开始,对于从属于(或影响)上一层每个因素的同一层诸因素,用成对比较法和1—9比较尺度构造成对比较阵,直到最下层。

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

      4、计算组合权向量并做组合一致性检验。计算最下层对目标的组合权向量,并根据公式做组合一致性检验,若检验通过,则可按照组合权向量表示的结果进行决策,否则需要重新考虑模型或重新构造那些一致性比率较大的成对比较阵。

    -构造对比矩阵
    层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重 并不一定相同,在决策者的心目中,它们各占有一定的比例。 在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比 重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有 多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的 重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。为看清这一点, 可作如下假设:将一块重为 1 千克的石块砸成n小块,你可以精确称出它们的重量, 设为 n ww ,,1 L ,现在,请人估计这n小块的重量占总重量的比例(不能让他知道各 小石块的重量),此人不仅很难给出精确的比值,而且完全可能因顾此失彼而提供彼 此矛盾的数据。

这里设Ymax为矩阵的特征根, 然后对模型进行一致性检验:

-当矩阵非一致性较为严重时, 对矩阵进行修正
详细修正方法见论文:层次分析法中整体一致性判别及校正
层次分析法判断矩阵一致性检验及偏差自动修正程序

  • 对于多层的检验
    上面我们得到的是一组元素对其上一层中某元素的权重向量。我们最终要得到各 元素,特别是最低层中各方案对于目标的排序权重,从而进行方案选择。总排序权重 要自上而下地将单准则下的权重进行合成

    一致性检验的方程式为:
  • matlab对算法的实现
clc,clear fid=fopen('txt3.txt','r'); a=[];for i=1:n1   tmp=str2num(fgetl(fid));
end
for i=1:n1
str1=char(['b',int2str(i),'=[];']);
str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
eval(str1);
for j=1:n2
tmp=str2num(fgetl(fid));
eval(str2); %读方案层的判断矩阵
end
end
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[x,y]=eig(a);
lamda=max(diag(y));
num=find(diag(y)==lamda);
w0=x(:,num)/sum(x(:,num));
cr0=(lamda-n1)/(n1-1)/ri(n1)
for i=1:n1    [x,y]=eig(eval(char(['b',int2str(i)])));     cr1, ts=w1*w0, cr=cr1*w0 

纯文本数据如下:
1 1 1 4 1 1/2
1 1 2 4 1 1/2 1
1/2 1 5 3 1/2 1/4
1/4 1/5 1 1/3 1/3 1
1 1/3 3 1 1 2
2 2 3 3 1 1
1/4 1/2 4
1 3 2
1/3 1 1
1/4 1/5 4
1 1/2 5
2 1 1
3 1/3 1/3
1 1/7 3
7  1 1
1/3 5 3
1 7 1/5
1/7 1 1
1 7 1
1 7 1/7
1/7 1 1
7 9 1/7
1 1 1/9
1 1   3

层次分析法(matlab实现)相关推荐

  1. ahp层次分析法matlab代码_Matlab数据分析实战,基于AHP高校食堂满意度调查分析

    层次分析法(Analytical Hierachy Process,AHP)是匹兹堡大学T.L.Saaty教授在20世纪70年代初期提出对定性问题进行定量分析的一种渐变灵活的多准则决策方案. 其特点是 ...

  2. 目标层准则层MATLAB,层次分析法-MATLAB

    层次分析法-MATLAB 第八章 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全 ...

  3. 综合评价分析法:熵权法matlab实现+层次分析法matlab实现

    综合评价分析法:熵权法matlab实现+层次分析法matlab实现 层次分析法matlab实现 clc;clear%层次分析法matlab实现A=[1 1/9 1/2 1/4 1/6 9 1 6 5 ...

  4. ahp层次分析法matlab代码_(案例)AHP层次决策分析Matlab编码计算

    "层次聚类分析Matlab编码计算" 01 - AHP层次决策分析计算函数 求判断矩阵最大特征根和归一化特征向量: function [maxEigVal,w] = maxEigV ...

  5. AHP层次分析法matlab实现

    AHP层次分析法的步骤和matlab实现方法 AHP (Analytic Hierarchy Process)层次分析法是美国运筹学家T. L. Saaty教授于二十世纪70年代提出的一种实用的多方案 ...

  6. 层次分析法--matlab

    层次分析法 第一步:建立递阶层次结构 第二步:构造两两判断矩阵 准则层 方案层 第三步:计算权重(一致性检验)和得分 计算权重 一致性检验 算术平均法 几何平均法 特征值法 计算得分 代码: 第一步: ...

  7. IFAHP直觉模糊层次分析法matlab

    一致性检验 r1=[]; r2=[]; R1=r1; R2=r2; for i=1:6 for j=1:6 if j>i+1 t=i+1; if t==7 break; else R1(i,j) ...

  8. 菜鸟的数学建模之路(六):层次分析法

    层次分析法(AHP):一种层次权重决策分析方法,日常生活中比如:冰箱品牌的选购(考虑到价格,性能,售后等因素):旅游景点的选择(交通,居住环境,饮食等). 解题步骤: (1).建立层次结构模型 (2) ...

  9. 层次分析法matlab_建模开讲课程回放2:层次分析法及其MATLAB

    建模开讲:层次分析法及其MATLAB实践 主讲人:于晶贤老师 课程回放地址如下,大家可以复制链接到地址栏即可观看,也可以直接点击左下角的观看: https://ke.qq.com/webcourse/ ...

  10. 层次分析法(AHP)——matlab代码实现

    层次分析法(AHP)的主要思想是根据研究对象的性质将要求达到的目标分解为多个组成因素,并按组成因素间的相互关系,将其层次化,组成一个层次结构模型,然后按层分析,最终获得最高层的重要性权值.层次分析法把 ...

最新文章

  1. PO_标准内部请购内部采购单抛转订单模组(流程)
  2. 检测DTMF信号中的时间间隔
  3. golang函数入门示例
  4. 手机知识:手机快充取决于充电头还是数据线,看完你就懂了!
  5. C++(STL):25 ---序列式容器stack源码剖析
  6. 安装composer以及laravel框架
  7. 全自动采集新闻站源码-单站自动采集新闻源码(seo标题伪原创)
  8. MongoDB-与SpringBoot集成
  9. vb取消文本框的粘贴功能
  10. 03python面向对象编程5
  11. vivox20 html阅读器,【vivoX20评测】屏幕:全面屏也得看显示素质_vivo X20_手机评测-中关村在线...
  12. 腐蚀单机服务器怎么不稳定,腐蚀有什么指令?基本指令及服务器指令汇总
  13. java .jpackage_jpackage安装Java原生本机应用的新工具
  14. iOS硬解码H264视频流
  15. u深度重装系统详细教程_u深度u盘安装win10系统教程
  16. 计算机无steam服务,有了这个,或许以后都不用登录电脑的Steam了
  17. 杀毒软件的一些杀毒原理
  18. UNIX环境高级编程-第六章-系统数据文件和信息
  19. 测绘行业如何?从业十年对测绘行业的薄见
  20. Ubuntu 测网速

热门文章

  1. python deque(双向)队列
  2. 6张思维导图,搞定项目管理!(PMP项目管理可用)
  3. BIOS和UEFI关系与区别
  4. 51nod_2361 XYK的音游(动态规划)
  5. APP该如何顺应数字化时代 ?
  6. 3D建模界扛把子之Maya,技能适用范围详解
  7. 机器学习和概率统计的关系
  8. 轮廓 画外接圆外接矩形
  9. 如何评估小红书投放效果?有哪些数据可以帮助监测效果
  10. 英语专业应报考计算机二级哪一科目,计算机二级科目怎么选 计算机二级有哪些科目...