精华内容
下载资源
问答
  • AHP层次分析法

    万次阅读 多人点赞 2014-02-21 01:07:12
    在比赛中,我们运用了层次分析法(AHPAnalytic Hierarchy Process)进行建模,好不容易理解了这一方法的思想,在自己的博客里记录一下,希望可以帮助初次接触层次分析法的人,更快地理解这一的整体思想,也利于...

    2014年参加数学建模美赛, 其中一道题是选出5大优秀教练,数据来源要求自行寻找。 在比赛中,我们运用了层次分析法(AHPAnalytic Hierarchy Process)进行建模,好不容易理解了这一方法的思想,在自己的博客里记录一下,希望可以帮助初次接触层次分析法的人,更快地理解这一的整体思想,也利于进一步针对细节进行学习。文章内容主要参阅 《matlab数学建模算法实例与分析》,部分图片来源于WIKI

     

     

    文章分为2部分:

    1第一部分以通俗的方式简述一下层次分析法的基本步骤和思想

    2第二部分介绍一下我们队伍数学建模过程中,对层次分析法的应用,中间有些地方做了不严谨的推理,例如关于一致性的检验,如有人发现不正确,希望可以指正

     

    第一部分:

     

    层次分析法(Analytic Hierarchy Process ,简称 AHP )是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家T. L. Saaty 教授于上世纪 70 年代初期提出的一种简便、灵活而又实用的多准则决策方法。

    人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。 


    运用层次分析法建模,大体上可按下面四个步骤进行: 
    (i )建立递阶层次结构模型; 
    (ii )构造出各层次中的所有判断矩阵; 
    (iii )层次单排序及一致性检验; 
    (iv )层次总排序及一致性检验。 

     

    这四个步骤中,前两个步骤最容易理解,后两个步骤需要一点时间理解

     

    首先从层次结构模型说起

    层次分析法是用来根据多种准则,或是说因素从候选方案中选出最优的一种数学方法

    最顶层是我们的目标,比如说选leader,选工作,选旅游目的地

    中间层是判断候选方物或人优劣的因素或标准

    选工作时有:发展前途  ,待遇 ,工作环境等

    选leader时有:年龄,经验,教育背景,魅力

     

    在分层以后,为了选出最优候选

    给目标层分配值1.000

    然后将这一值作为权重,分配给不同因素,对应因素的权重大小代表该因素在整个选择过程中的重要性程度

    然后对于候选方案,每一个标准再将其权重值分配给所有的候选方案,每一方案获得权重值,来源于不同因素分得的权重值的和

     

    如下图:

                目标层分配值为1, 然后我们给了4个候选方案评估标准 criterion 1 、 criterion 2、criterion 3、criterion 4

                假设我们认为这四个标准同等重要, 于是目标层的值1 就被均分到 4个准则上, 每个准则获得的值为 0.25

                然后我们从评估标准 criterion 1 出发, 考虑在该评估标准下, 3 个候选方案的优劣比如何。 假如我们认为在标准1 的衡量下,   3 个方案完全平等, 方案1 在该标准下的得分就应该是: 0.25 * (1/3) 

               同理, 如果我们假设剩下的 3 个标准下, 3个候选方案都是平分秋色, 那么方案 1 的最终得分就应该是

               0.33 =  0.25 * (1/3)   +   0.25 * (1/3)   +  0.25 * (1/3)  +  0.25 * (1/3) 

               最终获得的各个方案的的权重值的和依然为1

     

    这不就是一个简单的权重打分的过程吗?为什么还要层次分析呢。这里就有两个关键问题:

    1每个准则(因素)权重具体应该分配多少

    2每一个候选方案在每一个因素下又应该获得多少权重

     

    这里便进入层次分析法的第二个步骤,也是层次分析法的一个精华(构造比较矩阵(判断矩阵)comparison matrix):

     

    首先解决第一个问题:每个准则(因素)权重具体应该分配多少?

    如果直接要给各个因素分配权重比较困难,在不同因素之间两两比较其重要程度是相对容易的

     

    现在将不同因素两两作比获得的值aij  填入到矩阵的 i 行 j 列的位置,则构造了所谓的比较矩阵,对角线上都是1, 因为是自己和自己比

    这个矩阵容易获得,我们如何从这一矩阵获得对应的权重分配呢

    这里便出现了一个比较高级的概念,正互反矩阵和一致性矩阵

    首先正互反矩阵的定义是:

     

    我们目前构造出的矩阵很明显就是正互反矩阵

     

    而一致性矩阵的定义是:


    这里我们构造出的矩阵就不一定满足一致性,比如我们做因素1:因素2= 4:1  因素2:因素3=2:1    因素1:因素3=6:1(如果满足一致性就应该是8:1),我们就是因为难以确定各因素比例分配才做两两比较的,如果认为判断中就能保证一致性,就直接给出权重分配了

     

    到了关键部分,一致性矩阵有一个性质可以算出不同因素的比例

     

    这里的w就是我们想要知道的权重,所以通过 求比较矩阵的最大特征值所对应的特征向量,就可以获得不同因素的权重,归一化一下(每个权重除以权重和作为自己的值,最终总和为1)就更便于使用了。(实际上写这篇博客就是因为,重新翻了线代的书才好不容易理解这里的,就想记录下来)

     

    这里补充一点线性代数的知识:

        n阶矩阵有n个特征值,每个特征值对应一个n维特征列向量,特征值和特征向量的计算方法这里就省略了,反正书中的程序是直接用matlab 的eig函数求的

     

    这里不能忘了,我们给出的比较矩阵一般是不满足一致性的,但是我们还是把它当做一致矩阵来处理,也可以获得一组权重,但是这组权重能不能被接受,需要进一步考量

    例如在判断因素1,2,3重要性时,可以存在一些差异,但是不能太大,1比2重要,2比3 重要,1和3比时却成了3比1重要,这显然不能被接受

     

    于是引入了一致性检验:

              一致性的检验是通过计算一致性比例CR 来进行的

              

              当 10 . 0 < CR 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。 

     

    CI的值由判断矩阵计算获得,RI的值查表获得,具体的计算公式这里就略去,重点是理解为什么要做一致性检验

     

     

    接下来解决第二个问题:每一个候选方案在每一个因素下又应该获得多少权重

     

    这里则需要将不同候选方案,在不同因素下分别比较,具体的比较方法,还是使用比较矩阵,只不过之前准则层的比较矩阵比较的对象是因素,这里比较的是某一因素下,候选方案的优劣, n个因素则需构造出来n个比较矩阵

    例如在工作环境的因素下,工作1与工作2相比为 :4:2,工作2与工作3=2:1  工作1:工作3=6:1.,这样构造一个矩阵,再用之前的一致性矩阵的方法就可以求出一个权重,然后相对应因素(这里是工作环境)所拥有的权值就可以按这个权重比例分配给不同候选物或人。

     

    其他因素同理

     

     

    至此两个问题就都得到了解决

    最终将每个候选物、人从不同因素获得的权值求和,就可以得到不同候选对于目标层的权值大小,继而可以根据值的大小,来选出优劣

     

    对于第一部分的总结:

     

    • 通过对层次分析法的基本了解,不难发现层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为科学管理和决策提供了较有说服力的依据。 

     

    • 但很明显的缺点是,整个分析过程似乎都是依赖于人的主观判断思维,一来不够客观,二来两两比较全部人为完成,还是非常耗费精力的,尤其是当候选方案比较多的时候

     

     

     

    文章的第二部分:


    层次分析法的变形应用(也可能本来就是这样用的,只不过参考书上没这样说,外语
    论文没细看)解决最优教练选择问题

     

    目标:选最优教练

     

    准则:  

     

     

    1. 职业生涯所带队伍的胜率      
    2. 职业生涯所带队伍的胜场            
    3. 从教时长(年)          
    4. 职业生涯所带队伍获奖状况(化成分数)

     

      

    候选:  众多教练

     

    准则层比较矩阵获得

     

     

    • 准则层的比较矩阵好构造 ,作6次两两比较,就可以获得4*4的比较矩阵

     

     

    候选层比较矩阵

     

    每一个准则对应下来的 候选层 已经有定量的数据了。 这里其实就不再需要候选层比较矩阵了, 因为有4000个教练的话, 得比4000*3999次,可以直接利用定量的数据计算权重

    • 例如“职业生涯所带队伍的胜场” 这一准则对应到每个教练都有直接相应数据的,例如教练 A, B, C 职业生涯所带队伍胜场数为 100,150, 90. 此时该准则下得到的分数, 就应当按照 10:5:9 的比例来进一步划分。 

     

    类似的,胜率准则 下就根据  “胜率   计算权重分配比例。 从教时长准则下就根据 “从教时间的年数” 计算权重分配比例

     

    这里又有两点可以注意:

     

    1.不同因素下数据的量纲和性质不一样,直接用数据作比来分配,不一定合适,比如胜率越要接近1越难,0.7比胜率0.5  和胜率0.9比0.7  ,后者比值比前者小,这显然不合适。这里可以利用指数函数和对数函数对数据先做一次处理, 再作为权重分配的依据。

     

    2.这里的用定量数据作比获得的矩阵显然满足一致性要求,不需要做一致性检验。以职业生涯所带队伍的胜场数为例,如果教练 A, B, C 职业生涯所带队伍胜场数为 100,150, 90。 那么 A:B :C 无论怎么作比, 都不会违反 10:15:9 的一致性。 

     

    综上就对层次分析法完成了定性定量结合的应用,以及对多个候选方案的比较(其实只是就是用程序控制数据作比,我们水平有限,能成功应用该方法已经不容易了)

     

    很遗憾的是比赛时编写的代码存放的优盘不慎丢失, 没有办法把代码共享出来, 这里只能将书中的代码贴出。比赛建模时, 就是在这个代码基础上进行修改实现。 只要理解了下列代码,编写符合自己需求的程序, 应当是水到渠成的事。

     

     

     

     matlab 代码(对应于文章第一部分选 Leader 的内容):

     

     

    clc,clear
    fid=fopen('txt3.txt','r');
    n1=6;n2=3;
    a=[];
    for i=1:n1
    	tmp=str2num(fgetl(fid));
    	a=[a;tmp]; %读准则层判断矩阵
    end
    for i=1:n1
    	str1=char(['b',int2str(i),'=[];']);
    	str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
    	eval(str1);
    	for j=1:n2
    		tmp=str2num(fgetl(fid));
    		eval(str2); %读方案层的判断矩阵
    	end
    end
    ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
    [x,y]=eig(a);  % matlab eig(a) 返回矩阵的特征值和特征向量, 这里的 x 为矩阵 a 的 n 个特征向量, y 为矩阵 a 的 n 个特征值
    lamda=max(diag(y));  %  eig 函数返回的 y 是矩阵形式保存的, dig(y) 提取对角线上的n 个特征值到一个数组中, 求出最大特征值 lamda
    num=find(diag(y)==lamda);  % 返回最大特征的索引
    w0=x(:,num)/sum(x(:,num));  % x( :num) 为最大特征值所对应的那一列特征向量。 w0 中准则层计算出的 包含归一化后的n 个权重值
    cr0=(lamda-n1)/(n1-1)/ri(n1)
    
    for i=1:n1 % 循环 n 个维度, 针对每个维度, 都计算一次方案层的比较矩阵及其权重值
    	[x,y]=eig(eval(char(['b',int2str(i)])));
    	lamda=max(diag(y));
    	num=find(diag(y)==lamda);
    	w1(:,i)=x(:,num)/sum(x(:,num));
    	cr1(i)=(lamda-n2)/(n2-1)/ri(n2);
    end
    cr1, ts=w1*w0, cr=cr1*w0

     

    txt3.txt 中的内容, 前6行为准则层的 6 x 6 比较矩阵, 后 18 行则为 6 个准则下, 各自的 3 x 3 的比较矩阵。 

    1 1 1 4 1 1/2
    1 1 2 4 1 1/2
    1 1/2 1 5 3 1/2
    1/4 1/4 1/5 1 1/3 1/3
    1 1 1/3 3 1 1
    2 2 2 3 3 1
    1 1/4 1/2
    4 1 3
    2 1/3 1
    1 1/4 1/5
    4 1 1/2
    5 2 1
    1 3 1/3
    1/3 1 1/7
    3 7 1
    1 1/3 5
    3 1 7
    1/5 1/7 1
    1 1 7
    1 1 7
    1/7 1/7 1
    1 7 9
    1/7 1 1
    1/9 1 1

     

    再上一段 JAVA 代码, 方便 JAVA 童鞋参考, 这部分仅仅展示了如何用JAVA 代码进行准则层比较矩阵计算 。 

     

    import org.apache.commons.math3.linear.*;
    
    
    public class MatrixTester {
        public static void main(String[] args) {
    
            // Create a real matrix with two rows and three columns, using a factory
            // method that selects the implementation class for us.
            double[][] matrixData = {   {1d,    1d,     1d,     4d,     1d,     1d/2d},
                                        {1d,    1d,     2d,     4d,     1d,     1d/2d},
                                        {1d,    1d/2d,  1d,     5d,     3d,     1d/2d },
                                        {1d/4d, 1d/4d,  1d/5d,  1d,     1d/3d,  1d/3d },
                                        {1d,   1d,     1d/3d,  3d,     1d,     1d },
                                        {2d,    2d,     2d,     3d,     3d,     1d },
                                    };
            RealMatrix m = MatrixUtils.createRealMatrix(matrixData);
    
    
    
            // One more with three rows, two columns, this time instantiating the
            // RealMatrix implementation class directly.
            double[][] matrixData2 = {{1d, 2d}, {2d, 5d}, {1d, 7d}};
            RealMatrix n = new Array2DRowRealMatrix(matrixData2);
    
            // Note: The constructor copies  the input double[][] array in both cases.
            // Now multiply m by n
    //        RealMatrix p = m.multiply(n);
    //        System.out.println(p.getRowDimension());    // 2
    //        System.out.println(p.getColumnDimension()); // 2
    //
    //        // Invert p, using LU decomposition
    //        RealMatrix pInverse = new LUDecomposition(p).getSolver().getInverse();
    
    
            RealMatrix D = new EigenDecomposition(m).getD();
            RealMatrix V = new EigenDecomposition(m).getV();
    
            for(int i=0; i<D.getRowDimension();i++)
            {
                System.out.println(D.getRowMatrix(i));
            }
    
            for(int i=0; i<V.getRowDimension();i++)
            {
                System.out.println(V.getRowMatrix(i));
            }
    
            // 特征值
            double maxLamda;
            int columIndexForMaxLamda=0;
            maxLamda=D.getEntry(0,0);
    
            for(int i =0, j=0; i<D.getRowDimension()&&j<D.getColumnDimension();i++,j=i)
            {
                double lamda = D.getEntry(i,j);
                if(maxLamda<lamda)
                {
                    maxLamda=lamda;
                    columIndexForMaxLamda = j;
                }
                System.out.println(lamda);
            }
    
            // 输出尚未做归一化 w1, w2, w3, w4, w5, w6 , 
            System.out.println(V.getColumnMatrix(columIndexForMaxLamda));
    
        }
    }
    

     

     

    展开全文
  • ahp层次分析法

    2018-09-16 15:01:11
    层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标...
  • 本文将为大家介绍AHP层次分析法究竟是什么,并以门店选址为例,展示了如何用AHP层次分析法实现的步骤。一、什么是AHP层次分析法AHP定义:AHP是对定性问题进行定量分析的一种多准则决策方法。使用场景:为了解决某一...

    本文将为大家介绍AHP层次分析法究竟是什么,并以门店选址为例,展示了如何用AHP层次分析法实现的步骤。

    283a09c6df31c0b5e7bc76c3311fabf0.png

    一、什么是AHP层次分析法

    AHP定义:AHP是对定性问题进行定量分析的一种多准则决策方法。

    使用场景:为了解决某一问题,而该问题会受到多种因素的影响,通过系统性的给各因素赋予权重值,最后通过量化的方式决策出合理的方案。

    二、AHP层次分析实现步骤

    2.1 建立阶梯层次模型

    按目标层、准则层、方案层进行划分:

    • 目标层:即需解决的目标问题是什么? 例如本次的目标是:帮助企业开发选址人员选址合适的门店地址;
    • 准则层:影响目标的因素是什么?例如:商圈类型、门店规模、客流数、租赁条件;将有关因素自上而下分层,上层受下层影响,同层因素相对独立。
    • 方案层:备选方案是什么? 如:海淀区2号街、昌平区3号街、朝阳区4号街、丰台区5号街
    91dfa92de1b10a7989573a54f95f29f8.png

    2.2 构造判断矩阵

    用成对比较法和1~9尺度构造判断矩阵,将准则层各因素两两比较按照专家建议的1~9尺度进行定量描述。

    adc3269a6baecf6a439f30e9b758ab52.png

    尺度表如下图所示,两两因素比较,给出合理的量化值:

    e8d1eaf2de7445c9ef681285e8abb998.png

    2.3 计算单排序特征向量和一致性检验

    这一步骤的目的就是计算准则层各因素的权重(特征向量)以及校验上一步骤打分的合理性,不合理则需重新进行打分。

    首先我们要计算各因素的权重(特征向量):对矩阵A做归一化,算出特征向量W,如下图所示:

    4de773554a9c584a71efcefe523f4923.png

    得到特征向量W即每个因素对目标重要程度所占比例,如下图所示:

    1783f5d1e271db78d9e089312dd85c49.png

    最后我们要检查是否合理,计算一致性比率CR=CI/RI ,当CR<0.1 时,代表通过检验。

    CI=(λ-n)/(n-1)

    CI代表一致性指标,RI 代表随机一致性指标,λ代表特征值,n代表矩阵阶数。

    这里n=4,所以CI=(λ-n)/(n-1)= 0.06838256622346665。

    RI在业界有通用的值,这里RI=0.90,如下图所示:

    CR=CI/RI = 0.07683434407131084 <0.1 一致性校验通过

    2.4 计算总排序特征向量和一致性检验

    计算最下层对最上层的特征向量以及校验方案合理性。

    首先我们计算商圈类型对4个方案的特征向量值,构造商圈类型判断矩阵,如下图所示:

    518ff7e4701e95919c0ed8e149d76ec1.png

    按照上述相同方法计算商圈类型特征向量,如下图所示:

    6af9f84feae1c270af6639ff75cb9757.png

    同理计算出门店规模、客流数、租赁条件相对应的特征向量值,如下图所示:

    7344b402c90b4bd3bd879ad24702b80f.png

    计算海淀区2号街对总目标的权重值:最后得分为=0.314 ,如下图所示:

    69a43070681f09e82347f2e1d1aeaeda.png

    同理计算其它方案对总目标的权重值,如下图所示:

    d5de18b35c83a5c8147db142b43723dc.png

    结论:由于昌平区3号街得分最高,所以我们选择该地址为最佳方案。

    三、AHP层次分析总结

    AHP特点是把复杂问题中的各个因素通过划分为相互联系的有序层次,使之条理化,把专家意见和分析者的客观判断结果直接有效结合起来,将一层次元素两两比较的重要性进行定量描述。而后,利用数学方法计算反映每一层次元素的相对重要性次序的权值,通过所有层次之间的总排序计算所有元素相对权重并进行排序。

    • AHP优势:系统性的分析方法,具有条理性和简洁性,所需定量信息较少。
    • AHP缺点: 不能为决策者提供新方案,只能从备选方案中选择较优者,定性成分多,不易令人信服,指标过多时,统计数据过大,且权重难以确定,特征值和特征向量的精准求法比较复杂。

    本文由 @Gabriel 原创发布于人人都是产品经理,未经作者许可,禁止转载。

    题图来自Unsplash,基于CC0协议。

    展开全文
  • (一)、什么是AHP层次分析法?层次分析法就是一种定性与定量相结合、系统的、层次化的分析方法;这种方法的特点就是在对复杂决策问题的本质、影响因素及其内在关系等进行深入研究的基础上,利用较少的定量信息使决策...

    (一)、什么是AHP层次分析法?

    层次分析法就是一种定性与定量相结合、系统的、层次化的分析方法;
    这种方法的特点就是在对复杂决策问题的本质、影响因素及其内在关系等进行深入研究的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。是对难以完全定量的复杂系统做出决策的模型和方法。

    (二)、为什么要用AHP层次分析法?

    我们在对复杂问题做决策分析的时候,影响决策的因素有很多种,如何去判断和衡量不同指标因素的重要性?这时候借助AHP层次分析法,能够更简洁、更系统的分析不同因素的权重,从而辅助决策;

    (三)、怎么用AHP层次分析法?

    AHP层次分析法的步骤:
    1、建立层次结构模型;
    2、构造判断(成对比较)矩阵;
    3、层次单排序及其一致性检验;
    4、层次总排序及其一致性检验;

    (四)、案例分析

    下面,我以具体的案例来演示AHP层次分析法的使用步骤:
    案例背景:
    外卖吃什么?吃哪一家?这是我们在生活中经常遇到的一个场景,
    我以AHP层次分析法来分析,我们如何选择外卖?

    目标层:选择外卖,吃什么;
    准则层:味道、包装、配送、价格;
    方案层:张三烧腊、李四煲仔饭、王五汉堡;

    1、建立层次结构模型:

    0c835622e2762bab96c5a3cd749ef974.png

    2、构造判断(成对比较)矩阵;
    当层次结构模型建立完成,决策专家根据不同因素的重要性,专业评估每一项因素的权重值;建立成对比较矩阵;评估尺度如下:

    3e6a06a18d74c488ea73c60b66813fae.png

    对准则层的因素做两两比较得出下图:

    662188f38b960cbc19f2b5af8c8e768c.png

    3、层次单排序及其一致性检验;

    准则层排序及一致性检验:

    eb0baa489b40b369783f8051b0a226d8.png

    A1A2A3A4对目标层的权重为:[0.2614、0.0877、0.1306、0.5203]

    方案层排序及一致性检验:
    分别从味道、包装、配送、价格上构造成对比较矩阵
    BA1:

    192429a2df5a1f0a9536542073468e04.png

    550efd1d61138c3f7241fe668b6493b8.png


    B1B2B3对A1的权重为:[0.5、0.25、0.25]

    BA2:

    86904556d0977ba7a9e8cbbb554c9a3b.png

    f06487c6a4014e782a051657046daf38.png


    B1B2B3对A2的权重为:[0.20、0.40、0.40]

    BA3:

    888587ab2b14066879acd4062719afe0.png

    7335c829b24df972d358b31671921b7c.png

    B1B2B3对A3的权重为:[0.4、0.2、0.4]

    BA4:

    4e8c51262e79336a2193feedadeedc46.png

    32d170a75f8a72e8ebf4ea30e2127c62.png

    B1B2B3对A4的权重为:[0.4、0.4、0.2]

    4、层次总排序及其一致性检验;


    B1对总目标的权值为:
    0.5 x 0.2614 + 0.2 x 0.0877 + 0.4 x 0.1306 + 0.4 x 0.5203 = 0.4086

    B2对总目标的权值为:
    0.25 x 0.2614 + 0.4 x 0.0877 + 0.2 x 0.1306 + 0.4 x 0.5203 = 0.33467

    B3对总目标的权值为:
    0.25 x 0.2614 + 0.4 x 0.0877 + 0.4 x 0.1306 + 0.2 x 0.5203 = 0.25673

    方案层的权重排序为:B1(张三烧腊) >  B2(李四煲仔饭) > B3(王五汉堡)

    得出决策,点张三烧腊的外卖

    展开全文
  • AHP层次分析法是美国运筹学家、匹兹堡大学由Thomas L. Saaty教授在20世纪70年代初期提出的。一、AHP原理根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将...

    AHP层次分析法是美国运筹学家、匹兹堡大学Thomas L. Saaty教授在20世纪70年代初期提出的。

    一、AHP原理

    根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按照不同层次聚集组合,形成一个多层次的分析结果模型,从而最终使问题归结为最低层(供决策的方案、措施等),相对于最高层(总目标)的相对重要权重的确定或相对优劣次序的排定。

    二、AHP实施步骤

    a、将目标问题拆解成目标-准则-子准则-孙子原则等树形结构,每层元素总数不能太多。

    3add773b16adb095b89d3c2dbbf973d2.png

    b、给子元素两两之间进行打分,构造出各层次中的所有判断矩阵。且分数不能为负!

    打分标准如下:

    ab09f9fe6d059cc8c292be46a35fb884.png

    打分矩阵并按列求和:

    14a0bd53120d3614679a8b0ff5ff6525.png

    c、对打分矩阵进行标准化,计算各元素的权重。

    标准化:

    b59bd71e7e6d8cb657db03f8a0743339.png

    打分矩阵按列*对应元素的权重,并按行求和,计算求和/权重:

    5d8f56be37c2bbabb6a652ac9cffb37c.png

    d、计算CI、选取RI、计算CR进行一致性检验。

    计算CI:

    e2e5f94910de6d6e896d56daa671a09c.png

    根据矩阵阶数,选取RI:

    9027052124a740776fa042460bd6cc9c.png

    计算CR、进行一致性检验:

    一致性比率,即一致性指数和随机一致性指数(RI)的比较,或公式:

    CR = CI / RI

    fdff39ddc93838d4770a7f3e1a2c271b.png

    如果一致性比率的值小于等于10%,则一致性是可以接受的。如果一致性比率大于10%,则需要修改主管评分。

    CR=0.045,小于10%则说明满足一致性要求,打分的主观性是可以接受的。

    e、权值最高的为最优方案。

    在标准化矩阵中各元素的权重,得到优先级排序。且可以看出C元素为最重要的元素。

    a2cb10bff052e85bd7e08ddee8f3b72a.png

    三、总结

    AHP层次分析法是多准则决策方法之一,它是一种从配对比较中得出比率比例的方法。输入可以是实际的测量值,也可以是主观意见(例如满意度和偏好)获得。输出是根据一致性计算和权重来衡量的。

    AHP层次分析法把研究对象作为一个系统,按照分解、比较判断、综合的思维方式进行决策,成为继机理分析、统计分析之后发展起来的系统分析的重要工具。系统的思想在于不割断各个因素对结果的影响,而层次分析法中每一层的权重设置最后都会直接或间接影响到结果,而且在每个层次中的每个因素对结果的影响程度都是量化的,非常清晰、明确。这种方法尤其可用于对无结构特性的系统评价以及多目标、多准则、多时期等的系统评价。

    优点:

    1、将复杂问题结构化、层次化、简单化,并且将定性问题进行定量描述。

    2、提供打分标度,可以解决定性因素的处理及可比性问题。

    3、简单、方便、系统、实用且不复杂。

    缺点:

    1、不能为决策提供新方案。

    2、定量数据较少,定性成分多,不易令人信服。

    3、指标过多时,数据统计量大且权重难以确定。

    4、其一致性检验过程还是比较负责的,有一定的理解门槛。

    4cf002227bbbe4de091c5aa68dc81b43.png


    扫码做朋友

    bdc14a746041e00f465e470e5464ffd3.png


    欢迎关注本公众号

    1a2ae88286e937c6da22616448c2e8ed.png

    展开全文
  • AHP层次分析法软件.rar

    2021-03-28 22:40:03
    AHP层次分析法软件.rar
  • AHP层次分析法计算程序,适用于多指标决策、权重确定等
  • AHP层次分析法软件

    2019-02-22 15:37:12
    AHP层次分析法安装软件,以及该软件的使用指南,亲测可用
  • AHP层次分析法软件.zip

    2021-01-19 11:50:51
    AHP层次分析法软件.zip
  • AHP层次分析法 Matlab 源码
  • 迈实AHP层次分析法.rar

    2021-03-13 10:29:41
    迈实AHP层次分析法,用于分析权重的
  • ahp层次分析法权重自动计算VBA模板,ahp层次分析法权重自动计算VBA模板,
  • 该文档系统的描述了AHP层次分析法的原理及具体操作流程
  • AHP层次分析法的应用

    2018-03-10 11:00:40
    AHP层次分析法的应用及具体的计算过程,详细描述多因素的层次分析评价方法。
  • AHP层次分析法例子+数据 先看再决定是否需要:https://blog.csdn.net/qq_17623363/article/details/104778300
  • AHP层次分析法计算小程序,界面友好,亲测可用,适用于windows10
  • AHP层次分析法matlab程序,可应用于模糊数学中利用层次分析法求权重
  • 基于MATLAB的AHP层次分析法的实现;谢谢
  • AHP层次分析法步骤

    2012-12-21 20:07:19
    AHP层次分析法软件步骤,超好的解决方案
  • 基于AHP层次分析法的政府流程再造风险评估,杨霞,汤志伟,政府流程再造风险导致政府流程再造结果的不确定性,通过定量与定性方法相结合的AHP层次分析法对政府流程再造风险进行评估,结合实
  • AHP层次分析法Python实现代码,如有需要,请大家下载!!!可用!!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 967
精华内容 386
关键字:

ahp层次分析法