层次分析法及matlab
程序
【LGA16H-LGYY-LGUA8Q8-LGA162】
LG GROUP system office room
层次分析法建模
层次分析法(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)机会多(如新单位或单位发展有后劲)等。 问题:现在有多个用人单位可供他选择,因此,他面临多种选择和决策,问题是他将如何作出决策和选择?——或者说他将用什么方法将可供选择的工作单位排序? 工作选 贡献收入 发展 声誉 工作环生活环 可供选择的单位P1’ P2 ‘ ---B.假期旅游地点选择 暑假有3个旅游胜地可供选择。例如:P1:苏州杭州,P2北戴河,P3桂林,到底到哪个地方去旅游最好?要作出决策和选择。为此,要把三个旅游地的特点,例如:①景色;②费用;③居住;④环境;⑤旅途条件等作一些比较——建立一个决策的准则,最后综合评判确定出一个可选择的最优方案。
目标层 选择旅游
景费居饮旅准则层
色 用 住 食 途 方案层 P1 P2 P3 C.资源开发的综合判断 7种金属可供开发,开发后对国家贡献可以通过两两比较得到,决定对哪种资源先开发,效用最用。 对经济发展、贡 经济价开采费 风险费 要求量 战略重要交通条 铁铜Co 磷酸盐 钿Ur 铝Al 金Go 二、问题分析:
例如旅游地选择问题:一般说来,此决策问题可按如下步骤进行: (S1)将决策解分解为三个层次,即:
目标层:(选择旅游地)
准则层:(景色、费用、居住、饮食、旅途等5个准则)
方案层:(有P1,P2,P3三个选择地点)
并用直线连接各层次。
(S2)互相比较各准则对目标的权重,各方案对每一个准则的权重。这些权限重在人的思
维过程中常是定性的。
例如:经济好,身体好的人:会将景色好作为第一选择;
中老年人:会将居住、饮食好作为第一选择; 经济不好的人:会把费用低作为第一选择。
而层次分析方法则应给出确定权重的定量分析方法。
(S3)将方案后对准则层的权重,及准则后对目标层的权重进行综合。 (S4)最终得出方案层对目标层的权重,从而作出决策。
以上步骤和方法即是AHP的决策分析方法。
三、确定各层次互相比较的方法——成对比较矩阵和权向量
在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接
.....
受,因而Santy等人提出:一致矩阵法
即:1. 不把所有因素放在一起比较,而是两两相互比较
2. 对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,提高准确度。
因素比较方法 —— 成对比较矩阵法:
目的是,要比较某一层n个因素C1,C2, , Cn对上一层因素O的影响(例如:旅游决策解中,比较景色等5个准则在选择旅游地这个目标中的重要性)。
采用的方法是:每次取两个因素Ci和Cj比较其对目标因素O的影响,并用aij表示,全部比较的结果用成对比较矩阵表示,即:
A(aij)nxn, aij0, aji1 (或aijaij1) (1) aij1 aji由于上述成对比较矩阵有特点: A(aij) , aij0, aij故可称A为正互反矩阵:显然,由 aij例如:在旅游决策问题中:
1,即:aijaji1,故有:aji1 aji( 景色)对目标O的重要性为1CC(景色)a121=1 表示:1
2C(费用)O的重要性为222C(费用)对目标1,费用重要性为2)故:a121(即景色重要性为
2O的重要性为4C1(景色)对目标C(景色)14a134= 表示:
1C(居住条件)C(居住条件)对目标O的重要性为133即:景色为4,居住为1。
O的重要性为7C2(费用)对目标C(费用)2a2377= 表示:
1C(居住条件)O的重要性为133C(居住条件)对目标即:费用重要性为7,居住重要性为1。
121因此有成对比较矩阵:A413131211715154712333551123 1111问题:稍加分析就发现上述成对比较矩阵的问题: ① 即存在有各元素的不一致性,例如:
既然:a12C11C411a212; a131a31 C22C31a134所以应该有:a23C2a21C1288
11C3a31C34C1C2
而不应为矩阵A中的a237
12②成对比较矩阵比较的次数要求太 ,因:n个元素比较次数为:Cnn(n1)2!次,
因此,问题是:如何改造成对比较矩阵,使由其能确定诸因素C1, , Cn对上层因素O的权重?
对此Saoty提出了:在成对比较出现不一致情况下,计算各因素C1, , Cn对因素(上层因素)O的权重方法,并确定了这种不一致的容许误差范围。
为此,先看成对比较矩阵的完全一致性——成对比较完全一致性
四:一致性矩阵
Def:设有正互反成对比较矩阵:
W1W1W1a1 a1 , , a11121nWWW12nW2W2W2a21 a221 , , a2nWWW12nA (4) Wi aij WjWWWnnan a a 1 n1n2nnW1W2Wn除满足:(i)正互反性:即
而且还满足:(ii)一致性:即
W1W1W2AW1WnW1W1W2W2W2WnW2W1WnW1W2WW2WnWWn3Wnaijaiahaik akji i, j1, 2, nAAAnajajhW1W1AWWnW1W1W2WnW2W1WnWnWnWnWW111W2nW2W2nWnW(AnI)W0WnWWnnn
W1W2M1, M2, ,MnW1, W2 , ,WnWAWnA的特征根为n,W1W:重量向量 W=2,则归一化后的特征向量以n为特征根的特征向量为WnW1W=Wi=1,就表示诸因素C1,C2,,Cn对上层因素O的权重,即为W权向量,此种用特征向量求权向量的方法 称特征根法,W1WW2M1, M2, ,MnAAAAWaijaijAiWAWWWWnAmaxnAAWnWAWlimklimWkWlimAkAAAAA*AA*AAAAAWkkkk1kAe1WlimTkWeWAnnnACIAAA()及W-WkeAe1AW=maxWAWnWmaxAWAAAk=kakk1nAaii1k1n1k1k1nnnnmaxnAmaxnAmaxnmaxkmaxkahmaxiinmaxnkmaxkCImaxnn1kn1maxnCI0ACIAAACI01ARIARIRI
A
① CRCI(ij)1aijajiaij1然后再计算1aiiRIAACIRInAaij9ajiRIA的一致性指标CI,因此A是非常不一致的,此时,CI值相当大.
② 如此构造相当多的A,再用它们的CI平均值作为随机一致性指标。
③ Satty对于不同的n(n1~11),用100~500个样本A计算出上表所列出的随机一
致性指标RI作为修正值表。
3. 一致性检验指标的定义——一致性比率CR。
由随机性检验指标CR可知:
当n1, 2时,RI0,这是因为1, 2阶正互反阵总是一致阵。
对于n3的成对比较阵A,将它的一致性指标CI与同阶(指n相同)的随机一致性指标RI之比称为一致性比率——简称一致性指标, 即有: 一致性检验指标的定义——一致性比率
CICI定义:CR: CR
RIRICI当:CR01时,认为主观判断矩阵A的不一致程度在容许范围之
RI内,可用其特征向量作为权向量。否则,对主观判断矩阵A重新进行成对比较,构重新的主观判断矩阵A。 注:上式CRCI01的选取是带有一定主观信度的。 RI六、标度——比较尺度解:
在构造正互反矩阵时,当比较两个可能是有不同性质的因素Ci和Cj对于上层因素O的影响时,采用什么样的相对刻度较好,即aij的元素的值在(1~9)或(1~1)
9或更多的数字,Satty提出用1~9尺度最好,即aij取值为1~9或其互反数1~1,
9心理学家也提出:人们区分信息等级的极限解能力为7±2。可见对nn阶矩阵,只需
n(n1)作出个判断值即可
2标度aij 定 义 1 因素i与因素j相同重要 3 因素i比因素j稍重要 5 因素i比因素j较重要
7 9 2,4,6,8, 倒数1,11111111, , , , , , , 23456789因素i比因素j非常重要 因素i比因素j绝对重要 因素i与因素j的重要性的比较值介于上述两个相邻等级之间 因素j与因素i比较得到判断值为aij的互反数,aji1 aii1 aij注:以上比较的标度Satty曾用过多种标度比较层,得到的结论认为:1~9尺度不仅在较简单的尺度中最好,而且比较的结果并不劣于较为复杂的尺度。Satty曾用的比较尺度为:
① 1~3, 1~5, 1~6,…, 1~11,以及
② (d0.1)~(d0.9),其中d1, 2, 3, 4 ③ 1p~9P,其中 P2, 3, 4, 5…
等共27种比较尺度,对放在不同距离处的光源亮度进行比较判断,并构造出成对比较矩阵,计算出权向量。同时把计算出来的这些权向量与按照物理学中光强度定律和其他物理知识得到的实际权向量进行对比。结果也发现1~9的比较标度不仅简单,而效果也较好(至少不比其他更复杂的尺度差)
因而用1~9的标度来构造成对比较矩阵的元素较合适。
七、组合权向量的计算——层次总排序的权向量的计算
层次分析法的基本思想:
(1) 计算出下一层每个元素对上一层每个元素的权向量W
def:层次总排序,计算同一层次所有元素对最高层相对重要性的排序权值。 当然要先:①构造下一层每个元素对上一次每个元素的成对比较矩阵 ②计算出成对比较矩阵的特征向量(和法,根法,幂法) ③由特征向量求出最大特征根max(由和法,根法,幂法求得) ④用最大特征根max用方式 CImaxnn1及CRCR对成对比较矩RI阵进行一致性检,并通过。
(2) 并把下层每个元素对上层每个元素的权向量按列排成以下表格形式:例,假
定:上层A有m个元素,A1, A2, , Am,且其层次总排序权向量为
a1, a2, , am,下层B有n个元素B1, B2, , Bn,则按Bj对 Ai个元素的单排
序权向量的列向量为bij,即有: 层次 计算出最大特根(方法:和法、根法、幂法) n一致性检验 CImax n1一致性检验比率 A1 A1 … A1m a1 a2 … am B层总是排序权重(权向量、列向量) 检验CR01否? 注:①若下层元素Bk与上层元素Aj无关系时,取bkj0 ②总排序权向量各分量的计算公式:Wiajbij(i1,,n)
j1m(3) 对层次总排序进行一致性检验:从高层到低层逐层进行,如果
如果B层次某些元素对Aj单的排序的一致性指标为CIj,相应的平均随机一致性指标
aCIjmj为RIj,则B层总排序随机一致性比率为:CRj1m
jaj1RIj当CR01时,认为层次总排序里有满意的一致性,否则应重新调整判断矩阵的元素取值。
八、层次分析法的基本步骤:
(S1)建立层次结构模型
将有关因素按照属性自上而下地分解成若干层次:
同一层各因素从属于上一层因素,或对上层因素有影响,同时又支配下一层的因素或受到下层因素的影响。
最上层为目标层(一般只有一个因素),最下层为方案层或对象层/决策层,中间可以有1个或几个层次,通常为准则层或指标层。
当准则层元素过多(例如多于9个)时,应进一步分解出子准则层。
(S2)构造成对比较矩阵,以层次结构模型的第2层开始,对于从属于(或影响及)上一层每个因素的同一层诸因素,用成对比较法和1~9比较尺度构造成对比较矩阵,直到最下层。
(S3)计算(每个成对比较矩阵的)权向量并作一致性检验
① 对每一个成对比较矩阵计算最大特征根max及对应的特征向量(和法、根法、幂法
W1等)W
Wn② 利用一致性指标CI,随机一致性指标CR和一致性比率作一致性检验
CICR
RIW1③ 若通过检验(即CR0.1,或CI0.1)则将上层出权向量W归一化之后
Wn作为(Bj到Aj)的权向量(即单排序权向量)
④ 若CR0.1不成立,则需重新构造成对比较矩阵
(S4)计算组合权向量并作组合一致性检验——即层次总排序
W1① 利用单层权向量的权值Wjj1, , m构组合权向量表:并计算出特征根,
Wn组合特征向量,一致性 上 A1 A1 … 单 层 A1m 层 重 权 量 向 a1 a2 … am 下层 量 层次 i)最大特征根(m和法、根法、幂法 ax 一致性检验CI 一致性随机检验RI RIj对照表 一致性比率CR 计算组合权向量W1W Wn其中WiajWij j1m CI0.1 CR01 W1② 若通过一致性检验,则可按照组合权向量W的表示结果进行决策
WnW1T(W中Wi中最大者的最优),即:W*maxW:WiW1,,Wn
Wn③ 若未能通过检验,则需重新考虑模型或重新构造那些一致性比率,CR较大的成对
比较矩阵
九、特征根的近似求法(实用算法)
层次分析法的基本思路是计算上层每个元素对下一层次各元素的权向量(即最大特征
W1根max对应的特征向量W),以及组合权向量及一致性检验问题。
Wn计算判断矩阵最大特征根和对应阵向量,并不需要追求较高的精确度,这是因为判断矩阵本身有相当的误差范围。而且优先排序的数值也是定性概念的表达,故从应用性来考虑也希望使用较为简单的近似算法。常用的有以下求特征根的近似求法:“和法”、“根法”、“幂法”,具体如下:
1.“和法”求最大特征根和对应特征向量(近似解)
aij~(S1)将矩阵A(aij)nxm的每一列向量的归一化得:Wijn (利用数据验证即为:
aiji1每个位置的数除以该列的合计)
n~~~(S2)对Wij按行求和得:WiWij
j1~(S3)将Wi归一化,即有:Wi~WiW1~W ,则有特征向量:n~WWini1W11n(AW)i(S4)计算与特征向量W对应的最大特征根max的近似值:max
ni1WiWn此方法:实际上是将A的列向量归一化后取平均值作为A的特征向量。 解释:当A为一致矩阵时,它的每一列向量都是特征向量W
可以在A的不一致性不严重时,取A的列向量(归一化后)的平均值作为近似特征向量是合理的(有依据的)。
2.“根法”求最大特征根特征向量近似值:
步骤与“和法”相同,只是在(S2)时:对归一化后的列向量按行“求和”改为按行
n~~n“求积”再取次方根,即:WiWij。
j11n
即有具体步骤:
a~(S1)将矩阵A(aij)min的每一列向量归一化得:Wijijai1n
ija~(S2)对归一化以后的列向量各元素: Wijijai1n
ij~~按行“求和”并开n次方根得:WiWij
j1n1nn~Wij~Wij1~ (S3)再将Wi归一化得:Win1~nnWin~Wiji1i1j11nW1W得到特征向量近似值:W2
Wn(S4)计算最大特征根:max1(AW)iW 作为最大特征根的近似值。 ni注:“根法”是将“和法”中求列向量的算术平均值改为求几何平均值。
3.“幂法”求最大特征根:
(S1)任取n维归一化初始向量W(0)
~(S2)计算W(k1)AW(k), k0, 1, 2,
~(k1)~(k1)(k1)W(S3)W归一化,即令:W~(k1)Wii1n
(S4)对预先给定的,当Wi(k1)Wi(k)(i1, 2, , n)时,W(k1)即为所求的特征向
量;否则返回(S2)
(S5)计算最大特征根,max~1nWi(k1)(k) ni1Wi
以上用幂法求最大特征根max对应特征向量的迭代方法,其收敛性由TH1(教材
1AeP325)中的3)limTkW,其中e,W是对应max的归一化向量特征。
keAe1k(证明:可以将A化为标准形证明)保证。W(0)任意选取,也可以取由“根法”、“和
W1W法”得到的W2
Wn注:在以上求特征根和特向量的方法中“和法”最简单。
例:在旅游问题中,求目标层到准则层的成对比较矩阵为A的特征向量和最大特征根: 选择旅游
费居饮旅准则层: 景用 住 食 途 方案层: 色 P1 P2 P3 1412217111A4711235113353310.555111223=0.250.143110.3330.20.3330.211471233550.50.333
11113W1W利用“和法”求A的特征向量和特征根max
Wn(S1)将AWijnxn的元素按列归一化得:
22345120.250.3330.3333.9170.510.1430.20.22.0434712317350.51110.5350.3331110.333 各列归一化的分母
n~~~~(S2)将AWijnxn中元素Wij按行求和得各行元素之和:WiWij
j1(S3)再将上述矩阵向量归一化得到特征向量近似值,
1.3120.2622.370.474~W1Wni0.2730.055 特征向量
4.999Wi0.4930.099i10.5110.102~其中 Wi(1.3122.370.2730.4930.511)4.999
15(S4)计算与特征向量相对应最大特征根(的近似值)
0.2620.2620.2620.4740.4740.4741 0.5 4 330.05521 7 5 50.0550.25 0.1431 0.5 0.333 0.0550.0990.0990.0990.1020.1020.102150.2620.4740.0550.2620.4740.2620.4740.337 0.2 2 11 0.0550.333 0.2 3 11 0.0550.0990.099 0.1020.1020.0990.10210.2630.2370.220.2970.3060.5240.4740.3850.4950.50.26250.474 0.0660.0680.0550.04950.0340.0870.09500.055.110.0990.1020.099 0.0870.0950.1650.0990.1020.10211.3232.3880.2730.493050.2620.4740.0550.099.5480.102155.055.0384.9604.985.3731525.4015.08020.2620.474大特征根max5.0802 , W0.055
0.0990.102
故有最
对A一致性检验指标:CI故通过检验。
maxnn15.080250.08020.02 44十、应用实例
对前面旅游问题进行决策
目标层: A 选择旅游地
费居准则层: 景色 用 住 B1 B3 B2 决策层: P1 P2 饮食 B4 P3 旅途 B5 已知:①目标A对准则Bi i1, 2, 3, 4, 5的权重向量为: TW0.262 0.474 0.055 0.099 0.102(由前面已算出),并已通过一致性
检验。
②准则B1, B2, B3, B4, B5相对于P1, P2, P3的成对比较矩阵为
B1对P1, P2, P3作用的成对比较矩阵为:
同样B2对P1, P2, P3作用的成对比较矩阵为: 解:
对以上每个比较矩阵都可计算出最大特征根max及对象的特征向量W(即权重向量),并进行一致性检验:CIRI CR
以B1为例用“和法”求出B1的特征根max及对立的特征向量W1
0.5880.5710.625~(S1)对B1按列归一化得:B1Wij0.2940.2860.25
0.1180.1430.1251.784~(S2)对按列归一化反向量再按行求和:WWij0.83
j10.386n
~Wi~(S3)对W按行归一化得到特征向量W Wn
~Wii1B1)(S4)计算特征根(max
一致性检验:
故通过检验,既成对矩阵B1可以接受。
同样步骤对 B2, B3, B4, B5,对P1, P2, P3, P4, P5 的影响 用特征向量WB2, WB3, WB4, WB5表示
B3B5B2B4, max, max, max最大特征根用:max表示
并分别计算一致性检验指标:CIB2 CIB3 CIB4 CIB5 列表如下: 权 准则层 值 决策层 组合权向量 B1 B2 B3 B4 B5 3 3 0 0 n 其中W1, W2, W3的计算公式为:Wiajbij (i1,,n)
j1WP10.299因此层次总排序:组合权向量为:WWP20.246
WP0.4563故最终决策为P3首选,P1次之,P2最后。 组合一致性检验:
maCIjj由CRj1m 可知:组合一致性检验结果为——层次总排序的一致性检验:
jaj1RIj故 一致性检验通过。
最层次总排序为
最决策为:P3首选,P1次之,P3最后。
%层次分析法的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=;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 ];% 计算的标准 CR=CI/RI(n);% 计算一致性 if CR<
disp('此矩阵的一致性可以接受!'); disp('CI=');disp(CI); disp('CR=');disp(CR); else
disp('此矩阵的一致性不可以接受!'); end
因篇幅问题不能全部显示,请点此查看更多更全内容