zoukankan      html  css  js  c++  java
  • AHP

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

    % https://wiki.mbalib.com/wiki/AHP

    % instance
    %使用中只需改变A即可
    A=[1 2 6;0.5 1 4;1/6 0.25 1]; %评判矩阵(成对比较矩阵)
    % 一 致 性 检 验 和 权 向 量 计 算
    [n,n]=size(A);
    [v,d]=eig(A); %第一个特征值最大
    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.10
    CR_Result='通过';
    else
    CR_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)]);

    %详细使用例子见上述链接

  • 相关阅读:
    【LeetCode】297. 二叉树的序列化与反序列化
    【剑指Offer】面试题37. 序列化二叉树
    【剑指Offer】面试题59
    【剑指Offer】面试题57
    趣图:向客户介绍的产品VS实际开发的产品
    Spring AOP的实现机制
    Mysql高性能优化规范建议
    JavaScript八张思维导图
    深入 Nginx:我们是如何为性能和规模做设计的
    教你用认知和人性来做最棒的程序员
  • 原文地址:https://www.cnblogs.com/lancezliang/p/10423904.html
Copyright © 2011-2022 走看看