Matlab笔记——层次分析法020(5.28).pptx

上传人:xiang****la438 文档编号:133556647 上传时间:2020-05-28 格式:PPTX 页数:18 大小:367.45KB
返回 下载 相关 举报
Matlab笔记——层次分析法020(5.28).pptx_第1页
第1页 / 共18页
Matlab笔记——层次分析法020(5.28).pptx_第2页
第2页 / 共18页
Matlab笔记——层次分析法020(5.28).pptx_第3页
第3页 / 共18页
Matlab笔记——层次分析法020(5.28).pptx_第4页
第4页 / 共18页
Matlab笔记——层次分析法020(5.28).pptx_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Matlab笔记——层次分析法020(5.28).pptx》由会员分享,可在线阅读,更多相关《Matlab笔记——层次分析法020(5.28).pptx(18页珍藏版)》请在金锄头文库上搜索。

1、书山有路20 层次分析法 1 一 概述层次分析法 AnalyticHierarchyProcess AHD 是将要决策的问题及其有关因素分解成目标 准则 方案等层次 进而进行定性和定量分析的决策方法 它的特征是合理地将定性与定量决策结合起来 按照思维 心理的规律把决策过程细致化 层次化 数量化 层次分析法广泛地应用到处理复杂的决策问题 而决策是基于该方法计算出的权重 所以也常用来确定指标的权重 层次分析法的基本思路与人们对一个决策问题的思维 判断过程大体上是一样的 例如 选购一台笔记本电脑 假设有三种不同品牌款式的笔记本电脑A B C供选择 我们一般会根据价格 外观 重量 用途 功耗 品牌等一

2、些准则去反复比较这个三个候选 首先 会确定这些准则在自己心目中各占多大比重 不同的人这种比重会有很大差异 喜欢玩游戏的人看重硬件性能和散热 预算有限的人看重价格等 其次 还会就每一个准则将A B C进行对比 比如A最便宜 B次之 C性能最好 B次之 C的品牌最知名等 最后 将这两个层次的比较判断进行综合 在A B C中确定一台作为最符合自己需求的电脑 二 算法步骤1 将问题条理化 层次化 建立层次结构模型1 最高层 目标层 只有一个元素 决策目标 书山有路中间层 准则层 考虑的因素 决策的准则 子准则 最底层 方案层 决策时的备选方案 措施 层次分析法要解决的问题是 求出最底层对最高层的相对权

3、重 以此对最底层的方案 措施进行排序 选择最优方案 注1 为了避免两两比较判断过于复杂 每层次中各元素所支配的元素一般不要超过9个 否则应划分为若干子层 注2 层次分析法只考虑相邻两个层次间自上向下的支配作用 认为同一层次的元素间相互独立 若考虑进来需要网络分析法 ANP 例如前文提到的选购笔记本电脑的决策模型 可以建立如下的层次结构 2 构造判断矩阵 成对比较矩阵 构造好层次模型后 针对某一层来讲 在比较第i个元素与第j个元素相对于上一层某个因素的重要性时 使用数量化的相对权重aij来表示 假设共有n个元素参与比较 则矩阵 2 书山有路 a ijn n a11 a1n A a a n1 nn

4、 称为判断矩阵 或成对比较矩阵 Saaty根据绝大多数人认知事物的心理习惯 建议用1 9及其倒数作为标度来确定aij的值 其中 2 4 6 8分别介于1 3 5 7 9对应的重要程度之间 显然 A 3 iii aii 1 中的元素满足 i aij 0 ii aji 1 aij 称为正互反矩阵 5 31 B3 C 例如 选购笔记本电脑模型中 可以根据实际三台电脑的重量得到电脑对准则层B3的判断矩阵 aij可以取笔记本电脑j与i的重量之比 重量越轻越好 11 31 5 13 5 A 3 5 3 层次单排序及判断矩阵的一致性检验通常用特征根法从判断矩阵导出 单一准则下元素相对排序权重 定义若n阶正互

