ahp权重计算方法

ahp权重计算方法,第1张

AHP法是一种主观加客观的赋值权重的方法。

★ AHP层次分析法是将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能否实现的标准之间的相对重要程度,并合理地给出每个决策方案的每个标准的权数,利用权数求出各方案的优劣次序,比较有效地应用于那些难以用定量方法解决的课题。

★AHP建模步骤

第一步:建立层次结构模型

第二步:标度确定和构造判断矩阵

第三步:特征向量,特征根计算和权重计

第四步:一致性检验分析

第五步:分析结论

★APH经常可以作为一种确定指标权重的方法加以应用。APH作为一种决策工具,具有适用性、简洁性、实用性和系统性等特点,但在应用上也有局限性。例如,APH的应用主要针对那种方案大抵确定的决策问题;APH得出的结果是粗略的方案排序;在APH适用过程中,无论是建立层次结构还是构造判断矩阵,人的主观判断、选择对结果的影响较大,使得APH进行决策的主观成分很大。

抄下别人的,另外别看国足了太让人伤心。层次分析法,就是协助决策者来做决定,能否分层次得来分析问题,并且借助数学工具,验证决策者的决定是否是符合理性的标准,以及优化不一致的决策。

下面转载一下别人的文章,就是网上找得到的。不过,实际情况要case by case。

英超教练决定首发用这个决策,关键得不是数学模型,关键是他们按照这个层次结构来分析对手和自己的情况,以及其他方面的因素,免得因为哪天跟老婆吵架了心情不好,而错误地做出决策。

层次分析法

层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家T. L. Saaty 教授于70年代初期提出的一种简便、灵活而又实用的多准则决策方法。

§1 层次分析法的基本原理与步骤

人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。

运用层次分析法建模,大体上可按下面四个步骤进行:

(i)建立递阶层次结构模型;

(ii)构造出各层次中的所有判断矩阵;

(iii)层次单排序及一致性检验;

(iv)层次总排序及一致性检验。

下面分别说明这四个步骤的实现过程。

1.1 递阶层次结构的建立与特点

应用AHP分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。在这个模型下,复杂问题被分解为元素的组成部分。这些元素又按其属性及关系形成若干层次。上一层次的元素作为准则对下一层次有关元素起支配作用。这些层次可以分为三类:

(i)最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。

(ii)中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。

(iii)最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。

递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。每一层次中各元素所支配的元素一般不要超过9个。这是因为支配的元素过多会给两两比较判断带来困难。

下面结合一个实例来说明递阶层次结构的建立。

例1 假期旅游有 、 、 3个旅游胜地供你选择,试确定一个最佳地点。

在此问题中,你会根据诸如景色、费用、居住、饮食和旅途条件等一些准则去反复比较3个侯选地点。可以建立如下的层次结构模型。

目标层 选择旅游地

准则层 景色 费用 居住 饮食 旅途

措施层

1.2 构造判断矩阵

层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重并不一定相同,在决策者的心目中,它们各占有一定的比例。

在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。为看清这一点,可作如下假设:将一块重为1千克的石块砸成 小块,你可以精确称出它们的重量,设为 ,现在,请人估计这 小块的重量占总重量的比例(不能让他知道各小石块的重量),此人不仅很难给出精确的比值,而且完全可能因顾此失彼而提供彼此矛盾的数据。

设现在要比较 个因子 对某因素 的影响大小,怎样比较才能提供可信的数据呢?Saaty等人建议可以采取对因子进行两两比较建立成对比较矩阵的办法。即每次取两个因子 和 ,以 表示 和 对 的影响大小之比,全部比较结果用矩阵 表示,称 为 之间的成对比较判断矩阵(简称判断矩阵)。容易看出,若 与 对 的影响之比为 ,则 与 对 的影响之比应为 。

定义1 若矩阵 满足

(i) ,(ii) ( )

则称之为正互反矩阵(易见 , )。

关于如何确定 的值,Saaty等建议引用数字1~9及其倒数作为标度。下表列出了1~9标度的含义:

标度 含 义

1

3

5

7

9

2,4,6,8

倒数 表示两个因素相比,具有相同重要性

表示两个因素相比,前者比后者稍重要

表示两个因素相比,前者比后者明显重要

表示两个因素相比,前者比后者强烈重要

表示两个因素相比,前者比后者极端重要

表示上述相邻判断的中间值

若因素 与因素 的重要性之比为 ,那么因素 与因素 重要性之比为 。

