层次分析法
2016-08-13 10:50
246 查看
层次分析法
这是第一次写博客,经验不足,希望各位看客多多包涵。最近在准备数学建模比赛,希望把学到的东西都写下来以便日后翻看。由于时间原因,只记录自己认为重要的一些部分。
层次分析法(AHP)的原理
在决策过程中往往面临的是多个互相关联互相约束的系统,如何在这个系统中选择最佳的选项就是层次分析法所解决的问题。运用层次分析法一般有四个步骤进行:
1、建立递阶层次此结构模型;
2、构造出各个层次中所有判断矩阵;
3、层次单排序以及一致性检验;
4、层次总排序以及一致性检验。
下面分步骤说明各个实现过程。
递阶层次结构的建立
一般把决策问题分为最高层、中间层以及最底层。- 最高层:一般也叫目标层,往往是这个问题的最终追求目标,比如在选择工作这个决策过程中最高层就是指的是工作的满意程度。
- 中间层:指的是在实现目标过程中的中间环节,可以由若干个层次组成。比如找工作时的薪酬,福利,环境等等。
- 最底层:一般也叫方案层。找工作过程中就是可供选择的工作方案。
以下是一个以选择旅游地为目标的例子。
-
构造判断矩阵
由于对于上一层某个目标,本层的重要性不太好衡量,于是引入相对的比重关系,比如对于对于上图中C层的景色这个标准,P1,P2,P3<dcb0
/nobr>的权重两两比较就可以获得一个对于C层景色的重要程度。就可以获得一个判断矩阵。
层次单排序以及一致性检验
一般来说构造出来的判断矩阵都不满足一致性,因此需要对他的一致性进行检验,看能否在允许的错误范围内。方法就是,求出矩阵的最大特征根λmax。
一致性的检验步骤如下:
(i)计算一致性指标CI
CI=λmax−nn−1
(ii)查找相应的平均随机一致性指标RI,对于阶数为n=1~9的可以参照下表(这个是已经由别人计算出来的):
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
RI | 0 | 0 | 0.58 | 0.9 | 1.12 | 1.24 | 1.32 | 1.41 | 1.45 |
CR=CIRI
我们认为当CR<0.10时,认为矩阵的一致性是可以接受的,否则应该做适当修改。由特征值我们获得特征向量,应当知道,一致性较好的矩阵每一列都是特征向量,为此我们还需要将获得的特征向量归一化使得总和为1,这样就获得了权重向量。
层次总排序以及一致性检验
以上我们完成了下一层所有元素依次对上一层每一个元素的权重。我们最终需要得到各个元素特别是最底层中各个方案对于目标的排序权重,从而进行方案选择。例如上图。,最后我们还需要对层次总排序进行一致性检验。如果满足CR<0.10,我们认为结果较好。这样我们就可以选择权重最高的进行选择。至此,层次分析法结束。
相关文章推荐
- [matlab]AHP层次分析法
- 用AHP层次分析法挑选最佳结婚对象
- Matlab 层次分析法 求解权重矩阵
- 经济信息学里面的(社会调查)层次分析法的计算
- 用AHP层次分析法挑选最佳结婚对象
- 层次分析法(详解)
- 层次分析法量化用户的产品偏好
- 基于层次分析法的信息安全风险评估量化法研究报告
- 层次分析法计算小软件
- 【MATLAB · 代码】数学建模(一)层次分析法使用的代码
- 用MATLAB进行层次分析法时计算权向量的代码。
- Matlab数模笔记(2)--层次分析法
- 基于层次分析法的信息安全风险评估量化法的研究报告
- 层次分析法
- 从Elo Rating System谈到层次分析法
- 层次分析法
- 层次分析法
- 层次分析法 插值与拟合
- 同TTX更可爱的层次分析法游戏破解
- 层次分析法的C++实现