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

    千次阅读 2015-08-07 16:34:40
    层次分析法建模 1:他针对 的问题是:适合解决定性的问题, 适合为多目标,多准则而无结构特性的复杂问题作出决策。它主要是利用利用较少的定量信息使决策的思维过程数学化。 2:利用层次分析法建模最重要的得到成对...

    层次分析法建模

    1:他针对 的问题是:适合解决定性的问题,    适合为多目标,多准则而无结构特性的复杂问题作出决策。它主要是利用利用较少的定量信息使决策的思维过程数学化。

    2:利用层次分析法建模最重要的得到成对比较矩阵,这个矩阵元素的由来,数据的合理性,首先要保证数据在1~9之间,或者1/1,1/2

    1/3,1/5等等,不能出现3/5这些用结果得到的结果的数据。

    3:层次分析法所要解决的问题是关于最低层对最高层的相对权重问题,按此相对权重可以对最低层中的各种方案、措施进行排序,从而在不同的方案中作出选择或形成选择方案的原则。

    下面是层次建模的步骤:

    1:建立层次结构模型   :

    将决策的目标、考虑的因素(决策准则)和决策对象按它们之间的相互关系分为最高层、中间层和最低层,绘出层次结构图。

            最高层:决策的目的、要解决的问题。

             最低层:决策时的备选方案。

            中间层:考虑的因素、决策的准则。

    2:构造判断(成对比较)矩阵


    考虑完全一致的情况:


    一致阵性质:

    1:A的秩为1,A的唯一非零特征根为n

    2:非零特征根n所对应的特征向量归一化后可作为权向量

    考虑不完全一致的情况:

    对于不一致(但在允许范围内)的成对比较阵A, Saaty等人建议用对应于最大特征根的特征向量作为权向量w ,即

    Aw=w

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

                  对应于判断矩阵最大特征根λmax的特征向量,经归一化(使向量中各元素之和等于1)后记为W。
      W的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程称为层次单排序。
      能否确认层次单排序,需要进行一致性检验,所谓一致性检验是指对A确定不一致的允许范围。

    定理:n 阶一致阵的唯一非零特征根为n

    定理:n 阶正互反阵A的最大特征根 >=n, 当且仅当 =n时A为一致阵。

    有定理得:λ 比n 大的越多,A  的不一致性越严重。

    定义一致性指标:CI = ( -n)/(n-1);

                CI=0,有完全的一致性
                CI接近于0,有满意的一致性
                CI 越大,不一致越严重

    为衡量CI 的大小  随机一致性指标 RI。

    如何引入随机性指标:方法

        随机构造500个成对比较矩阵        则可得一致性指标          


       

    结果如下:


    说明:n是阶数,当n=4时,就会随机产生500个成对比矩阵,测出CI,求平均值,作为衡量标准

    定义一致性比率 :

    一般,当一致性比率 有满意的一致性,通过一致性检验。

    否则要重新构造成对比较矩阵A,对 aij  加以调整。

    以下是简化计算

    说明:这个简化计算,先算最大特征根对应的特征向量,在算特征根,算完之后才进行一致性检验。

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

    计算某一层次所有因素对于最高层(总目标)相对重要性的权值,称为层次总排序。
    这一过程是从最高层次到最低层次依次进行的


    B层的层次总排序为:

    即 B  层第 i 个因素对总目标


    其实可以写成矩阵的乘积。

    则层次总排序的一致性比率为:


    说明:设  B   层  B1,B2,,,,Bn;     对上层A层(A1,A2,,,,Am)中因素                 
    的层次单排序一致性指标为  CI(i),随机一致性指为 RI(i);

    当    CR<0.1时,认为层次总排序通过一致性检验。层次总排序具有满意的一致性,否则需要重新调整那些一致性比率高(除了B层对A层外,还有A层对目标层)的判断矩阵的元素取值。

         若通过,则可按照总排序权向量表示的结果进行决策,否则需要重新考虑模型或重新构造那些一致性比率     较大的成对比较矩阵。




    展开全文
  • 层次分析法 数学建模实例 层次分析法 数学建模实例 层次分析法 数学建模实例 层次分析法 数学建模实例 层次分析法 数学建模实例
  • 数学建模层次分析法(AHP)

    万次阅读 多人点赞 2018-09-05 12:03:08
    层次分析法(Analytic Hierarchy Process) AHP是对一些较为复杂的,较为模糊的问题作出决策的简易方法,它特别适用于那些难以完全定量分析的问题。 它是美国运筹学家T.L.Saaty教授于上世纪70年代初期提出的一种...

    层次分析法(Analytic Hierarchy Process)

    AHP是对一些较为复杂的,较为模糊的问题作出决策的简易方法,它特别适用于那些难以完全定量分析的问题。由美国运筹学家T.L.Saaty教授于上世纪70年代初期提出。


    目录

    层次分析法(Analytic Hierarchy Process)

    一、建模步骤

    二、层次结构模型

    三、层次结构分析法的两个权重

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

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

    总结

    具体举例与代码

    参考链接


    一、建模步骤

    运用层次分析法建模,大体上可按下面四个步骤进行: 

    • 建立递阶层次结构模型; 
    • 构造出各层次中的所有判断矩阵; 
    • 层次单排序及一致性检验; 
    • 层次总排序及一致性检验。 

    二、层次结构模型

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

     

    问题结构如图。首先做一个归一处理,给目标层(choose a leader)分配值为1或0,然后将这一值作为权重,分配给不同因素(Age,Experience,Education,Charisma),对应因素的权重大小代表该因素在整个选择过程中的重要性程度。

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

      

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

    三、层次结构分析法的两个权重

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

    • 每个准则Criterion的权重具体应该分配多少?
    • 每一个候选方案Alternative在每一个因素下又应该获得多少权重?

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

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

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

    将不同因素两两作比获得的值aij 填入到矩阵的 i 行 j 列的位置,则构造了所谓的比较矩阵,显然比较矩阵对角线上都是1, 因为是自己和自己比。这个矩阵容易获得,我们如何从这一矩阵获得对应的权重分配呢

    这里需要引入概念,正互反矩阵和一致性矩阵

    正互反矩阵定义:

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

    一致性矩阵定义:

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

    一致性矩阵有一个性质可以算出不同因素的比例

    重点:这里的w就是我们想要知道的权重,所以通过求比较矩阵的最大特征值所对应的特征向量,就可以获得不同因素的权重,归一化一下(每个权重除以权重和作为自己的值,最终总和为1)就更便于使用了。

    注:我们给出的比较矩阵一般是不满足一致性的,但是我们还是把它当做一致矩阵来处理,也可以获得一组权重,但是这组权重能不能被接受,需要进一步考量。(即下文的一致性检验)例如在判断因素1,2,3重要性时,可以存在一些差异,但是不能太大,1比2重要,2比3 重要,1和3比时却成了3比1重要,这显然不能被接受。

    一致性检验

    当写出来判断矩阵之后还会存在一个问题,那就是按理来说如果i对j的重要程度是a,j对k的重要程度是b,那么理所应当i对k的重要程度应该a*b,有点符合“传递性”的感觉。但事实上不是这样的。所以需要进行一致性检验,如果在一定的合理范围之内,矩阵不需要修改,如果不在,则需要修改矩阵。

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

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

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

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

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

    注:n个因素则需构造出来n个比较矩阵

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

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

    总结

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

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

     

    具体举例与代码

    有一个毕业生为挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生,该毕业生考虑的因素有6个,研究课题、发展前途、待遇、同事情况、地理位置和单位名气。 
    那么这六个因素就是准则层,三个单位就是方案层,最后要求的就是应该去哪个单位。 
    1)准则层判断矩阵(主观性) 

    这里写图片描述

    2)方案层判断矩阵(主观性) 
    这里写图片描述

    分别针对每一个B,判断C1、C2、C3之间的相对大小

    计算的 Matlab 程序如下: 

    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); 
    lamda=max(diag(y)); 
    num=find(diag(y)==lamda); 
    w0=x(:,num)/sum(x(:,num)); 
    cr0=(lamda-n1)/(n1-1)/ri(n1) 
    for i=1:n1 
    [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中的数据格式如下: 
    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


    R语言中AHP的应用参考

    https://cran.r-project.org/web/packages/ahpsurvey/vignettes/my-vignette.html

     

    参考与资源

    [1]《数学建模算法与应用》

    [2] https://blog.csdn.net/lengxiao1993/article/details/19575261

    [3]https://blog.csdn.net/fz_851474/article/details/52281849

     

    展开全文
  • 数学建模层次分析法

    千次阅读 2018-11-24 10:32:37
    下面来简单介绍一下层次分析法建模的基本过程: 1、打开MATLAB软件,在其主界面的编辑器中写入下列程序: disp('请输入判断矩阵A(n阶)'); A=input('A='); [n,n]=size(A); x=ones(n,100); y=ones(n,100); m=zeros(1...

    下面来简单介绍一下层次分析法建模的基本过程:

    1、打开MATLAB软件,在其主界面的编辑器中写入下列程序:

    disp('请输入判断矩阵A(n阶)');
    A=input('A=');
    [n,n]=size(A);
    x=ones(n,100);
    y=ones(n,100);
    m=zeros(1,100);
    m(1)=max(x(:,1));
    y(:,1)=x(:,1);
    x(:,2)=A*y(:,1);
    m(2)=max(x(:,2));
    y(:,2)=x(:,2)/m(2);
    p=0.0001;i=2;k=abs(m(2)-m(1));
    while  k>p
      i=i+1;
      x(:,i)=A*y(:,i-1);
      m(i)=max(x(:,i));
      y(:,i)=x(:,i)/m(i);
      k=abs(m(i)-m(i-1));
    end
    a=sum(y(:,i));
    w=y(:,i)/a;
    t=m(i);
    disp(w);
             %以下是一致性检验
    CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
    CR=CI/RI(n);
    if CR<0.10
        disp('此矩阵的一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end

     

    2、命名保存好之后,输入判断矩阵A即可,然后点击运行按钮,结果如下:

    展开全文
  • 数学建模层次分析法实例以及代码

    万次阅读 多人点赞 2020-11-22 22:06:09
    目录层次分析法的思想层次分析法步骤具体案例(市政工程项目建设决策)1.问题提出2.建立递阶层次结构3.构造判断矩阵(成对比较阵)并赋值4.层次单排序(计算权向量)与检验(一致性检验)计算权向量一致性检验5.层次总...

    博主联系方式:
    QQ:1540984562
    微信:wxid_nz49532kbh9u22 QQ交流群:892023501

    层次分析法的思想

    层次分析法的思想:将所有要分析的问题层次化
    根据问题的性质和所要到达的总目标,将问题分为不同的组成因素,并按照这些因素间的关联影响即其隶属关系,将因素按不同层次聚集组合,形成一个多层次分析结构模型
    最后,对问题进行优劣比较排序.

    层次分析法步骤

    1、找准各因素之间的隶属度关系,建立递阶层次结构
    2、构造判断矩阵,并赋值
    3、层次单排序(计算权向量)与检验(一致性检验)
    4、层次总排序(组合权向量)与检验(一致性检验)
    5、结果分析

    具体案例(市政工程项目建设决策)

    1.问题提出

    市政部门管理人员需要对修建一项市政工程项目进行决策,可选择的方案是修建通往旅游区的高速路(简称建高速路)或修建城区地铁(简称建地铁)。除了考虑经济效益外,还要考虑社会效益环境效益等因素,即是多准则决策问题,考虑运用层次分析法解决。

    2.建立递阶层次结构

    1、明确决策目标:“合理建设市政工程,使综合效益最高”。

    2、为了实现这一目标,需要考虑的主要准则有三个,即经济效益社会效益环境效益
    还必须考虑直接经济效益间接经济效益方便日常出行方便假日出行减少环境污染改善城市面貌等因素(准则),从相互关系上分析,这些因素隶属于主要准则,因此放在下一层次考虑,并且分属于不同准则。

    3、解决方案,即建高速路或建地铁,这两个因素作为措施层元素放在递阶层次结构的最下层。

    这样递阶层次就形成了:
    在这里插入图片描述

    3.构造判断矩阵(成对比较阵)并赋值

    1、构造判断矩阵的方法:
    每一个具有向下隶属关系的元素(被称作准则)作为判断矩阵的第一个元素(位于左上角),隶属于它的各个元素依次排列在其后的第一行第一列
    如下图所示:
    在这里插入图片描述
    2、如何对判断矩阵进行赋值:
    向填写人(专家)反复询问:针对判断矩阵的准则,其中两个元素两两比较哪个重要,重要多少,对重要性程度按1-9赋值。
    (可以类比模糊PID中的隶属程度,都是人为设定的,也是被人诟病的一个地方)
    在这里插入图片描述
    设填写后的判断矩阵为A=(aij)n×n,判断矩阵具有如下性质:

    (1) aij>0
    (2) aji=1/ aji
    (3) aii=1

    判断矩阵具有对称性,因此在填写时,通常先填写aii=1部分,然后再仅需判断及填写上三角形或下三角形的n(n-1)/2个元素就可以了。
    在特殊情况下,判断矩阵可以具有传递性,即满足等式:aij*ajk=aik .
    当上式对判断矩阵所有元素都成立时,则称该判断矩阵为一致性矩阵。
    对于上述的例子,可以构造出下面的判断矩阵:
    在这里插入图片描述

    4.层次单排序(计算权向量)与检验(一致性检验)

    计算权向量

    对于专家填写后的判断矩阵,利用一定数学方法进行层次排序。
    层次单排序是指每一个判断矩阵各因素针对其准则的相对权重,所以本质上是计算权向量。
    这里简要介绍和法:
    对于一致性判断矩阵,每一列归一化后就是相应的权重。
    对于非一致性判断矩阵,每一列归一化后近似其相应的权重,在对这n个列向量求取算术平均值作为最后的权重。

    公式: 在这里插入图片描述
    在层层排序中,要对判断矩阵进行一致性检验。判断矩阵可以具有传递性和一致性。一般情况下,并不要求判断矩阵严格满足这一性质。

    但从人类认识规律看,一个正确的判断矩阵重要性排序是有一定逻辑规律的,例如若A比B重要,B又比C重要,则从逻辑上讲,A应该比C明显重要,若两两比较时出现A比C重要的结果,则该判断矩阵违反了一致性准则,在逻辑上是不合理的。

    因此在实际中要求判断矩阵满足大体上的一致性,需进行一致性检验。只有通过检验,才能说明判断矩阵在逻辑上是合理的,才能继续对结果进行分析。

    一致性检验

    第一步,计算一致性指标CI
    在这里插入图片描述
    第二步,查表确定相应的平均随机一致性指标RI
    据判断矩阵不同阶数查下表,得到平均随机一致性指标RI:
    在这里插入图片描述
    第三步,计算一致性比例CR并进行判断:
    在这里插入图片描述
    当C.R.<0.1时,认为判断矩阵的一致性是可以接受的,C.R.>0.1时,认为判断矩阵不符合一致性要求,需要对该判断矩阵进行重新修正。

    图1
    图2
    可以看出,所有单排序的C.R.<0.1,认为每个判断矩阵的一致性都是可以接受的。

    5.层次总排序(组合权向量)与检验(一致性检验)

    总排序是指每一个判断矩阵各因素针对目标层(最上层)的相对权重。这一权重的计算采用从上而下的方法,逐层合成。
    文字性描述公式如下:
    在这里插入图片描述

    计算过程如下,更好理解过程:
    P(C1/A) = P(C1/B1) * P(B1/A) = 0.5 * 0.1429 = 0.07145
    CR(C1/A) = CR(C/B) * CR(B/A) = 0 * 0 = 0
    P(D1/A) = P(D1/C1) * P(C1/B1) * P(B1/A)
    + P(D1/C2) * P(C2/B1) * P(B1/A)
    + P(D1/C3) * P(C3/B2) * P(B2/A)
    + P(D1/C4) * P(C4/B2) * P(B2/A)
    + P(D1/C5) * P(C5/B3) * P(B3/A)
    + P(D1/C6) * P(C6/B3) * P(B3/A)
    =0.8333 * 0.5 * 0.1429
    +0.75 * 0.5 * 0.1429
    +0.1667 * 0.75 * 0.4286
    +0.8750 * 0.25 * 0.4286
    +0.1667 * 0.75 * 0.4286
    +0.8333 * 0.25 * 0.4286

    在这里插入图片描述

    6.结果分析

    从方案层总排序的结果看,建地铁(D2)的权重(0.6592)远远大于建高速路(D1)的权重(0.3408),因此,最终的决策方案是建地铁。
    根据层次排序过程分析决策思路:

    1、对于准则层B的3个因子,直接经济效益(B1)的权重最低(0.1429),社会效益(B2)和环境效益(B3)的权重都比较高(皆为0.4286),说明在决策中比较看重社会效益和环境效益
    2、对于不看重的经济效益,其影响的两个因子直接经济效益(C1)、间接带动效益(C2)单排序权重都是建高速路远远大于建地铁,对于比较看重的社会效益和环境效益,其影响的四个因子中有三个因子的单排序权重都是建地铁远远大于建高速路,由此可以推出,建地铁方案由于社会效益和环境效益较为突出,权重也会相对突出
    3、从准则层C总排序结果也可以看出,方便日常出行(C3)、减少环境污染(C5)是权重值较大的,而如果单独考虑这两个因素,方案排序都是建地铁远远大于建高速路。

    由此我们可以分析出决策思路:
    即决策比较看重的是社会效益和环境效益,不太看重经济效益;(总结准则层B)
    因此对于具体因子,方便日常出行和减少环境污染成为主要考虑因素,对于这两个因素,都是建地铁方案更佳,(总结准则层C)由此,最终的方案选择建地铁也就顺理成章了。

    7.层次分析法的优缺点

    优点:
    (1)系统性:层次分析把研究对象作为一个系统,按照分解、比较判断、综合的思维方式进行决策,成为继机理分析、统计分析之后发展起来的系统分析的重要工具。
    (2)实用性:层次分析把定性和定量方法结合起来,能处理许多许多用传统的最优化技术无法着手的实际问题,应用范围很广。同时,这种方法将决策者和决策分析者相互沟通,决策者甚至可以直接应用它,这就增加了决策者的了解和掌握。
    (3)简洁性:具有中等文化程度的人即可了解层次分析的基本原理和掌握它的基本步骤,计算也非常简便,并且所得的结果简单明确,容易为决策者了解和掌握。

    缺点:囿旧:只能从原有方案中选优,不能生成新方案;粗略:它的比较、判断直到结果都是粗糙的,不适于精度要求很高的问题;主观:从建立层次结构模型到给出成对比较矩阵,人的主观因素的作用很大,这就使得决策结果可能难以为众人接受。当然,采取专家群体判断的办法是克服这个缺点的一种途径。

    层次分析法的代码实现(matlab)

    disp('请输入判断矩阵A(n阶)');
    A=input('A=');
    [n,n]=size(A);
    x=ones(n,100);
    y=ones(n,100);
    m=zeros(1,100);
    m(1)=max(x(:,1));
    y(:,1)=x(:,1);
    x(:,2)=A*y(:,1);
    m(2)=max(x(:,2));
    y(:,2)=x(:,2)/m(2);
    p=0.0001;i=2;k=abs(m(2)-m(1));
    while  k>p
      i=i+1;
      x(:,i)=A*y(:,i-1);
      m(i)=max(x(:,i));
      y(:,i)=x(:,i)/m(i);
      k=abs(m(i)-m(i-1));
    end
    a=sum(y(:,i));
    w=y(:,i)/a;
    t=m(i);
    disp(w);disp(t);
             %以下是一致性检验
    CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
    CR=CI/RI(n);
    if CR<0.10
        disp('此矩阵的一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end
    

    使用示例:
    将上面代码保存名为test1,并在点运行的时候添加到路径;
    输入的A矩阵是要以向量的形式输入的;
    之后按下回车即可,可以看到和之前的第4步得到的结果是一样的。
    在这里插入图片描述
    通过不断的使用这个式子计算相应矩阵(准则层B到准则层C、准则层C到方案层D)的权向量,最后可以得到最终的结果。
    简单的修改上面的程序,传入参数为矩阵,免得每次都要打。

    function w= test1(A)
    % disp('请输入判断矩阵A(n阶)');
    % A=input('A=');
    [n,n]=size(A);
    x=ones(n,100);
    y=ones(n,100);
    m=zeros(1,100);
    m(1)=max(x(:,1));
    y(:,1)=x(:,1);
    x(:,2)=A*y(:,1);
    m(2)=max(x(:,2));
    y(:,2)=x(:,2)/m(2);
    p=0.0001;i=2;k=abs(m(2)-m(1));
    while  k>p
      i=i+1;
      x(:,i)=A*y(:,i-1);
      m(i)=max(x(:,i));
      y(:,i)=x(:,i)/m(i);
      k=abs(m(i)-m(i-1));
    end
    a=sum(y(:,i));
    w=y(:,i)/a;
    t=m(i);
    disp(w);disp(t);
             %以下是一致性检验
    CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
    CR=CI/RI(n);
    if CR<0.10
        disp('此矩阵的一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end
    

    输入:

    Array1=[1 1/3 1/3;3 1 1;3 1 1];
    Array2=[1 1;1 1];
    Array3=[1 3;1/3 1];
    Array4=[1 3;1/3 1];
    Array5=[1 5;1/5 1];
    Array6=[1 3;1/3 1];
    Array7=[1 1/5;5 1];
    Array8=[1 7;1/7 1];
    Array9=[1 1/5;5 1];
    Array10=[1 1/3;7 1];
    
    A=test1(Array1);
    B1=test1(Array2);
    B2=test1(Array3); 
    B3=test1(Array4);
    C1=test1(Array5);
    C2=test1(Array6);
    C3=test1(Array7);
    C4=test1(Array8);
    C5=test1(Array9);
    C6=test1(Array10);
    

    得到相应的矩阵:
    在这里插入图片描述

    展开全文
  • 数学建模层次分析法及其应用

    千次阅读 多人点赞 2020-07-28 23:57:16
    层次分析法在数学建模中是非常常见的,其原理、应用场景及实例本文里都有。希望能对数学建模爱好者、挑战者提供一些帮助。如有不清楚或错误的地方还望指出。
  • 《数学建模》之层次分析法

    万次阅读 多人点赞 2016-08-22 23:59:05
    1.层次分析法与数学建模 在数学建模中,通常解决的问题是:“影响某一问题的几个因素的权重大小”、“产生某一问题的主要的因素分析”、“权重的大小分析”。当然在现实生活中的应用也是十分广泛而且一样的不知...
  • 【AHP】层次分析法 | 过程解读 案例实践

    千次阅读 多人点赞 2020-08-20 19:56:21
    AHP 层次分析法 一. AHP 层次分析法介绍 AHP 层次分析法简介 AHP,即层次分析法(Analytic Hierarchy Process,AHP)是一种系统化的、层次化的多目标综合评价方法。在评价对象的待评价属性复杂多样,结构各异,...
  • 层次分析法(AHP)详细步骤

    万次阅读 多人点赞 2019-01-07 13:01:10
    1. 算法简介 层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题时,应用网络系统理论和多...参考 层次分析法建模——《百度文库》
  • 数学建模学习笔记之评价问题层次分析法 我们评价的目标是什么? 我们为了达到目标有哪几种可选的方案? 评价的准则或者指标是什么?(我们根据什么来评价好坏) 层次分析法(AHP) 模型建立 ...
  • 数学建模 层次分析法

    千次阅读 2020-01-22 18:01:42
    一、层次分析法(适用于评价类问题,可用打分解决) 1.权重表格 指标权重 方案1 方案2 …… 指标1 指标2 指标3 …… 2.问题:评价目标,可选方案,评价指标(背景材料,常识,网上...
  • 层次分析法matlab

    2018-08-27 15:43:51
    数学建模层次分析法matlab程序,有助于帮助理解层次分析法过程
  • 层次分析法(Analytic Hierarchy Process,AHP)这是一种定性和定量相结合的、系统的、层次化的分析方法。这种方法的特点就是在对复杂决策问题的本质、影响因素及其内在关系等进行深入研究的基础上,利用较少的定量信息...
  • 数学建模方法——层次分析法(AHP)

    万次阅读 多人点赞 2019-12-04 17:10:33
    0. 层次分析法简介 层次分析法(Analytic Hierarchy Process,简称AHP)主要是对于定性的决策问题进行定量化分析的方法。举个例子,在日常生活中,我们经常需要进行感性的判断,比如报高考志愿,感觉清华北大都很好...
  • 数学建模--层次分析法

    千次阅读 2020-07-19 22:36:09
    层次分析法的求解步骤 1.建立层次结构模型 模型分为三层。分别为最高层(决策问题最终要解决什么,即决策的目的)、中间层(考虑的因素,决策的准则。比如买衣服要考虑价格、尺寸、款式等因素)和最低层(决策时的...
  • 层次分析法课件,数学建模之层次分析法建模过程!步骤!简单明了!学了包会!
  • 数学建模常用算法—层次分析法(AHP)

    千次阅读 2020-07-12 16:08:33
    层次分析法建模比赛中最基础的模型之一,其主要用于解决评价类问题(例如:选择哪种方案最好、哪位运动员或者员工表现的更优秀),用于确定每个目标及其指标所占权重。
  • AHP层次分析法

    万次阅读 多人点赞 2014-02-21 01:07:12
    在比赛中,我们运用了层次分析法(AHPAnalytic Hierarchy Process)进行建模,好不容易理解了这一方法的思想,在自己的博客里记录一下,希望可以帮助初次接触层次分析法的人,更快地理解这一的整体思想,也利于...
  • 层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家、 匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与决策的综合 评价方法,是在充分研究了人类思维过程的基础上提出来的,它较...
  • 数学建模方法-层次分析法

    千次阅读 2019-09-26 03:51:34
    首先在讲解“层次分析法”之间,需要讲解的一个概念是由Santy提出的“一致矩阵法”。那么什么是“一致矩阵法”呢,大家好好看咯,我们要开始了。。 二、一致矩阵法  一致矩阵法,听起来好像很难的样子,其实不然...
  • 层次分析法具体介绍了构造教师评价模型的方法及过程
  • 层次分析法模型(数学建模学习)

    千次阅读 2020-07-24 17:32:00
    层次分析法模型 一、层次分析法应用场景 层次分析法(The Analytic hierarchy process/AHP)是比赛中最基础最常用的模型,应用场景在于解决评价类问题。比如哪个人最优秀,哪种方案最好之类。
  • 数学建模模型01:层次分析法(AHP)

    千次阅读 2020-01-17 19:18:08
    层次分析法(The analytic hierarchy process, 简称...运用层次分析法建模,大体上可按下面四个步骤进行: (i)建立递阶层次结构模型; (ii)构造出各层次中的所有判断矩阵; (iii)层次单排序及一致性检验; (iv...
  • MATLAB数学建模必备算法--层次分析法AHP

    千次阅读 多人点赞 2020-04-19 13:19:27
    数学建模层次分析法,看不懂你来打我
  • 层次分析法是将定性问题定量化处理的一种有效手段,根据不同的指标进行比对,得出最优解。层次分析法是一种定性和定量相结合的、系统化的、层次化的分析方法。 层次分析法的基本思路: 1)目标层: 2)准则层...
  • 数学建模中的层次分析法

    千次阅读 2018-07-25 16:20:00
    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模 糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。 层次分析法的基本原理与步骤 人们在进行社会的、经济...
  • 层次分析法的特点是在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简单的决策方法。...
  • 数学建模一:层次分析法 层次分析法用于解决评价类问题。 层次分析法步骤: 1.分析题目得到目标、方案、准则并绘制层次结构图。其中目标、方案由题目给出,准则由搜索相关论文或者其他资料得到。 推荐搜索引擎:虫...
  • 数学建模笔记_层次分析法及matlab实现代码(1)

    千次阅读 多人点赞 2020-07-06 14:18:35
    数学建模笔记:第一章_层次分析法太长不看版(重点总结)层次分析法的步骤:层次分析法的局限性: 太长不看版(重点总结) 层次分析法的步骤: (1) 建立“目标层”“准则层”“方案层”的层级结构。用图示法将层级...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,488
精华内容 6,595
关键字:

层次分析法的建模过程