精华内容
下载资源
问答
  • 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));
    
        }
    }
    

     

     

    展开全文
  • 层次分析法

    2018-01-29 19:07:07
    注:文章内容主要参阅 《matlab数学建模算法实例与分析》,部分图片来源于WIKI ...2第二部分介绍一下我们队伍数学建模过程中,对层次分析法的应用,中间有些地方做了不严谨的推理,例如关于一致性的检
    转自:http://www.cnblogs.com/ECJTUACM-873284962/

    注:文章内容主要参阅 《matlab数学建模算法实例与分析》,部分图片来源于WIKI
    文章分为2部分:
    1第一部分以通俗的方式简述一下层次分析法的基本步骤和思想
    2第二部分介绍一下我们队伍数学建模过程中,对层次分析法的应用,中间有些地方做了不严谨的推理,例如关于一致性的检验,如有人发现不正确,希望可以指正

    第一部分:

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

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


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

     

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

     

    首先从层次结构模型说起

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


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

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

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

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

     

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

    给目标层分配值1.000

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

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

     

    如下图:(alternative1)0.333=0.250/4(criterion1)+0.250/4(criterion2)+0.250/4(criterion3)+0.250/4(criterion4)

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


    例如选工作时,待遇所占的比重为0.8, 有工作1,2,3候选,     如果工作1的待遇最高,工作2的待遇次之,工作3最差,则可将0.8的值按0.4,0.3,0.1分给工作1,2,3,

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

    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.,这样构造一个矩阵,再用之前的一致性矩阵的方法就可以求出一个权重,然后相对应因素(这里是工作环境)所拥有的权值就可以按这个权重比例分配给不同候选物或人。

     

    其他因素同理

     

     

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

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

     

    对于第一部分的总结:

             通过对层次分析法的基本了解,不难发现层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为
    科学管理和决策提供了较有说服力的依据,但很明显的缺点是,整个分析过程似乎都是依赖于人的主观判断思维,一来不够客观,二来两两比较全部人为完成,还是非常耗费精力的,尤其是当候选方案比较多的时候

     

     

    文章的第二部分:


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

     

    目标:选最优教练

     

    准则:  职业生涯所带队伍的胜率      

    职业生涯所带队伍的胜场            

    从教时长(年)          

    职业生涯所带队伍获奖状况(化成分数)

      

    候选:  众多教练

     

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

     

    问题在于候选层的比较矩阵怎么获得,有4000个教练的话,得比4000*3999次,这里就不必人为比较了,引入定量的数据用程序控制作比即可

     

    胜率因素下就用胜率两两作比构造矩阵,从教时长因素下就用年长来做比

     

    这里又有两点可以注意:

    1.不同因素下数据的量纲和性质不一样,直接用数据作比来分配,不一定合适,比如胜率越要接近1越难,0.7比胜率0.5  和胜率0.9比0.7  ,后者比值比前者小,这显然不合适。建模中我们结合了幂函数和对数函数处理。

     

    2.这里的用定量数据作比获得的矩阵显然满足一致性要求,不需要做一致性检验(想做还不好做,计算CR的值要有RI,RI的值查表只给出9个,计算4000个教练,需要4000个RI呢)

     

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

     

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

    展开全文
  • 层次分析法(AHP)并非历年一级安全评价师必考内容,在教材中也未编排相关的内容。笔者统计历年考试真题发现,层次分析法(AHP)仅在2015年一级安全评价师真题中出现过。下面看2015年真题:经过评估,各层次之间的判断...

    640?wx_fmt=gif  分享是一种积极的生活态度

    0b46b5950ae2089986c5e93c3ce4c5c8.png

    编著:应朋友要求,后续推出历年真题解析,希望对备考的你有帮助!本期首先推出层次分析法(AHP)。

    8c639e665cdcdeb36da35dca380e5cb0.png

    层次分析法(AHP)并非历年一级安全评价师必考内容,在教材中也未编排相关的内容。笔者统计历年考试真题发现,层次分析法(AHP)仅在2015年一级安全评价师真题中出现过。下面看2015年真题:

    40b9fb52b45cea9357ea8639778dc228.png

    8b2e226b91177c55ff37f1725a261703.png

    经过评估,各层次之间的判断矩阵如下
     A  B1 B2B1
     B1 1 3 2
    B21/312
    B31/21/2 1
    B1C1C2C3
    C1 1 2/3 2
    C23/2  1 3
    C3 1/2 1/3 1
     B2 C4 C5C6
    C4 1 2 3
     C51/2 1 2/3
     C61/33/2 1
    B3C7C8C9
    C711/41/2
    C8412
    C921/2 1
    随机一致性指标见下表
    指标3456789
    RI0.580.901.121.241.321.411.45

    请根据以上条件回答问题:使用层次分析法,对影响安全生产能力的9个因素进行排序(30分)


    层次分析法之所以在一级安全考试中出现,个人认为不外乎以下几个原因:

    • 层次分析法属于一种新型的安全评价方法,比较适用于对系统的整体安全风险评估、评价;

    • 一级评级师的能力之一是区域危险有害因素辨识与分析评估,如化工园区、工业生产集中区域的安全风险评价、评估,用层次分析法(AHP)对影响化工园区或工业生产集中区域的影响因子的风险权重可以实现由定性到定量评价、评估,而其他常规评价方法难以做到;

    • 作为一级安全评价师,AHP方法是必须掌握的的评价方法;

    • 增加考试试题难度,限制通过率并考察考生的计算能力。


    有很多小伙伴在后台留言,认为层次分析法很难掌握,其实,层次分析法作为一种数学模型,并不难,下面我们一起简要了解下层次分析法。

    层次分析法(AHP)属于一种新型实用的安全评价方法,主要通过专家的经验判断,对影响系统的风险因子两两比较,采用1-9的标度,建立一致性判断矩阵,然后利用矩阵计算,找出影响系统风险因子的权重,从而可以实现安全系统风险由定性(专家经验判断)到定量(风险权重值)得转变。可以减少个人主观臆断所带来的的弊端,比传统的安全评价方法如安全检查表法、预先危险性分析法、LEC等评价方法更符合客观实际,评价结果也更可信、可靠。

    在实际使用中,可以通过计算机系统实现程序化,直观易懂、可操作性强,具有很好地应用价值。

    下图是笔者在实际工作中利用office自编的判断矩阵计算过程,简单易行。

    1d135d7a856fb746db02ad717f5bc7e3.png

    层次分析法在评价报告中应用较少,主要应用在对系统的整体安全评价或局部的系统评价。

    一致性判断矩阵在考试时,出题老师会给定,所以备考的小伙伴无需担心一致性判断矩阵的创建。各位需要掌握的内容是如何化简一致性判断矩阵,计算判断矩阵的最大特征向量,最终求出给定系统影响因子的风险权重,并对其排序。

    一致性判断矩阵的的最大特征向量常用的方法是和积法方根法。这两种方法用哪种方法都可以的,笔者还是喜欢和积法,毕竟加减乘除法要比开方来的迅速一些。


    我们回到2015年考试真题:

    从题中给定的层次结构我们可以看出,生产能力A的三个影响因子:技术因素(B1)、环境因素(B2)和管理因素(B3);

    B1、B2、B3又有各自影响因子C1、C2、C3;C4、C5、C6;C7、C8、C9;属于三级层次结构,要对影响生产能力A的9个因素进行排序,需要对题中给定的一致性判断矩阵进行计算,求各风险因子的最大特征向量(即各因子的风险权重),然后从大到小或从小到大进行排序即可。

    因微信公众号对编辑矩阵很不方便,用手写的方式为各位小伙伴展示2015年真题计算过程。

    73c578ab41442fca1684d563e4231ea2.png

    12eb3c54166b1327ac1ebdbc1c11bb11.png

    dbf56a22366150c77d637b66bb0c46c2.png

      重点强调:

       层次分析法(AHP)在评价过程很少单独使用,它与模糊综合评价法(下期即将推出真题解析)像一对孪生兄弟,伴随出现的;模糊综合评价法是对系统的整体性风险评价、评估,而层次分析法仅对影响系统的风险因子权重由定向到定量评价、评估,它是模糊综合评价法使用过程中必不可少的工具。


    END

    声明:本公众号所发的原创文件,均是自己在备考中的经验与从业过程中积累的心得,如有转载,请及时联系,并注明原作者。

    2c99662fd5118daa43a4bf87d3659925.png(点击直接查看)

    • 二级评价师备考学霸手写笔记

    • 一级安全评级师——你应该知道的几个问题

    • 安全评价过程控制语音

    • 安全评价过程控制 | 风险分析

    • 安全评价培训与指导:音频

    • 安全生产与应急管理

    • 安全评价你应知道的10部法律法规,10部技术标准规范

    • 评价师国家职业标准(试行)

    0b46b5950ae2089986c5e93c3ce4c5c8.png

    67986991a248d8a293ebf4c2d9f55c1d.png

    0b46b5950ae2089986c5e93c3ce4c5c8.png

       请 随 手 —— 点 亮 在 看” 

    3b5cd03afecc1f357004092c2192dde3.png

    展开全文
  • 针对企业微信营销过程中有待提高促销信息质量和健全营销体系的问题,文中设计与实现了一种基于层次分析法的营销效果分析软件系统。该系统基于既有文献研究和企业微信营销基本内容建立了营销效果评价体系,并给出企业...
  • 层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家、匹兹堡大学教授T.L.Satty提出,是一种将与决策有关...本节内容简述应用层次分析法确定评价指标权重基本原理和Excel实现。基本原理1.构造判断矩阵由...

    bdcd1b887417476c33930c8849285bef.png

    层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家、匹兹堡大学教授T.L.Satty提出,是一种将与决策有关的元素分解成目标、准则、方案等层次,在此基础上进行定性和定量分析的决策方法。在医疗质控工作中,常和德尔菲法、百分权重法结合,用于确定评价指标的权重。

    本节内容简述应用层次分析法确定评价指标权重的基本原理和Excel实现。

    基本原理

    1.构造判断矩阵

    由专家对同一层次内n个指标的相对重要性(两两因素之间)进行打分。相对重要性的比例标度取1-9之间:

    a247c04fc5aaa3708708235c15e5af3f.png

    构建判断矩阵A(正交矩阵),用aij表示第i个因素相对于第j个因素的比较结果:

    be29f5caef2a9c67278dd7dc36d1a25a.png

    2. 计算权重

    将矩阵A的各行向量进行几何平均(方根法),然后进行归一化,即得到各评价指标权重和特征向量W:

    1c39ad376ed9160e28b962b7b444c8e2.png

    3.一致性检验

    计算最大特征根λmax:

    fd3ac816694864eac87fbce172cff28d.png

    计算一致性指标CI(Consistency Index)、随机一致性指标RI(Random Index)和一致性比例CR(Consistency Ratio):

    65e6a02a36efef3cd9d2313b8f352124.png

    891e97288902969fc141837856756dfb.png

    一般情况下,当CR<0.1时,即认为矩阵具有满意的一致性,否则需要对判断矩阵进行调整。

    Excel操作步骤

    现某课题构建患者安全评价指标体系,将一级指标拟定为3项:“结构安全”、“过程安全”、“结果安全”,通过专家咨询得到的判断矩阵如下:

    8770d526faf3b3870a8de8998d5bc5b9.png

    设计层次分析法计算过程的Excel表格如下:

    4753dc0d2819fd10758ddfa9d57bf73c.png

    各列键入公式:

    按行相乘:F3=PRODUCT(C3:E3),下拉至F5。

    开n次方:G3=POWER(F3,1/3),下拉至G5;G6=SUM(G3:G5)。

    权重wi:H3=G3/G$6,下拉至H5。

    AWi:I3=C3*H$3+D3*H$4+E3*H$5,下拉至I5。

    AWi/wi:J3=I3/H3,下拉至J5;J6=AVERAGE(J3:J5)。

    CI:K3=(J6-3)/2。

    CR:L3=K3/0.5149

    得到结果:

    91fae55c569fbe4253f0c52f43fadc8c.png

    可见CR=0.037<0.05,认为矩阵具有满意的一致性。“结构安全”、“过程安全”、“结果安全”的指标权重分别为:0.105,0.637,0.258。其他二级指标和三级指标,可进一步应用百分位权重法进行确定。

    556929727acf1f7e10bf3218d0ea2d47.png

    延伸阅读:

    1.百分权重法在医院质控工作中的应用

    2.文章神器:TOPSIS法在医院管理工作中的应用

    3.医疗质控工作中常用Excel函数简介(一)

    4.常用Excel函数简介(二):MATCH & INDEX

    5.秩和比(RSR)法进行分档评价的Excel实现

    879d60f816e3358fe03a376b97687e6a.png
    展开全文
  • 层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家、匹兹堡大学教授T.L.Satty提出,是一种将与决策有关...本节内容简述应用层次分析法确定评价指标权重基本原理和Excel实现。基本原理1.构造判断矩阵由...
  • 基于模糊层次分析法的PDM项目风险评价方法研究 ,张志清,李亚伟,产品数据作为生产制造类企业的基础性管理内容备受重视,但是通过对多家企业调查发现,其失败率很高,因此,研究PDM项目实施的风险
  • 以内蒙古呼吉尔特矿区4对生产矿井为例,在分析水文地质条件基础上,建立了矿井水文地质类型划分评价指标体系,利用改进的层次分析法,计算各项影响因素权重值,建立数学模型计算每个矿井综合得分Z值,根据计算结果,...
  • 层次分析法AHP

    2018-11-14 14:02:00
    层次分析AHP,主要解决业务痛点是无监督学习时权重确定。 没有样本,无法使用现有各种机器学习模型,来确定特征权重。 具体内容见图片,博客园markdown太难写了,还是写好传图片 转载于:...
  • 层次分析法(详解)

    2017-04-17 16:34:00
    2第二部分介绍一下我们队伍数学建模过程中,对层次分析法的应用,中间有些地方做了不严谨的推理,例如关于一致性的检验,如有人发现不正确,希望可以指正 第一部分: 层次分析法(Analytic H...
  • 层次分析法(AHP)介绍

    2020-07-29 20:31:45
    层次分析法中不理解的内容: 在层次单排序中,是计算上层某个元素与其下层的所有元素的排序,还是计算上层某个元素与其包含的下层元素的排序? 层次分析法(Analytic Hierarchy Process,简称AHP),是美国匹兹堡大学数学...
  • 1、 了解和掌握层次分析法的有关内容 2、 通过层次分析法的例题,掌握AHP解决评价类问题的方法 3、 matlab代码实现 学习时间: 2020.12.06 学习产出: 图片来源于b站:...
  • 高校仪器设备考核工作涉及的内容多、层面广,根据实际工作需要,运用层次分析法,选取一般仪器设备经济效益考核、常规管理考核和大型精密贵重仪器设备效益考核中的各项指标,先对各指标的含义进行分析,后对其分层排序,...
  • 煤矿井口及工业场地位置选择是典型非线性优化问题,是...本研究运用层次分析法对煤矿井口及工业场地位置选择进行了综合评价研究,进行了最优方案计算选择分析,并运用R语言进行模型建立与分析,最后确定了最优方案。
  • matlab层次分析法迅速求权重

    千次阅读 2019-06-15 10:43:18
    层次分析法是一种用处非常广决策算法 虽然内容等于拍脑袋,不过有时候我们就是需要为拍脑袋找到合适说法。 虽然它往往用于解决多目标选择问题,但我们也可对其因素进行分析,来得到一个因素权重。 当然对于...
  • 层次分析法(AHP) 适用于 为难以完全定量复杂系统做出决策模型和方法 能够按一定标准作出决策 步骤 1、建立层次结构模型 2、构造判断(成对比较)矩阵 3、层次单排序及其一致性检验 4、层次总排序...
  • 数学建模(1)--层次分析法

    万次阅读 2020-09-06 03:00:00
    数学建模--层次分析法概括内容介绍实例权重表格判断(成对比较)矩阵 概括 层次分析法(The analytic hierarchy process, 简称AHP),是指将与决策总是有关元素分解成目标、准则、方案等层次,在此基础之上进行定性和...
  • 基于层次分析法构建了视频摘要评价模型,将视频摘要质量作为最终评价目标,以内容合理性和结构合理性作为准则,以内容完整性、特殊重要性、整体流畅性等作为测度层,从而建立了视频摘要评价指标体系。最后,通过对...
  • 数学建模 01层次分析法(AHP)

    千次阅读 2019-07-18 09:16:21
    层次分析法 什么是层次分析法 层次分析法,属于运筹学理论。简称AHP,是指将与决策总是有关元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析决策方法。该方法是美国运筹学家匹茨堡大学教授...
  • 横渡江河、海峡选择何种方案是难于完全定量分析的问题。一个好的方案可以给人们带来经济效益、社会效益和环境效益,但是我们也不得不考虑这些因素之间的...本文主要研究的内容就是关于这样一个复杂系统的综合决策机制。
  • 【算法类原创】层次分析法的内涵

    千次阅读 2018-07-07 12:26:19
     下一篇作者会用一个很简单方法证明诸如主成分分析法、灰色关联度法等一类方法“荒谬性”,同时会解释在实际应用中如何正确使用这些方法。 下下篇作者会考虑介绍一种新计算思路(研一时候设计,当...
  • 文章目录引入*例题思考*层次分析法例题演绎合理创建标题,有助于目录生成如何改变文本样式插入链接与图片如何插入一段漂亮代码片生成一个适合你列表创建一个表格设定内容居中、居左、居右SmartyPants创建...
  • 层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家、 匹兹堡大学教授T . L. Saaty于20世纪70年代创立一种系统分析与决策综合 评价方法,是在充分研究了人类思维过程基础上提出来,它较...
  • 这里写自定义目录标欢迎使用Markdown编hg新改变功能快捷键合理创建标题,有助于目录生成如何改变文本样式插入链接与图片如何插入一段漂亮代码片生成一个适合你列表创建一个表格设定内容居中、居左、居右...
  • 层次分析法是一种实用多准则决策方法。...层次分析法简单表现形式与它深刻理论内容紧密联系在一起.简单表现形式使得层次分析法有着广泛应用领域。探刻理论内容确立了它在多准则决策领域中地位.
  • 层次分析法AHP1. 基本原理2. 基本思路2.1新改变功能快捷键合理创建标题,有助于目录生成如何改变文本样式插入链接与图片如何插入一段漂亮代码片生成一个适合你列表创建一个表格设定内容居中、居左、居右...
  • 聚类分析法-层次聚类

    2021-02-12 10:38:05
    聚类分析法 文章目录聚类分析法1.简介2.基本内容介绍1.数据变换2. 样品间亲疏程度测度计算常用距离计算1. 闵式(Minkowski)距离2. 马氏(Mahalanobis)距离相似系数计算1. 夹角余弦2.皮尔逊相关系数3.使用scipy....

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 238
精华内容 95
关键字:

层次分析法的内容