**
层次分析法,数学建模中最简单且较为常用的方法,主要用于解决最优选择方案问题。
**
1. 评价的目标是什么?
评价的目标一般都是题目所要求的
例如:小明要去桂林、西藏、杭州三地旅游,请为他选择去哪地旅游最好。那么选择去哪里旅游即为评价的目标
2. 到达目标有哪几种选择方案?
在该题中,明显有三种,1.桂林 2.西藏 3.杭州
3. 评价的指标是什么?
一般我们可以通过查阅相关文献或者头脑风暴,根据这些指标对对象进行相应的打分
首先我们可以生成一个如下的表来计算各项指标的加权值进而计算出最优方案。
指标权重 | 方案1 | 方案2 | 方案3 | |
---|---|---|---|---|
指标1 | ||||
指标2 | ||||
指标3 |
这张表中的指标权重不好获取,针对不同的人,指标权重是不一样的,我们可以对他进行问卷调查,让他填一下哪一个指标比较重要,哪一个不重要,当指标较少时可以直接比较,但是指标较多时用户往往难以抉择。因此我们可以通过两两比较指标的方法获取指标的权重,这也就是层次分析法
我们可以生成一个如下表:
指标1 | 指标2 | 指标3 | |
---|---|---|---|
指标1 | 1 | 2 | 3 |
指标2 | 1/2 | 1 | 4 |
指标3 | 1/3 | 1/4 | 1 |
这个矩阵称之为“判断矩阵”
通过上面的矩阵我们可以计算出各个指标权重,其中aij越大代表指标ai指标相对于aj越重要
例如:我们针对旅游景点查到到是三个影响指标为:花费、美食、交通
花费 | 美食 | 交通 | |
---|---|---|---|
花费 | 1 | 2 | 3 |
美食 | 1/2 | 1 | 4 |
交通 | 1/3 | 1/4 | 1 |
表中对角线元素均为1,代表指标与其自身相比同等重要,a12=2,代表花费相对于美食更看重花费。
接下来依据各个指标计算各个方案的判断矩阵
指标1 | 方案1 | 方案2 | 方案3 |
---|---|---|---|
方案1 | 1 | ||
方案2 | 1 | ||
方案3 | 1 |
花费 | 桂林 | 西藏 | 杭州 |
---|---|---|---|
桂林 | 1 | 1/3 | 5 |
西藏 | 3 | 1 | 4 |
杭州 | 1/5 | 1/4 | 1 |
上面代表的意思是,在花费方面,桂林相比于西藏可能会比去西藏花费的多,相比于杭州可能杭州花费的更多
但是需要注意的是有可能会出现不一致的问题:
交通 | 桂林 | 西藏 | 杭州 |
---|---|---|---|
桂林 | 1 | 2 | 1 |
西藏 | 1/2 | 1 | 4 |
杭州 | 1 | 1/2 | 1 |
该判断矩阵认为:在交通方面 1.去桂林和去杭州一样方便 2.去桂林比去西藏方便 3.去西藏比去杭州方便 综合三点可以明显看出:不符合逻辑了!
因此我们要判断一致性。
一致矩阵应当满足一下关系:各行或各列应当成倍数关系。
因此,在我们使用判断矩阵求权重之前一定要对矩阵进行一致性检验
判断三个条件:
- aij>0(矩阵所有元素均大于0)
- a11=a22=a33=ann=1(主对角线元素为1)
- [ai1,ai2,…ain]=ki[a11,a12,…a1n](各行或各列成倍数关系)
那么应当如何判断呢?
这里我们需要计算一致性指标CI,CI=(
λ
\lambda
λmax-n)/(n-1)
一致性比例CR,CR=CI/RI,其中RI可以通过查表得知
如果计算的CR<0.1,则认为这个判断矩阵可以接受,然后计算权重
然后我们可能想知道,如何根据判断矩阵来计算权重呢?
-
算数平均法:
将判断矩阵按照列归一化(每一个元素除以其所在列的和) -
将归一化的各列相加(按行求和)
-
将相加后得到的向量除以n得到权重向量