层次分析法和多属性决策算法
层次分析法
层次分析法是笔者参加建模比赛最喜欢用的模型,也是各种算法中最简单的算法,大部分类型的题目都可以用层次分析法入手,进行初步的分析。
层次分析法的优点在于不需要任何数据,矩阵中用到的数据都是建模者主观上的比较,适用于没有数据或者数据少的问题中,缺点在于有些时候逻辑不够严谨以及模型较单一,推广能力差。
层次分析法概念:
层次分析法(AHP)特点在于对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。是对难以完全定量的复杂系统做出决策的模型和方法
- 注:决策是指面临多种方案时需要根据一定的标准选择某一种方案,如根据景区的景色、居住环境、餐饮特色、交通便利程度、旅游费用等来选择某一旅游目的地。
层次分析法原理:
根据问题的性质和要达到的总目标,将问题分解成不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成一个多层次的分析结构模型,从而最终使问题归结为最低层(供决策的方案、措施等)相对于最高层(总目标)的相对重要权值的确定或相对优劣次序的排定。
层次分析法步骤:
1、 建立层次结构模型
2、 构造成对比较矩阵
3、 层次单排序及其一致性检验
4、 层次总排序及其一致性检验
如何构建层次结构模型
将决策的目标、考虑的因素(决策准则)和决策对象按它们之间的相互关系分为目标层、准则层、方案层,绘制出层次结构图
目标层:决策的目的,要解决的问题
准则层:考虑的因素、决策的准则
方案层:决策时的备选方案
如何构造成对比较矩阵
在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,因此提出一致矩阵法,即
(1)不把所有因素放在一起比较,而是两两相互比较
(2)对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,以提高准确度。
- 成对比较矩阵时表示本层所有因素针对上一层某一个因素的相对重要性的比较。成对比较矩阵的元素a_ij用1——9的标度方法给出。
如何一致性检验
计算一致性指标CI
为了避免随机因素所造成的误差,还需将 CI 和随机一致性指标 RI 进行比较,得出检验系数 CR,当CR<0.1,该矩阵的一致性可以接受,若CR>=0.1,该矩阵的一致性不能接受。
公式如下:
CR=CI/RI
实例:
在上海,杭州,南京三个旅游目的地中选择一个最合适的城市进行旅游。
符号说明
步骤一:绘制层次结构模型
列举出影响游客选择旅游目的地的因素——景色,费用,居住,饮食,路程。
然后列出旅游的城市——上海,杭州,南京
确定目标层、准则层和方案层。
步骤二:构建成对比较矩阵
根据资料和实际数据,我们可以列出成对比较矩阵
步骤三:一致性检验(代码见最后)
A矩阵的CI=0.0180,CR=0.0161,一致性检验通过
步骤四:得出结果
经过计算
A_1 A_2 A_3 A_4 A_5对Z的权重为【0.2636,0.4758,0.0538,0.0981,0.1087】
B_1 B_2 B_3对A_1的权重为【0.5954,0.2764,0.1283】
B_1 B_2 B_3对A_2的权重为【0.0819,0.2363,0.6817】
B_1 B_2 B_3对A_3的权重为【0.4286,0.4286,0.1429】
B_1 B_2 B_3对A_4的权重为【0.6337,0.1919,0.1744】
B_1 B_2 B_3对A_5的权重为【0.1667,0.1667,0.6667】
结论:
B_1 B_2 B_3对总目标的权重为【0.3,0.245,0.455】,因此选择南京作为旅游目的地最合适。
多属性决策
多属性决策模型实质:
利用已有的决策信息,通过一定的方式,对一组(有限个)备选方案进行排序或择优。
主要由两部分构成:(1)获取决策信息——一般包括属性权重和属性值(实数、区间数和语言),其中属性权重的确定是多属性决策中的一个重要研究内容;(2)通过一定方法对决策信息进行集结并对方案进行排序和择优。
加权算数平均算子(WAA)
信息集结方法包括加权算数平均算子(WAA)、加权几何平均算子(WGA),有序加权平均算子(OWA),本文主要介绍WAA。
定义
属性归一化
属性类型一般有效益型、成本性、固定性、区间型、偏离区间型等。其中效益型属性是指属性值越大越好的属性;成本型属性是指属性值越小越好的属性;固定型属性是指属性值越接近某个固定值α_i越好的属性;区间型属性是指属性值越接近某个固定区间[〖q_1〗j,〖q_2〗j](包括落入该区间)越好的属性,偏离区间型属性是指属性值越偏离某个固定区间[〖q_1〗j,〖q_2〗j ]越好的属性。为了消除不同物理量纲对决策结果的影响,决策时可按下列公式对数据进行规范化处理。
多属性决策实例:
投资银行拟对四家企业(方案)进行投资,抽取下列5项指标(属性)进行评估——产值(万元);投资成本(万元);销售额(万元);国家收益比重;环境污染程度
投资银行考察了上年度4家企业的上述指标情况(其中污染程度系有环保部门历时检测并量化),所得结果如表所示。
在各项指标中,投资成本、环境污染程度为成本型,其他为效益型,属性权重信息完全未知,试确定最佳投资方案。
计算属性权重
对五个属性构建成对比较矩阵,计算属性权重
一致性检验的MATLAB代码
disp(' 请输入成对比较矩阵A ');
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>pi=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.10disp('此矩阵的一致性可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR);
end
层次分析法和多属性决策算法相关推荐
- 层次分析法------小学生都会的算法~~~
文章目录 一.评价模型的种类 二.层次分析法 2.1层次分析法的原理及应用 2.1.1原理 2.1.2应用 一.评价模型的种类 二.层次分析法 2.1层次分析法的原理及应用 2.1.1原理 层次分析法 ...
- 层次分析法(AHP)算法简介
一·.模型介绍 层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究"根据各个工业部门对国家福利的贡献大小而进行电力分配"课题时,应用网络系统理论和多目标综 ...
- 层次分析法和熵值法经典实操案例+数据
1.数据来源:无 2.时间跨度:无 3.区域范围:无 4.指标说明: 层次分析法(Analytic Hierarchy Process,简称AHP)是美国运筹学家.匹兹堡大学T. L. Saaty教授 ...
- 多属性决策与层次分析
层次分析法 多属性决策模型
- Matlab指标权重的确定(AHP标度拓展层次分析法、EVM熵权法和博弈论的结合)
我们在处理统计数据时,会经常遇到需要和合并指标的问题,虽然主成分分析是一个不错的选择,但是指标赋权在很多研究中也经常使用,结合主观和客观的赋权更符合实际些,博弈论是个不错的选择.所以本文的代码是博弈论 ...
- c语言写层次分析法,基于C语言的层次分析法在医院工作质量评价中的设计与实现...
高宇翔 王磊 买力曼·巴哈尼 朱诗威 艾孜买提·艾则孜 吴淼 摘要:目的:对新疆医院工作质量进行综合评价和分析,并提出合理的改进建议,结合新疆医院的工作质量,采用层次分析法提出医院工作质量评价模型,并 ...
- 多属性决策的理论与方法
推荐两本书<移动云计算---资源共享技术> 李波著.<多属性决策的理论与方法>徐玖平 吴巍编著. 关注这个点是因为:<移动云计算---资源共享技术>关于基于多属性决 ...
- 【论文速递】基于改进层次分析法与熵权法的目标选择模型
[论文原文]:基于改进层次分析法与熵权法的目标选择模型 作者信息: 张指辉,张毅,李健宁 获取地址:https://kns.cnki.net/kcms2/article/abstract?v=3uoq ...
- ahp层次分析法软件_层次分析法在历史街区研究中的应用简析
摘要 AHP (Analytic Hierarchy Process)层次分析法通常被运用于解决多目标.多标准.多要素.多层次的非结构化的复杂决策性问题,特别是战略决策性问题,在建筑.规划.风景园林等 ...
- 第四段第一天_数学模型之层次分析法
层次分析法 [ 定义] [ 步骤] [ 优点介绍] [ 缺点介绍] [程序 ] 1:定义 所谓层次分析法,是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准 ...
最新文章
- 互联网大脑如何产生“梦境“并形成元宇宙
- 2021算法竞赛入门班第一节课【枚举、贪心】习题
- 全球最难翻译的十大单词
- 手把手教你搭建用户画像,数据分析效率提升百倍
- @EnableDiscoveryClient
- 《Java 核心技术卷1 第10版》学习笔记------ 参数数量可变的方法
- EXT核心API详解(二)-Array/Date/Function/Number/String
- 【Tools】TortoiseGit安装图解
- 使用Redis实现分布式锁
- 轮廓检测_轮廓检测| Richer Convolutional Features | CVPR | 2017
- Spark基础学习笔记05:搭建Spark Standalone模式的集群
- Openbravo体验
- 前端--开发“抽屉新热榜”
- 英文学习20180403
- 程序分析-Joern工具工作流程分析
- u盘安装原版win10
- Python求风向xy向量
- Windows8.1设置默认输入法为英文
- 自学整理之HTML5常用标签和知识——小白篇
- 微信小程序抓包反编译保姆级教程