层次分析法(AHP)原理_例题应用及代码

层次分析法(AHP )原理_例题应⽤及代码
层次分析法(AHP )原理应⽤及代码
层次分析法是将 定性问题定量化处理的⼀种⽅法。
层次分析法简称AHP,其主要特点是通过建⽴递阶层次结构,把⼈的主观判断转化为对若⼲两两因素重要程度的判断上,从⽽把难以操作的定性判断量化为可操作的重要性程度判断上
1.AHP 算法步骤
第⼀步:分析系统各因素之间的关系,建⽴递阶层次结构
第⼆步:对于同⼀层次的各要素,针对上⼀准则层的某⼀准则的重要性进⾏两两⽐较,构造两两⽐较矩阵(判断矩阵)
第三步:根据判断矩阵得到各元素针对于某⼀准则的相对权重,并进⾏⼀致性检验(通过⼀致性检验的才可使⽤)
第四步:根据权重矩阵计算得分,并进⾏排序
2.算法举例
⼩明同学要出去旅游,事先确定了三个地⽅,分别是北戴河、苏杭、桂林,但最终⽆法从这三个地⽅中选定,希望你通过层次分析法来帮助⼩明进⾏判断。
人人微博根本⽬的就是为了填完下⾯的这张表。⽤*指标权重*乘以每个地⽅的得分,然后做和就可以得到这个地⽅的分数,最后根据分数判断即可第⼀步:建⽴递阶层次图
第⼆步:建⽴判断矩阵
因为我们⼀次性⽐较五个指标很困难,两两指标进⾏⽐较,根据⽐较的结果确定权重,我们有如下的标准
计算五个指标的判断矩阵
%% 判断矩阵⼀般交给专家填写,但建模⽐赛中⼀般⾃⼰判断
(1)表⽰的意义是,与指标 相⽐, 的重要程度。
(2)当  =  时,两个指标相同,因此同等重要记为1,这就解释了主对⾓线元素为1。
(3)> 0且满⾜=1 (我们称满⾜这⼀条件的矩阵为正互反矩阵)
实际上,上⾯这个矩阵就是层次分析法中的判断矩阵。
*上⾯第⼀⾏解释为:与花费相⽐,景⾊没有花费重要;与居住相⽐,景⾊更重要⼀点;与饮⾷相⽐,景⾊稍微重要。*其他以此类推计算三个⽅案相对于某⼀指标的权重
计算苏杭、北戴河、桂林在景⾊⽅⾯所占的权重(得分)
矩阵⾥的数据可以解释为:苏杭的景⾊与北戴河相⽐要好⼀点,要⽐桂林好很多
a i ,j )(a i ,j )(a i ,j )∗(a j ,i )(
相对于其他指标的判断矩阵以此类推,如下图所⽰
第三步:进⾏⼀致性检验
⾸先要明确:
1. 如果正互反矩阵满⾜,则称此正互反矩阵为⼀致矩阵
2. 记我们构造的矩阵的特征值的最⼤值为,若判断矩阵为⼀致矩阵,则有;若为⾮⼀致矩阵,则有。
腕表式激光仪3. 判断矩阵越不⼀致,则最⼤值与的差别越⼤
4. ⼀致性检验就是检验我们构造的矩阵与⼀致矩阵是否有太⼤差别
⼀致性检验的步骤
第⼀步:计算⼀致性指标第⼆步:查对应的平均随机⼀致性指标为已经给定的标准,不需要⾃⼰计算,只需要查表即可傅里叶红外光谱仪
在实际运⽤中,n很少超过10,如果指标的个数⼤于10,则可考虑建⽴
⼆级指标体系,或使⽤模糊综合评价模型。
第三步:计算⼀致性⽐例如果,则认为⼀致性可以接受,否则需要对判断矩阵进⾏修改
第四步:计算权重
在通过⼀致性检验的前提下,计算权重有三种⽅法
第⼀种:算术平均法
以对于景⾊指标来说,三个⽅案的权重计算为例;对于其余指标三个⽅案的权重以及五个指标的权重计算也类似
第⼀步:将判断矩阵按照列归⼀化
即每⼀个元素除以其所在列的和,⽐如说苏杭的0.5882=,其余以此类推第⼆步:将归⼀化的各列相加(按⾏相加)
第三步:将相加后得到的向量中的每个元素除以即可得到权重向量
第⼆种:⼏何平均法
第⼀步:将A 的元素按照⾏相乘得到⼀个新的列向量
第⼆步:将新的向量的每个分量开n 次⽅
第三步:对该列向量进⾏归⼀化即可得到权重向量
第三种:特征值法
a i ,j )∗(a j ,k )=(1
λmax λ=max n λ>max n λmax n CI
CI =n −1
λ−n max RI
RI CR
CR =RI
CI CR <0.11/(1++21)51
n
第⼀步:求出矩阵A 的最⼤特征值以及其对应的特征向量
第⼆步:对求出的特征向量进⾏归⼀化即可得到我们的权重
由此也可求出指标判断矩阵的权重
汇总结果得到权重矩阵
第五步:计算⽅案得分
苏杭得分:类似可以求得:北戴河,桂林因此最佳旅游景点是桂林
3.模型注意事项(⼀致性检验不通过怎么办)
1. 如何修正?
⼀致性矩阵的各⾏成倍数关系,如果没能通过⼀致性检验,只要调节判断矩阵尽量使各⾏成倍数关系即可
2.判断矩阵写法
判断矩阵⼀般是由专家来填写,因为在构造判断矩阵的过程中会带有⼈的主观判断。但是在实际建模过程中⼀般都是⾃⼰填写。
3.平均随机⼀致性指标平均随机⼀致性指标是通过⼤量实验模拟给出的结果,我们直接查使⽤即可。有些地⽅给出的表格可能与上⾯给出的由些许差别,尽量以上⾯给出的表格为准,因为上⾯的那个表格是最多⼈使⽤的
4.如果准则层与⽅案层不是全连接该怎么办
详细可参见以下⽂件
,如果同学们没有积分的话可以直接私戳我,我会直接发给你的
4.模型局限性
1.评价的决策层不能太多,太多的话n 会很⼤,判断矩阵和⼀致矩阵差异可能会很⼤,最多是15两级圆柱齿轮减速器
2.这是⼀个将定性分析转化为定量分析的⽅法,如果决策层中的数据是已知的,则最好不要⽤层次分析法,可以选⽤
5.模型代码
=0.2636∗0.5954+0.4758∗0.0819+0.0538∗0.4286+0.0981∗0.6337+0.1087∗0.1667=0.2990.2450.455
CR <1RI
RI n
M=input('请输⼊判断矩阵M=');
[~,n] = size(M);
%进⾏⼀致性检验
[V,D] = eig(M);                      %M的全部特征值构成对⾓矩阵D,M的特征向量构成V的列向量
原味之恋Max_Eig = max(max(D));              %max(矩阵)返回⼀⾏向量包含每列的最⼤值
CI = (Max_Eig - n) / (n-1);
RI=[0 0.0001 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];      %因为n最多能娶到15
% 因为n=2时,⼀定是⼀致矩阵,所以CI = 0,为了避免分母为0,将其改为⼗分接近0的数CR=CI/RI(n);
disp('CI=');  disp(CI);
disp('CR=');  disp(CR);
if CR<0.10
disp('矩阵M⼀致性可以接受!');
disp('>>>>>>>>####3')
S = 1;
else
disp('矩阵M需要进⾏修改!');
S = 0;
end
if S == 1;
% 第⼀种特征值法求权重
[r,c] = find(D == Max_Eig,1);      %利⽤find函数到最⼤特征值所在的⾏列
disp('特征值法结果为:');
disp( V(:,c) ./ sum(V(:,c)) )      %归⼀化处理得到权重
% 第⼆种算术平均法求权重
sum_A = sum(M);
B=ones(n,n);                    %
公安海警学院院长for i = 1:n                      %
B(:,i) = sum_A(i);          %构造⽤于平均的矩阵
end                              %
Stand_A = M ./ B ;
disp('算术平均法结果为:') ;
disp(sum(Stand_A,2)./n)
% 第三种⼏何平均法求权重
Geo_A = prod(M,2);
Geo_n_A = Geo_A .^ (1/n);
disp('⼏何平均法结果为:');
disp(Geo_n_A ./ sum(Geo_n_A))
else S == 0;
disp('修改判断矩阵!!!')
end

本文发布于:2024-09-20 21:39:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/483980.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:矩阵   判断   权重   致性   指标   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议