层次分析法

出自 MBA智库百科(http://wiki.mbalib.com/)

层次分析法(The analytic hierarchy process,简称AHP),也称层级分析法

目录

什么是层次分析法

  层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。它是一种定性和定量相结合的、系统化、层次化的分析方法。由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。它的应用已遍及经济计划管理能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。

  层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。不妨用假期旅游为例:假如有3个旅游胜地A、B、C供你选择,你会根据诸如景色、费用和居住、饮食、旅途条件等一些准则去反复比较这3个候选地点.首先,你会确定这些准则在你的心目中各占多大比重,如果你经济宽绰、醉心旅游,自然分别看重景色条件,而平素俭朴或手头拮据的人则会优先考虑费用,中老年旅游者还会对居住、饮食等条件寄以较大关注。其次,你会就每一个准则将3个地点进行对比,譬如A景色最好,B次之;B费用最低,C次之;C居住等条件较好等等。最后,你要将这两个层次的比较判断进行综合,在A、B、C中确定哪个作为最佳地点。

层次分析法的基本步骤

  1、建立层次结构模型。在深入分析实际问题的基础上,将有关的各个因素按照不同属性自上而下地分解成若干层次,同一层的诸因素从属于上一层的因素或对上层因素有影响,同时又支配下一层的因素或受到下层因素的作用。最上层为目标层,通常只有1个因素,最下层通常为方案或对象层,中间可以有一个或几个层次,通常为准则或指标层。当准则过多时(譬如多于9个)应进一步分解出子准则层。

  2、构造成对比较阵。从层次结构模型的第2层开始,对于从属于(或影响)上一层每个因素的同一层诸因素,用成对比较法和1—9比较尺度构造成对比较阵,直到最下层。

  3、计算权向量并做一致性检验。对于每一个成对比较阵计算最大特征根及对应特征向量,利用一致性指标、随机一致性指标和一致性比率做一致性检验。若检验通过,特征向量(归一化后)即为权向量:若不通过,需重新构造成对比较阵。

  4、计算组合权向量并做组合一致性检验。计算最下层对目标的组合权向量,并根据公式做组合一致性检验,若检验通过,则可按照组合权向量表示的结果进行决策,否则需要重新考虑模型或重新构造那些一致性比率较大的成对比较阵。

层次分析法的优点

  运用层次分析法有很多优点,其中最重要的一点就是简单明了。层次分析法不仅适用于存在不确定性和主观信息的情况,还允许以合乎逻辑的方式运用经验、洞察力和直觉。也许层次分析法最大的优点是提出了层次本身,它使得买方能够认真地考虑和衡量指标的相对重要性。

建立层次结构模型

  将问题包含的因素分层:最高层(解决问题的目的);中间层(实现总目标而采取的各种措施、必须考虑的准则等。也可称策略层、约束层、准则层等);最低层(用于解决问题的各种措施、方案等)。把各种所要考虑的因素放在适当的层次内。用层次结构图清晰地表达这些因素的关系。

  〔例1〕 购物模型

  某一个顾客选购电视机时,对市场正在出售的四种电视机考虑了八项准则作为评估依据,建立层次分析模型如下:

  Image:购物层次分析模型.gif

  〔例2〕 选拔干部模型

  对三个干部候选人y1y2y3,按选拔干部的五个标准:品德、才能、资历、年龄和群众关系,构成如下层次分析模型: 假设有三个干部候选人y1y2y3,按选拔干部的五个标准:品德,才能,资历,年龄和群众关系,构成如下层次分析模型

  Image:选拔干部层次分析模型.gif

构造成对比较矩阵

  比较第 i 个元素与第 j 个元素相对上一层某个因素的重要性时,使用数量化的相对权重aij来描述。设共有 n 个元素参与比较,则A=(a_{ij})_{n\times n}称为成对比较矩阵。

  成对比较矩阵中aij的取值可参考 Satty 的提议,按下述标度进行赋值。aij在 1-9 及其倒数中间取值。

  • aij = 1,元素 i 与元素 j 对上一层次因素的重要性相同;
  • aij = 3,元素 i 比元素 j 略重要;
  • aij = 5,元素 i 比元素 j 重要;
  • aij = 7, 元素 i 比元素 j 重要得多;
  • aij = 9,元素 i 比元素 j 的极其重要;
  • aij = 2n,n=1,2,3,4,元素 i 与 j 的重要性介于aij = 2n − 1aij = 2n + 1之间;
  • a_{ij}=\frac{1}{n},n=1,2,...,9, 当且仅当aji = n

  成对比较矩阵的特点:a_{ij}>0,a_{ij}=1,a_{ij}=\frac{1}{a_{ji}}。(备注:当i=j时候,aij = 1

  对例 2, 选拔干部考虑5个条件:品德x1,才能x2,资历x3,年龄x4,群众关系x5。某决策人用成对比较法,得到成对比较阵如下:

  \begin{pmatrix}1&2&7&5&5\\\frac{1}{2}&1&4&3&3\\\frac{1}{7}&\frac{1}{4}&1&\frac{1}{2}&\frac{1}{3}\\\frac{1}{5}&\frac{1}{3}&2&1&1\\\frac{1}{5}&\frac{1}{3}&3&1&1\end{pmatrix}

  a14 = 5 表示品德与年龄重要性之比为 5,即决策人认为品德比年龄重要。

作一致性检验

  从理论上分析得到:如果A是完全一致的成对比较矩阵,应该有

  a_{ij}a_{jk}=a_{ik},1\le i,j,k\le n.

  但实际上在构造成对比较矩阵时要求满足上述众多等式是不可能的。因此退而要求成对比较矩阵有一定的一致性,即可以允许成对比较矩阵存在一定程度的不一致性。

  由分析可知,对完全一致的成对比较矩阵,其绝对值最大的特征值等于该矩阵的维数。对成对比较矩阵 的一致性要求,转化为要求: 的绝对值最大的特征值和该矩阵的维数相差不大。

  检验成对比较矩阵A一致性的步骤如下:

  • 计算衡量一个成对比较矩阵 A (n>1 阶方阵)不一致程度的指标CI:

  CI=\frac{\lambda_{max}(A)-n}{n-1}

  RI是这样得到的:对于固定的n,随机构造成对比较阵A, 其中aij是从1,2,…,9,1/2,1/3,…,1/9中随机抽取的. 这样的A是不一致的, 取充分大的子样得到A的最大特征值的平均值

n123456789
RI000.580.901.121.241.321.411.45

  注解:

  • 从有关资料查出检验成对比较矩阵 A 一致性的标准RI:RI称为平均随机一致性指标,它只与矩阵阶数 n 有关。
  • 按下面公式计算成对比较阵 A 的随机一致性比率 CR:

  CR=\frac{CI}{RI}

  • 判断方法如下: 当CR<0.1时,判定成对比较阵 A 具有满意的一致性,或其不一致程度是可以接受的;否则就调整成对比较矩阵 A,直到达到满意的一致性为止。

  例如对例 2 的矩阵

  \begin{pmatrix}1&2&7&5&5\\\frac{1}{2}&1&4&3&3\\\frac{1}{7}&\frac{1}{4}&1&\frac{1}{2}&\frac{1}{3}\\\frac{1}{5}&\frac{1}{3}&2&1&1\\\frac{1}{5}&\frac{1}{3}&3&1&1\end{pmatrix}

  计算得到\lambda_{max}(A)=5.073,CI=\frac{\lambda_{max}(A)-5}{5-1}=0.018,查得RI=1.12,

  CR=\frac{CI}{RI}=\frac{0.018}{1.12}=0.016<0.1

  这说明 A 不是一致阵,但 A 具有满意的一致性,A 的不一致程度是可接受的。

  此时A的最大特征值对应的特征向量为U=(-0.8409,-0.4658,-0.0951,-0.1733,-0.1920)。 这个向量也是问题所需要的。通常要将该向量标准化:使得它的各分量都大于零,各分量之和等于 1。该特征向量标准化后变成U = (0.475,0.263,0.051,0.103,0.126)Z。经过标准化后这个向量称为权向量。这里它反映了决策者选拔干部时,视品德条件最重要,其次是才能,再次是群众关系,年龄因素,最后才是资历。各因素的相对重要性由权向量U的各分量所确定。

  求A的特征值的方法,可以用 MATLAB 语句求A的特征值:〔Y,D〕=eig(A),D为成对比较阵 的特征值,Y的列为相应特征向量。

  在实践中,可采用下述方法计算对成对比较阵A = (aij)的最大特征值λmax(A)和相应特征向量的近似值。

  定义

  U_k=\frac{\sum_{j=1}^{n}a_{kj}}{\sum_{i=1}^{n}\sum_{j=1}^{n}a_{ij}}U=(u_1,u_2,\ldots,u_n)^z

  可以近似地看作A的对应于最大特征值的特征向量。

  计算

  \lambda=\frac{1}{n}\sum^{n}_{i=1}\frac{(AU)_i}{u_i}=\frac{1}{n}\sum^{n}_{i=1}\frac{\sum^{n}_{i=1}}\frac{\sum^n_{j=1}a_{ij}u_{j}}{u_i}

  可以近似看作A的最大特征值。实践中可以由λ来判断矩阵A的一致性。

层次总排序及决策

  现在来完整地解决例 2 的问题,要从三个候选人y1,y2,y3中选一个总体上最适合上述五个条件的候选人。对此,对三个候选人y = y1,y2,y3分别比较他们的品德(x1),才能(x2),资历(x3),年龄(x4),群众关系(x5)

  先成对比较三个候选人的品德,得成对比较阵

  B_1=\begin{pmatrix}1&\frac{1}{3}&\frac{1}{8}\\3&1&\frac{1}{3}\\8&3&1\end{pmatrix}

  经计算,B1的权向量

  ωx1(Y) = (0.082,0.244,0.674)z

  \lambda_{max}(B_1)=3.002,CI=0.001,\frac{CI}{RI}=\frac{0.001}{0.58}<0.1

  故B1的不一致程度可接受。ωx1(Y)可以直观地视为各候选人在品德方面的得分。

  类似地,分别比较三个候选人的才能,资历,年龄,群众关系得成对比较阵

  B_2=\begin{pmatrix}1&2&5\\\frac{1}{2}&1&2\\\frac{1}{5}&\frac{1}{2}&1\end{pmatrix}   B_3=\begin{pmatrix}1&1&3\\1&1&3\\\frac{1}{3}&\frac{1}{3}&1\end{pmatrix}

  B_4=\begin{pmatrix}1&3&4\\\frac{1}{3}&1&1\\\frac{1}{4}&1&1\end{pmatrix}

  B_5=\begin{pmatrix}1&4&\frac{1}{4}\\1&1&\frac{1}{4}\\4&1&1\end{pmatrix}

  通过计算知,相应的权向量为

   \omega_{x_2}(Y)=(0.606,0.265,0.129)^z

   \omega_{x_3}(Y)=(0.429,0.429,0.143)^z

   \omega_{x_4}(Y)=(0.636,0.185,0.179)^z

   \omega_{x_5}(Y)=(0.167,0.167,0.667)^z

  它们可分别视为各候选人的才能分,资历分,年龄分和群众关系分。经检验知B2,B3,B4,B5的不一致程度均可接受。

  最后计算各候选人的总得分。y1的总得分

   \omega_z(y_1)=\sum{5}{j=1}u_j\omega_{xj}(y_1)=0.457\times 0.082+0.263\times 0.606+0.051\times 0.429+0.104\times 0.6366+0.162\times 0.1670.306

  从计算公式可知,y1的总得分ω(y1)实际上是y1各条件得分ωx1(y1) ,ωx2(y1) ,...,ωx5(y1) ,的加权平均, 权就是各条件的重要性。同理可得y2,Y3 的得分为

  ωz(y2) = 0.243,ωz(y3) = 0.452

0.4570.2630.0510.1030.126总得分
Y10.0820.6060.4290.6360.1670.305
Y20.2440.2650.4290.1850.1670.243
Y30.6740.1290.1430.1790.6670.452

  即排名:Y3 > Y1 > Y2

  比较后可得:候选人y3是第一干部人选。

层次分析法的用途举例

  例如,某人准备选购一台电冰箱,他对市场上的6种不同类型的电冰箱进行了解后,在决定买那一款式时,往往不是直接拿电冰箱整体进行比较,因为存在许多不可比的因素,而是选取一些中间指标进行考察。例如电冰箱的容量、制冷级别、价格、型号、耗电量、外界信誉、售后服务等。然后再考虑各种型号冰箱在上述各中间标准下的优劣排序。借助这种排序,最终作出选购决策。在决策时,由于6种电冰箱对于每个中间标准的优劣排序一般是不一致的,因此,决策者首先要对这7个标准的重要度作一个估计,给出一种排序,然后把6种冰箱分别对每一个标准的排序权重找出来,最后把这些信息数据综合,得到针对总目标即购买电冰箱的排序权重。有了这个权重向量,决策就很容易了。

层次分析法应用的程序

  运用AHP法进行决策时,需要经历以下4个步骤:

  1、建立系统的递阶层次结构;

  2、构造两两比较判断矩阵;(正互反矩阵)

  3、针对某一个标准,计算各备选元素的权重;

  4、计算当前一层元素关于总目标的排序权重。

  5、进行一致性检验。

应用层次分析法的注意事项

  如果所选的要素不合理,其含义混淆不清,或要素间的关系不正确,都会降低AHP法的结果质量,甚至导致AHP法决策失败。

  为保证递阶层次结构的合理性,需把握以下原则:

  1、分解简化问题时把握主要因素,不漏不多;

  2、注意相比较元素之间的强度关系,相差太悬殊的要素不能在同一层次比较。

层次分析法应用实例

  1、建立递阶层次结构;

  2、构造两两比较判断矩阵;(正互反矩阵)

  对各指标之间进行两两对比之后,然后按9分位比率排定各评价指标的相对优劣顺序,依次构造出评价指标的判断矩阵。

  3、针对某一个标准,计算各备选元素的权重;

  关于判断矩阵权重计算的方法有两种,即几何平均法(根法)和规范列平均法(和法)。

  (1)几何平均法(根法)

  计算判断矩阵A各行各个元素mi的乘积;

  计算mi的n次方根;

  对向量进行归一化处理;

  该向量即为所求权重向量。

  (2)规范列平均法(和法)

  计算判断矩阵A各行各个元素mi的和;

  将A的各行元素的和进行归一化;

  该向量即为所求权重向量。

计算矩阵A的最大特征值?max

  对于任意的i=1,2,…,n, 式中为向量AW的第i个元素

  (4)一致性检验

  构造好判断矩阵后,需要根据判断矩阵计算针对某一准则层各元素的相对权重,并进行一致性检验。虽然在构造判断矩阵A时并不要求判断具有一致性,但判断偏离一致性过大也是不允许的。因此需要对判断矩阵A进行一致性检验。

外部链接

第十三章 层次分析法

相关条目

本条目对我有帮助416
分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目

评论(共43条)

提示:评论内容为网友针对条目"层次分析法"展开的讨论,与本站观点立场无关。
Compass (Talk | 贡献) 在 2008年1月7日 12:53 发表

提出者是美国运筹学家T.L.Satty,而不是seaty?能否确认一下?

回复评论
Vulture (Talk | 贡献) 在 2008年1月8日 01:21 发表

Compass (Talk | 贡献) 在 2008年1月7日 12:53 发表

提出者是美国运筹学家T.L.Satty,而不是seaty?能否确认一下?

谢谢,已更正。

回复评论
58.62.76.* 在 2008年1月12日 21:28 发表

能不能给出一些运用AHP的例子呢?谢谢

回复评论
Lolo (Talk | 贡献) 在 2008年3月5日 13:56 发表

58.62.76.* 在 2008年1月12日 21:28 发表

能不能给出一些运用AHP的例子呢?谢谢

现已给某一购房者的情况为例,望指教。

回复评论
219.135.157.* 在 2008年3月19日 11:20 发表

如何在 excel计算出结果? 最好能给个例子

回复评论
60.185.239.* 在 2008年4月1日 20:21 发表

"蒋绍忠教授课件"称提出者是美国运筹学家T. L. Saaty 教授

回复评论
60.185.239.* 在 2008年4月1日 21:47 发表

对于数学基础不够的我而言,有关计算公式还过于专业,盼能有一个具体计算过程以便理解,谢谢

回复评论
123.9.108.* 在 2008年8月12日 20:55 发表

很不错但我想知道判断 矩阵中的值是怎么给的多谢

回复评论
Collection (Talk | 贡献) 在 2008年8月23日 13:19 发表

举出的实例,数据有误,请作者是否考虑交验一下。

回复评论
Hnoju (Talk | 贡献) 在 2008年8月23日 17:53 发表

Collection (Talk | 贡献) 在 2008年8月23日 13:19 发表

举出的实例,数据有误,请作者是否考虑交验一下。

因该条目为网友贡献,无法获知其出处,已对其内容进行了更改,感谢您的指正,MBA智库百科是可以自由编辑的,您也可以直接参与编辑修改。

回复评论
124.114.129.* 在 2009年6月13日 14:03 发表

有哪些不足

回复评论
58.56.27.* 在 2009年7月16日 16:03 发表

请问最大特征根怎么求得?谢谢!

回复评论
222.178.10.* 在 2009年9月1日 01:07 发表

超过9阶RI表能否提供 急需 谢谢

回复评论
81.152.36.* 在 2009年9月8日 01:10 发表

9 10 11 12 13 14 15 1.45 1.49 1.51 1.48 1.56 1.57 1.58

source:http://140.128.95.1/bitstream/987654321/2399/1/陳水湶%20J1.pdf

上邊是9-15的 RI值。

我自己的計算沒有超過13項,但據說超過15 說是沒有意義的比較。。但原因我也不清楚

請指教。

回复评论
81.152.36.* 在 2009年9月8日 01:11 发表

222.178.10.* 在 2009年9月1日 01:07 发表

超过9阶RI表能否提供 急需 谢谢

9 10 11 12 13 14 15

1.45 1.49 1.51 1.48 1.56 1.57 1.58

不好意思,上邊 表格沒處理好

回复评论
111.192.143.* 在 2009年9月26日 15:07 发表

实际上这个方法使用简单的数学知识就可以完全说明白,里面比较复杂的就是开平方,其它的就是加减乘除找平均数啥的。

国外的MBA教程上,都是使用最简单的方法在教原理和过程,实在搞不明白国内的教程为什么一定要用这些看起来很高深的东西。。。。

回复评论
Verycccc (Talk | 贡献) 在 2009年11月8日 09:33 发表

正在学习AHP,希望有更多的使用实例。感谢各位的贡献~

回复评论
222.240.165.* 在 2009年12月15日 19:35 发表

明显有错误!

回复评论
Hnoju (Talk | 贡献) 在 2009年12月16日 09:51 发表

222.240.165.* 在 2009年12月15日 19:35 发表

明显有错误!

MBA智库是可以自由编辑的,有误之处期待您的参与完善,或者您指出错误之处,以便完善。

回复评论
211.80.81.* 在 2010年1月5日 15:55 发表

非常感谢MBA词条,课件里面有很多讲得不够详细的地方都在这里找到解释了。

回复评论
Heizi524 (Talk | 贡献) 在 2010年1月27日 00:08 发表

111.192.143.* 在 2009年9月26日 15:07 发表

实际上这个方法使用简单的数学知识就可以完全说明白,里面比较复杂的就是开平方,其它的就是加减乘除找平均数啥的。

国外的MBA教程上,都是使用最简单的方法在教原理和过程,实在搞不明白国内的教程为什么一定要用这些看起来很高深的东西。。。。

我觉得一看就懂 只要线性代数还记得的话。。。

回复评论
113.140.6.* 在 2010年3月30日 12:03 发表

到底是satty教授还是saaty教授啊???

回复评论
Vulture (Talk | 贡献) 在 2010年3月30日 15:23 发表

113.140.6.* 在 2010年3月30日 12:03 发表

到底是satty教授还是saaty教授啊???

是T.L.Saaty

回复评论
113.140.6.* 在 2010年3月30日 20:23 发表

Vulture (Talk | 贡献) 在 2010年3月30日 15:23 发表

是T.L.Saaty

谢谢......

回复评论
222.94.76.* 在 2010年6月1日 11:17 发表

数学建模中学过该方法

回复评论
202.203.166.* 在 2010年8月24日 10:24 发表

58.56.27.* 在 2009年7月16日 16:03 发表

请问最大特征根怎么求得?谢谢!

用matlab可以直接求得

回复评论
202.203.166.* 在 2010年8月24日 10:29 发表

111.192.143.* 在 2009年9月26日 15:07 发表

实际上这个方法使用简单的数学知识就可以完全说明白,里面比较复杂的就是开平方,其它的就是加减乘除找平均数啥的。

国外的MBA教程上,都是使用最简单的方法在教原理和过程,实在搞不明白国内的教程为什么一定要用这些看起来很高深的东西。。。。

这个方法很简单啊

回复评论
121.15.135.* 在 2011年2月27日 15:26 发表

请问最大特征根怎么求得?能直接计算出吗

回复评论
114.84.164.* 在 2011年4月19日 20:17 发表

能把这个程序的源代码给我发一份吗?rcwang0331@gmail.com

回复评论
Ywlshuwei (Talk | 贡献) 在 2011年8月11日 20:35 发表

aij=1/aji,标准化之后的数据,跟后面求的不一样~

回复评论
Yixi (Talk | 贡献) 在 2011年8月12日 17:35 发表

Ywlshuwei (Talk | 贡献) 在 2011年8月11日 20:35 发表

aij=1/aji,标准化之后的数据,跟后面求的不一样~

谢谢指正,原文已修正!~

回复评论
黄小乐&骆 (Talk | 贡献) 在 2011年8月14日 02:12 发表

请问:成对比较矩阵 A 一致性的标准RI怎么确定呢?

回复评论
孟家小孩 (Talk | 贡献) 在 2011年8月27日 15:35 发表

恩 不错 学到了

回复评论
61.150.69.* 在 2011年9月15日 19:35 发表

不错,学到了一些东西。谢谢!

回复评论
221.215.102.* 在 2011年10月25日 15:34 发表

谢谢!正是我需要的。

回复评论
202.104.40.* 在 2011年12月19日 11:45 发表

现在都是3层的例子,最好能给一个4层以上的例子。

回复评论
123.139.158.* 在 2012年6月18日 10:18 发表

嗯,挺好!

回复评论
113.107.197.* 在 2012年10月21日 21:09 发表

好!

好! 好!

回复评论
222.69.36.* 在 2012年12月10日 08:39 发表

回复评论
58.216.222.* 在 2013年4月10日 16:15 发表

求最大特征值只需要先列向量求和归一,求出特征向量,然后通过归一后向量与特征向量的对应比的平均数,得出近似最大特征值(与精确值相差很小)。

回复评论
223.199.170.* 在 2013年5月13日 21:54 发表

特征值的求法课利用mathematica软件:利用函数Eigenvalues[N[{{},{},{},...}]]便可求出

回复评论
14.155.227.* 在 2013年9月11日 18:31 发表

其实最关键的步骤还是赋值,这几乎就决定了分析者的价值取向,用线代算这么多感觉是故弄玄虚。

回复评论
113.108.139.* 在 2013年10月27日 21:23 发表

写得很好,不用线代根本讲不清

回复评论

发表评论请文明上网,理性发言并遵守有关规定。