作用
主要用于解决数学建模中的评价问题,对方案进行评价,从而作出决策。
步骤
既然叫做层次分析法,那么它是怎样分层的呢?
一般分为三层,分别是目标层(最高)、准则层(中间)和方案层(最低)。
我们需要将定性转化为定量,所以下一步就要构造成对比较矩阵,其中的元素
衡量的标准如下:
对于以上例图,我们可以将中间层的成对比较矩阵写为:
最底层的成对比较矩阵矩阵可以写为:
解释:如矩阵B1,元素
得到的成对比较矩阵不一定满足一致性(
矩阵可以不满足一致性,但是这个不一致需要在一定范围之内。
符号:CI,一致性指标;CR,一致性比例。
再计算出权重向量
最后计算出每个方案的得分
MATLAB代码
disp('请输入成对比较矩阵(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.26 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
一致性检验的数学原理
一致矩阵的定义:
定理:n阶互反阵A的最大特征根