首页 > 编程知识 正文

层次分析法建模例题,数学模型期末考试层次分析法

时间:2023-05-05 10:32:43 阅读:117492 作者:4947

目录:

层次分析法概要层次分析法的基本原理结构判断矩阵一致性检查合格的判断矩阵求权重

4.1算术平均法求权重的方法

4.2用几何平均法求权重

4.3模态法求权重总结0. 层次分析法简介

层次分析法(Analytic Hierarchy Process,简称AHP )主要是定量分析定性决策问题的方法。 例如,在日常生活中,我们需要经常进行感性的判断。 比如,报名高考,清华北大觉得很好,到底报哪个; 比如去市场买菜,是买青椒做青椒炒蛋,是买黄瓜炒蛋,还是想去旅游,是去公园a还是去公园b? 这些问题是决策,也称为评价类问题,最终的目的是评价哪个更好。 该方法有时用于数学建模比赛,如美国比赛等比赛,并且对日常生活也有一定的指导。

那么,如何用数学评价体系解决这样一个非常感性的问题呢? 这就是我今天要说的层次分析法。 在此,从浅入深度对层次分析法进行说明。

1. 层次分析法基本原理

下面举一个例子来大致了解层次分析法的基本原理。 如果tsdxg想买一瓶饮料喝,他很苦恼,想做一个模型分析买可乐好,买雪碧好,还是买酱汁好,买哪种饮料好

为了实现这一评价,首先需要确定评价的指标。 例如,这里设定三个指标:饮料的味道、饮料的价格、饮料的健康度。 那么,最直观的量化方法是对各要素进行加权,对各饮料进行评分。 如下表所示。

表中相同颜色的区域总和必须为1。 这是为了标准化。 所以让我们看看这张表。 在评价指标上,tsdxg注重健康。 因为健康被赋予了0.5的权重。 其次是味道0.3,最后是价格0.2。 具体而言,在味道方面,tsdxg为可乐和雪碧相同(0.35 ),果汁稍差的为0.3 ),tsdxg只制作该表,为了计算各饮料的得分,乘以与候选方案的权重对应的评价指标的权重进行相加也就是说:

可乐的最终得分为0.350.3 0.40.2 0.10.5=0.1005;

雪碧的最终得分为0.350.3 0.40.2 0.20.5=0.1505;

汇源果汁的最终得分为0.30.3 0.20.2 0.70.5=0.379;

比较大小可以发现汇源果汁的最终得分最高,所以tsdxg应该选择汇源果汁。

回顾一下,为了量化的评价,有必要决定评价指标和备选方案这两个重要要素,然后分配权重(记住加法和是1 ),最终通过相乘相加得到最终的量化得分,进行最终的评价。

2. 构造判断矩阵

层次分析法是指简单地制作几个权重进行选择吗? 当然,如何客观合理地设定表中的权重很重要,所以这里介绍如何构建判断矩阵。

在现实问题中,往往存在很多评价指标,tsdxg从饮料的味道、价格、健康、瓶盖能否兑水、瓶子是否干净、自己是否是酱汁的代言人……等等,很多评价指标中给出合理的权重是非常重要的tsdxg现在给出的权重和之后给出的权重可能完全不同。 因此,为了简化思维过程,我们先做两个评价指标吧

为了量化两个比较的结果,请不要问评价体系的表(来自哪里。 故乡在很远的地方。 )简言之,在a和b的比较中划分了1到9的重要水平。

例如,如果与饮料的健康性(a )和味道(b )相比,健康明显重要的话,可以说a对b的权重是5。 在那之后,我们开始构建判断矩阵。

上表是判断矩阵。 这个判断矩阵有几个特点,可以看到对角线都是1,对角线对称的元素的乘法都是1。 这样的矩阵也称为正互逆矩阵。

为了更数学地说明,将矩阵的要素定义为a_ij比j更能体现I的重要性。 其中I表示行,j表示列,其中a_ij0且a_ija_ji=1,即对称元素的乘法为1。 i=j时,也就是元素在对角线上时,元素为1。 另外,关于理想地满足a_ij=a_ika_kj这一理想条件,将在后面说明

在组成判断矩阵的过程中,我们的要素是用两个或两个来判断的,所以不是有可能出现问题吗? 答案是可能的。 更改表元素,用绿色标记后,得到了下表

看看第一行吧。 味道比价格重要(味道价格),健康比味道重要(健康味道)。 那么,按照通常的推论健康比价格重要)健康味道的价格)应该得到吗? 但实际上表上写着价格比健康重要)价格健康)。 这产生了矛盾,也就是矛盾。 理想情况下,

因此,理想情况下为a_ij=a_ika_kj。 理想情况下的判断矩阵也有很好的性质,如矩阵成比例,即矩阵的秩为1,但在此不深入讨论。 但是,在大多数情况下,不能达到这样的完美,为了定量评价这种不一致现象的大小,在计算权重之前需要进行一致性的验证。

回顾一下,为了更合理地得到层

次分析法表格中的权重,我们引入了数值为1-9的标度体系,并且用两两比较的方法构建了一个判断矩阵用于之后的权重计算,然而判断矩阵存在不一致的问题,因此我们要从数值的角度评价不一致的大小,以此引出一致性的检验。

3. 一致性检验

为了构建一个一致性的指标来验证矩阵的一致性,学者们主要参考了线性代数中的两个定理:

