差分方程模型层次分析模型人们经常遇到一些复杂问题的决策的情形,比如,医生为疑难病症确定治疗方案 ;高考报考学校、专业的选择,作出城市发展规划等等,这时,人们往往需要考虑很多因素,而且在对它们进行比较、判断、评价、决策时,其重要性、影响力或者优先程度往往难以量化,这给用数学方法解决问题带来了本质上的困难,决策时人的主观选择起主要作用,
本节介绍 T.L,Saaty等人 20世纪 70年代提出的一种处理这种问题的实用方法,称为 层次分析法,
下面我们先看一个例子,从中引出层次分析法的基本步骤引例 假期旅游目的地的选择假设有 P1,P2,P3共 3个旅游胜地供你选择,而你会根据景色、费用和居住、饮食、旅途条件等一些准则去反复比较那 3个候选地点,
首先,你会确定这些准则在你的心中各占多大的比重,
如果你经济宽绰,醉心旅游,自然是特别看重景色条件,而平素简朴或手头拮据的人,则会优先考虑费用,
而中老年人则更关注居住、饮食、旅途条件,
其次,你会就每一个将这 3个地点进行对比,譬如 P1景色最好,P2次之 ;P2费用最低,P3次之 ;居住等条件 P3
最好,P1次之,最后,你将这两个层次的比较进行综合,
决定选择其中一个为最佳地点,
一般的问题跟上面的引例相类似,整理成如下步骤,
1,将决策问题分成三个层次,最上层为目标层,最下层为方案层 ;
2.通过相互比较确定各个准则对于目标的权重以及各方案对于每一准则的权重,要量化,
3,将上面两层的权重进行综合,最终确定方案层对目标层的权重,
P1 P2 P3方案层景色费用居住饮食旅途准则层目标层 选择目的地成对比较矩阵和向量前面说过,这些因素的量化是不容易的,人们凭自己的经验和知识进行判断,如果我们只是简单地作定性的结果,
当然不容易被人接受,层次分析法的做法,一是不把所有的因素放在一起比较,而是两两相互对比 ;二是对比采用相对尺度,以尽可能地减少性质不同的因素相互比较的困难,提高准确度,
接引例 准则层对目标层的两两比较的影响之比对目标表示因素用 Ojiij CCa,
,1
ji
ij aa?
因此有记
.1,0),(
ji
ijijij aaaaA
称 A为 成对比较矩阵,满足上面关系的矩阵也称为正互反矩阵,
下面是某人得到的成对比较矩阵,
1135/13/1
1125/13/1
3/12/117/14/1
55712
3342/11
A
注 换一个人得到的成对比较矩阵可能与上面这个差别很大,同一个人作两次判断时也可能有些差别,
1135/13/1
1125/13/1
3/12/117/14/1
55712
3342/11
A
发现,矛盾之处多多,
若因素对目标影响能够准确度量,则应该有
kjiaaa ikjkij,,,
一个满足上式的正互反矩阵称为 一致阵,
性质设 A为 n阶一致阵,则 R(A)=1,且特征值为 0和 n;
A的任一列向量为 A相应于 n的特征向量,
若 A为一致阵,则 A的每一列中的分量的大小反映了该因素的影响大小,归一化 后可表示各个因素对上层的影响的权重,故称为 权向量,
若 A不是一致阵,但是在不一致的容许范围内,则用 成对比较矩阵 A的最大特征值 λ的特征向量 w(归一化 )作为 权向量,
这一方法称为特种根法,
比较尺度进行成对比较时,建议同一层的因素个数在 7± 2,两两比较的等级分成 5种明显的等级以及 4个过渡等级,
aij=1,3,5,7,9分别表示 Ci与 (比 )Cj相同的影响,影响稍强,影响强,影响明显的强,影响绝对的强 五种情形,
aij=2,4,6,8分别表示介于相邻的两个等级之间,
这种做法有心理学上的支持,
也由实验得到验证,
一致性检验当我们用上面的比较尺度做法得到了成对比较矩阵,但是它一般不是一致阵,为了特征值的特征向量作为权向量,我们需要成对比较矩阵的不一致程度在容许的范围内,问题,如何界定?
定理,设 A是成对比较矩阵,则其最大特征值 λ≥n;当
λ=n时,A是 一致阵,
由此定理以及 λ连续依赖于 aij的事实可知,λ比 n大得越多,则 A的不一致程度越严重,因此定义 A的 一致性指标 为
1?
n
n
CI
1?
n
nCI?
CI=0时,A为一致阵 ;CI越大,A
的不一致性程度越严重,
由于 A的特征值之和为 n,因此 CI为 A的其余 n-1个特征值的平均值,
Satty引进 随机一致性指标 RI 通过随机构造 A得到
n 1 2 3 4 5 6 7 8 9 10 11
RI 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51
一致性比率 CR
RI
CICR?
一致性检验,
当 CR<0.1时,一致性检验通过,此时 A的不一致性程度在容许范围之内 ;当 CR>0.1时,一致性检验没通过,A需调整,
本例旅游目的地的选择,准则层对目标层的成对比较矩阵 A如前,我们用 Matlab计算得 A的最大特征值为
5.2793,其相应的特征向量为 (0.4639,0.8348,0.0940,
0.2077,0.1896)T,归一化后为 w=(0.2592,0.4664,0.0525,
0.1160,0.1059)T,因此
0 6 9 8.0
4
2 7 9 3.0
1
n
nCI?
而从上面的表中我们有 RI(5)=1.12,故
,1.0062.012.1 0698.0 RICICR
结论,一致性检验通过,向量 w可作为准则层 (第二层 )
对目标层 (第一层 )的权向量,
组合权向量为了记号连贯起见,我们记 ww
w
w?
)2(
5
)2(
1
)2(?
用同样的方法我们构造出第三层 (方案层 )对第二层
(准则层 )的每一个成对比较矩阵,结果如下,
13/12/1
312/1
221
1B
138
3/113
8/13//11
2B
13/13/1
311
311
3B
114/1
113/1
431
4B
144
4/111
4/111
5B
其中第一个没有通过一致性检验,
重新调整为
13/13/1
312/1
321
1B
我们将上面 5个矩阵的最大特征值以及特征向量,一致性检验结果,RI(3)=0.58,
k 1 2 3 4 5
wk(3)
0.5279 0.0819 0.4286 0.6337 0.1667
0.3325 0.2364 0.4286 0.1919 0.1667
0.1396 0.6817 0.1429 0.1744 0.6667
λk 3.0536 3.0015 3 3.0092 3
CIk 0.0278 0.0008 0 0.0046 0
下面我们由上面计算得到的两种权向量 w(2),wk(3)来计算出各个方案对目标层的权向量,称为 组合权向量,
记做 w(3),
对于方案 P1,wk(3)中的第一行表示 它在五个准则中的权重,而五个准则对于目标层的权重为 w(2),于是这两个向量的分量两两相乘即得到 P1对于目标层的权重,
(0.5279,0.0819,0.4286,0.6337,0.1667) · (0.2592,
0.4664,0.0525,0.1160,0.1059) = 0.2887
同样,我们计算得到 P2,P3对于目标层的权重分别为
0.2589,0.4525,由此我们得出结论,选择方案 P3.
],,[,)3(5)3(1)3()2()3()3( wwWwWw 这里计算过程可写成推广,若一个层次分析的决策系统共有 s层 (设第一层只有 1个因素 ).则第 2层对第 1层的权向量为 w(2),第 3层对第 1层的组合权向量为组成的矩阵列向量权向量层的层对第为第这里
)(
23,)3()2()3()3( WwWw?
同样,第 4层对第 1层的组合权向量为组成的矩阵列向量权向量层的层对第为第这里
)(
34,)4()3()4()4( WwWw?
于是第 s层对第 1层的组合权向量为
)2()3()1()()( wWWWw sss
)1()()( kkk wWw
组合一致性检验在应用层次分析法作重大决策时,除了对每个成对比较矩阵进行一致性检验外,还要进行组合一致性检验,以确定组合权向量是否可以作为最终的决策依据,
若第 p层的一致性指标为 CI1(p),…,CIn(p),n为第 p-1
层的因素个数,其随机性指标为 RI1(p),…,RIn(p),
.),(],,[
,],,[
)1()()(
1
)(
)1()()(
1
)(
层因素的个数为第 pmmRIwRIRIRI
wCICICI
pp
n
pp
pp
n
pp
定义第 s层对第 1层的组合一致性检验比率为第 p层的组合一致性指标 为
spRICICR p
p
p,,4,3,
)(
)(
)(
s
p
pCRCR
2
)(* CR*适当的小时,检验通过,
本例中,CI(3)=0.008,RI(3)=0.58,CR(3)=0.014,外加前面的 CR(2)=0.062,于是 CR*=0.076,完全可以认为组合一致性检验通过,即组合权向量 w(3),可以当作最终决策的依据,
层次分析法的基本步骤,
1.建立层次结构模型在深入分析实际问题的基础上,将有关因素按照不同的属性自上而下地分解成若干层,同一层的因素 (7个左右 )之间尽量相互独立,一方面受下一层因素的作用,
同时又支配上一层,最上层为目标层,最下层为方案层,
2.构造成对比较矩阵
3.计算权向量并作一致性检验
4.计算组合权向量并作组合一致性检验
〉〉 B4=[1,3,4;1/3,1,1;1/4,1,1],[V,D]=eig(B4)
V =
-0.9255 0.9255 0.9255
-0.2803 -0.1401 - 0.2427i -0.1401 + 0.2427i
-0.2547 -0.1273 + 0.2205i -0.1273 - 0.2205i
>> d=0.9255+0.2803+0.2547,v=[0.9255,0.2803,0.2547]/d
D =
3.0092 0 0
0 -0.0046 + 0.1663i 0
0 0 -0.0046 - 0.1663i
d = 1.4605
v =0.6337 0.1919 0.1744
附,用 matlab求矩阵的特征值和特征向量
本节介绍 T.L,Saaty等人 20世纪 70年代提出的一种处理这种问题的实用方法,称为 层次分析法,
下面我们先看一个例子,从中引出层次分析法的基本步骤引例 假期旅游目的地的选择假设有 P1,P2,P3共 3个旅游胜地供你选择,而你会根据景色、费用和居住、饮食、旅途条件等一些准则去反复比较那 3个候选地点,
首先,你会确定这些准则在你的心中各占多大的比重,
如果你经济宽绰,醉心旅游,自然是特别看重景色条件,而平素简朴或手头拮据的人,则会优先考虑费用,
而中老年人则更关注居住、饮食、旅途条件,
其次,你会就每一个将这 3个地点进行对比,譬如 P1景色最好,P2次之 ;P2费用最低,P3次之 ;居住等条件 P3
最好,P1次之,最后,你将这两个层次的比较进行综合,
决定选择其中一个为最佳地点,
一般的问题跟上面的引例相类似,整理成如下步骤,
1,将决策问题分成三个层次,最上层为目标层,最下层为方案层 ;
2.通过相互比较确定各个准则对于目标的权重以及各方案对于每一准则的权重,要量化,
3,将上面两层的权重进行综合,最终确定方案层对目标层的权重,
P1 P2 P3方案层景色费用居住饮食旅途准则层目标层 选择目的地成对比较矩阵和向量前面说过,这些因素的量化是不容易的,人们凭自己的经验和知识进行判断,如果我们只是简单地作定性的结果,
当然不容易被人接受,层次分析法的做法,一是不把所有的因素放在一起比较,而是两两相互对比 ;二是对比采用相对尺度,以尽可能地减少性质不同的因素相互比较的困难,提高准确度,
接引例 准则层对目标层的两两比较的影响之比对目标表示因素用 Ojiij CCa,
,1
ji
ij aa?
因此有记
.1,0),(
ji
ijijij aaaaA
称 A为 成对比较矩阵,满足上面关系的矩阵也称为正互反矩阵,
下面是某人得到的成对比较矩阵,
1135/13/1
1125/13/1
3/12/117/14/1
55712
3342/11
A
注 换一个人得到的成对比较矩阵可能与上面这个差别很大,同一个人作两次判断时也可能有些差别,
1135/13/1
1125/13/1
3/12/117/14/1
55712
3342/11
A
发现,矛盾之处多多,
若因素对目标影响能够准确度量,则应该有
kjiaaa ikjkij,,,
一个满足上式的正互反矩阵称为 一致阵,
性质设 A为 n阶一致阵,则 R(A)=1,且特征值为 0和 n;
A的任一列向量为 A相应于 n的特征向量,
若 A为一致阵,则 A的每一列中的分量的大小反映了该因素的影响大小,归一化 后可表示各个因素对上层的影响的权重,故称为 权向量,
若 A不是一致阵,但是在不一致的容许范围内,则用 成对比较矩阵 A的最大特征值 λ的特征向量 w(归一化 )作为 权向量,
这一方法称为特种根法,
比较尺度进行成对比较时,建议同一层的因素个数在 7± 2,两两比较的等级分成 5种明显的等级以及 4个过渡等级,
aij=1,3,5,7,9分别表示 Ci与 (比 )Cj相同的影响,影响稍强,影响强,影响明显的强,影响绝对的强 五种情形,
aij=2,4,6,8分别表示介于相邻的两个等级之间,
这种做法有心理学上的支持,
也由实验得到验证,
一致性检验当我们用上面的比较尺度做法得到了成对比较矩阵,但是它一般不是一致阵,为了特征值的特征向量作为权向量,我们需要成对比较矩阵的不一致程度在容许的范围内,问题,如何界定?
定理,设 A是成对比较矩阵,则其最大特征值 λ≥n;当
λ=n时,A是 一致阵,
由此定理以及 λ连续依赖于 aij的事实可知,λ比 n大得越多,则 A的不一致程度越严重,因此定义 A的 一致性指标 为
1?
n
n
CI
1?
n
nCI?
CI=0时,A为一致阵 ;CI越大,A
的不一致性程度越严重,
由于 A的特征值之和为 n,因此 CI为 A的其余 n-1个特征值的平均值,
Satty引进 随机一致性指标 RI 通过随机构造 A得到
n 1 2 3 4 5 6 7 8 9 10 11
RI 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51
一致性比率 CR
RI
CICR?
一致性检验,
当 CR<0.1时,一致性检验通过,此时 A的不一致性程度在容许范围之内 ;当 CR>0.1时,一致性检验没通过,A需调整,
本例旅游目的地的选择,准则层对目标层的成对比较矩阵 A如前,我们用 Matlab计算得 A的最大特征值为
5.2793,其相应的特征向量为 (0.4639,0.8348,0.0940,
0.2077,0.1896)T,归一化后为 w=(0.2592,0.4664,0.0525,
0.1160,0.1059)T,因此
0 6 9 8.0
4
2 7 9 3.0
1
n
nCI?
而从上面的表中我们有 RI(5)=1.12,故
,1.0062.012.1 0698.0 RICICR
结论,一致性检验通过,向量 w可作为准则层 (第二层 )
对目标层 (第一层 )的权向量,
组合权向量为了记号连贯起见,我们记 ww
w
w?
)2(
5
)2(
1
)2(?
用同样的方法我们构造出第三层 (方案层 )对第二层
(准则层 )的每一个成对比较矩阵,结果如下,
13/12/1
312/1
221
1B
138
3/113
8/13//11
2B
13/13/1
311
311
3B
114/1
113/1
431
4B
144
4/111
4/111
5B
其中第一个没有通过一致性检验,
重新调整为
13/13/1
312/1
321
1B
我们将上面 5个矩阵的最大特征值以及特征向量,一致性检验结果,RI(3)=0.58,
k 1 2 3 4 5
wk(3)
0.5279 0.0819 0.4286 0.6337 0.1667
0.3325 0.2364 0.4286 0.1919 0.1667
0.1396 0.6817 0.1429 0.1744 0.6667
λk 3.0536 3.0015 3 3.0092 3
CIk 0.0278 0.0008 0 0.0046 0
下面我们由上面计算得到的两种权向量 w(2),wk(3)来计算出各个方案对目标层的权向量,称为 组合权向量,
记做 w(3),
对于方案 P1,wk(3)中的第一行表示 它在五个准则中的权重,而五个准则对于目标层的权重为 w(2),于是这两个向量的分量两两相乘即得到 P1对于目标层的权重,
(0.5279,0.0819,0.4286,0.6337,0.1667) · (0.2592,
0.4664,0.0525,0.1160,0.1059) = 0.2887
同样,我们计算得到 P2,P3对于目标层的权重分别为
0.2589,0.4525,由此我们得出结论,选择方案 P3.
],,[,)3(5)3(1)3()2()3()3( wwWwWw 这里计算过程可写成推广,若一个层次分析的决策系统共有 s层 (设第一层只有 1个因素 ).则第 2层对第 1层的权向量为 w(2),第 3层对第 1层的组合权向量为组成的矩阵列向量权向量层的层对第为第这里
)(
23,)3()2()3()3( WwWw?
同样,第 4层对第 1层的组合权向量为组成的矩阵列向量权向量层的层对第为第这里
)(
34,)4()3()4()4( WwWw?
于是第 s层对第 1层的组合权向量为
)2()3()1()()( wWWWw sss
)1()()( kkk wWw
组合一致性检验在应用层次分析法作重大决策时,除了对每个成对比较矩阵进行一致性检验外,还要进行组合一致性检验,以确定组合权向量是否可以作为最终的决策依据,
若第 p层的一致性指标为 CI1(p),…,CIn(p),n为第 p-1
层的因素个数,其随机性指标为 RI1(p),…,RIn(p),
.),(],,[
,],,[
)1()()(
1
)(
)1()()(
1
)(
层因素的个数为第 pmmRIwRIRIRI
wCICICI
pp
n
pp
pp
n
pp
定义第 s层对第 1层的组合一致性检验比率为第 p层的组合一致性指标 为
spRICICR p
p
p,,4,3,
)(
)(
)(
s
p
pCRCR
2
)(* CR*适当的小时,检验通过,
本例中,CI(3)=0.008,RI(3)=0.58,CR(3)=0.014,外加前面的 CR(2)=0.062,于是 CR*=0.076,完全可以认为组合一致性检验通过,即组合权向量 w(3),可以当作最终决策的依据,
层次分析法的基本步骤,
1.建立层次结构模型在深入分析实际问题的基础上,将有关因素按照不同的属性自上而下地分解成若干层,同一层的因素 (7个左右 )之间尽量相互独立,一方面受下一层因素的作用,
同时又支配上一层,最上层为目标层,最下层为方案层,
2.构造成对比较矩阵
3.计算权向量并作一致性检验
4.计算组合权向量并作组合一致性检验
〉〉 B4=[1,3,4;1/3,1,1;1/4,1,1],[V,D]=eig(B4)
V =
-0.9255 0.9255 0.9255
-0.2803 -0.1401 - 0.2427i -0.1401 + 0.2427i
-0.2547 -0.1273 + 0.2205i -0.1273 - 0.2205i
>> d=0.9255+0.2803+0.2547,v=[0.9255,0.2803,0.2547]/d
D =
3.0092 0 0
0 -0.0046 + 0.1663i 0
0 0 -0.0046 - 0.1663i
d = 1.4605
v =0.6337 0.1919 0.1744
附,用 matlab求矩阵的特征值和特征向量