zoukankan      html  css  js  c++  java
  • 层次分析法

    评价类问题---打分 权重和为一

    评价类问题

    解决评价类问题 ,大家首先要想到以下三个问题

    • 我们的评价目的是什么
    • 我们为了达到目标有哪些可选的方案
    • 评价准则或者说指标是什么?有什么根据东西来评价
    1. 需要我们根据题目的背景资料、常识以及网上搜索到的参考资料进行结合 从而选出最合适的指标
    2. 网上知网搜索 以及去找专家言论

    一次性比较的话误差太大 ,采用两两比较 从而得到权重

    计算权重的方法

    %层次分析法(AHP)
    disp('请输入判断矩阵A(n阶)');
    A = input('A=');
    [n,n] = size(A);
    x = ones(n,100);
    y = ones(n,100);
    m = zeros(1,100);
    m(1) = max(x(:,1));
    y(:,1) = x(:,1);
    x(:,2) = A*y(:,1);
    m(2) = max(x(:,2));
    y(:,2) = x(:,2)/m(2);
    p=0.0001; i=2; k=abs(m(2)-m(1));
    while k>p
        i=i+1;
        x(:,i) = A*y(:,i-1);
        m(i) = max(x(:,i));
        y(:,i) = x(:,i)/m(i);
        k=abs(m(i)-m(i-1));
    end
    a = sum(y(:,i));
    w = y(:,i)/a;
    t = m(i);
    disp(w);
    %一致性检验
    CI = (t-n)/(n-1);
    RI = [0 0 0.52 0.89 1.12 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
    CR = CI/RI(n);
    if CR<0.10
        disp('此矩阵一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end
    

    层次分析法的优劣:

    判断层不能太多 、 数据不够客观

  • 相关阅读:
    DP大作战—状态压缩dp
    DP大作战—组合背包
    DP大作战——多重背包
    单链表的使用——计算多项式加法
    单链表逆置
    钢条切割问题
    哈夫曼树及解码
    双“11”的抉择
    矩阵链相乘助教版代码
    abs()函数的返回值问题
  • 原文地址:https://www.cnblogs.com/cznczai/p/11305586.html
Copyright © 2011-2022 走看看