Matlab笔记层次分析法(共16页).docx
《Matlab笔记层次分析法(共16页).docx》由会员分享,可在线阅读,更多相关《Matlab笔记层次分析法(共16页).docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上20. 层次分析法一、概述层次分析法(Analytic Hierarchy Process, AHD)是将要决策的问题及其有关因素分解成目标、准则、方案等层次,进而进行定性和定量分析的决策方法。它的特征是合理地将定性与定量决策结合起来,按照思维、心理的规律把决策过程细致化(层次化、数量化)。层次分析法广泛地应用到处理复杂的决策问题,而决策是基于该方法计算出的权重,所以也常用来确定指标的权重。 层次分析法的基本思路与人们对一个决策问题的思维、判断过程大体上是一样的。例如,选购一台笔记本电脑,假设有三种不同品牌款式的笔记本电脑A、B、C供选择。我们一般会根据价格、外观、重
2、量、用途、功耗、品牌等一些准则去反复比较这个三个候选。首先,会确定这些准则在自己心目中各占多大比重,不同的人这种比重会有很大差异(喜欢玩游戏的人看重硬件性能和散热、预算有限的人看重价格等)。其次,还会就每一个准则将A、B、C进行对比,比如A最便宜,B次之;C性能最好,B次之;C的品牌最知名等。最后,将这两个层次的比较判断进行综合,在A、B、C中确定一台作为最符合自己需求的电脑。二、算法步骤1. 将问题条理化、层次化,建立层次结构模型1)最高层(目标层)只有一个元素:决策目标;2)中间层(准则层)考虑的因素,决策的准则、子准则;3)最底层(方案层)决策时的备选方案、措施。层次分析法要解决的问题是
3、,求出最底层对最高层的相对权重,以此对最底层的方案、措施进行排序,选择最优方案。注1:为了避免两两比较判断过于复杂,每层次中各元素所支配的元素一般不要超过9个,否则应划分为若干子层;注2:层次分析法只考虑相邻两个层次间自上向下的支配作用,认为同一层次的元素间相互独立,若考虑进来需要网络分析法(ANP)。例如前文提到的选购笔记本电脑的决策模型,可以建立如下的层次结构:2. 构造判断矩阵(成对比较矩阵)构造好层次模型后,针对某一层来讲,在比较第i个元素与第j个元素相对于上一层某个因素的重要性时,使用数量化的相对权重aij来表示,假设共有n个元素参与比较,则矩阵称为判断矩阵(或成对比较矩阵)。Saa
4、ty根据绝大多数人认知事物的心理习惯,建议用19及其倒数作为标度来确定aij的值。其中,2, 4, 6, 8分别介于1, 3, 5, 7, 9对应的重要程度之间。显然,A中的元素满足:i) aij 0; ii) aji = 1/aij; iii) aii =1称为正互反矩阵。例如,选购笔记本电脑模型中,可以根据实际三台电脑的重量得到电脑对准则层B3的判断矩阵(aij可以取笔记本电脑j与i的重量之比,重量越轻越好):3. 层次单排序及判断矩阵的一致性检验通常用特征根法从判断矩阵导出,单一准则下元素相对排序权重。定义若n阶正互反矩阵 (aij)nn满足aikakj = aij(对应aij=wi/w
5、j, 故需要aikakj =(wi/wk)/(wk/wj) = aij),则称(aij)nn为一致性矩阵。特征根法的基本思想是,当正互反矩阵 (aij)nn为一致性矩阵时,对应于判断矩阵的最大特征根max的特征向量,经归一化后(使向量中各元素之和等于1)即为排序权向量,记为w, w的元素为同一层次因素对于上一层次某因素相对重要性的排序权值,这一过程称为层次单排序。能否进行层次单排序,就看判断矩阵是否为一致性矩阵,有如下定理:定理n阶正互反矩阵A为一致性矩阵的充要条件是,A的最大特征值max = n.在实际操作中,由于客观事物的复杂性以及人们对事物判断比较时的模糊性,很难构造出完全一致的判断矩阵
6、。因此,Satty在构造层次分析法时,提出了一致性检验,所谓一致性检验是指判断矩阵允许有一定不一致的范围。一致性检验步骤如下:1)计算判断矩阵A的最大特征值max;2)求出一致性指标(Consistencey Index):C.I.=0表示完全一致,C.I.越大越不一致;3)用随机模拟取平均的方法,求相应的平均随机一致性指标R.I., 或者直接用Satty模拟1000次得到的R.I.表:4)计算一致性比率:5)判断,当C.R.0.1时,认为判断矩阵A有满意的一致性;若C.R.0.1, 应考虑修正判断矩阵A.4. 计算各元素对目标层的合成权重(层次总排序)为了实现层次分析法的最终目的,需要从上而
7、下逐层进行各层元素对目标合成权重的计算。设已计算出第k-1层nk-1个元素相对于目标的合成权重为:再设第k层的nk个元素关于第k-1层第j个元素(j=1,nk-1)的单一准则排序权重向量为:上式对k层的nk个元素是完全的,若某些元素不受k-1层第j个元素支配,相应位置用0补充,于是得到nknk-1阶矩阵:从而可以得到第k层的nk个元素关于目标层的合成权重向量:按递归展开得写成分量形式为各层元素对目标层的合成排序权重向量是否可以满意接受,与单一准则下的排序问题一样,需要进行综合一致性检验:当C.R.(k) 0.1时,则认为层次结构在第k层以上的判断具有整体满意的一致性。注:实际应用中,整体一致性
8、检验常不予进行。主要原因是,整体考虑十分困难;其次若每个单一准则下的判断矩阵具有满意的一致性,而整体达不到满意的一致性时,调整起来非常困难。另外,整体一致性的背景也不如单一准则下的背景清晰,它的必要性有待进一步研究。三、Matlab实现实现层次分析法的Matlab函数:ahp.mfunction W,ahpResult = ahp(C)%层次分析法%C为n1的元胞数组,存储整个层次模型结构:第2层对第1层、第3层对第2层、.第n+1层对第n层%假设第k层有m_k个元素,从左到右依次编号1,.,m_k%Ck也是元胞数组, k=1,.,n%Ck1,j存储受第j元素支配的第k+1层各元素的判断矩阵(
9、j=1,2,.,m_k)%Ck2,j存储第k+1层各元素是否受第k层第j元素支配的(m_k+1)*1的逻辑数组,1表示支配,0表示不受支配%W返回方案层对目标层的最终权重向量%ahpResult为n1的元胞数组, 存储层次分析过程各层的结果信息, ahpResultk也是元胞数组%ahpResultk1,j返回第k+1层所有元素相对第k层j元素的权重向量, 第k+1层元素不受第k层j元素支配的权重为0%ahpResultk2,j返回第k+1层所有元素相对于第k层第j元素的判断矩阵的最大特征值%ahpResultk3,j返回第k+1层所有元素相对于第k层第j元素的判断矩阵的一致性比率C.R.RI
10、=0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51; % 平均随机一致性指标n = length(C); %得到C的长度n, 于是知道模型总层数为n+1ahpResult = cell(n,1); % 存储各层结果信息for k = 1:nm_k = size(Ck,2); % k层的元素个数ahpResultk = cell(m_k,1); forkk = 1:m_k%求第k+1层各元素对第k层kk元素的成对比较矩阵的特征值和特征向量 V,D = eig(Ck1,kk); maxD,ind = max(diag(D); % 求最大特征值和其位置
11、%为存储第k+1层所有元素相对k层kk元素的权重预留出空间,长度应等于Ck2,kk的长度ahpResultk1,kk = zeros(length(Ck2,kk),1);%将相应正互反矩阵属于最大特征值的特征向量归一化后赋给ahpResultk1,kk中相应位置 %这些位置由逻辑数组Ck2,kk决定ahpResultk1,kk(Ck2,kk) = V(:,ind)/sum(V(:,ind);ahpResultk2,kk = maxD; % Ck1,kk正互反矩阵的最大特征值nn = size(Ck1,kk,1); % Ck1,kk的阶数ahpResultk3,kk = (maxD-nn)/(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 笔记 层次 分析 16
限制150内