学习笔记----层次分析法

层次分析法(MATLAB实现)

  • 定义
  • 例题
  • 步骤
  • 细节补充
  • 应用实例

定义

  层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。

    通常用于解决数学建模中的评价类问题。

例题

    小明想利用寒假时间外出旅游。在查阅了网上的攻略后,他初步选择了杭州、北戴河和桂林三地作为目标景点。
    请你确定评价指标,形成评价体系来帮助小明选择最合适的旅游地点。

步骤

  • 确定评价指标
       我们需要考虑什么指标可以作为评价我们旅游地点的理想与否,这个过程可以通过上网搜索相关文献确定或者小组成员的头脑风暴。
      经过思考后,小明将景色、费用、住宿、饮食和交通作为此次评价的指标。
      如图所示,“旅游”作为我们的目标层,“景色、费用、住宿、饮食和交通”作为我们的决策层,“北戴河、杭州和桂林”则作为我们的方案层。

    旅游
    景色
    北戴河
    杭州
    桂林
    费用
    住宿
    饮食
    交通
  • 构造判断矩阵

指标权重 杭州 北戴河 桂林
景色
费用
住宿
饮食
交通

    将此表格填充完整,所得的数据就是我们想要的判断矩阵,如何填写步骤如下:
    1.两两比较确定矩阵数值
学习笔记----层次分析法_第1张图片
  自主打分完成后,我们可以得到一个 3 ∗ 3 3*3 33的矩阵,记为A,对应元素为 a i j a_{ij} aij,因为 a i j a_{ij} aij > 1 且 >1且 >1 a i j a_{ij} aij ∗ * a j i a_{ji} aji = = = 1 1 1,所以该矩阵也叫作正互反矩阵。
例如得到如下表格:

景色 杭州 北戴河 桂林
杭州 1 2 1
北戴河 1/2 1 2
桂林 1 1/2 1

  我们不难发现,据表所示杭州的风景比北戴河好,和桂林一样好,但是北戴河又比桂林景色好,所以显然这里出现了矛盾。
再对比下面两张表格,

景色 杭州 北戴河 桂林
杭州 1 2 4
北戴河 1/2 1 2
桂林 1/4 1/2 1

景色 杭州 北戴河 桂林
杭州 1 2 5
北戴河 1/2 1 2
桂林 1/5 1/2 1

  很显然,第一张表格数据在逻辑上是完全一致的,于是根据第一张表格所得到的矩阵我们称为一致矩阵,其特点是各行(各列)之间呈倍数关系。但在实际操作中,我们很难做到完全一致(如第二张表格所示),于是我们在计算权重之前,还需要对不一致的矩阵进行一致性检验。

  • 一致性检验
       n阶正互反矩阵A为一致矩阵时当且仅当最大特征值 λ m a x \lambda_{max} λmax = n {=n} =n,其余特征值1均为0;且当正互反矩阵A非一致时,一定满足 λ m a x \lambda_{max} λmax > n {>n} >n。判断矩阵越不一致,最大特征值与n相差就越大。
    1.计算一致性指标CI
    C I = λ m a x − n n − 1 CI=\frac{\lambda_{max}-n}{n-1} CI=n1λmaxn
    2.查找对应的平均随机一致性指标RI
    在这里插入图片描述
    3.计算一致性比例
    C R = C I R I CR=\frac{CI}{RI} CR=RICI  如果 C R < 0.1 CR<0.1 CR<0.1,则可认为判断矩阵的一致性可以接受;否则需要对判断矩阵进行修正。

  • 计算权重
      一致矩阵计算权重:任意选择一列计算,用上图一致矩阵作例可得,
    ω 1 = 1 1 + 0.5 + 0.25 , ω 2 = 0.5 1 + 0.5 + 0.25 , ω 3 = 0.25 1 + 0.5 + 0.25 \omega_1=\frac{1}{1+0.5+0.25}, \omega_2=\frac{0.5}{1+0.5+0.25}, \omega_3=\frac{0.25}{1+0.5+0.25} ω1=1+0.5+0.251,ω2=1+0.5+0.250.5,ω3=1+0.5+0.250.25
        1.算术平均法
      (1)将判断矩阵按照列进行归一化(每个元素除以其所在列的和)
      (2)将归一化的各列按行求和
      (3)将相加后得到的向量中每个元素除以n可得权重
       由于三列数据并不成比例,所以以归一化后的三个值的平均值作为该地对于景色所占的权重,即若判断矩阵A为
    A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&\ddots&\vdots\\a_{n1}&a_{n2}&\cdots&a_{nn}\end{bmatrix} A=a11a21an1a12a22an2a1na2nann
    则计算权重公式为,
    ω i = 1 n ∑ j = 1 n a i j ∑ k = 1 n a k j , ( i = 1 , 2 , . . . , n ) \omega_i=\frac{1}{n}\sum_{j=1}^{n} \frac{a_{ij}}{\sum_{k=1}^{n}a_{kj}} ,(i=1,2,...,n) ωi=n1j=1nk=1nakjaij,(i=1,2,...,n)

    2.几何平均法
