(四)层次分析法

层次分析法

层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.saaty)正式提出。它是一种定性和定量相结合的、系统化、层次化的分析方法。

 

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

 

以上摘自https://wiki.mbalib.com/wiki/层次分析法

层次分析法的基本步骤

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

 

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

 

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

 

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

 

以上摘自https://wiki.mbalib.com/wiki/层次分析法

 

以此题为例:选择旅游地的时候,需要考虑景色,费用,居住,饮食,旅途等因素。

建立层次结构模型

构造成对比较矩阵

比较第 i 个元素与第 j 个元素相对上一层某个因素的重要性时,使用数量化的相对权重aij来描述。设共有 n 个元素参与比较,则A称为成对比较矩阵。

 

  成对比较矩阵中aij的取值可按下述标度进行赋值。aij在 1-9 及其倒数中间取值。

 

  例如:选拔干部考虑5个条件:品德,才能,资历,年龄,群众关系。某决策人用成对比较法,得到成对比较阵如下:

 

  a14 = 5 表示品德与年龄重要性之比为 5,即决策人认为品德比年龄重要。

 

以例题:选择旅游地的时候,加入只考虑景色、费用、居住三个,并且有3个旅游景点P1   P2   P3,其中3个景点费用是1200,980,1350。

构建比较矩阵如下图:

       a12,a13,a23分别就代表三个考虑因素之间的重要性选择。

一致性检验

暂时不需要理解

计算组合权向量并做组合一致性检验

P1   P2   P3对于准则层中“景色”的成对比较矩阵

1     3   3

0.33 1   1

0.33 1   1

计算出各项得分:0.143、0.4285、0.4285

 

P1    P2    P3对于准则层中“居住”的成对比较矩阵

1     3   3

0.33 1   1    

0.33 1   1

计算出各项得分:0.143、0.4285、0.4285

 

P1    P2    P3对于准则层中“费用”的成对比较矩阵不需要建立。

各项得分是:1200/(1200+980+1350)=0.34

            980/(1200+980+1350=0.28

1350/(1200+980+1350=0.38

 

最后帖上两段示例代码:

代码一-------------------------------------

clc

clear all;

  A=[1 1/2 1 1/2 1/3;

    2 1 2 1 1;

    1 1/2 1 1 1/2;

    2 1 1 1 1/2;

    3 1 2 2 1]; %评价矩阵

[n,n]=size(A);

[v,d]=eig(A);

r=d(1,1);

CI=(r-n)/(n-1);

RI=[0 0 0.58 0.9 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.1 CR_Result='yes';

else CR_Result='no';

end

w=v(:,1)/sum(v(:,1));

w=w';

disp('the result is')

disp(['coincidence indicator:',num2str(CI)])%一致性指标

disp(['consistency ratio:',num2str(CR)])%一致性比例

disp(['Consistency test results:',CR_Result])%一致性检验

disp(['eigenvalue:',num2str(r)])%特征值

disp(['weight vector:',num2str(w)])%权向量

 

代码二--------------------------------------------

 

clc;

clear;

A=[1 1.2 1.5 1.5;

0.833  1 1.2 1.2;

0.667  0.833  1 1.2;

0.667  0.833  0.833  1];                           

                                   %因素对比矩阵A,只需要改变矩阵A

[m,n]=size(A);                     %获取指标个数

RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];

R=rank(A);                         %求判断矩阵的秩

[V,D]=eig(A);                      %求判断矩阵的特征值和特征向量,V特征值,D特征向量;

tz=max(D);

B=max(tz);                         %最大特征值

[row, col]=find(D==B);             %最大特征值所在位置

C=V(:,col);                        %对应特征向量

CI=(B-n)/(n-1);                    %计算一致性检验指标CI

CR=CI/RI(1,n);  

if CR<0.10

    disp('CI=');disp(CI);

    disp('CR=');disp(CR);

    disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');

    Q=zeros(n,1);

    for i=1:n

        Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化

    end

    Q                              %输出权重向量

else

    disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');

end

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模糊层次分析法(FAHP)是一种将模糊理论嵌入到基本层次分析法(AHP)中的决策工具。AHP是一种广泛应用于多准则决策问题的方法,它通过将不同的备选方案与不同的标准进行成对比较,为多标准决策问题提供决策支持。在一般的AHP模型中,目标在第一层,标准和子标准在第二层和第三层,备选方案在第层。然而,基本AHP没有考虑到个人判断的模糊性,因此通过引入模糊逻辑方法,FAHP对AHP进行了改进。在FAHP中,使用语言变量对标准和备选方案进行成对比较,语言变量使用三角模糊数进行表示\[3\]。 关于使用Python实现模糊层次分析法,可以参考引用\[1\]中的代码。该代码实现了模糊综合评价法(FCE),其中输入准则权重和因素权重,然后通过计算矩阵积和综合评分来得出综合评价结果。代码中还包括了获取专家评价数据的函数。如果你想学习更多关于Python的内容,可以加入Python学习QQ群:775690737,他们提供了Python零基础入门学习资料和99个源码\[1\]。 请注意,以上是关于模糊层次分析法的一般介绍和Python实现的参考,具体的实现方法可能因具体问题而有所不同。 #### 引用[.reference_title] - *1* *2* [模糊层次综合分析法Python实践及相关优缺点分析](https://blog.csdn.net/ajian6/article/details/108549394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [模糊层次分析法(FAHP)Python实现](https://blog.csdn.net/lol_IP/article/details/130205089)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值