定理1:若A为一致性矩阵,则A的最大特征值λ_max⁡ = n,其中n为矩阵A的阶,A的其余特征值均为0。

定理2:n阶正互反矩阵为一致性矩阵,当且仅当其最大特征值λ_max⁡ = n,并且当正互反矩阵非一致时,必有λ_max⁡ > n。

从定理2的后半句中,我们可以看到,当一个正互反矩阵为非一致的矩阵的时候必有最大的特征值大于矩阵的阶,所以就想到可以使用最大特征值和矩阵的阶的差值来定义不一致性。这种想法看似复杂,其实超级朴素,比如时间不能倒流,所以出生后经过的年数就定义为你的年龄(年数-0)。

为此就定义了一致性指标CI,CI = (λ_max – n) / (n -1)。也就是说一致性指标CI越大,整个矩阵就越不一致,当CI是0的时候是完全理想的一直矩阵。(难道这不应该叫不一致性指标么???)

另外,为了得到计算出来的一致性指标到底是大还是小,我们又构建了平均随机一致性指标RI,该指标的构建方法是随机构建1000个正互反矩阵,并计算一致性指标的平均值。这里的RI也就是说当矩阵的阶数为n的时候随机的平均一致性。这相当于一把尺子,告诉大家如果完全随机(瞎蒙)的填写这个判断矩阵的结果的话,那么你的一致性指标的期望就大概是这个RI的值。RI如何计算呢?查表就可以了。

当CI和RI的比值小于0.1的时候,我们认为这个矩阵是一致的,也就是说你矩阵的一致性指标,要比平均的瞎蒙的一致性指标小一个数量级的时候,我们认为你就不是乱猜的了。这样我们就构建了我们的一致性比例CR = CI/ RI。如果说一个正互反矩阵的一致性比例没有小于0.1,那么就需要调整矩阵以满足要求。

举个例子,我们以这个判断矩阵为例,计算它是否满足一致性的要求,第一步是计算其最大的特征值,在matlab中,我们可以使用[x,y] = eig([1,3,1/5;1/3,1,1/6;5,6,1]); l_max = max(diag(y)); 计算得到,最后计算得到的最大特征值为3.0940, 我们可以看到这个值满足我们定理2中所说的要比矩阵的阶数3大。CI = (l_max -3) / ( 3 -1 ); 计算CI值是0.0470。RI值通过查表得到是0.52,最后我们的RI值就是CI/RI = 0.0904 < 0.1 所以这个矩阵满足一致性的要求。

回顾一下,这里主要讲如何验证矩阵的一致性,为了验证一致性构造了一致性比例CR,满足CR小于0.1的就认为该判断矩阵合理,不满足的就要对判断矩阵进行调整,得到合理的判断矩阵,得到合理的判断矩阵之后,就可以进行最初的,层次分析法的计算了。

4.一致性检验通过的判断矩阵求权重

得到了合理的判断矩阵我们这里就要计算每个影响因素所占的权重,这里主要有三种方法,算数平均法,几何平均法,和特征值法求权重
4.1 算数平均法求权重:(列归一化,行平均值)
对每列进行归一化处理,并且按照行求平均值就得到了我们最终的权重,这是最简单的计算方法,具体的方法如下:step1:列归一化,
最左上角的元素归一化就是1/(1+1/3+5)=0.18;
第一行第二个元素的计算方法就是3/(3+1+6)=0.30以此类推;

Step2:行平均值:
口味:(0.18+0.30+0.17)/3 = 0.22;
价格:(0.06+0.10+0.14)/3 = 0.10;
健康:(0.88+0.60+0.83)/3 = 0.77;
正常权重的加和是1,这里因为四舍五入的原因有一定的偏差。得到了权重之后,我们就可以写入最开始的表格了(还记得嘛?在算了这么多之后一定要牢记使命,别忘了最开始计算这些东西的目的是什么)

4.2 几何平均法求权重:(行相乘开n次方,列归一化)

这里的计算方法就是将行的元素都相乘,然后再开对应的n次方,并对得到的n个数字进行归一化即可。

4.3 特征值法求权重:(最大特征值的特征向量归一化)

特征值法其实是应用最多的一个方法,就是求最大特征值所对应的特征向量并进行归一化处理,matlab的计算方法如下:[x,y] = eig([1,3,1/5;1/3,1,1/6;5,6,1]); vec_max = x(:,1);得到的vec_max就是最大特征值对应的特征向量了。在本例中是0.26,0.12,0.96在对其进行归一化的处理,得到0.19,0.09,0.72 这样我们就用另一种方法求得了权重。

回顾一下这里介绍了三种不同的方法对判断矩阵的权重进行计算。除了这三个影响因素的判断矩阵以外,具体的表格中可乐,雪碧和汇源果汁的判断矩阵构造方法也是一样的。只需要列出以下的表格,检验一致性并最终计算即可。

5. 总结
以上就是层次分析法的全部过程,有几个小的问题需要进一步的讲解,当判断矩阵不满足一致性的时候我们调整的方法就是重新梳理整个矩阵的各个元素,可以利用理想状态下,行和列的元素成比例的性质进行微调。另外,层次分析法考虑的因素不能过多,不论是候选的种类,还是评价的指标都不能太多。除此之外,层次分析法主要是在主观的评价体系中进行决策,或者满意度的评价,当在一个问题中,已经有很多已知的数据的时候,这种方法就显得不太好了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。