您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 重庆工商大学数学建模算法讲义第08章 层次分析法
-167-第八章层次分析法层次分析法(AnalyticHierarchyProcess,简称AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家T.L.Saaty教授于上世纪70年代初期提出的一种简便、灵活而又实用的多准则决策方法。§1层次分析法的基本原理与步骤人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。运用层次分析法建模,大体上可按下面四个步骤进行:(i)建立递阶层次结构模型;(ii)构造出各层次中的所有判断矩阵;(iii)层次单排序及一致性检验;(iv)层次总排序及一致性检验。下面分别说明这四个步骤的实现过程。1.1递阶层次结构的建立与特点应用AHP分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。在这个模型下,复杂问题被分解为元素的组成部分。这些元素又按其属性及关系形成若干层次。上一层次的元素作为准则对下一层次有关元素起支配作用。这些层次可以分为三类:(i)最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。(ii)中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。(iii)最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。每一层次中各元素所支配的元素一般不要超过9个。这是因为支配的元素过多会给两两比较判断带来困难。下面结合一个实例来说明递阶层次结构的建立。例1假期旅游有1P、2P、3P3个旅游胜地供你选择,试确定一个最佳地点。在此问题中,你会根据诸如景色、费用、居住、饮食和旅途条件等一些准则去反复比较3个侯选地点。可以建立如图1的层次结构模型。图1层次结构模型-168-1.2构造判断矩阵层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重并不一定相同,在决策者的心目中,它们各占有一定的比例。在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。为看清这一点,可作如下假设:将一块重为1千克的石块砸成n小块,你可以精确称出它们的重量,设为nww,,1L,现在,请人估计这n小块的重量占总重量的比例(不能让他知道各小石块的重量),此人不仅很难给出精确的比值,而且完全可能因顾此失彼而提供彼此矛盾的数据。设现在要比较n个因子},,{1nxxXL=对某因素Z的影响大小,怎样比较才能提供可信的数据呢?Saaty等人建议可以采取对因子进行两两比较建立成对比较矩阵的办法。即每次取两个因子ix和jx,以ija表示ix和jx对Z的影响大小之比,全部比较结果用矩阵nnijaA×=)(表示,称A为XZ−之间的成对比较判断矩阵(简称判断矩阵)。容易看出,若ix与jx对Z的影响之比为ija,则jx与ix对Z的影响之比应为ijjiaa1=。定义1若矩阵nnijaA×=)(满足(i)0ija,(ii)ijjiaa1=(nji,,2,1,L=)则称之为正互反矩阵(易见1=iia,ni,,1L=)。关于如何确定ija的值,Saaty等建议引用数字1~9及其倒数作为标度。表1列出了1~9标度的含义:表1标度的含义标度含义135792,4,6,8倒数表示两个因素相比,具有相同重要性表示两个因素相比,前者比后者稍重要表示两个因素相比,前者比后者明显重要表示两个因素相比,前者比后者强烈重要表示两个因素相比,前者比后者极端重要表示上述相邻判断的中间值若因素i与因素j的重要性之比为ija,那么因素j与因素i重要性之比为ijjiaa/1=。从心理学观点来看,分级太多会超越人们的判断能力,既增加了作判断的难度,又容易因此而提供虚假数据。Saaty等人还用实验方法比较了在各种不同标度下人们判断结果的正确性,实验结果也表明,采用1~9标度最为合适。-169-最后,应该指出,一般地作2)1(−nn次两两判断是必要的。有人认为把所有元素都和某个元素比较,即只作1−n次比较就可以了。这种作法的弊病在于,任何一个判断的失误均可导致不合理的排序,而个别判断的失误对于难以定量的系统往往是难以避免的。进行2)1(−nn次比较可以提供更多的信息,通过各种不同角度的反复比较,从而导出一个合理的排序。1.3层次单排序及一致性检验判断矩阵A对应于最大特征值maxλ的特征向量W,经归一化后即为同一层次相应因素对于上一层次某因素相对重要性的排序权值,这一过程称为层次单排序。上述构造成对比较判断矩阵的办法虽能减少其它因素的干扰,较客观地反映出一对因子影响力的差别。但综合全部比较结果时,其中难免包含一定程度的非一致性。如果比较结果是前后完全一致的,则矩阵A的元素还应当满足:nkjiaaaikjkijL,2,1,,,=∀=(1)定义2满足关系式(1)的正互反矩阵称为一致矩阵。需要检验构造出来的(正互反)判断矩阵A是否严重地非一致,以便确定是否接受A。定理1正互反矩阵A的最大特征根maxλ必为正实数,其对应特征向量的所有分量均为正实数。A的其余特征值的模均严格小于maxλ。定理2若A为一致矩阵,则(i)A必为正互反矩阵。(ii)A的转置矩阵TA也是一致矩阵。(iii)A的任意两行成比例,比例因子大于零,从而1)(rank=A(同样,A的任意两列也成比例)。(iv)A的最大特征值n=maxλ,其中n为矩阵A的阶。A的其余特征根均为零。(v)若A的最大特征值maxλ对应的特征向量为Tn),,(1L=,则jiijwwa=,nji,,2,1,L=∀,即⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡=nnnnnn=maxλ,且当正互反矩阵A非一致时,必有nmaxλ。根据定理3,我们可以由maxλ是否等于n来检验判断矩阵A是否为一致矩阵。由-170-于特征根连续地依赖于ija,故maxλ比n大得越多,A的非一致性程度也就越严重,maxλ对应的标准化特征向量也就越不能真实地反映出},,{1nxxXL=在对因素Z的影响中所占的比重。因此,对决策者提供的判断矩阵有必要作一次一致性检验,以决定是否能接受它。对判断矩阵的一致性检验的步骤如下:(i)计算一致性指标CI1max−−=nnCIλ(ii)查找相应的平均随机一致性指标RI。对9,,1L=n,Saaty给出了RI的值,如表2所示。表2RI的值n123456789RI000.580.901.121.241.321.411.45RI的值是这样得到的,用随机方法构造500个样本矩阵:随机地从1~9及其倒数中抽取数字构造正互反矩阵,求得最大特征根的平均值max'λ,并定义1'max−−=nnRIλ。(ⅲ)计算一致性比例CRRICICR=当10.0CR时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。1.4层次总排序及一致性检验上面我们得到的是一组元素对其上一层中某元素的权重向量。我们最终要得到各元素,特别是最低层中各方案对于目标的排序权重,从而进行方案选择。总排序权重要自上而下地将单准则下的权重进行合成。表3层次总排序合成表设上一层次(A层)包含mAA,,1L共m个因素,它们的层次总排序权重分别为maa,,1L。又设其后的下一层次(B层)包含n个因素nBB,,1L,它们关于jA的层-171-次单排序权重分别为njjbb,,1L(当iB与jA无关联时,0=ijb)。现求B层中各因素关于总目标的权重,即求B层各因素的层次总排序权重nbb,,1L,计算按表3所示方式进行,即∑==mjjijiabb1,ni,,1L=。对层次总排序也需作一致性检验,检验仍象层次总排序那样由高层到低层逐层进行。这是因为虽然各层次均已经过层次单排序的一致性检验,各成对比较判断矩阵都已具有较为满意的一致性。但当综合考察时,各层次的非一致性仍有可能积累起来,引起最终分析结果较严重的非一致性。设B层中与jA相关的因素的成对比较判断矩阵在单排序中经一致性检验,求得单排序一致性指标为)(jCI,(mj,,1L=),相应的平均随机一致性指标为)(jRI()()(jRIjCI、已在层次单排序时求得),则B层总排序随机一致性比例为∑∑===mjjmjjajRIajCICR11)()(当10.0CR时,认为层次总排序结果具有较满意的一致性并接受该分析结果。§2层次分析法的应用在应用层次分析法研究问题时,遇到的主要困难有两个:(i)如何根据实际情况抽象出较为贴切的层次结构;(ii)如何将某些定性的量作比较接近实际定量化处理。层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为科学管理和决策提供了较有说服力的依据。但层次分析法也有其局限性,主要表现在:(i)它在很大程度上依赖于人们的经验,主观因素的影响很大,它至多只能排除思维过程中的严重非一致性,却无法排除决策者个人可能存在的严重片面性。(ii)比较、判断过程较为粗糙,不能用于精度要求较高的决策问题。AHP至多只能算是一种半定量(或定性与定量结合)的方法。在应用层次分析法时,建立层次结构模型是十分关键的一步。现再分析一个实例,以便说明如何从实际问题中抽象出相应的层次结构。例2挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生。该生根据已有信息建立了一个层次结构模型,如图2所示。图2层次结构模型-172-准则层的判断矩阵如表4所示。表4准则层的判断矩阵AB1B2B3B4B5B6B1111411/2B2112411/2B311/21531/2B41/41/41/511/31/3B5111/3311B6222331方案层的判断矩阵如表5所示。表5方案层的判断矩阵B1C1C2C3B2C1C2C3B3C1C2C3C111/41/2C111/41/5C1131/3C2413C2411/2C21/311/7C321/31C3521C3311B4C1C2C3B5C1C2C3B6C1C2C3C111/35C1117C1179C2317C2117C21/711C31/51/71C31/71/71C31/911层次总排序的结果如表6所示。表6层次总排序准则研究发展待遇同事地理单位课题前途情况位置名气准则层权值0.15070.17920.18860.04720.14640.2879总排序权值方案层单排序权值工作1工作2工作30.13650.09740.24260.27900.46670.79860.62500.33310.08790.64910.46670.10490.23850.56950.66940.07190.06670.09650.39520.29960.3052根据层次总排序权值,该生最满意的工作为工作1。计算的Matlab程序如下:clc,clearfid=fopen('txt3.txt','r');n1=6;n2=3;a=[];fori=1:n1tmp=str2num(fgetl(fid));a=[a;tmp];%读准则层判断矩阵endfori=1:n1str1=char(['b',int2str(i),'=[];']);str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);eval(str1);forj=1:n2tmp=str2num(fgetl(fid));eval(str2);%读方案层的判断矩阵end-173-endri=[
本文标题:重庆工商大学数学建模算法讲义第08章 层次分析法
链接地址:https://www.777doc.com/doc-10667353 .html