从心理学观点来看,分级太多会超越人们的判断能力,既增加了作判断的难度,又容易因此而提供虚假数据。Saaty等人还用实验方法比较了在各种不同标度下人们判断结果的正确性,实验结果也表明,采用1~9标度最为合适。

最后,应该指出,一般地作 次两两判断是必要的。有人认为把所有元素都和某个元素比较,即只作 个比较就可以了。这种作法的弊病在于,任何一个判断的失误均可导致不合理的排序,而个别判断的失误对于难以定量的系统往往是难以避免的。进行 次比较可以提供更多的信息,通过各种不同角度的反复比较,从而导出一个合理的排序。

1.3 层次单排序及一致性检验

判断矩阵 对应于最大特征值 的特征向量 ,经归一化后即为同一层次相应因素对于上一层次某因素相对重要性的排序权值,这一过程称为层次单排序。

上述构造成对比较判断矩阵的办法虽能减少其它因素的干扰,较客观地反映出一对因子影响力的差别。但综合全部比较结果时,其中难免包含一定程度的非一致性。如果比较结果是前后完全一致的,则矩阵 的元素还应当满足:

, (1)

定义2 满足关系式(1)的正互反矩阵称为一致矩阵。

需要检验构造出来的(正互反)判断矩阵 是否严重地非一致,以便确定是否接受 。

定理1 正互反矩阵 的最大特征根 必为正实数,其对应特征向量的所有分量均为正实数。 的其余特征值的模均严格小于 。

定理2 若 为一致矩阵,则

(i) 必为正互反矩阵。

(ii) 的转置矩阵 也是一致矩阵。

(iii) 的任意两行成比例,比例因子大于零,从而 (同样, 的任意两列也成比例)。

(iv) 的最大特征值 ,其中 为矩阵 的阶。 的其余特征根均为零。

(v)若 的最大特征值 对应的特征向量为 ,则 , ,即

定理3 阶正互反矩阵 为一致矩阵当且仅当其最大特征根 ,且当正互反矩阵 非一致时,必有 。

根据定理3,我们可以由 是否等于 来检验判断矩阵 是否为一致矩阵。由于特征根连续地依赖于 ,故 比 大得越多, 的非一致性程度也就越严重, 对应的标准化特征向量也就越不能真实地反映出 在对因素 的影响中所占的比重。因此,对决策者提供的判断矩阵有必要作一次一致性检验,以决定是否能接受它。

对判断矩阵的一致性检验的步骤如下:

(i)计算一致性指标

(ii)查找相应的平均随机一致性指标 。对 ,Saaty给出了 的值,如下表所示:

1 2 3 4 5 6 7 8 9

0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45

的值是这样得到的,用随机方法构造500个样本矩阵:随机地从1~9及其倒数中抽取数字构造正互反矩阵,求得最大特征根的平均值 ,并定义

(ⅲ)计算一致性比例

当 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。

1.4 层次总排序及一致性检验

上面我们得到的是一组元素对其上一层中某元素的权重向量。我们最终要得到各元素,特别是最低层中各方案对于目标的排序权重,从而进行方案选择。总排序权重要自上而下地将单准则下的权重进行合成。

设上一层次( 层)包含 共 个因素,它们的层次总排序权重分别为 。又设其后的下一层次( 层)包含 个因素 ,它们关于 的层次单排序权重分别为 (当 与 无关联时, )。现求 层中各因素关于总目标的权重,即求 层各因素的层次总排序权重 ,计算按下表所示方式进行,即 , 。

对层次总排序也需作一致性检验,检验仍象层次总排序那样由高层到低层逐层进行。这是因为虽然各层次均已经过层次单排序的一致性检验,各成对比较判断矩阵都已具有较为满意的一致性。但当综合考察时,各层次的非一致性仍有可能积累起来,引起最终分析结果较严重的非一致性。

设 层中与 相关的因素的成对比较判断矩阵在单排序中经一致性检验,求得单排序一致性指标为 ,( ),相应的平均随机一致性指标为 ( 已在层次单排序时求得),则 层总排序随机一致性比例为

当 时,认为层次总排序结果具有较满意的一致性并接受该分析结果。

§2 层次分析法的应用

