层次分析法
(The analytic hierarchy process,简称AHP)
- 主要解决评价类问题(eg:选择哪种方案最好、哪位球员表现更优秀)
- 解决最低层对最高层的相对权重问题
层次分析法要素
可以将决策问题分为3个或多个层次。
最高层:
- 目标层,表示解决问题的目的
- (表示解决问题的目的,总目标,1个)
中间层:
- 准则层 、指标层、策略层、约束层
- (表示采取某种措施、政策、方案等实现预定总目标所涉及的中间环节)
最底层:
- 方案层
- (表示将选用的解决问题的各种措施、政策、方案等等,通常有几个方案)
构造判断(成对比较矩阵)
RI查表可得
注意:用定量数据作比获得的矩阵显然满足一致性要求,不需要做一致性检验
Matlab层次分析法代码
代码语言:javascript
复制
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); %t为最大特征根
%以下是一致性检验
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,方案分数分配也为1(eg: 0.7+0.3=1)
搜索网站
例题: 2014年美赛、2020年美赛D题