建模方法(九)-层次分析法(AHP)算法和应用

版权声明:本文为博主编写文章,未经博主允许转载,转载请注明出处: https://blog.csdn.net/qq_39742013/article/details/82084316

问题提出
1.买钢笔,一般要依据质量、颜色、实用性、价格等方面的因素来选择某一只钢笔。
2.我们如果想要给一些问题的指标设定权重,而又减弱主观因素在里面。
对于这些问题我们都可以使用AHP算法,让结果尽量接近实际。AHP可以解决给指标计算权值,可以帮助我们对可选方案做决策。

层次分析算法的思想
他依靠目标与影响目标的因素的联系紧密程度给各个指标或者候选方案赋予一个权值。

算法步骤
一、建立层次结构模型
当我们需要做买哪支钢笔的决策时,需要三层。
这里写图片描述
这是比较常用的结构,算法从上到下分析,先分析准则层(即影响目标因素)各个指标与目标层的的联系紧密程度,得到一个一维权值向量,然后我们分析方案层各个指标与准则层每个指标的紧密程度,有多少个准则层的指标就得到多少个权重向量。我们的目标肯定是分析方案层和目标层联系的紧密程度然后选出一个紧密程度最大的方案,这个方案就是最后结果。

二、构造成对比较矩阵
什么是成对比较矩阵?这个东西是我们认为设定的。举个例子:
这里写图片描述
B1…B6指的是准则层的各个指标,A是目标层。姑且我们把这个例子看作选钢笔,B1是“质量”,B2依次类推。拿第三行第二列的元素1/2来说,他表示在买钢笔这个目标下,我们更看重B3即价格,而相对价格来说不太看重B2即颜色,可以这么理解B3代表一个重要程度值为6,B2有个重要程度值为3,那么他们的相对重要程度可以用B3/B2来表示,这个就是1/2的由来,显然有aij=1/aji(aij为比较矩阵的元素),整数取值一般在1-9之间,分数为1/9-1。
这里写图片描述
比较矩阵有很多个,从第一层到次低层每个指标都有一个比较矩阵,他们的目标都是为了计算当前考虑的指标与下一层指标的紧密(影响)程度即权值。在对多个指标进行比较时,人们的判断难以保持完全一致性。为了使对影响指标重要性的比较具有逻辑的一致性,要进行一致性检验。

三、层次单排序及一致性检验
层次单排序:确定该层各指标对上层某指标紧密程度的过程,一个比较矩阵的最大特征值对应的特征向量即为最后的权值向量,但前提是矩阵满足一致性检验。
一致性检验简单理解就是依照下面定理进行检验:
n阶互反阵A的最大特征根λ≥n,当且仅当λ=n时,A为一致阵。(互反矩阵指aij=1/aji即我们的比较矩阵)
很容易想到这个一般是不会满足的。所以这里给出一致性指标的定义。
在确定了各个比较矩阵以后,我们需要对这些矩阵计算一致性标准,即
这里写图片描述
λ是指比较矩阵的最大特征值,n为矩阵维度。
这里写图片描述
A指一个比较矩阵。这个RI是不用我们自己算法,他有一个对应于不同矩阵维度的表:
这里写图片描述
一致性检验:利用一致性指标和一致性比率<0.1及随机一致性指标的数值表就可以轻松进行矩阵的一致性检验。
上述CR称为层次单排序的一致性检验的公式,单排序即只涉及两层,一般涉及三层叫做总排序。

四、层次总排序及其一致性检验
得到上下层的权值向量,我们还没有完成最终目标。这里写图片描述
不用太在意排序什么意思,简单理解就是一个权值序列,这些序列即为上诉中的权值向量得到。
这里写图片描述
b1来说,这里让B层即最下层的B1指标对上一层指标紧密程度权值乘以上层这个指标与目标的权值,然后求和。可以理解为拿买钢笔来说,红色钢笔这个方案与质量、颜色、价格等有一个紧密程度,而质量、颜色、价格等又与目标买钢笔又有一个紧密程度,这样可以计算红色钢笔与买钢笔的紧密程度。
最后进行一致性检验。
这里写图片描述
只要满足一致性,得到的最后第三层对目标层的紧密程度的权值就是最后我们想要的,整个算法体现了层次性。

总结
层次分析法不仅适用于找最优方案,也适合设置权值,只不过把第三层方案层变为了第二级指标。这里附上我数学建模的建模过程:
这里写图片描述
这里写图片描述
这里写图片描述

这里附一个数学建模使用AHP算法例子:
https://blog.csdn.net/ty13572053785/article/details/80191315

猜你喜欢

转载自blog.csdn.net/qq_39742013/article/details/82084316