写在前面:
笔记为自行整理,内容出自课程《数学建模学习交流》,主讲人:清风
文章相关代码参考链接: 层次分析法Python实现.
The analytic hierarchy process(AHP)
- 多用于评价类模型(如:选择哪种方案最好、哪位运动员表现更优秀等)。
模型介绍
层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。
层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。
层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。1
评价类问题可以用打分解决
引例:张三毕业后选择清华还是北大?
已知张三最关心大学里的以下四个方面:
学习氛围(0.4);就业前景(0.3);男女比例(0.2);校园景色(0.1)
括号内的数值表示张三认为的重要性程度(权重),其和为1
对于每个评价指标对学校进行打分
| – | 学习氛围 | 就业前景 | 男女比例 | 校园景色 |
|---|---|---|---|---|
| 清华大学: | 0.7 | 0.5 | 0.3 | 0.25 |
| 北京大学: | 0.3 | 0.5 | 0.7 | 0.75 |
张三最终整理好了如下表格
| 指标 | 指标权重 | 清华 | 北大 |
|---|---|---|---|
| 学习氛围 | 0.4 | 0.7 | 0.3 |
| 就业前景 | 0.3 | 0.5 | 0.5 |
| 男女比例 | 0.2 | 0.3 | 0.7 |
| 校园景色 | 0.1 | 0.25 | 0.75 |
对于每所大学,用其学校得分乘以对应指标的权重并加和,可以得到:
清华最终得分:0.515 (0.4×0.7+0.3×0.5+…)
北大最终得分:0.485 (0.4×0.3+0.3×0.5+…)
最终张三选择了清华大学
总结:
使用打分解决评价问题,只需完成如下表格:
| 指标 | 指标权重 | 方案1 | 方案2 | … |
|---|---|---|---|---|
| 指标1 | ||||
| 指标2 | ||||
| … |
例:张三想去旅游,初步将苏杭、北戴河和桂林作为候选目的地
如何确定评价指标并形成评价体系来选择最佳方案?
- 解决评价类问题需要思考以下三个问题:
- 评价目标是什么?
- 有几种可选方案?
- 评价准则或指标是什么?(根据什么来评价好坏)
在本例中分别对应:
为张三选择最佳旅游地点
苏杭、北戴河、桂林三种方案
题目没有数据支撑,需自己查阅相关资料
一般而言,前两个问题的答案是易寻的,第三个问题需要我们把题目中的背景材料、常识以及网上搜集到的参考资料相结合来确定出合适的指标
经查询最终确定了以下五个指标:
经典景色、旅游花费、居住环境、饮食情况、交通便利程度
很容易想到如下这张表格
| 指标 | 指标权重 | 苏杭 | 北戴河 | 桂林 |
|---|---|---|---|---|
| 景色 | ||||
| 花费 | ||||
| 居住 | ||||
| 饮食 | ||||
| 交通 |
但对于多指标的打分并不具有准确性,多个指标放在一起同时打分并不容易确定
因而可以选择两个两个的指标进行比较,最终根据两两比较结果来推算出权重
用1-9表示重要程度
| 标度 | 含义 |
|---|---|
| 1 | 两个因素相比,同等重要 |
| 3 | 两个因素相比,一个因素比另一个因素稍微重要 |
| 5 | 明显重要 |
| 7 | 强烈重要 |
| 9 | 极度重要 |
| 2,4,6,8 | 重要程度的中值 |
| 倒数 | A和B相比如果标度为3,那么B和A相比就是1/3 |
| 指标 | 景色 | 花费 | 居住 | 饮食 | 交通 |
|---|---|---|---|---|---|
| 景色 | 1 | ||||
| 花费 | 1 | ||||
| 居住 | 1 | ||||
| 饮食 | 1 | ||||
| 交通 | 1 |
模拟如下场景:
Q1:张三,你举得景色和花费哪个重要?
A1:花费重要,不过只是比景色稍稍重要那么一点点。
由此可填入
| 指标 | 景色 | 花费 | 居住 | 饮食 | 交通 |
|---|---|---|---|---|---|
| 景色 | 1 | 1/2 | |||
| 花费 | 2 | 1 | |||
| 居住 | 1 | ||||
| 饮食 | 1 | ||||
| 交通 | 1 |
Q2:那你觉得景色和居住哪个重要?
A2:景色重要,重要一些。
| #指标景色 | 花费 | 居住 | 饮食 | 交通 |
|---|---|---|---|---|
| 景色 | 1 | 1/2 | 4 | |
| 花费 | 2 | 1 | ||
| 居住 | 1/4 | 1 | ||
| 饮食 | 1 | |||
| 交通 |
以此类推 问张三10次即可填满这张表
| 指标 | 景色 | 花费 | 居住 | 饮食 | 交通 |
|---|---|---|---|---|---|
| 景色 | 1 | 1/2 | 4 | 3 | 3 |
| 花费 | 2 | 1 | 7 | 5 | 5 |
| 居住 | 1/4 | 1/7 | 1 | 1/2 | 1/3 |
| 饮食 | 1/3 | 1/5 | 2 | 1 | 1 |
| 交通 | 1/3 | 1/5 | 3 | 1 | 1 |
上表是一个5×5的矩阵,记为A,对应元素为aij
- aij表示的意义时,与指标j相比,i的重要程度。
- 当i=j时,两个指标相同,因此同等重要记为1。
- aij>0且满足aij×aji=1(称满足这一条件的矩阵为正互反矩阵)
在层次分析中,该矩阵称为判断矩阵
对于景色而言:
| 景色 | 苏杭 | 北戴河 | 桂林 |
|---|---|---|---|
| 苏杭 | 1 | 2 | 5 |
| 北戴河 | 1/2 | 1 | 2 |
| 桂林 | 1/5 | 1/2 | 1 |
同理可得到:
| 花费 | 苏杭 | 北戴河 | 桂林 | 居住 | 苏杭 | 北戴河 | 桂林 | 饮食 | 苏杭 | 北戴河 | 桂林 | 交通 | 苏杭 | 北戴河 | 桂林 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 苏杭 | 1 | 1/3 | 1/8 | 苏杭 | 1 | 1 | 3 | 苏杭 | 1 | 3 | 4 | 苏杭 | 1 | 1 | 1/4 | |||
| 北戴河 | 3 | 1 | 1/3 | 北戴河 | 1 | 1 | 3 | 北戴河 | 1/3 | 1 | 1 | 北戴河 | 1 | 1 | 1/4 | |||
| 桂林 | 8 | 3 | 1 | 桂林 | 1/3 | 1/3 | 1 | 桂林 | 1/4 | 1 | 1 | 桂林 | 4 | 4 | 1 |
但需要注意的是,填写过程中可能出现不一致的情况,例如下面:
| 景色 | 苏杭 | 北戴河 | 桂林 |
|---|---|---|---|
| 苏杭 | 1 | 2 | 1 |
| 北戴河 | 1/2 | 1 | 2 |
| 桂林 | 1 | 1/2 | 1 |
可以解释为:在景色方面,张三认为,苏杭要比北戴河好,苏杭和桂林一样,但桂林又比北戴河差,这样就出现了矛盾
我们知道aij = i 的 重 要 程 度 j 的 重 要 程 度 \frac{i的重要程度}{j的重要程度} j的重要程度i的重要程度,ajk = j 的 重 要 程 度 k 的 重 要 程 度 \frac{j的重要程度}{k的重要程度} k的重要程度j的重要程度</

本文深入讲解层次分析法(AHP),一种适用于多目标决策问题的系统方法。通过实例演示如何构建判断矩阵,计算权重,以及进行一致性检验,帮助读者理解如何在复杂决策中应用此方法。

3728

被折叠的 条评论
为什么被折叠?



