一、定义
层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初,在为美国国防部研究"根据各个工业部门对国家福利的贡献大小而进行电力分配"课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。
——《百度百科–AHP层次分析法》
二、应用
层次分析法是主观与客观的结合,也是定性与定量的结合。适用于多目标、多层次的复杂大系统问题,以及难于完全用定量方法来分析与决策的社会系统工程的复杂问题。
三、层次分析matlab程序
%层次分析法AHP
function 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
四、友情链接
(1)数学建模之层次分析法(AHP)
https://blog.csdn.net/weixin_41806692/article/details/82415621
(2)层次分析法基本原理、实施步骤、应用实例
https://wenku.baidu.com/view/7906bbcd89eb172ded63b732.html