说说AHP

我的第1篇博客(说说AHP)

这是本人的第1篇博客,之前想过写博客的,但是Markdown不会,本人自学了一段时间,可以使用Markdown了,就想着,写个博客吧,顺便也是对自己的提升锻炼

这篇博客主题是关于AHP的,因为本人在学习有关数学建模的一些知识,第一个讲的就是这个算法,下面我就简单说一下这个算法的一些知识吧(有用的话就关注一下作者吧,会更新很多好内容)

1.什么是AHP?

在日常生活中,我们经常遇到一些决策问题,例如购物,买一种商品,往往要根据它的价格、实用性、外观等方面考虑买哪种商品。购买食物,则要依据色、香、味、以及价格等的因素选择某种食材。过去人们处理这些问题往往是主观印象分析,随意性较大而且缺少科学性,因而有时常常造成重大的失误。

AHP(层次分析法)是将决策问题定量化处理的一种有效手段。

2.AHP的基本步骤

  • 建立决策模型
    既然要决策,就要首先建立决策模型 一般是分3层,第1层是目标(决策目标),第2层是因素(价格、实用性等),第3层是选择(可供选择的具体方案)这里建议可选方案不超过10个,心理学认为,人能准确判断优劣程度的最大数目是10个,超过这个范围就会产生较大的判断错觉。比如我们平常购物,面对琳琅满目的商品常常会眼花缭乱,难以选择购买哪种商品。

  • 构造对比较阵(权重矩阵)
    这里就是定量思想的应用,引入一个量——权重(weight),人们对某个因素更为关心,往往会给与它比较高的权重,也就是若A的权重高于B,那么认为A比B更重要。更倾向于选择A。我们用两两比较的方法将各因素的重要性量化(两个东西进行比较,最能比较出它们的相对优劣程度)
    具体做法是: 每次取两个因素 x i x_i xi x j x_j xj ,用正数 a i j a_{ij} aij 表示 a i a_i ai a j a_j aj 的重要性之比。全部比较结果得到的矩阵称为对比矩阵(也称为正互反矩阵)。
    显然,对于一个正互反矩阵,有以下结论
    a i j > 0 a_{ij}>0 aij>0 \quad a i j × a j i = 1 a_{ij}\times a_{ji}=1 aij×aji=1 \quad i , j = 1 , 2 , 3........ n i,j=1,2,3........n i,j=1,2,3........n
    如何选取 a i j a_{ij} aij呢?萨迪提出了一种方法:用 1 ∼ 9 1\sim9 19及其倒数作为标度,意义如下表
    说说AHP_第1张图片
    在每两个等级之间有一个中间状态 2 , 4 , 6 , 8 2,4,6,8 2,4,6,8,表示介于两者之间
    如何获取这些值呢?————最简单的方法就是询问得知,让决策人自己决定,从而得到矩阵。
    但是,有时如果决策人对这些因素重要性的比较具有逻辑的绝对一致性,即 a i j × a j k = a i k a_{ij}\times a_{jk}=a_{ik} aij×ajk=aik
    那么我们称这样的对比矩阵为一致矩阵。需要注意的是,这只是偶尔的情况,我们没办法使其总是完全一致。
    那么如何检验矩阵 A A A 的一致性呢?显然对 A A A中的每个元素用 a i j × a j k = a i k a_{ij}\times a_{jk}=a_{ik} aij×ajk=aik来讨论是很麻烦的,由线性代数有关知识可以证明: n n n 阶对比矩阵 A A A是一致阵,当且仅当 A A A的最大特征值 λ m a x = n \lambda_{max}=n λmax=n。因此计算 A A A的最大特征值就可判断 A A A是否是一致阵。如果 A A A不是一致阵,还可以证明得 λ m a x > n \lambda_{max}>n λmax>n ,而且 λ m a x \lambda_{max} λmax越大,一致性越低。

  • 一致性检验
    可以看出矩阵 A A A的不一致性是不可避免的,但只要它的不一致性不是很严重,我们还是可以接受的。所以,科学家给出了一个衡量可接受的指标以及寻求该指标的方法。共分3步:
    (1)计算一致性的指标CI(consistency index)用来衡量 A A A 的不一致程度
    C I = λ m a x − n n − 1 CI=\dfrac{\lambda_{max}-n}{n-1} CI=n1λmaxn
    (2)查找相应的平均随机一致性指标RI(random index)。
    我们可以用排列组合的方法将所有的可能矩阵( A 1 A_1 A1, A 2 A_2 A2,… A k A_k Ak)全部找到。它们这些3阶阵构成一个样本空间(集合)。算出每个矩阵的最大特征值,再取平均值,得到 C I ′ = R I CI'=RI CI=RI。再计算 s = C I R I s=\frac{CI}{RI} s=RICI我们认为若 s s s< 1 10 \dfrac{1}{10} 101 就说 A A A的不一致程度是可接受的
    R I = λ m a x ′ − n n − 1 RI=\dfrac{\lambda'_{max}-n}{n-1} RI=n1λmaxn
    (3)计算一致性的比例CR(consistency ratio)
    C R = C I R I CR=\dfrac{CI}{RI} CR=RICI
    结论:当 C R < 0.1 CR<0.1 CR<0.1时,认为矩阵 A A A的不一致性是可以接受的,否则应修改比较阵,直至达到可接受的标准为止。

  • 计算权重向量
    当我们构造出了可接受的对比矩阵 a i j a_{ij} aij ,我们就可以计算此层中 n n n因素在目标中所占的比重,将这些比重写成向量并归一化即得权重向量 ω = ( ω 1 , ω 2 , . . . . ω n ) T \omega=(\omega_{1},\omega_{2},....\omega_{n})^T ω=(ω1,ω2,....ωn)T
    下面是权重向量的几种常见求法:
    (1)算术平均值法:取对比矩阵 A A A的 n个行向量归一化后的算术平均值近似作为权重向量。
    (2)特征值法:求矩阵 A A A的最大特征值所对应的特征向量并进行归一化即可作为权向量(这是一种更精确的方法)。
    此外还有几何平均值法、最小二乘法等。

  • 求各方案的综合得分 确定最优方案
    前面我们求的都是在一层中各因素的权重,这个过程称为单层次排序。不妨设权重向量为 ω = ( ω 1 , ω 2 , . . . . ω n ) T \omega=(\omega_{1},\omega_{2},....\omega_{n})^T ω=(ω1,ω2,....ωn)T ,而有 l l l个方案可供选择,且每个方案的权重向量分别为 β 1 , β 2 . . . β l \beta_1,\beta_2...\beta_{l} β1,β2...βl。那么每个方案对最终目标的影响程度 ( r 1 , r 2 , . . . . r n ) T (r_{1},r_{2},....r_{n})^T (r1,r2,....rn)T 就可以通过下面的公式算出来了。
    ( r 1 , r 2 , . . . . r n ) T = ( β 1 , β 2 . . . β l ) l × n × ( ω 1 , ω 2 , . . . . ω n ) T (r_{1},r_{2},....r_{n})^T=(\beta_1,\beta_2...\beta_{l})_{l\times n}\times (\omega_{1},\omega_{2},....\omega_{n})^T (r1,r2,....rn)T=(β1,β2...βl)l×n×(ω1,ω2,....ωn)T
    其中 r k r_k rk就是第k个方案在目标中所占的比重,也就是第k个方案的最终得分,得分最高的方案即为最优方案。

说了这么多,这个方法是不是毫无缺点呢?当然不是!
层次分析法的不足:
(1)它只能从现有的方案中选择出较优的一个,并不能提供出一个新的或是更好的方案来。
(2)该方法中的比较,判断以及结果都是比较粗的,并不适合精确的计算。
(3)建立层次结构及对比矩阵,人的主观因素还是占了很大比例,这是一个无法完全克服的缺点。(但我们可以让多个专家来做出判断,或者以广泛问卷调查方式得出对比矩阵。)

这里给各位正在准备建模比赛的或者想要学习数学建模的朋友推荐一个不错的课程https://www.bilibili.com/video/BV1DW411s7wi?t=1797,b站可以试看,购买完整课程可以通过这个链接
https://weidian.com/?userid=1372657210 (请用浏览器打开链接,或者下载微店app搜索数学建模)
本人没有和任何广告商合作收取广告费,只是觉得这个课程不错,推荐给各位需要的朋友。

你可能感兴趣的:(笔记,数学建模)