层次分析法运算方法有算术平均法、几何平均法、特征值法。
1、算术平均法。
%第一步:将判断矩阵按照列归一化(每一个元素除以其所在列的和)。
Sum_A=sum(A)%列求和。
n=size(A,1)%返回行数。
SUM_A=repmat(Sum_A,n,1) %弄成n*n矩阵。
Stand_A = A ./ SUM_A。
%对应的元素相除即可。
%第二步:将归一化的各列相加。
sum(Stand_A,2)%按行求和。
%第三步:将相加后得到的向量中每个元素除以n即可得到权重向量。
disp(‘算术平均法求权重的结果为:‘);
disp(sum(Stand_A,2) / n)。
2、几何平均法。
%%方法2:几何平均法求权重。
%第一步:将A的元素按照行相乘得到一个新的列向量。
clc;A。
Prduct_A = prod(A,2)。
%prod(A,2)意思是按行每个元素相乘。
%第二步:将新的向量的每个分量开n次方(是开方)。
Prduct_n_A = Prduct_A .^ (1/n)。
%第三步:对该列向量进行归一化即可得到权重向量。
%将这个列向量中的每一个元素除以这一个向量的和即可。
disp('几何平均法求权重的结果为:[y;。
disp(Prduct_n_A ./ sum(Prduct_n_A))。
3、特征值法。
%第一步:求出矩阵A的最大特征值以及其对应的特征向量。
clc。
%V是特征向量,D是由特征值构成的对角矩阵(除了对角线元素外,其余位置元素全。
[V,D] = eig(A)。
Max_eig=max(max(D))%也可以写成max(D(:))。
[r,c] = find(D == Max_eig , 1)。
%找到D中第一个与最大特征值相等的元素的位置,记录它的行和列。
%第二步:对求出的特征向量进行归一化即可得到我们的权重。
V(:,c)。
disp('特征值法求权重的结果为:');
disp( V(:,c) ./ sum(V(:,c)) )。
层次分析法:
层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初,在为美国国防部研究"根据各个工业部门对国家福利的贡献大小而进行电力分配"课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。
层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。