今天,我们主要来讲述层次分析法,请保持您的耐心读下去,会有惊喜等着哦!!
一、相关问题层次分析法一般用于评价类问题,选择哪种方案最好、哪种决策最优。
摘自2016国赛B题
二、层次分析法解题方法1.分析系统中各因素之间的关系,建立系统的递阶层次结构
2.对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)
3. 由判断矩阵计算被比较元素对于该准则的相对权重,并进行一致性检验(检验通过权重才能用)
4 . 根据权重矩阵计算得分,并进行排序
三、层次分析法解题实例题目:
小明高考之后想去旅行,挑选了几个城市,分别是北京、杭州和上海,小明预算只可以去一个城市。请确定评价指标、形成评价体系来帮小明确定最佳的方案。
1.系统的递阶层次结构建立
(1)层次分析法中标准层次结构
(2)递阶层次结构建立
目标层:选择最适合小明的旅游地
准则层:景色、花费、住宿、饮食、交通(根据题目实际情况,其它题目中可查找文献等)
方案层:北京、杭州、上海
2.构造判断矩阵
(1)目标层-准则层(O–C判断矩阵)
对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵
对于上述问题,就需要我们将准则层中的5个准则进行两两对比,根据两者相比的之后一个比一个的重要程度填写判断矩阵
注意:此表格要求让专家来填,实际中可以根据具体问题分析。
以上表中C3行C4列为例,值为1/2,表示C3()比C4()的重要程度为1/2,即C4()比C3()的重要程度为2.数值反应的重要程度多数情况下可以参见下表:
(2)准则层-决策层(O–P判断矩阵)
准则-决策层是在对每一个准则对应的决策进行两两比较,根据(1)中的表格来填写OP判断矩阵
3. 一致性检验与权重计算
(1)判断矩阵的一致性检验
计算方法如下,其中lamda_max为判断矩阵的特征值,n为指标个数。
在MATLAB中可以使用eig函数求取特征值和特征向量
(2)权重的计算
对于上述矩阵的权重的计算方法有算术平均值法、几何平均值法和特征值法。算数平均值法即通过求取算术平均值的方法来计算权重,具体计算步骤如下:
几何平均值法即通过几何的方法,对判断矩阵整体进行平均计算来计算权重,计算步骤如下:
特征值法即通过矩阵的最大特征值和特征向量来求权重,计算步骤如下:
在此接上述例题使用算术平均法计算权重对于景色,北京、上海和杭州的权重分别为(通过判断矩阵第一列计算)北京:1/(1+0.5+0.25)= 0.5714上海:0.5/(1+0.5+0.25)=0.2857杭州:0.25/(1+0.5+0.25)=0.1429由于矩阵共有三列,可以按照上述过程求三列的值并取平均值。
我们通过对五个指标判断矩阵求取权重可以得到五个指标的权重,按照上述例子可以求得各个城市对于各种指标的权重。最终我们可以得到如下的表格(只按照矩阵第一列进行简单计算!!)
当进行了上述过程之后层次分析法基本完成,我们通过权重矩阵来进行加权计算各个城市的综合得分,来评价三个城市的最优选择。
四、层次分析法局限性(1)主观影响因素大
层次分析法(AHP)主观因素的影响很大,在很大程度上依赖于人们的经验,它的工作只能排除在整体计算的过程中严重的非一致性,但是并不能排除决策者的主观因素。
(2) 判断较为粗糙
此方法比较、判断过程较为粗糙,不能用于精度要求较高的决策问题。
(3) 评价的决策层有限
层次分析法对于评价的决策层不能太多,决策层数量n较大在判读矩阵一致性差异时可能会很大,在调整时会比较困难。由于一致性检验中一致性指标RI表共计15个,因此我们一般选择此方法计算决策层为15以内的模型。
关于MATLAB的学习:
大家可以关注我们的知乎专栏——数据可视化和数据分析中matlab的使用:
https://zhuanlan.zhihu.com/c_1131568134137692160
欢迎大家加入我们的MATLAB学习交流群:953314432
▼ 往期精彩回顾 ▼MATLAB线性方程组求解MATLAB中的二维傅里叶变换MATLAB中图像的镜像变换MATLAB数值微分与数值积分 扫码关注我们 更多精彩等待你发现 出品:Asoul水云天课堂工作室 好看你就 点点我