大家好,又见面了,我是你们的朋友全栈君。
1. 算法简介
层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。 层次分析法是一种解决多目标的复杂问题的定性与定量相结合的决策分析方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能否实现的标准之间的相对重要程度,并合理地给出每个决策方案的每个标准的权数,利用权数求出各方案的优劣次序,比较有效地应用于那些难以用定量方法解决的课题。
2. 算法基本原理
例子:
2.1. 解决问题的思路
层次分析法的基本思路是将所要分析的问题层次化;根据问题的性质和所要达成的总目标,将问题分解为不同的组成因素,并按照这些因素的关联影响及其隶属关系,将因素按不同层次凝聚组合,形成一个多层次分析结构模型;最后,对问题进行优劣比较并排列。
2.2. 层次分析法的步骤
1.建立层次结构模型
- 将决策的目标、考虑的因素(决策准则)和决策对象按照他们之间的相互关系分为最高层、中间层和最低层,绘出层次结构图。
- 最高层: 决策的目的、要解决的问题。 最低层: 决策时的备选方案。 中间层: 考虑的因素、决策的准则。
- 对相邻的两层,称高层为目标层,低层为因素层。
层次分析法所要解决的问题是关于最低层对最高层的相对权重的问题,按此相对权重可以对最低层中的各种方案、措施进行排序,从而在不同的方案中做出选择或形成选择方案的原则。
2.构造判断矩阵 层次分析法中构造判断矩阵的方法是一致矩阵法,即:不把所有因素放在一起比较,而是两两相互比较;对此时采用相对尺度,以尽可能减少性质不同因素相互比较的困难,以提高准确度。
判断矩阵 a i j a_{ij} aij的标度方法 标度 含义 1 表示两个因素相比,具有同样重要性 3 表示两个因素相比,一个因素比另一个因素稍微重要 5 表示两个因素相比,一个因素比另一个因素明显重要 7 表示两个因素相比,一个因素比另一个因素强烈重要 9 表示两个因素相比,一个因素比另一个因素极端重要 2,4,6,8 上述两相邻判断的中值 倒数 因素 i i i于 j j j比较的判断 a i j a_{ij} aij,则因素 j j j与 i i i比较的判断 a j i = 1 / a i j a_{ji}=1/a_{ij} aji=1/aij
3.层次单排序及其一致性检验 对应于判断矩阵最大特征根 λ m a x lambda max λmax的特征向量,经归一化(使向量中各元素之和为1)后记为 W W W。 W W W的元素为同一层次元素对于上一层因素某因素相对重要性的排序权值,这一过程称为层次单排序。
定义一致性指标 C I = λ − n n − 1 CI=frac {lambda-n}{n-1} CI=n−1λ−n: C I = 0 CI=0 CI=0,有完全的一致性; C I CI CI接近于0,有满意的一致性; C I CI CI越大,不一致越严重。
为了衡量 C I CI CI的大小,引入随机一致性指标 R I RI RI
随机一致性指标 RI 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
定义一致性比率: C R = C I R I CR=frac{CI}{RI} CR=RICI,一般认为一致性比率 C R < 0.1 CR<0.1 CR<0.1时,认为A的不一致程度在容许范围之内,有满意的一致性,通过一致性检验。可用其归一化特征向量作为权向量,否则要重新构造成对比较矩阵A,对 a i j a_{ij} aij加以调整。
示例:
4.层次总排序及其一致性检验
- 计算某一层次所有因素对于最高层(总目标)相对重要性的权值,称为层次总排序。
- 这一过程是从最高层次到最低层次依次进行的。
A层 m m m个因素 A 1 , A 2 , ⋅ ⋅ ⋅ , A m , A_{1},A_{2},···,A_{m}, A1,A2,⋅⋅⋅,Am,对总目标Z的排序为 a 1 , a 2 , ⋅ ⋅ ⋅ , a m a_{1},a_{2},···,a_{m} a1,a2,⋅⋅⋅,am。 B层 n n n个因素对上层A中因素为 A j A_{j} Aj的层次单排序为 b 1 j , b 2 j , ⋅ ⋅ ⋅ , b n j ( j = 1 , 2 , 3 , ⋅ ⋅ ⋅ , m ) b_{1j},b_{2j},···,b_{nj}(j=1,2,3,···,m) b1j,b2j,⋅⋅⋅,bnj(j=1,2,3,⋅⋅⋅,m)。
B层的层次总排序(即B层第 i i i个因素对总目标的权值为: ∑ j = 1 m a j b i j sum_{j=1}^{m}a_{j}b_{ij} ∑j=1majbij)为: B 1 : a 1 b 11 a 2 b 12 ⋅ ⋅ ⋅ a m b 1 m , B_{1}:a_{1}b_{11} a_{2}b_{12} ··· a_{m}b_{1m}, B1:a1b11 a2b12 ⋅⋅⋅ amb1m, B 2 : a 1 b 21 a 2 b 22 ⋅ ⋅ ⋅ a m b 2 m , B_{2}:a_{1}b_{21} a_{2}b_{22} ··· a_{m}b_{2m}, B2:a1b21 a2b22 ⋅⋅⋅ amb2m, ⋅ ⋅ ⋅ ··· ⋅⋅⋅ B n : a 1 b n 1 a 2 b n 2 ⋅ ⋅ ⋅ a m b n m , B_{n}:a_{1}b_{n1} a_{2}b_{n2} ··· a_{m}b_{nm}, Bn:a1bn1 a2bn2 ⋅⋅⋅ ambnm,
层次总排序的一致性比率为: C R = a 1 C I 1 a 2 C I 2 ⋅ ⋅ ⋅ a m C I m a 1 R I 1 a 2 R I 2 ⋅ ⋅ ⋅ a m R I m CR=frac{a_{1}CI_{1} a_{2}CI_{2} ··· a_{m}CI_{m}}{a_{1}RI_{1} a_{2}RI_{2} ··· a_{m}RI_{m}} CR=a1RI1 a2RI2 ⋅⋅⋅ amRIma1CI1 a2CI2 ⋅⋅⋅ amCIm,当 C R < 0.1 CR<0.1 CR<0.1时,认为层次总排序通过一致性检验。 例子:
3.算法总结
- 应用领域:经济计划个管理,能源政策和分配,人才选拔和评价,生产决策,交通运输,科研选题,产业结构,教育,医疗,环境,军事等。
- 处理问题类型:决策、评价、分析、预测等。
- 建立层次分析结构模型是关键一步,要有主要决策层参与。
- 构造成对比较矩阵是数量依据,应由经验丰富、判断力强的专家给出。
4.参考
- 层次分析法建模——《百度文库》
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153648.html原文链接:https://javaforall.cn