层次分析法练习(Analytical Hierarchy Process Exercise)

Analytical Hierarchy Process Exercise

要购置一台笔记本电脑,考虑价格、外观、配置等因素,构造层次结构模型,并进行决策。

①目标为购置一台笔记本电脑。目标层即这一个因素。

②准则层共一层,这一层的三个准则分别为价格$C_1$,外观$C_2$, 配置$C_3$。

方案层,这里有3个购买方案$P_1,P_2,P_3$ 。其层次模型如下: 这里写图片描述

构造成对比较矩阵。用1~9标度构造下层因素相对于上层每个因素的成对比较矩阵是,直到最下层的方案层。

准则层对目标层的判断矩阵A: $$ A=\begin{bmatrix} 1 &4 &2 \ 1/4 & 1 & 1/3\ 1/2&3 &1 \end{bmatrix} $$ ​ 方案层对准则层的判断矩阵共有三个,分别为$B_1,B_2,B_3$: $$ B_1=\begin{bmatrix} 1 &7 &3 \ 1/7 & 1 & 1/3\ 1/3&3 &1 \end{bmatrix} \quad B_2=\begin{bmatrix} 1 &1/5 &1/2 \ 5 & 1 & 3\ 2&1/3 &1 \end{bmatrix} \quad B_3=\begin{bmatrix} 1 &1/6 &1/3 \ 6 & 1 & 3\ 3&1/3 &1 \end{bmatrix} $$ ④计算权向量并做一致性检验。对每一个成对比较矩阵,用特征向量法计算最大特征值和对应的归一化特征向量。并计算一致性指标,查表得到随机一致性指标,两者一起构造一致性比率,若矩阵的一致性通过检验,则归一化的特征向量即为权向量,若不通过,则需要对判断矩阵进行修正。

​ 通过计算得,A矩阵的一致性比率为0.0172,$B_1,B_2,B_3$的一致性比率为0.0066,0.0035,0.0172。上述矩阵的一致性比率均小于0.1,即通过了一致性检验。

​ 通过近似方法$\lim_{k\rightarrow \infty } \frac{A^kR}{R^{T}A^KR} =w$,可分别得到归一化特征向量,分别为 $$ w=\begin{bmatrix} 0.5584 \ 0.1220 \ 0.3196 \end{bmatrix} w_0=\begin{bmatrix} 0.6694 &0.1220 &0.0953 \ 0.0879 & 0.6483 & 0.6548\ 0.2426&0.2297 &0.2499 \end{bmatrix} $$ ​ 这里$w_0$写成列向量组的形式便于后面运算。

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

​ 两个矩阵相乘即可得到最后的归一化特征向量W: $$ W=\begin{bmatrix} 0.4192 \ 0.3375 \ 0.2434 \end{bmatrix} $$ ​ 最后还要做组合一致性检验来确认这个$W$是否可以作为最终的权值。 $$ CR_{combi}=CI_{combi}/RI_{combi} $$ ​ 计算得$CR_{combi}=0.0096<0.1$ 。符合一致性检验标准。认为整个层次判断通过一致性检验,对应的组合权向量可以作为方案排序的依据。因为$ 0.4192 >0.3375>0.2434$ 。所以3个方案的排序结果为$P_1>P_2>P_3$ 。即买第一个电脑是最满意的。

源代码

 clear
close all
clc 

%根据自己的主观判断
%准则层对目标层的判断矩阵
A=[1   4  2
   1/4 1 1/3
   1/2   3  1];

%方案层对准则层的判断矩阵
B1=[1 7 3
    1/7 1 1/3
    1/3 3 1];

B2=[1 1/5 1/2
    5 1 3
    2 1/3 1];

B3=[1 1/6 1/3
    6 1 3
    3 1/3 1];

k=3;%3阶

%准则层对目标层
%求其CI,先求最大特征值和对应的特征向量
%直接使用系统的eig函数
maxv=max(abs(eig(A)));%注意是绝对值
Ci=(maxv-k)./(k-1);
Cr=Ci./0.5323;%该RI为自己计算结果 参见RCI.m

%Cr<0.1 认为具有一致性
%使用近似法求解归一化特征向量
times=300;
R=ones(3,1);
w=A^times*R/(R'*A^times*R);


%元胞数组
B={B1,B2,B3};

for i=1:3
    max_v(i)=max(abs(eig(cell2mat(B(i)))));%注意是绝对值
    CI(i)=(max_v(i)-k)./(k-1);
    CR(i)=CI(i)./0.5323;%该RI为自己计算结果 参见RCI.m
end
%CR均小于<0.1 认为具有一致性
for i=1:3
    temp=cell2mat(B(i));
    W0(:,i)=temp^times*R/(R'*temp^times*R);
end 

%w为各准则对目标的权向量
%W0为列向量组为各方案对每一准则的权向量
%下面求各方案对目标的权向量W
W=W0*w;

%下面进行组合一致性检验
CI_combi=CI*w;
RI=ones(1,3)*0.5323;
RI_combi=RI*w;
CR_combi=CI_combi/RI_combi;
%CR_combi<0.1
%可以认为整个层次判断通过一致性检验
xxxxxxxxxx 




评论

登录之后就可以评论 / 回复啦(#^.^#)    点此登录    点此注册

评论列表

暂无评论!快写一条吧(๑′ᴗ‵๑)