(1)按行相乘得到一个新的列向量
(2)将新的响亮的每个分量开n次方根
(3)对该列向量进行归一化即可得到权重向量
即若判断矩阵A为
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&\ddots&\vdots\\a_{n1}&a_{n2}&\cdots&a_{nn}\end{bmatrix} A=a11a21an1a12a22an2a1na2nann
则计算权重公式为,
ω i = ( ∏ j = 1 n a i j ) 1 n ∑ k = 1 n ( ∏ j = 1 n a k j ) 1 n , ( i = 1 , 2 , . . . , n ) \omega_i=\frac{(\displaystyle\prod_{j=1}^{n} a_{ij})^\frac{1}{n}}{\displaystyle\sum_{k=1}^{n}(\displaystyle\prod_{j=1}^{n} a_{kj})^\frac{1}{n}},(i=1,2,...,n) ωi=k=1n(j=1nakj)n1(j=1naij)n1,(i=1,2,...,n)
    3.特征值法
(1)计算矩阵A的最大特征值以及其所对应的特征向量
(2)对求出的特征向量进行归一化,即可得我们想要的权重

算术平均法 几何平均法 特征值法
杭州 0.5949 0.5954 0.5954
北戴河 0.2766 0.2764 0.2764
桂林 0.1285 0.1283 0.1283

  比较三种方法所得权重发现,三种方法所得结果差距很小,但是在数模比赛中可以三种方法都使用后再求均值得到最终权重,以增强可靠性严谨性。
  最终,可将所得数据填入表如下图所示,

指标权重 杭州 北戴河 桂林
景色 0.5954 0.2764 0.1283
费用
住宿
饮食
交通

  重复上述步骤可将该表格的二三四列填充完整,第一列数据的判断矩阵由下表构造,

景色 费用 住宿 饮食 交通
景色
费用
住宿
饮食
交通
  • 计算方案得分
    完成数据计算后表格如下所示,
指标权重 杭州 北戴河 桂林
景色 0.2636 0.5954 0.2764 0.1283
费用 0.4758 0.0819 0.2764 0.1283
住宿 0.0538 0.4286 0.2764 0.6817
饮食 0.0981 0.6337 0.1919 0.1429
交通 0.1087 0.1667 0.1667 0.6667

  计算杭州最终得分为两三两列数据对应相乘,
= 0.2636 ∗ 0.5954 + 0.4758 ∗ 0.0819 + 0.0538 ∗ 0.4286 + 0.0981 ∗ 0.6337 + 0.1087 ∗ 0.1667 = 0.299 =0.2636*0.5954+0.4758*0.0819+0.0538*0.4286+0.0981*0.6337+0.1087*0.1667=0.299 =0.26360.5954+0.47580.0819+0.05380.4286+0.09810.6337+0.10870.1667=0.299
  依次计算出北戴河和桂林的得分分别为0.245和0.455,最终小明选择桂林作为他的旅游地。

细节补充

1、一致矩阵不需要做一致性检验。
2、如果 C R > 0.1 CR>0.1 CR>0.1如何修正?
  因为一致矩阵的特点是各行\各列数据成比例,所以…懂吧?
3、层次分析法也有局限性,比如说:评价的决策层越多,即n越大,判断矩阵和一致矩阵差异可能会很大;判断矩阵由自己填入,主观性很大。
4、小技巧:在Excel中,F4可以锁定单元格,为计算带来便利。

应用实例

该篇为学习完清风老师B站层次分析法课程后所记。


  1. 特征值为虚数时,应比较其模长 ↩︎

你可能感兴趣的:(数学建模)