层次分析法

来源:互联网 发布:matlab定义字符串数组 编辑:程序博客网 时间:2024/05/01 09:30

AHP分析方法,其基本步骤可归纳为:
(1)建立递阶层次结构
建立递阶层次结构是AHP法中关键一步,如图所示。首先,把复杂问题中所包含的因素分解为不同层次。同一层次的因素作为准则对下一层次的某些因素起支配作用,同时,它又受上一个层次因素的支配。这种从上到下的支配关系形成了一个递阶层次结构,处于最上层的是目标层,一般是分析问题的预定目标,本文中即以经济承载能力作为目标,以综合指标表示经济承载能力的总体状况;制约层:构成经济承载能力系统的各个子系统,是制约经济承载能力的主要因素;要素层:要素是子系统的组成部分,在经济承载能力评价指标体系中,要素就是构成指标体系的各个指标。
这里写图片描述
(2)构造两两比较判断矩阵
在建立递阶层次结构以后上下层元素间的隶属关系就被确定了下一步是要确定各层次元素的权重。对于大多数社会经济问题,特别是比较复杂的问题,元素的权重不容易直接获得,这时就需要通过适当的方法导出它们的权重,AHP利用决策者给出判断矩阵的方法导出权重。记准则层元素A所支配的下一层次B的元素为 ,针对准则A,决策者比较两个元素 和 哪一个更重要,重要程度如何,这样就形成了判断矩阵。假定A层中元素再与下层次B中元素有联系,则将B中元素两两比较,可构成如下判断矩阵:
这里写图片描述
其中,Pij=Wi/Wj表示对人而言,第i个元素(因素)与第j个元素(因素)重要度之比。
(3)权重向量和一致性指标
通过两两比较得到的判断矩阵A不一定满足判断矩阵的互反性条件,AHP采用一个数量标准来衡量判断矩阵A的不一致程度。
这里写图片描述

在上表中 表示重要性强度, 取2、4、6、8、1/2、1/4、1/6、1/8表示介于表内数值之间的赋值。
一致性指标CI的值越大,表明判断矩阵偏离完全一致性的程度越大, CI的值越小,表明判断矩阵越接近于完全一致性。一般判断矩阵的阶数n越大,人为造成的偏离完全一致性指标CI的值便越大;n越小,人为造成的偏离完全一致性指标CI的值便越小。一致性检验检验的公式为:
这里写图片描述

其中CR为随机一致性比率,RI为平均随机一致性比率,CI为一致性指标。对于1~9标度法,平均随机一致性比率RI的值见下表:
平均随机一致性指标
阶数 1 2 3 4 5 6 7 8 9
RI 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45
当阶数小于等于2时,判定矩阵具有完全随机一致性,当CR<0.1时,我们同样接受判断矩阵一致性的假设。

(4)各指标权数的计算
判断矩阵的最大特征值和特征向量的计算方法有根法、和法两种方法,下面给出根法计算特征根的计算方法:
这里写图片描述

(4)层次总排序。
计算同一层次所有因素对于最高层(总目标)相对重要性的排序权值,称为层次总排序,这一过程是由高层次到低层次逐层进行的。最底层(方案层)得到的层次总排序,就是n个被评价方案的总排序。若上一层次A包含m个因素 ,其层次总排序权值分别为 ,下一层次B包含n个因素 ,它们对于因素 的层次单排序的权值分别为 (当 与 无关时, 取0),此时B层次的总排序权值由表给出。
如果B层次某些因素对于 的一致性指标为 ,相应地平均随机一致性指标为 ,则B层次总排序一致性比例为 。AHP最终得到方案层各决策方案相对于总目标的权重,并给出这一组合权重所依据整个递阶层次结构所有判断的总一致性指标,据此,决策者可以做出决策。
这里写图片描述

层次分析法的算法如下:A=[1 4 1/5 5 8;    1/4 1 1/7 4 7;    5 7 1 8 9;    1/5 1/4 1/8 1 5;    1/8 1/7 1/9 1/5 1];%原始对比矩阵数据,对应你的U矩阵A1=A;[m,n]=size(A)  ;                          %求出矩阵的行和列z=sum(A);                                 %列向量归一for i=1:m    for j=1:n        A(i,j)=A(i,j)/z(j);    endendA;                                       %列向量归一后的矩阵B=cumsum(A,2);                           %行向量求和for i=1:m-1                              %去掉前m-1列,得单列向量    B(:,1)=[];endB2=sum(B);                               %列归一    for i=1:length(B)        B(i)=B(i)/B2;    end    B;                                       %归一后得矩阵TZXL=A1*B ;                                  %所求得特征向量    for i=1:m                                %和法求最大特征向量        T(i)=TZXL(i)/B(i);    end    TZXL    ZD=sum(T)/m                          %ZD为最大特征根    B                                     %最大特征根对应的特征向量    RI=[0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 1.51];%RI为随机一致性指标,如果不够的话,根据你的变量个数改变吧,网上一般有这个表    CI=(ZD-m)/(m-1)                            %CI为一致性指标    CR=CI/RI(m)                          %CR为一致性比率,<0.1表示通过一致性检验    T                                         %和法求最大特征向量
0 0
原创粉丝点击