资源描述
.
层次分析法建模
层次分析法(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 ‘ ----- Pn
B.假期旅游地点选择
暑假有3个旅游胜地可供选择。例如::苏州杭州,北戴河,桂林,到底到哪个地方去旅游最好?要作出决策和选择。为此,要把三个旅游地的特点,例如:①景色;②费用;③居住;④环境;⑤旅途条件等作一些比较——建立一个决策的准则,最后综合评判确定出一个可选择的最优方案。
选择旅游地
目标层
居住
旅途
景色
费用
饮食
准则层
P1
P2
P3
方案层
C.资源开发的综合判断
7种金属可供开发,开发后对国家贡献可以通过两两比较得到,决定对哪种资源先开发,效用最用。
对经济发展、贡献U
经济价值
战略重要性
交通条件
要求量
风险费
开採费
金Go
铝Al
钿Ur
磷酸盐
铁In
铜Co
二、问题分析:
例如旅游地选择问题:一般说来,此决策问题可按如下步骤进行:
(S1)将决策解分解为三个层次,即:
目标层:(选择旅游地)
准则层:(景色、费用、居住、饮食、旅途等5个准则)
方案层:(有,,三个选择地点)
并用直线连接各层次。
(S2)互相比较各准则对目标的权重,各方案对每一个准则的权重。这些权限重在人的思维过程中常是定性的。
例如:经济好,身体好的人:会将景色好作为第一选择;
中老年人:会将居住、饮食好作为第一选择;
经济不好的人:会把费用低作为第一选择。
而层次分析方法则应给出确定权重的定量分析方法。
(S3)将方案后对准则层的权重,及准则后对目标层的权重进行综合。
(S4)最终得出方案层对目标层的权重,从而作出决策。
以上步骤和方法即是AHP的决策分析方法。
三、确定各层次互相比较的方法——成对比较矩阵和权向量
在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,因而Santy等人提出:一致矩阵法
即:1. 不把所有因素放在一起比较,而是两两相互比较
2. 对此时採用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,提高准确度。
因素比较方法 —— 成对比较矩阵法:
目的是,要比较某一层个因素对上一层因素O的影响(例如:旅游决策解中,比较景色等5个准则在选择旅游地这个目标中的重要性)。
採用的方法是:每次取两个因素和比较其对目标因素O的影响,并用表示,全部比较的结果用成对比较矩阵表示,即:
(1)
由于上述成对比较矩阵有特点:
故可称为正互反矩阵:显然,由 ,即:,故有:
例如:在旅游决策问题中:
= 表示:
故:
= 表示:
即:景色为4,居住为1。
= 表示:
即:费用重要性为7,居住重要性为1。
因此有成对比较矩阵:
??问题:稍加分析就发现上述成对比较矩阵的问题:
① 即存在有各元素的不一致性,例如:
既然:
所以应该有:
而不应为矩阵中的
②成对比较矩阵比较的次数要求太 ,因:个元素比较次数为:次,
因此,问题是:如何改造成对比较矩阵,使由其能确定诸因素对上层因素O的权重?
对此Saoty提出了:在成对比较出现不一致情况下,计算各因素对因素(上层因素)O的权重方法,并确定了这种不一致的容许误差范围。
为此,先看成对比较矩阵的完全一致性——成对比较完全一致性
四:一致性矩阵
Def:设有正互反成对比较矩阵:
(4)
除满足:(i)正互反性:即
而且还满足:(ii)一致性:即
//有点点错误
则称满足上述条件的正互反对称矩阵A为一致性矩阵,简称一致阵。
一致性矩阵(一致阵)性质:
性质1:的秩 Rank(A)=1//显然
的唯一非0的特征根为n
性质2:的任一列(行)向量都是对应特征根的特征向量:
即有(特征向量、特征值):
,则向量
满足:
即:
我的理解:通过A(变换A与W中的元素有关)变换将一致W矩阵变成权向量W(特征向量),如果正互反矩阵W’接近一致矩阵,同样的道理变换A可以将W’变成权向量(这里的权向量与W’稍有不同)
启发与思考:既然一致矩阵有以上性质,即n个元素W1, W2, W3 , …Wn 构成的向量
是一致矩阵A的特征向量,则可以把向量W归一化后的向量,看成是诸元素W1, W2, W3 , …Wn
目标的权向量,因此,可以用求A的特征根和特征向量的办法,求出元素W1, W2, W3 , …Wn相对于目标O的劝向量。
解释:
一致矩阵即:件物体,它们重量分别为,将他们两两比较重量,其比值构成一致矩阵,若用重量向量右乘,则
:
分析:
若重量向量未知时,则可由决策者对物体之间两两相比关系,主观作出比值的判断,或用Delphi(调查法)来确定这些比值,使矩阵(不一定有一致性)为已知的,并记此主观判断作出的矩阵为(主观)判断矩阵,并且此(不一致)在不一致的容许范围内,再依据:的特征根或和特征向量连续地依赖于矩阵的元素,即当离一致性的要求不太远时,的特征根和特征值(向量)与一致矩阵的特征根和特征向量也相差不大的道理:由特征向量求权向量的方法即为特征向量法,并由此引出一致性检查的方法。
问题:Remark
以上讨论的用求特征根来求权向量的方法和思路,在理论上应解决以下问题:
1. 一致阵的性质1是说:一致阵的最大特征根为(即必要条件),但用特征根来求特征向量时,应回答充分条件:即正互反矩阵是否存在正的最大特征根和正的特征向量?且如果正互反矩阵的最大特征根时,是否为一致阵?
2. 用主观判断矩阵的特征根和特征向量连续逼近一致阵的特征根和特征向量时,即: 由
得到:
即:
是否在理论上有依据。
3.一般情况下,主观判断矩阵在逼近于一致阵的过程中,用与接近的来代替,即有,这种近似的替代一致性矩阵的作法,就导致了产生的偏差估计问题,即一致性检验问题,即要确定一种一致性检验判断指标,由此指标来确定在什么样的允许范围内,主观判断矩阵是可以接受的,否则,要 两两比较构造主观判断矩阵。此问题即一致性检验问题的内容。
以上三个问题:前两个问题由数学严格比较可获得(见教材P325,定理1、定理2)。第3个问题:Satty给出一致性指标(TH1,TH2介绍如下:)
附:
Th1:(教材P326,perronTh 比隆 1970 )对于正矩阵(的所有元素为正数)
(1)的最大特征根是正单根;
(2)对应正特征向量(的所有分量为正数)
(3) 其中:为半径向量,是对应的归一化特征向量
证明:(3)可以通过将化为标准形证明
Th2:阶正互反阵A的最大特征根;
当时,是一致阵
五、一致性检验——一致性指标:
1.一致性检验指标的定义和确定——(平均值)的定义:
当人们对复杂事件的各因素,采用两两比较时,所得到的主观判断矩阵,一般不可直接保证正互反矩阵就是一致正互反矩阵,因而存在误差(及误差估计问题)。这种误差,必然导致特征值和特征向量之间的误差。此时就导致问题与问题之间的差别。(上述问题中是主观判断矩阵的特征值,是带有偏差的相对权向量)。这是由判断矩阵不一致性所引起的。
因此,为了避免误差太大,就要衡量主观判断矩阵的一致性。
因为:
①当主观判断矩阵为一致阵时就有:
为一致阵时有: (a[ii]为对角线上的值,按照一致性矩阵的理解,它应该为1)
此时存在唯一的非
(由一致阵性质1:Rark(4)=1,有唯一非O最大特征根且)
②当主观判断矩阵不是一致矩阵时,此时一般有: (Th2)
此时,应有:
(不大理解)
即:
所以,可以取其平均值作为检验主观判断矩阵的准则,一致性的指标,
即:
显然:
(1) 当时,有:, 为完全一致性
(2) 值越大,主观判断矩阵的完全一致性越差,即:偏离越远(用特征向量作为权向量引起的误差越大)
(3) 一般,认为主观判断矩阵的一致性可以接受,否则应重新进行两两比较,构造主观判断矩阵。
2.随机一致性检验指标——
问题:实际操作时发现:主观判断矩阵的维数越大,判断的一致性越差,故应放宽对高维矩阵的一致性要求。于是引入修正值来校正一致性检验指标:即定义的修正值表为:
的维数
1 2 3 4 5 6 7 8 9
0.00 0.00 0.58 0.96 1.12 1.24 1.32 1.41 1.45
并定义新的一致性检验指标为:
随机一致性检验指标——的解释:
为确定的不一致程度的容许范围,需要确定衡量的一致性指示的标准。于是Satty又引入所谓随机一致性指标,其定义和计算过程为:
① 对固定的,随机构造正互反阵,其元素从1~9和1~中随机取值,且满足与的互反性,即:,且.
② 然后再计算的一致性指标,因此是非常不一致的,此时,值相当大.
③ 如此构造相当多的,再用它们的平均值作为随机一致性指标。
④ Satty对于不同的~11),用100~500个样本计算出上表所列出的随机一致性指标作为修正值表。
3. 一致性检验指标的定义——一致性比率。
由随机性检验指标可知:
当时,,这是因为1, 2阶正互反阵总是一致阵。
对于的成对比较阵,将它的一致性指标与同阶(指相同)的随机一致性指标之比称为一致性比率——简称一致性指标,
即有: 一致性检验指标的定义——一致性比率
定义::
当:时,认为主观判断矩阵的不一致程度在容许范围之内,可用其特征向量作为权向量。否则,对主观判断矩阵重新进行成对比较,构重新的主观判断矩阵。
注:上式的选取是带有一定主观信度的。
六、标度——比较尺度解:
在构造正互反矩阵时,当比较两个可能是有不同性质的因素和对于上层因素O的影响时,採用什么样的相对刻度较好,即的元素的值在(1~9)或(1~)或更多的数字,Satty提出用1~9尺度最好,即取值为1~9或其互反数1~,心理学家也提出:人们区分信息等级的极限解能力为±2。可见对阶矩阵,只需作出个判断值即可
标度
定 义
1
3
5
7
9
2,4,6,8,
倒数1,
因素与因素相同重要
因素比因素稍重要
因素比因素较重要
因素比因素非常重要
因素比因素绝对重要
因素与因素的重要性的比较值介于上述两个相邻等级之间
因素与因素比较得到判断值为的互反数,
注:以上比较的标度Satty曾用过多种标度比较层,得到的结论认为:1~9尺度不仅在较简单的尺度中最好,而且比较的结果并不劣于较为复杂的尺度。Satty曾用的比较尺度为:
① 1~3, 1~5, 1~6,…, 1~11,以及
② ~,其中
③ ~,其中 …
等共27种比较尺度,对放在不同距离处的光源亮度进行比较判断,并构造出成对比较矩阵,计算出权向量。同时把计算出来的这些权向量与按照物理学中光强度定律和其他物理知识得到的实际权向量进行对比。结果也发现1~9的比较标度不仅简单,而效果也较好(至少不比其他更复杂的尺度差)
因而用1~9的标度来构造成对比较矩阵的元素较合适。
七、组合权向量的计算——层次总排序的权向量的计算
层次分析法的基本思想:
(1) 计算出下一层每个元素对上一层每个元素的权向量
def:层次总排序,计算同一层次所有元素对最高层相对重要性的排序权值。
当然要先:①构造下一层每个元素对上一次每个元素的成对比较矩阵
②计算出成对比较矩阵的特征向量(和法,根法,幂法)
③由特征向量求出最大特征根(由和法,根法,幂法求得)
④用最大特征根用方式 及对成对比较矩阵进行一致性检,并通过。
(2) 并把下层每个元素对上层每个元素的权向量按列排成以下表格形式:例,假定:上层有个元素,,且其层次总排序权向量为,下层有个元素,则按对 个元素的单排序权向量的列向量为,即有:
层次
…
层总是排序权重(权向量、列向量)
…
计算出最大特根(方法:和法、根法、幂法)
一致性检验
一致性检验比率
检验否?
注:①若下层元素与上层元素无关系时,取
②总排序权向量各分量的计算公式:
(3) 对层次总排序进行一致性检验:从高层到低层逐层进行,如果
如果层次某些元素对单的排序的一致性指标为,相应的平均随机一致性指标为,则层总排序随机一致性比率为:
当时,认为层次总排序里有满意的一致性,否则应重新调整判断矩阵的元素取值。
八、层次分析法的基本步骤:
(S1)建立层次结构模型
将有关因素按照属性自上而下地分解成若干层次:
同一层各因素从属于上一层因素,或对上层因素有影响,同时又支配下一层的因素或受到下层因素的影响。
最上层为目标层(一般只有一个因素),最下层为方案层或对象层/决策层,中间可以有1个或几个层次,通常为准则层或指标层。
当准则层元素过多(例如多于9个)时,应进一步分解出子准则层。
(S2)构造成对比较矩阵,以层次结构模型的第2层开始,对于从属于(或影响及)上一层每个因素的同一层诸因素,用成对比较法和1~9比较尺度构造成对比较矩阵,直到最下层。
(S3)计算(每个成对比较矩阵的)权向量并作一致性检验
① 对每一个成对比较矩阵计算最大特征根及对应的特征向量(和法、根法、幂法等)
② 利用一致性指标,随机一致性指标和一致性比率作一致性检验
③ 若通过检验(即,或)则将上层出权向量归一化之后作为(到)的权向量(即单排序权向量)
④ 若不成立,则需重新构造成对比较矩阵
(S4)计算组合权向量并作组合一致性检验——即层次总排序
① 利用单层权向量的权值构组合权向量表:并计算出特征根,组合特征向量,一致性
上
单 层
层 重
权 量
向
下层 量
层次
…
计算组合权向量
其中
…
最大特征根
和法、根法、幂法
一致性检验
?
一致性随机检验
对照表
?
一致性比率
② 若通过一致性检验,则可按照组合权向量的表示结果进行决策(中中最大者的最优),即:
③ 若未能通过检验,则需重新考虑模型或重新构造那些一致性比率,较大的成对比较矩阵
九、特征根的近似求法(实用算法)
层次分析法的基本思路是计算上层每个元素对下一层次各元素的权向量(即最大特征根对应的特征向量),以及组合权向量及一致性检验问题。
计算判断矩阵最大特征根和对应阵向量,并不需要追求较高的精确度,这是因为判断矩阵本身有相当的误差范围。而且优先排序的数值也是定性概念的表达,故从应用性来考虑也希望使用较为简单的近似算法。常用的有以下求特征根的近似求法:“和法”、“根法”、“幂法”,具体如下:
1.“和法”求最大特征根和对应特征向量(近似解)
(S1)将矩阵的每一列向量的归一化得: (利用数据验证即为:每个位置的数除以该列的合计)
(S2)对按行求和得:
(S3)将归一化,即有:,则有特征向量:
(S4)计算与特征向量对应的最大特征根的近似值:
此方法:实际上是将的列向量归一化后取平均值作为的特征向量。
解释:当为一致矩阵时,它的每一列向量都是特征向量
可以在的不一致性不严重时,取的列向量(归一化后)的平均值作为近似特征向量是合理的(有依据的)。
2.“根法”求最大特征根特征向量近似值:
步骤与“和法”相同,只是在(S2)时:对归一化后的列向量按行“求和”改为按行“求积”再取次方根,即:。
即有具体步骤:
(S1)将矩阵的每一列向量归一化得:
(S2)对归一化以后的列向量各元素:
按行“求和”并开次方根得:
(S3)再将归一化得:
得到特征向量近似值:
(S4)计算最大特征根: 作为最大特征根的近似值。
注:“根法”是将“和法”中求列向量的算术平均值改为求几何平均值。
3.“幂法”求最大特征根:
(S1)任取维归一化初始向量
(S2)计算
(S3)归一化,即令:
(S4)对预先给定的,当时,即为所求的特征向量;否则返回(S2)
(S5)计算最大特征根,
以上用幂法求最大特征根对应特征向量的迭代方法,其收敛性由TH1(教材P325)中的3),其中,是对应的归一化向量特征。
(证明:可以将化为标准形证明)保证。任意选取,也可以取由“根法”、“和法”得到的
注:在以上求特征根和特向量的方法中“和法”最简单。
例:在旅游问题中,求目标层到准则层的成对比较矩阵为的特征向量和最大特征根:
选择旅游地
居住
旅途
景色
费用
饮食
准则层:
P1
P2
P3
方案层:
=
利用“和法”求的特征向量和特征根
(S1)将的元素按列归一化得:
各列归一化的分母
(S2)将中元素按行求和得各行元素之和:
(S3)再将上述矩阵向量归一化得到特征向量近似值,
特征向量
其中
(S4)计算与特征向量相对应最大特征根(的近似值)
故有最大特征根
对一致性检验指标:
故通过检验。
十、应用实例
对前面旅游问题进行决策
选择旅游地点
目标层:
0.262 0.474 0.099 0.102
0.055
旅途
B5
饮食
B4
居住
B3
费用
B2
景色
B1
准则层:
0.595 0.129 0.129
0.277
P1
P2
P3
决策层:
已知:①目标对准则的权重向量为:
(由前面已算出),并已通过一致性检验。
②准则相对于的成对比较矩阵为
对作用的成对比较矩阵为:
同样对作用的成对比较矩阵为:
解:
对以上每个比较矩阵都可计算出最大特征根及对象的特征向量(即权重向量),并进行一致性检验:
以为例用“和法”求出的特征根及对立的特征向量
(S1)对按列归一化得:
(S2)对按列归一化反向量再按行求和:
(S3)对按行归一化得到特征向量
(S4)计算特征根
一致性检验:
故通过检验,既成对矩阵可以接受。
同样步骤对,对的影响
用特征向量表示
最大特征根用:表示
并分别计算一致性检验指标:
列表如下:
权 准则层
值
决策层
B1 B2 B3 B4 B5
组合权向量
0.262 0.474 0.055 0.099 0.102
0.595 0.082 0.429 0.633 0.166
0.277 0.236 0.429 0.193 0.166
0.129 0.682 0.142 0.175 0.668
3.007 3.002 3 3.009 3
0.0035 0.001 0 0.005 0
0.58 0.58 0.58 0.58 0.58
0.006
其中的计算公式为:
因此层次总排序:组合权向量为:
故最终决策为首选,次之,最后。
组合一致性检验:
由 可知:组合一致性检验结果为——层次总排序的一致性检验:
故 一致性检验通过。
最层次总排序为
最决策为:首选,次之,最后。
%层次分析法的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
24 / 24
展开阅读全文