5、反矩阵 aij n n满足aikakj a ij对应aij wi wj 故需要aikakj wi wk wk wj aij 则称 aij n n为一致性矩阵 书山有路 特征根法的基本思想是 当正互反矩阵 aij n n为一致性矩阵时 对应于判断矩阵的最大特征根 max的特征向量 经归一化后 使向量中各元素之和等于1 即为排序权向量 记为w w的元素为同一层次因素对于上一层次某因素相对重要性的排序权值 这一过程称为层次单排序 能否进行层次单排序 就看判断矩阵是否为一致性矩阵 有如下定理 定理n阶正互反矩阵A为一致性矩阵的充要条件是 A的最大特征值 max n 在实际操作中 由于客观事物的复杂性以

6、及人们对事物判断比较时的模糊性 很难构造出完全一致的判断矩阵 因此 Satty在构造层次分析法时 提出了一致性检验 所谓一致性检验是指判断矩阵允许有一定不一致的范围 一致性检验步骤如下 1 计算判断矩阵A的最大特征值 max 4 书山有路2 求出一致性指标 ConsistenceyIndex C I max n n 1 C I 0表示完全一致 C I 越大越不一致 3 用随机模拟取平均的方法 求相应的平均随机一致性指标R I 或者直接用Satty模拟1000次得到的R I 表 4 计算一致性比率 C R C I R I 5 判断 当C R 0 1时 认为判断矩阵A有满意的一致性 若C R 0

7、1 应考虑修正判断矩阵A 4 计算各元素对目标层的合成权重 层次总排序 为了实现层次分析法的最终目的 需要从上而下逐层进行各层元素对目标合成权重的计算 设已计算出第k 1层nk 1个元素相对于目标的合成权重为 12 nk 1 w k 1 wk 1 wk 1 wk 1 T 再设第k层的nk个元素关于第k 1层第j个元素 j 1 nk 1 的单一准则排序权重向量为 j1j2j nkj u k T uk u k u k 上式对k层的nk个元素是完全的 若某些元素不受k 1层第j个元素 5 书山有路支配 相应位置用0补充 于是得到nk nk 1阶矩阵 12 21 22 nk1nk2 u k u k u

8、 k u k u k u k u k u k 11 1nk 1 U k 2nk 1 u k nknk 1 从而可以得到第k层的nk个元素关于目标层的合成权重向量 w k U k w k 1 按递归展开得 U 3 w 2 w k U k U k 1 写成分量形式为 k nk 1 k k k 1 j 1 w uw i 1 n i ijj 各层元素对目标层的合成排序权重向量是否可以满意接受 与单一准则下的排序问题一样 需要进行综合一致性检验 当C R k 0 1时 则认为层次结构在第k层以上的判断具有整体满意的一致性 注 实际应用中 整体一致性检验常不予进行 主要原因是 整 6 书山有路体考虑十分困

9、难 其次若每个单一准则下的判断矩阵具有满意的一致性 而整体达不到满意的一致性时 调整起来非常困难 另外 整体一致性的背景也不如单一准则下的背景清晰 它的必要性有待进一步研究 三 Matlab实现实现层次分析法的Matlab函数 ahp mfunction W ahpResult ahp C 层次分析法 C为n 1的元胞数组 存储整个层次模型结构 第2层对第1层 第3层对第2层 第n 1层对第n层 假设第k层有m k个元素 从左到右依次编号1 m k C k 也是元胞数组 k 1 n C k 1 j 存储受第j元素支配的第k 1层各元素的判断矩阵 j 1 2 m k C k 2 j 存储第k 1

10、层各元素是否受第k层第j元素支配的 m k 1 1的逻辑数组 1表示支配 0表示不受支配 W返回方案层对目标层的最终权重向量 ahpResult为n 1的元胞数组 存储层次分析过程各层的结果信息 ahpResult k 也是元胞数组 ahpResult k 1 j 返回第k 1层所有元素相对第k层j元素的权重向量 第k 1层元素不受第k层j元素支配的权重为0 ahpResult k 2 j 返回第k 1层所有元素相对于第k层第j元素的判 7 书山有路断矩阵的最大特征值 ahpResult k 3 j 返回第k 1层所有元素相对于第k层第j元素的判断矩阵的一致性比率C R RI 000 580

11、901 121 241 321 411 451 491 51 平均随机一致性指标n length C 得到C的长度n 于是知道模型总层数为n 1ahpResult cell n 1 存储各层结果信息fork 1 nm k size C k 2 k层的元素个数ahpResult k cell m k 1 forkk 1 m k 求第k 1层各元素对第k层kk元素的成对比较矩阵的特征值和特征向量 V D eig C k 1 kk maxD ind max diag D 求最大特征值和其位置 为存储第k 1层所有元素相对k层kk元素的权重预留出空间 长度应等于C k 2 kk 的长度ahpResul

