层次分析法及matlab程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
层次分析法建模
层次分析法(AHP-Analytic Hierachy process)---- 多目标决策方法
70 年代由美国运筹学家T·L·Satty提出的,就是一种定性与定量分析相结合的多目标决策分析方法论。
吸收利用行为科学的特点,就是将决策者的经验判断给予量化,对目标(因素)结构复杂而且缺乏必要的数据情况下,採用此方法较为实用,就是一种系统科学中,常用的一种系统分析方法,因而成为系统分析的数学工具之一。
传统的常用的研究自然科学与社会科学的方法有:
机理分析方法:利用经典的数学工具分析观察的因果关系;
统计分析方法:利用大量观测数据寻求统计规律,用随机数学方法描述(自然现象、社会
现象)现象的规律。
基本内容:(1)多目标决策问题举例AHP建模方法
(2)AHP建模方法基本步骤
(3)AHP建模方法基本算法
(3)AHP建模方法理论算法应用的若干问题。
参考书: 1、姜启源,数学模型(第二版,第9章;第三版,第8章),高等教育出版社
2、程理民等, 运筹学模型与方法教程,(第10章),清华大学出版社
3、《运筹学》编写组,运筹学(修订版),第11章,第7节,清华大学出版社
一、问题举例:
A.大学毕业生就业选择问题
获得大学毕业学位的毕业生,“双向选择”时,用人单位与毕业生都有各自的选择标准与要求。
就毕业生来说选择单位的标准与要求就是多方面的,例如:
①能发挥自己的才干为国家作出较好贡献(即工作岗位适合发挥专长);
②工作收入较好(待遇好);
③生活环境好(大城市、气候等工作条件等);
④单位名声好(声誉-Reputation);
⑤工作环境好(人际关系与谐等)
⑥发展晋升(promote, promotion)机会多(如新单位或单位发展有后劲)等。
问题:现在有多个用人单位可供她选择,因此,她面临多种选择与决策,问题就是她将如何作出决策与选择?——或者说她将用什么方法将可供选择的工作单位排序?
工作选择
贡献收入发展声誉工作环境生活环境
B、假期旅游地点选择
暑假有3个旅游胜地可供选择。
例如:1P :苏州杭州,2P 北戴河,3P 桂林,到底到哪个地方去旅
游最好?要作出决策与选择。
为此,要把三个旅游地的特点,例如:①景色;②费用;③居住;④环境;⑤旅途条件等作一些比较——建立一个决策的准则,最后综合评判确定出一个可选择的最优方案。
目标层
准则层
方案层
C.资源开发的综合判断
7种金属可供开发,开发后对国家贡献可以通过两两比较得到,决定对哪种资源先开发,效用最用。
二、问题分析:
例如旅游地选择问题:一般说来,此决策问题可按如下步骤进行:
(S1)将决策解分解为三个层次,即:
目标层:(选择旅游地)
准则层:(景色、费用、居住、饮食、旅途等5个准则)
方案层:(有1P ,2P ,3P 三个选择地点)
并用直线连接各层次。
(S2)互相比较各准则对目标的权重,各方案对每一个准则的权重。
这些权限重在人的思维过程中
常就是定性的。
例如:经济好,身体好的人:会将景色好作为第一选择;
中老年人:会将居住、饮食好作为第一选择; 经济不好的人:会把费用低作为第一选择。
而层次分析方法则应给出确定权重的定量分析方法。
(S3)将方案后对准则层的权重,及准则后对目标层的权重进行综合。
(S4)最终得出方案层对目标层的权重,从而作出决策。
以上步骤与方法即就是AHP 的决策分析方法。
三、确定各层次互相比较的方法——成对比较矩阵与权向量
在确定各层次各因素之间的权重时,如果只就是定性的结果,则常常不容易被别人接受,因而Santy 等人提出:一致矩阵法..... 即:1、 不把所有因素放在一起比较,而就是两两相互比较
2、 对此时採用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,提高准确度。
因素比较方法 —— 成对比较矩阵法:
目的就是,要比较某一层n 个因素n C C C , ,,21 对上一层因素O 的影响(例如:旅游决策解中,比较景色等5个准则在选择旅游地这个目标中的重要性)。
採用的方法就是:每次取两个因素i C 与j C 比较其对目标因素O 的影响,并用ij a 表示,全部比较的结果用成对比较矩阵表示,即:
)1( 1
,0 ,)(=⋅=
>=ij ij ij
ji ij nxn ij a a a a a a A 或 (1) 由于上述成对比较矩阵有特点: ji
ij ij ij a a a a A 1 ,0 , )(=
>= 故可称A 为正互反矩阵:显然,由 ji
ij a a 1
=
,即:1=⋅ji ij a a ,故有:1=ji a
例如:在旅游决策问题中:
2112=a =(费用)(景色)21C C 表示:⎩⎨⎧2O 1O 21的重要性为(费用)对目标
的重要性为景色)对目标(C C
故:),费用重要性为即景色重要性为21(2
112=a
14413==a = (居住条件)(景色)31C C 表示:⎩⎨⎧1O C 4O (3
1的重要性为(居住条件)对目标的重要性为景色)对目标C 即:景色为4,居住为1。
17723==a =(居住条件)(费用)32
C C 表示:⎩⎨⎧1O C 7O (32的重要性为(居住条件)对目标
的重要性为费用)对目标C
即:费用重要性为7,居住重要性为1。
因此有成对比较矩阵:⎪
⎪⎪
⎪⎪⎪⎪⎭
⎫
⎝⎛=113
5
13
1112513131211714
1
553374121
21
A ??问题:稍加分析就发现上述成对比较矩阵的问题: ① 即存在有各元素的不一致性,例如:
既然:4
1114a ;22113313113212112==⇒===⇒==
a a C C a C C a 所以应该有:188412
1
3
12
31213223======
C C C C a a C C a
而不应为矩阵A 中的1
723=a
②成对比较矩阵比较的次数要求太 ,因:n 个元素比较次数为:!
2)
1(2
-=
n n C n 次, 因此,问题就是:如何改造成对比较矩阵,使由其能确定诸因素n C C , ,1 对上层因素O 的权重?
对此Saoty 提出了:在成对比较出现不一致情况下,计算各因素n C C , ,1 对因素(上层因素)O 的权重方法,并确定了这种不一致的容许误差范围。
为此,先瞧成对比较矩阵的完全一致性——成对比较完全一致性
四:一致性矩阵
Def:设有正互反成对比较矩阵:
⎪⎪⎪
⎪
⎪⎪⎪⎪⎪⎪⎪
⎭
⎫
⎝⎛======
========= 1 a , , 1 , , 1 1nn 221122222212211121121111n n n n n n j i
ij n
n n
n W W W W a W W a W W a W W a W W a W W a W W a W W a W W a A
(4) 除满足:(i)正互反性:即
)1 ( 1
0=⋅=
>ji ij ji
ij ij a a a a a 或 而且还满足:(ii)一致性:即
n 2, 1,j i, ==⋅==
h
a h a a k a a a a j i kj i j i ij //有点点错误 则称满足上述条件的正互反对称矩阵A 为一致性矩阵,简称一致阵。
一致性矩阵(一致阵)性质:
性质1:A 的秩 Rank(A)=1//显然
A 的唯一非0的特征根为n
性质2:A 的任一列(行)向量都就是对应特征根n 的特征向量:
即有(特征向量、特征值):
⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=n n n n n n W W W W W W W W W W W
W W W W W W W A
2
1
2221212111,则向量⎪⎪⎪⎪⎪⎭⎫
⎝⎛=321W W W W
满足:n nW nW nW W W W W W W W W W W W W W W W A n n n n
n n n
=⎪⎪
⎪
⎪
⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=
212121
1211
1 即: 0)(=-W nI A
我的理解:通过A(变换A 与W 中的
元素有关)变换将一致W 矩阵变成权向量W(特征向量),如果正互反矩阵W ’接近一致矩阵,同样的道理变换A 可以将W ’变成权向量(这里的权向量与W ’稍有不同)
启发与思考:既然一致矩阵有以上性质,即n 个元素W 1, W 2, W 3 , …W n 构成的向量⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛=n W W W W 21
就是一致矩阵A 的特征向量,则可以把向量W 归一化后的向量ω,瞧成就是诸元素W 1, W 2,
W 3 , …W n
目标的权向量,因此,可以用求A 的特征根与特征向量的办法,求出元素W 1, W 2, W 3 , …W n 相对于目标O 的劝向量。
解释:
一致矩阵即:n 件物体n M M M , , ,21 ,它们重量分别为n W W W , , ,21 ,将她们两两比较重量,
其比值构成一致矩阵,若用重量向量⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛=n W W W W 21右乘A ,则
:()⎪⎪⎪⎪⎪⎪⎩
⎪
⎪⎪⎪⎪⎪
⎨⎧∑⎪⎪⎪
⎭
⎫ ⎝⎛⎪⎪⎪⎪
⎪
⎭⎫ ⎝⎛称特征根法,求权向量的方法量权向量,此种用特征向为即对上层因素O的权重,,C ,,C C ,就表示诸因素=W=则归一化后的特征向量,=:重量向量 为特征根的特征向量为
以的特征根为n 21 1W W W W ,121 i n W W W n n A 分析:
若重量向量⎪⎪⎪⎪
⎪⎭
⎫
⎝⎛=n W W W W 21未知时,则可由决策者对物体n M M M , , ,21 之间两两相比关系,
主观作出比值的判断,或用Delphi(调查法)来确定这些比值,使A 矩阵(不一定有一致性)为已知的,
并记此主观判断作出的矩阵为(主观)判断矩阵A ,并且此A (不一致)在不一致的容许范围内,再依据:A
的特征根或与特征向量W 连续地依赖于矩阵的元素
ij
a ,即当ij
a 离一致性的要求不太远时,A 的特征根i 与特征
值(向量)W 与一致矩阵A 的特征根λ与特征向量W 也相差不大的道理:由特征向量W 求权向量W 的方法即为特征向量法,并由此引出一致性检查的方法。
问题:Remark
以上讨论的用求特征根来求权向量W 的方法与思路,在理论上应解决以下问题:
1. 一致阵的性质1就是说:一致阵的最大特征根为n (即必要条件),但用特征根来求特征向量时,
应回答充分条件:即正互反矩阵就是否存在正的最大特征根与正的特征向量?且如果正互反
矩阵A 的最大特征根n =max λ时,A 就是否为一致阵?
2. 用主观判断矩阵A 的特征根λ与特征向量W 连续逼近一致阵A 的特征根λ与特征向量W 时,即: 由λλ=→k k
k lim
得到:W W k k =∞
→lim
即: A A k k =∞
→lim
就是否在理论上有依据。
3.一般情况下,主观判断矩阵A 在逼近于一致阵A 的过程中,用与A 接近的*A 来代替A ,即有
A A ≈*,这种近似的替代一致性矩阵A 的作法,就导致了产生的偏差估计问题,即一致性检验
问题,即要确定一种一致性检验判断指标,由此指标来确定在什么样的允许范围内,主观判断矩阵就是可以接受的,否则,要 两两比较构造主观判断矩阵。
此问题即一致性检验问题的内容。
以上三个问题:前两个问题由数学严格比较可获得(见教材P325,定理1、定理2)。
第3个问题:Satty 给出一致性指标(TH1,TH2介绍如下:) 附:
Th1:(教材P326,perronTh 比隆 1970 )对于正矩阵A (A 的所有元素为正数) (1)A 的最大特征根就是正单根λ;
(2)λ对应正特征向量W (W 的所有分量为正数)
(3)W e A e e A k T k
k =∞→lim 其中:⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛=111
e 为半径向量,W 就是对应λ的归一化特征向量 证明:(3)可以通过将A 化为标准形证明
Th2:n 阶正互反阵A 的最大特征根n ≥λ;
当n =λ时,A 就是一致阵
五、一致性检验——一致性指标:
1.一致性检验指标的定义与确定——I C ⋅(平均值)的定义:
当人们对复杂事件的各因素,采用两两比较时,所得到的主观判断矩阵A ,一般不可直接保证正互反矩阵A 就就是一致正互反矩阵A ,因而存在误差(及误差估计问题)。
这种误差,必然导致特征值与特征向量之间的误差()]
[W W )(-及λλ-。
此时就导致问题W max W A λ=与问题
nW AW =之间的差别。
(上述问题中m ax λ就是主观判断矩阵A 的特征值,W 就是带有偏差的相
对权向量)。
这就是由判断矩阵不一致性所引起的。
因此,为了避免误差太大,就要衡量主观判断矩阵A 的一致性。
因为:
①当主观判断矩阵A 为一致阵A 时就有:
∑∑∑∑=======n
k n k kk n k n
n k
k
n a 1
1
1
1
1λ
λ= A 为一致阵时有:1=ii a (a[ii]为对角线上
的值,按照一致性矩阵的理解,它应该为1) 此时存在唯一的非 n ==max λλ
(由一致阵性质1:Rark(4)=1,A 有唯一非O 最大特征根且n =max λ) ②当主观判断矩阵A 不就是一致矩阵时,此时一般有:n ≥max λ (Th2) 此时,应有:
∑∑==+
≠
n
a ii
k h
max
max λ
λλ (不大理解)
即: ∑≠-
=-max
max k k
n λ
λ
所以,可以取其平均值作为检验主观判断矩阵的准则,一致性的指标, 即: 1
1
max
max --=
--=⋅∑≠n n n
I C k k
λ
λ
显然:
(1) 当n =max λ时,有:0=⋅I C , A 为完全一致性
(2) I C ⋅值越大,主观判断矩阵A 的完全一致性越差,即:A 偏离A 越远(用特征向量作
为权向量引起的误差越大)
(3) 一般10⋅≤⋅I C ,认为主观判断矩阵A 的一致性可以接受,否则应重新进行两两比较,
构造主观判断矩阵。
2.随机一致性检验指标——I R ⋅
问题:实际操作时发现:主观判断矩阵A 的维数越大,判断的一致性越差,故应放宽对高维矩阵的一
致性要求。
于就是引入修正值I R ⋅来校正一致性检验指标:即定义I R ⋅的修正值表为:
并定义新的一致性检验指标为:I
R I
C R C ⋅⋅=
⋅ 随机一致性检验指标——I R ⋅的解释:
为确定A 的不一致程度的容许范围,需要确定衡量A 的一致性指示I C ⋅的标准。
于就是Satty 又引入所谓随机一致性指标I R ⋅,其定义与计算过程为:
① 对固定的n ,随机构造正互反阵A ',其元素)(j i a ij
<'从1~9与1~9
1中随机取值,且满足ij
a '与ji a '的互反性,即:ji
ij a a '='1,且1='ii a 、 ② 然后再计算A '的一致性指标I C ⋅,因此A '就是非常不一致的,此时,I C ⋅值相当大、 ③ 如此构造相当多的A ',再用它们的I C ⋅平均值作为随机一致性指标。
④ Satty 对于不同的1(=n n ~11),用100~500个样本A '计算出上表所列出的随机一致性指
标I R ⋅作为修正值表。
3、 一致性检验指标的定义——一致性比率R C ⋅。
由随机性检验指标R C ⋅可知:
当2 ,1=n 时,0=⋅I R ,这就是因为1, 2阶正互反阵总就是一致阵。
对于3≥n 的成对比较阵A ,将它的一致性指标I C ⋅与同阶(指n 相同)的随机一致性指标I R ⋅之比称为一致性比率——简称一致性指标, 即有: 一致性检验指标的定义——一致性比率
定义:I R I C R C ⋅⋅=
⋅: I
R I
C R C ⋅⋅=⋅ 当:10⋅<⋅⋅=⋅I
R I
C R C 时,认为主观判断矩阵A 的不一致程度在容许范围之内,可
用其特征向量作为权向量。
否则,对主观判断矩阵A 重新进行成对比较,构重新的主观判断矩阵A 。
注:上式10⋅<⋅⋅=⋅I
R I
C R C 的选取就是带有一定主观信度的。
六、标度——比较尺度解:
在构造正互反矩阵时,当比较两个可能就是有不同性质的因素i C 与j C 对于上层因素O 的影响时,採用什么样的相对刻度较好,即ij a 的元素的值在(1~9)或(1~9
1)或更多的数
字,Satty 提出用1~9尺度最好,即ij a 取值为1~9或其互反数1~9
1,心理学家也提出:人们
区分信息等级的极限解能力为7±2。
可见对n n ⨯阶矩阵,只需作出
2
)
1(-n n 个判断值即可
注:以上比较的标度Satty 曾用过多种标度比较层,得到的结论认为:1~9尺度不仅在较简单的尺度中最好,而且比较的结果并不劣于较为复杂的尺度。
Satty 曾用的比较尺度为:
① 1~3, 1~5, 1~6,…, 1~11,以及
② )1.0(+d ~)9.0(+d ,其中4 ,3 ,2 ,1=d
③ p 1~P
9,其中 5 ,4 ,3 ,2=P …
等共27种比较尺度,对放在不同距离处的光源亮度进行比较判断,并构造出成对比较矩阵,计算出权向量。
同时把计算出来的这些权向量与按照物理学中光强度定律与其她物理知识得到的实际权向量进行对比。
结果也发现1~9的比较标度不仅简单,而效果也较好(至少不比其她更复杂的尺度差)
因而用1~9的标度来构造成对比较矩阵的元素较合适。
七、组合权向量的计算——层次总排序的权向量的计算
层次分析法的基本思想:
(1) 计算出下一层每个元素对上一层每个元素的权向量W
def:层次总排序,计算同一层次所有元素对最高层相对重要性的排序权值。
当然要先:①构造下一层每个元素对上一次每个元素的成对比较矩阵 ②计算出成对比较矩阵的特征向量(与法,根法,幂法) ③由特征向量求出最大特征根m ax λ(由与法,根法,幂法求得) ④用最大特征根m ax λ用方式 1
max --=
⋅n n
I C λ及I
R R
C R C ⋅⋅=
⋅对成对比较矩阵进行一致性检,并通过。
(2) 并把下层每个元素对上层每个元素的权向量按列排成以下表格形式:例,假定:上层A
有m 个元素,m A A A , , ,21 ,且其层次总排序权向量为m a a a , , ,21 ,下层B 有
n 个元素n B B B , , ,21 ,则按j B 对 i A 个元素的单排序权向量的列向量为ij b ,即
有:
注:①若下层元素k B 与上层元素j A 无关系时,取0=kj b ②总排序权向量各分量的计算公式:),,1(1
n i b
a W ij
m
j j i ==
∑=
(3) 对层次总排序进行一致性检验:从高层到低层逐层进行,如果
如果B 层次某些元素对j A 单的排序的一致性指标为j CI ,相应的平均随机一致性指标为
j RI ,则B 层总排序随机一致性比率为:∑∑===
⋅m
j j
j
m
j j
j
RI a
CI
a R C 1
1
当10⋅<CR 时,认为层次总排序里有满意的一致性,否则应重新调整判断矩阵的元素取值。
八、层次分析法的基本步骤:
(S1)建立层次结构模型
将有关因素按照属性自上而下地分解成若干层次:
同一层各因素从属于上一层因素,或对上层因素有影响,同时又支配下一层的因素或受到下层因素的影响。
最上层为目标层(一般只有一个因素),最下层为方案层或对象层/决策层,中间可以有1个或几个层次,通常为准则层或指标层。
当准则层元素过多(例如多于9个)时,应进一步分解出子准则层。
(S2)构造成对比较矩阵,以层次结构模型的第2层开始,对于从属于(或影响及)上一层每个因素的同一层诸因素,用成对比较法与1~9比较尺度构造成对比较矩阵,直到最下层。
(S3)计算(每个成对比较矩阵的)权向量并作一致性检验
① 对每一个成对比较矩阵计算最大特征根m ax λ及对应的特征向量(与法、根法、幂法
等)⎪⎪⎪
⎭
⎫ ⎝⎛=n W W 1
② 利用一致性指标I C ⋅,随机一致性指标R C ⋅与一致性比率作一致性检验⎪⎭
⎫
⎝⎛⋅⋅=
I R I C CR ③ 若通过检验(即1.0<⋅R C ,或1.0<⋅I C )则将上层出权向量⎪⎪⎪
⎭
⎫ ⎝⎛=n W W 1归一化之后作
为(j B 到j A )的权向量(即单排序权向量)
④ 若1.0<⋅R C 不成立,则需重新构造成对比较矩阵
(S4)计算组合权向量并作组合一致性检验——即层次总排序
① 利用单层权向量的权值m j W W W n j , ,11 =⎪⎪⎪
⎭
⎫ ⎝⎛=构组合权向量表:并计算出特征根,组合
特征向量,一致性
② 若通过一致性检验,则可按照组合权向量⎪⎪⎪⎭⎫ ⎝⎛=n W W 1的表示结果进行决策(⎪⎪⎪
⎭
⎫ ⎝⎛=n W W 1中
i W 中最大者的最优),即:(){}
T
n i W W W W W ,,:max *1 ∈=
③ 若未能通过检验,则需重新考虑模型或重新构造那些一致性比率,CR 较大的成对比较矩
阵
九、特征根的近似求法(实用算法)
层次分析法的基本思路就是计算上层每个元素对下一层次各元素的权向量(即最大特征根
m ax λ对应的特征向量⎪⎪⎪
⎭
⎫ ⎝⎛=n W W 1),以及组合权向量及一致性检验问题。
计算判断矩阵最大特征根与对应阵向量,并不需要追求较高的精确度,这就是因为判断矩阵本身有相当的误差范围。
而且优先排序的数值也就是定性概念的表达,故从应用性来考虑也希望使用较为简单的近似算法。
常用的有以下求特征根的近似求法:“与法”、“根法”、“幂法”,具体如下:
1.“与法”求最大特征根与对应特征向量(近似解)
(S1)将矩阵nxm ij a A )(=的每一列向量的归一化得:∑==n i ij
ij ij a a W 1
~
(利用数据验证即为:每个位置
的数除以该列的合计)
(S2)对ij W ~
按行求与得:∑==n
j ij i W W 1
~~
(S3)将i W ~
归一化,即有:∑==
n
i i
i
i W W W 1
~
~,则有特征向量:⎪⎪⎪
⎭
⎫ ⎝⎛=n W W W 1~ (S4)计算与特征向量⎪
⎪⎪⎭
⎫ ⎝⎛=n W W 1对应的最大特征根m ax λ的近似值:∑==n i i i
W AW n 1max )(1λ
此方法:实际上就是将A 的列向量归一化后取平均值作为A 的特征向量。
解释: 当A 为一致矩阵时,它的每一列向量都就是特征向量W
∴可以在A 的不一致性不严重时,取A 的列向量(归一化后)的平均值作为近似特征向量就
是合理的(有依据的)。
2.“根法”求最大特征根特征向量近似值:
步骤与“与法”相同,只就是在(S2)时:对归一化后的列向量按行“求与”改为按行“求积”
再取n 次方根,即:n
n
j ij i W W 1
1~~⎪⎪⎭
⎫ ⎝⎛=∏=。
即有具体步骤:
(S1)将矩阵min )(ij a A =的每一列向量归一化得:∑==
n
i ij
ij
ij a
a W 1
~
(S2)对归一化以后的列向量各元素: ∑==
n
i ij
ij
ij a
a W 1
~
按行“求与”并开n 次方根得:n
n
j ij i W W 1
1~~⎪⎪⎭
⎫
⎝⎛=∏=
(S3)再将i W ~归一化得:∑∏∏∑====⎪⎪⎭
⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛==n i n n j ij n
n j ij n i i i i W W W W W 11
11
11~~~~
得到特征向量近似值:⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛=n W W W 21
(S4)计算最大特征根:∑=
i
i
W W A n )(1max λ 作为最大特征根的近似值。
注:“根法”就是将“与法”中求列向量的算术平均值改为求几何平均值。
3.“幂法”求最大特征根:
(S1)任取n 维归一化初始向量)
0(W
(S2)计算 ,2 ,1 ,0 ,~)()
1(==+k AW W
k k
(S3))1(~+k W 归一化,即令:∑=+++=
n
i k i
k k W W W 1
)1()1()1(~~
(S4)对预先给定的ε,当) , ,2 ,1()()
1(n i W W k i k i
=<-+ε时,)1(+k W 即为所求的特征向量;否
则返回(S2) (S5)计算最大特征根,∑=+=n i k i
k i W W n 1)()1(max
~
1λ
以上用幂法求最大特征根m ax λ对应特征向量的迭代方法,其收敛性由TH1(教材P325)中的
3)W e
A e e
A k T k
k =∞→lim ,其中⎪⎪⎪⎭
⎫ ⎝⎛=11 e ,W 就是对应m ax λ的归一化向量σ特征。
(证明:可以将A 化为标准形证明)保证。
)
0(W
任意选取,也可以取由“根法”、“与法”得到的
⎪⎪⎪⎪⎪⎭
⎫
⎝⎛=n W W W 21
注:在以上求特征根与特向量的方法中“与法”最简单。
例:在旅游问题中,求目标层到准则层的成对比较矩阵为A 的特征向量与最大特征根:
准则层:
方案层:
⎪⎪⎪⎪⎪
⎪⎪⎪⎪⎪
⎭
⎫
⎝⎛=1135131112513131211
7
1
415571233421
1A =⎪⎪⎪
⎪⎪⎪
⎭
⎫
⎝⎛113
2
.0333.01122
.0333.0333.05.01143
.025.055712
33
45.01
利用“与法”求A 的特征向量⎪⎪⎪
⎭
⎫
⎝⎛=n W W 1与特征根m ax λ
(S1)将()
nxn
ij
W A =的元素按列归一化得:
()
⎪⎪⎪⎪⎪⎪⎭
⎫
⎝
⎛=097.0095
.0176.0098.0085.0097.0095.0118.0098.0085.0032.0048.0059.0070.0064.0484.0476.0411.0489.0510.029.0286.0235.0245.0265.0~nxn
ij W A
333
.1011333.0535.10115.0531732174043.22.02.0143.015.0917.3333.0333.025.0215
4322
=++++==++++==++++==++++==++++=σσσσσ 各列归一化的分母
(S2)将()
nxn W A ij ~中元素ij W ~
按行求与得各行元素之与:∑==n
j ij i W W 1
~~
(S3)再将上述矩阵向量归一化得到特征向量近似值,
⎪
⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛==∑=102.0099.0055.0474.0262.0511.0493.0273.037.2312.1999.41~
1n i i i W W 特征向量
其中
999.4)511.0493.0273.037.2312.1(~
5
1
=++++=∑i W
(S4)计算与特征向量相对应最大特征根(的近似值)
()
⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛
++++⨯==∑∑∑∑∑=========51
5414313212111max
511W W a W W a W W a W W a W W ia W A n n
j i i j n j i i j n j i i j n j i i j i j n i i
i
λ ()
W
W A i ~511.0493.0273.037.2312.1~=⎪⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=
()()()()()()0802
.5401.255
1
373.598.4960.4038.505.551
102.0548.0099.0493.0055.0273.0474.0388.2262.0323.151102.0102.0099.0165.0095.0087.0 099
.0102.0099.011.0095.0087.0055.0034.00495.0055.0068.0066.0 474
.05.0495.0385.0474.0524.0262.0306.0297.022.0237.0263.051102.0102.0099.0055.0474.0262.0 11 3 0.2 333.0099.0102.0099.0055.0474.0262.0 11 2 0.2 337.0 055.0102.0099.0055.0474.0262.0 0.333 0.5 0.1431 25.0474.0102.0099.0055.0474.0262.05 5 7 12262.0102.0099.0055.0474.0262.033 4 0.5 151=⨯=++++=⎪⎭⎫ ⎝⎛++++=⎥⎦⎤+++++
++++++++++⎢⎣⎡+++++++++=⎥⎥⎥⎥⎥⎥⎥
⎥⎥⎥⎥⎥
⎥
⎥⎦
⎤⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+
⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎢
⎢⎢
⎢
⎣
⎡⎪
⎪⎪⎪
⎪⎪⎭⎫
⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=故有最大特征根⎪⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛==102.0099.0055.0474.0262.0 , 0802.5max
λ
对A 一致性检验指标:02.04
0802
.0450802.51
max ==-+
--=
n n
CI λ
1.0018.012
.102
.012.1<==
=CR RI 故通过检验。
十、应用实例
对前面旅游问题进行决策
目标层:
准则层:
决策层:
已知:①目标A 对准则5 4, 3, 2, 1,i =i B 的权重向量为:
()T
W 102.0 099.0 055.0 474.0 262.0=(由前面已算出),并已通过一致性检
验。
②准则54321 , , , ,B B B B B 相对于321 , ,P P P 的成对比较矩阵为
1B 对321 , ,P P P 作用的成对比较矩阵为:
⎪⎪⎪⎪
⎭
⎫
⎝⎛=⎪⎪⎪⎭⎫
⎝⎛=15121
521223332
312322
211312111Y Y b b b
b b b b b b B 同样2B 对321 , ,P P P 作用的成对比较矩阵为:
⎪⎪
⎪⎪⎭
⎫
⎝
⎛=13
83113
8131
11B ⎪⎪⎪
⎭
⎫
⎝⎛=131
131133
3Y Y B ⎪
⎪⎪⎪⎭
⎫ ⎝⎛=114111314314B ⎪⎪⎪⎪⎭
⎫
⎝⎛=144411
1411
15B 解:
对以上每个比较矩阵都可计算出最大特征根m ax λ及对象的特征向量W (即权重向量),并进行一致性检验:CR RI CI ⋅
以1B 为例用“与法”求出1B 的特征根m ax λ及对立的特征向量1
⎪⎪⎪
⎭
⎫ ⎝⎛=15.02.0215.0521
1B
(S1)对1B 按列归一化得:()
⎪⎪⎪⎭
⎫
⎝⎛=125.0143.0118.025.0286.0294.0625.0571.0588.0~
1ij W B
(S2)对按列归一化反向量再按行求与:∑=⎪
⎪⎪⎭
⎫
⎝⎛==n
j ij W W 1386.083.0784.1~
(S3)对W ~
按行归一化得到特征向量W ∑==n i i
i W W 1
~~
()()()⎪
⎪⎪⎭⎫
⎝⎛
=⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛++++++=129.0277.0595.0386.083.0784.1386.0386.083.0784.183.0386.083.0784.1784.1
(S4)计算特征根)
(m ax 1
B λ
()⎪⎪⎪⎭
⎫
⎝⎛==∑=15.02.0215
.052
1
B 1
1
1
max
i i
i
W W B n
λ
()()()()()()()007.3022.93
1
3007.3015.331129.0387.0277.0833.0595.0794.131129.0129.0139.0119.0277.0258.0277.0298.0595.0645.0554.0595.031129.0129.0277.0595.01 5.0 2.0277.0129.0277.0595.02 1 5.0595.0129.0277.0595.05 2 131)(max
1
=⨯=++=⎪⎭⎫ ⎝⎛++=⎥⎦⎤⎢⎣⎡++++++++=⎥⎥⎥⎥⎥
⎥⎥⎥⎦⎤
⎢⎢⎢⎢⎢⎢⎢
⎢⎣⎡⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎭⎫ ⎝⎛=B λ 一致性检验:
1
.0006.058
.00035.058
.01.00035.02
007
.0133007.31max <====<==--=
--=
RI CI CR RI n m
CI λ
故通过检验,既成对矩阵1B 可以接受。
同样步骤对5432 , , , B B B B ,对 , , , ,54321P P P P P 的影响 用特征向量()
()
()
()
5432 , , ,B B B B W
W
W
W
表示
最大特征根用:()()()()
54
32max max max max , , ,B B B B λλλλ表示
并分别计算一致性检验指标:()()()()5432 B B B B CI CI CI CI
()
58.0 58.0 58.03=RI
)()()()
(5432 B B B B CR CR CR RI
CI
CR =
列表如下:
其中321 , ,W W W 的计算公式为:),,1( 1
n i b a W ij n
j j i ==∑=
()299
.0017.0063.0024.0039.0156.0166
.0102.0633.0099.0429.0055.0 .
082.0474.0595.0262.0166.0633.0429.0082.0595.0102.0 ,099.0 ,055.0 ,474.0 ,262.015
1
1=++++=⨯+⨯+⨯⨯+⨯=⎪⎪⎪⎪
⎪⎪⎭⎫ ⎝⎛==∑=j j j b a W
()()456
.0166.0633.0429.0082.0595.0668.0 175.0 142.0 682.0 129.0246
.0166.0633.0429.0082.0595.0166.0 193.0 429.0 236.0 277.035
1
325
1
2=⎪⎪⎪⎪
⎪⎪⎭⎫ ⎝⎛===⎪⎪⎪⎪
⎪
⎪⎭
⎫ ⎝⎛==∑∑==j j j j
j j b a W b a W
因此层次总排序:组合权向量为:⎪⎪⎪
⎭
⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛=456.0246.0299.0321WP WP WP
故最终决策为3P 首选,1P 次之,2P 最后。
组合一致性检验:
由∑∑===
m
j j
j
m
j j
j
RI a
CI
a CR 1
1 可知:组合一致性检验结果为——层次总排序的一致性检验:
()1.00033.0575.00019.058.0992.00019.058.0102.0099.0055.0474.0262.00
0005.000005.00009.058
.0102.058.0099.058.0055.058.0474.058.0262.00
102.0005.0099.00055.0001.0474.00035.0262.05
1
5
13
<==
⨯=⨯++++++++=
⨯+⨯+⨯+⨯+⨯⨯+⨯+⨯+⨯+⨯=
=
∑∑==j j
j
j j
RI a
CI
a CR 故 一致性检验通过。
最层次总排序为
最决策为:3P 首选,1P 次之,3P 最后。
%层次分析法的matlab 程序
disp('请输入判断矩阵A(n 阶)');% 在屏幕显示这句话 A=input('A=');% 从屏幕接收判断矩阵
[n,n]=size(A);% 计算A 的维度,这里就是方阵,这么写不太好 x=ones(n,100);% x 为n 行100列全1的矩阵 y=ones(n,100);% y 同x
m=zeros(1,100);% m 为1行100列全0的向量
m(1)=max(x(:,1));% x 第一列中最大的值赋给m 的第一个分量 y(:,1)=x(:,1);% x 的第一列赋予y 的第一列 x(:,2)=A*y(:,1);% x 的第二列为矩阵A*y(:,1)
m(2)=max(x(:,2));% x 第二列中最大的值赋给m 的第二个分量 y(:,2)=x(:,2)/m(2);% x 的第二列除以m(2)后赋给y 的第二列
p=0、0001;i=2;k=abs(m(2)-m(1));% 初始化p,i,k 为m(2)-m(1)的绝对值 while k>p% 当k>p 就是执行循环体
i=i+1;% i自加1
x(:,i)=A*y(:,i-1);% x的第i列等于A*y的第i-1列
m(i)=max(x(:,i));% m的第i个分量等于x第i列中最大的值
y(:,i)=x(:,i)/m(i);% y的第i列等于x的第i列除以m的第i个分量
k=abs(m(i)-m(i-1));% k等于m(i)-m(i-1)的绝对值
end
a=sum(y(:,i));% y的第i列的与赋予a
w=y(:,i)/a;% y的第i列除以a
t=m(i);% m的第i个分量赋给t
disp('权向量');disp(w);% 显示权向量w
disp('最大特征值');disp(t);% 显示最大特征值t
%以下就是一致性检验
CI=(t-n)/(n-1);% t-维度再除以维度-1的值赋给CI
RI=[0 0 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];% 计算的标准
CR=CI/RI(n);% 计算一致性
if CR<0、10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
else
disp('此矩阵的一致性不可以接受!');
end。