层次分析

版权声明:by goog https://blog.csdn.net/qq_39481214/article/details/82114291

层次分析

引例:选址问题

选择旅游地问题:
这里写图片描述

这里写图片描述

成对比较矩阵

这里写图片描述

这里写图片描述

这个表是如何填写:
专家认为,我们认为(以我们认为为主)确定C1,C2,C3,C4,C5的重要性关系(两两关系)

这里写图片描述

一致性检验

这里写图片描述

分析:

建模:

这里写图片描述

建立成对比较矩阵

五种条件因素的成对比较矩阵

这里写图片描述

每种因素下,三个城市的成对比较矩阵

这里写图片描述

注:成对比较矩阵主观因素较多(可套话:经过查阅大量相关资料得到成对比较矩阵)
不同人填的成对比较矩阵不同

使用Matlab来分析:

层次分析固定代码,只需输入成对比较矩阵即可。

代码:

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.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

成对比较矩阵:

[1, 1/2, 4, 3, 3;
 2, 1,   7, 5, 5;
 1/4, 1/7, 1, 1/2, 1/3;
 1/3, 1/5, 2, 1, 1;
 1/3, 1/5, 3, 1, 1;]

[1,2,5;
1/2,1,2;
1/5,1/2,1;]

[1,1/3,1/8;
3,1,1/3;
8,3,1;]

[1,1,3;
1,1,3;
1/3,1/3,1;]

[1,3,4;
1/3,1,1;
1/4,1,1;]

[1,1,1/4;
 1,1,1/4;
 4,4,1;]

程序结果分析:

结果:

A对Z的权重结果:

请输入判断矩阵A(n阶)
A=[1, 1/2, 4, 3, 3;
 2, 1,   7, 5, 5;
 1/4, 1/7, 1, 1/2, 1/3;
 1/3, 1/5, 2, 1, 1;
 1/3, 1/5, 3, 1, 1;]
    0.2636
    0.4758
    0.0538
    0.0981
    0.1087

此矩阵的一致性可以接受!
CI=
    0.0180

CR=
    0.0161

B对A1的权重:

        请输入判断矩阵A(n阶)
A=[1,2,5;
1/2,1,2;
1/5,1/2,1;]
    0.5954
    0.2764
    0.1283

此矩阵的一致性可以接受!
CI=
    0.0028

CR=
0.0053

B对A2的权重:

请输入判断矩阵A(n阶)
A=[1,1/3,1/8;
3,1,1/3;
8,3,1;]
    0.0819
    0.2363
    0.6817

此矩阵的一致性可以接受!
CI=
   7.7112e-04

CR=
    0.0015

B对A3的权重:

请输入判断矩阵A(n阶)
A=[1,1,3;
1,1,3;
1/3,1/3,1;]
    0.4286
    0.4286
    0.1429

此矩阵的一致性可以接受!
CI=
     0

CR=
     0

3.1.2 B对A4的权重:

        请输入判断矩阵A(n阶)
A=[1,3,4;
1/3,1,1;
1/4,1,1;]
    0.6337
    0.1919
    0.1744

此矩阵的一致性可以接受!
CI=
    0.0046

CR=
    0.0089

B对A5的权重:

请输入判断矩阵A(n阶)
A=[1,1,1/4;
 1,1,1/4;
 4,4,1;]
    0.1667
    0.1667
    0.6667

此矩阵的一致性可以接受!
CI=
     0

CR=
     0

综上

A1,A2,A3,A4,A5Z的权重:[0.2636, 0.4758, 0.0538, 0.0981, 0.1087]
B1,B2,B3A1的权重:[0.5954,0.2764,0.1283]
B1,B2,B3A2的权重:[0.0819,  0.2363,  0.6817]
B1,B2,B3A3的权重:[0.4286,  0.4286,  0.1429]
B1,B2,B3A4的权重:[0.6337,  0.1919,  0.1744]
B1,B2,B3A5的权重:[0.1667,  0.1667,  0.6667]

计算总排序权值:

B1对总目标的权值:
0.5954*0.2636+0.0819*0.4758+0.4286*0.0538+0.6337*0.0981+0.1667*0.1087=0.3
同理:B2,B3对总目标的权值:0.245,0.455

所以:B3更好

猜你喜欢

转载自blog.csdn.net/qq_39481214/article/details/82114291