12、t k 1 kk zeros length C k 2 kk 1 将相应正互反矩阵属于最大特征值的特征向量归一化后赋给ahpResult k 1 kk 中相应位置 这些位置由逻辑数组C k 2 kk 决定ahpResult k 1 kk C k 2 kk V ind sum V ind ahpResult k 2 kk maxD C k 1 kk 正互反矩阵的最大特征值nn size C k 1 kk 1 C k 1 kk 的阶数ahpResult k 3 kk maxD nn nn 1 RI nn 相应的一致性比率C R end 8 书山有路endW ahpResult 1 1 1 fork

13、 2 n cat 2 ahpResult k 1 把k 1层所有元素相对k层各个元素的权重向量横向排在一起生成权重矩阵U k W cat 2 ahpResult k 1 W end用该函数实现层次分析法的关键是 把整个层次结构存入嵌套元胞数组C中 见程序注释 C k 存储第k 1层与第k层的结构 k 1 n 设第k层有mk个元素 其中第j元素与第k 1层的结构关系存储到C k j 中 j 1 mk 需要存储的信息有 受第j元素支配的第k 1层各元素的判断矩阵 第k 1层各元素是否受第k层第j元素支配 即有没有连线 所以需要两个位置 即C k 1 j 和C k 2 j 9 例1某工厂有一笔企业留

14、成利润 需要决定如何分配使用 已经决定有三种用途 奖金 集体福利措施 引进技术设备 考察准则也有三个 是否能调动职工的积极性 是否有利于提高技术水平 考虑改善职工生活条件 建立如下层次模型 书山有路 经过工厂决策人员讨论 得到如下判断矩阵 1 第2层对第1层三个元素C1 C2 C3都受A支配 判断矩阵C 1 1 1 为 相应的逻辑数组C 1 2 1 为 truetruetrue 2 第3层对第2层 1 第3层对第2层第1个元素C1受C1支配的只有两个元素P1和P2 判断矩阵C 2 1 1 为 相应的逻辑数组C 2 2 1 为 truetruefalse 2 第3层对第2层第2个元素C2受C2支

15、配的只有两个元素P2和P3 判断矩阵C 2 1 2 为 10 书山有路 相应的逻辑数组C 2 2 2 为 falsetruetrue 3 第3层对第2层第3个元素C3受C3支配的只有两个元素P1和P2 判断矩阵C 2 1 3 为 相应的逻辑数组C 2 2 3 为 truetruefalse 3 有了上面的分析 层次模型的元胞数组表示C已经确定 调用函数ahp m即可C cell 2 1 共n 1 3层 故n 2C 1 1 1 11 51 3 513 31 31 第2层 C层 关于第1层 目标层A 的判断矩阵C 1 2 1 truetruetrue 相应的逻辑数组C 2 1 1 11 3 31

16、第3层 P层 关于第2层第1元素C1的判断矩阵C 2 2 1 truetruefalse 相应的逻辑数组C 2 1 2 11 5 51 第3层 P层 关于第2层第2元素C2的判断矩阵C 2 2 2 falsetruetrue 相应的逻辑数组C 2 1 3 12 1 21 第3层 P层 关于第2层第3元素C3的判断矩阵C 2 2 3 truetruefalse 相应的逻辑数组 11 书山有路 W ahpResult ahp C 调用ahp求解W 输出总排序的权重向量运行结果 W 0 19840 27080 5308W就是方案层各个方案所占的比重 可见引进技术设备所占比重最大 改善员工福利次之 体现在奖金分配上 即用全部留成利润的53 08 引进技术设备 27 08 改善员工福利 19 84 发奖金 例2假设某人在制定食谱时有三类食品可选 肉 面包 蔬菜 这三类食品所含营养成分及单价如下表所示 假设该人体重为55kg 每天对各类营养的最小需求为维生素A7500IU维生素B21 6338mg热量Q8548 5kJ问题是 应如何制定食谱使得在保证营养的前提下支出最小 单纯考虑问题条件 容易建立

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号