在应用层次分析法研究问题时,遇到的主要困难有两个:(i)如何根据实际情况抽象出较为贴切的层次结构;(ii)如何将某些定性的量作比较接近实际定量化处理。层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为科学管理和决策提供了较有说服力的依据。但层次分析法也有其局限性,主要表现在:(i)它在很大程度上依赖于人们的经验,主观因素的影响很大,它至多只能排除思维过程中的严重非一致性,却无法排除决策者个人可能存在的严重片面性。(ii)比较、判断过程较为粗糙,不能用于精度要求较高的决策问题。AHP至多只能算是一种半定量(或定性与定量结合)的方法。

AHP 方法经过几十年的发展,许多学者针对AHP的缺点进行了改进和完善,形成了一些新理论和新方法,像群组决策、模糊决策和反馈系统理论近几年成为该领域的一个新热点。

在应用层次分析法时,建立层次结构模型是十分关键的一步。现再分析一个实例,以便说明如何从实际问题中抽象出相应的层次结构。

例2 挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生。该生根据已有信息建立了一个层次结构模型,如下图所示。

1 1 1 4 1 1/2

1 1 2 4 1 1/2

1 1/2 1 5 3 1/2

1/4 1/4 1/5 1 1/3 1/3

1 1 1/3 3 1 1

2 2 2 3 3 1

(方案层)

1 1/4 1/2 1 1/4 1/5

4 1 3 4 1 1/2

2 1/3 1 5 2 1

1 3 1/3 1 1/3 5

1/3 1 7 3 1 7

3 1/7 1 1/5 1/7 1

1 1 7 1 7 9

1 1 7 1/7 1 1

1/7 1/7 1 1/9 1 1

(层次总排序)如下表所示。

准则 研究 发展 待遇 同事 地理 单位

课题 前途 情况 位置 名气 总排序权值

准则层权值 0.1507 0.1792 0.1886 0.0472 0.1464 0.2879

方案层

单排序

权值 工作1

工作2

工作3 0.1365 0.0974 0.2426 0.2790 0.4667 0.7986

0.6250 0.3331 0.0879 0.6491 0.4667 0.1049

0.2385 0.5695 0.6694 0.0719 0.0667 0.0965 0.3952 0.2996 0.3052

根据层次总排序权值,该生最满意的工作为工作1。

计算程序如下:

clc

a=[1,1,1,4,1,1/2

1,1,2,4,1,1/2

1,1/2,1,5,3,1/2

1/4,1/4,1/5,1,1/3,1/3

1,1,1/3,3,1,1

2,2,2,3,3,1]

[x,y]=eig(a)eigenvalue=diag(y)lamda=eigenvalue(1)

ci1=(lamda-6)/5cr1=ci1/1.24

w1=x(:,1)/sum(x(:,1))

b1=[1,1/4,1/24,1,32,1/3,1]

[x,y]=eig(b1)eigenvalue=diag(y)lamda=eigenvalue(1)

ci21=(lamda-3)/2cr21=ci21/0.58

w21=x(:,1)/sum(x(:,1))

b2=[1 1/4 1/54 1 1/25 2 1]

[x,y]=eig(b2)eigenvalue=diag(y)lamda=eigenvalue(1)

ci22=(lamda-3)/2cr22=ci22/0.58

w22=x(:,1)/sum(x(:,1))

b3=[1 3 1/31/3 1 1/73 7 1]

[x,y]=eig(b3)eigenvalue=diag(y)lamda=eigenvalue(1)

ci23=(lamda-3)/2cr23=ci23/0.58

w23=x(:,1)/sum(x(:,1))

b4=[1 1/3 53 1 71/5 1/7 1]

[x,y]=eig(b4)eigenvalue=diag(y)lamda=eigenvalue(1)

ci24=(lamda-3)/2cr24=ci24/0.58

w24=x(:,1)/sum(x(:,1))

b5=[1 1 71 1 71/7 1/7 1]

[x,y]=eig(b5)eigenvalue=diag(y)lamda=eigenvalue(2)

ci25=(lamda-3)/2cr25=ci25/0.58

w25=x(:,2)/sum(x(:,2))

b6=[1 7 91/7 1 1 1/9 1 1]

[x,y]=eig(b6)eigenvalue=diag(y)lamda=eigenvalue(1)

ci26=(lamda-3)/2cr26=ci26/0.58

w26=x(:,1)/sum(x(:,1))

w_sum=[w21,w22,w23,w24,w25,w26]*w1

ci=[ci21,ci22,ci23,ci24,ci25,ci26]

cr=ci*w1/sum(0.58*w1)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11800189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存