层次分析法--可以帮助你做决策的简单算法

作用

层次分析法是一个多指标的评价算法,主要用来在做决策时,给目标的多个影响因子做权重评分。特别是那些需要主观决策的、或者需要用经验判断的决策方案,例如:

  • 买房子(主观决策)
  • 选择旅游地(主观决策)
  • 给员工进行绩效评估(经验判断)
  • 选择开店地址(经验判断)

实现步骤

构建层次评价模型

一般可以分为三个层次:目标层、准则层和方案层。如图,目标层:最优旅游地选择;准则层:景色、费用、居住、饮食、旅途;方案层:西安、云南、西藏、青海。

构造判断矩阵

构造判断矩阵就是将准则层各要素之间两两相互比较,确定各要素对目标层的重要程度(权重)。

准则层A构建如下:

准则层A各要素必须满足如下条件:即各要素必须大于0;对角线必须等于1;对角线对称的元素互为倒数。

标度值的大小如图所示方法进行配置

层次单排序与一致性检验

层次单排序就是根据我们构成的判断矩阵,求解各个指标的权重。

计算权重有两种方法:方根法、和法。

计算权重

方根法

1、通过计算每行乘积的m次方,得到m维向量。

示例中的计算如图

2、将向量标准化,得到权重

计算示例的权重如图

和法

1、先将矩阵的每列进行标准化

2、将标准化后的各元素按行求和

3、将求和结果进行标准化

求解最大特征根λmax与CI值

以上,求得权重矩阵后,可以计算最大特征根,其公式为:

其中n为维度数,例如构建的判断矩阵为:景色、费用、居住、饮食、旅途时,n=5;

AW为:判断矩阵*标准化后的权重,然后按按行的累加值。

即判断矩阵A为:

标准化后权重W为:

其中A*W为:

AW:

λmax:

AW1/W1+AW2/W2+AW3/W3+···+AWn/Wn=x

最大特征值λmax=x/矩阵阶数=5.416

最大特征值λmax求解出来后,C.I值就好算多了,

根据C.I值公式,λmax=5.416,n=5,代入可得C.I值=0.1042

求解CR值,判断一致性

一致性校验目的是确定构建的判断矩阵是否有逻辑问题。例如,如果a相当于b为3,a相当于c为1/3,在判断b相当于c时,理应c比b重要。

RI值通过查表可以得知,这个是模拟 1000 次得到的随机一致性指标 R.I.:

而我们的矩阵是5阶(准则层因子个数),矩阵阶数为5时对应的RI值为1.12,代入公式,可以得到C.R.值为 0.1042 / 1.12 = 0.093。

所以 C.R.=0.093

层次总排序与一致性检验

层次总排序,其实就是通过类型层次单排序的方法来给方案打分。即上一步的层次单排序通过判断矩阵计算出了景色、费用、居住、饮食和旅途的权重。现在如果想要知道目标地的权重,那就再构建一个判断矩阵,利用层次单排序计算目标地点的权重,即目标方案的分数。

层次单排序是对一个目标下的多个影响因子,计算各个因子的权重,例如下图中的Z和A1、A2、A3、A4和A5。或者将A1(景色)作为目标,B1、B2和B3作为影响因子,计算B1、B2和B3的权重,即苏杭、北戴河和桂林对目标景色的重要性。

具体做法是这样的。根据上一步算出来的各个因素的权重,确定A1~A5的权重为

现在我想计算方案B1苏杭的权重,那么我们就要重复上个步骤的层次单排序的方法,首先构建一个判断矩阵

依此类推,上述步骤循环5次,就能得到苏杭、北戴河、桂林在景色上的得分矩阵A1,在费用上的得分矩阵A2,在居住上的得分矩阵A3,在饮食上的得分矩阵A4,在旅途上的得分矩阵A5:

以上的判断矩阵全部需要做一致性校验。

通过判断矩阵再计算苏杭、北戴河、桂林在景色、费用等因素上的权重。

对于方案B1(苏杭),它的总得分为:

苏杭在景色上的得分*景色的权重+苏杭在费用上的得分*费用的权重+苏杭在居住上的得分*居住的权重+苏杭在饮食上的得分*饮食的权重+苏杭在旅途上的得分*旅途的权重=0.5954*0.3104+0.819*0.0591+0.4286*0.1157+0.6337*0.4716+0.1667*0.0432=0.5889

以此类推,方案B2(北戴河)为

0.2764*0.3104+0.2363*0.0591+0.4286*0.1157+0.1919*0.4716+0.1667*0.0432=0.2471

方案B3(桂林):

0.1283*0.3104+0.6817*0.0591+0.1429*0.1157+0.1744*0.4716+0.6667*0.0432=0.2077

因此苏杭得分最高,选择去苏杭。

总结

层次分析法的核心其实就是层次单排序。层次单排序是对一个目标下的多个影响因子,计算各个因子对于该目标的权重。利用层次单排序我们就能在一个树型结构的层次评价模型里,由最上层的目标层层递进向下,最终得到树的叶子节点的权重,即我们想要得到的各个方案的权重。

当我们把一个树模型上的所有节点的得分(可以理解为对上一层的权重)都计算出来之后,最终的方案的权重也就出来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android11 申请所有文件访问权限

Android 11 引入了强制执行分区存储的限制,导致应用默认不能访问外部文件。 针对以前涉及较多文件的操作,可采用申请所有文件访问权限的方式来解决这一问题,实现方式如下。 (虽然这样做安全性低,官方并不推荐这样&…

Shell判断:模式匹配:case(三)

系统管理工具箱 1、需求:Linux提供的丰富的管理命令,用户管理,内存管理,磁盘管理,进程管理,日志管理,文件管理,软件管理,网络管理等等数十个工具包。如果你能通过shell编…

【代码随想录】算法训练计划30

【代码随想录】算法训练计划30 1、51. N 皇后 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,…

分布式锁3: zk实现分布式锁

一 zk 实现分布式锁 1.1 zk分布式操作命令 1.指令: ls / get /zookeeper create /aa "test" delete /aa set /aa "test1" 2..znode节点类型: 永久节点:create /pa…

优秀智慧园区案例 - 上海世博文化公园智慧园区,先进智慧园区建设方案经验

一、项目背景 世博文化公园是上海的绿色新地标,是生态自然永续、文化融合创新、市民欢聚共享的大公园。作为世博地区的城市更新项目,世博文化公园的建设关乎上海城市风貌、上海文化展示、城市生态环境、市民游客体验、上海服务品牌等,被赋予…

依托数据、平台、知识增强等优势 夸克大模型大幅降低问答幻觉率

“大模型时代,夸克有巨大机会创造出革新性搜索产品。”11月22日,夸克大模型公布了其面向搜索、生产力工具和资产管理助手的大模型技术布局。数据显示,夸克千亿级参数大模型登顶C-Eval和CMMLU两大权威榜单,夸克百亿级参数大模型同样…

电大搜题——让学习变得轻松高效

作为一名现代学者,您一定时刻关注着教育领域的进展和创新。今天,我将向大家介绍一个名为“电大搜题”的神奇工具,它将为您的学习之路带来一场完美的革命。 在快节奏的现代社会中,学习已经成为每个人追求成功的必经之路。然而&…

【数据结构】动态顺序表详解

目录 1.顺序表的概念及结构 2.动态顺序表的实现 2.1创建新项目 2.2动态顺序表的创建 2.3接口的实现及测其功能 2.3.1初始化 2.3.2尾插 2.3.3头插 2.3.4尾删&头删 2.3.5打印&从任意位置插入 2.3.6删除任意位置的数据 2.3.7查找 2.3.8销毁顺序表 3.结语 He…

java项目之社区互助平台(ssm+vue)

项目简介 社区互助平台实现了以下功能: 1、一般用户的功能及权限 所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果有中意的社区互助信息时,要登录注册,只有注册成功才有的权限。2、管理员的功能及权限 用户信息的添…

react大文件上传

目录 大文件上传优点: 大文件上传缺点: 大文件上传原理: 为什么要用md5 实现流程: 部分代码1: 部分代码2:​ 大文件上传优点: 文件太大分片上传能加快上传速度,提高用户体验能断点续传 如果上次上传失败…

简单工程模式

代码实现 //simpleFactory.h #ifndef _SimpleFactory_H_ #define _SimpleFactory_H_#include <iostream> #include <exception> #include <string>using namespace std;class Operation { protected:double _numberA 0;double _numberB 0; public:Operat…

MybatisX插件使用

Mybatis X插件 MybatisX 是一款基于 IDEA 的快速开发插件&#xff0c;为效率而生。MybatisX官网&#xff1a;https://baomidou.com/pages/ba5b24/#%E5%8A%9F%E8%83%BD安装方法&#xff1a;打开 IDEA&#xff0c;进入 File -> Settings -> Plugins&#xff0c;输入 mybat…

三维控件中定位一个点_vtkPointWidget

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码 demo解决问题&#xff1a;允许用户使用三维光标在三维空间中定位一个点。关键类vtkPointWidget , 光标具有轮廓边界框、轴对齐十字准线和轴阴影&#xff…

AD7021C 触摸感应加灯光调节芯片IC 可用于触摸台灯、触摸玩具灯等

AD7021C触摸感应 IC 是为实现人体触摸界面而设计的集成电路。可替代机械式轻触按键&#xff0c;实现防水防尘、密封隔离、坚固美观的操作界面。使用该芯片可以实现 LED 灯光亮度调节&#xff0c;方案所需的外围电路简单&#xff0c;操作方便。确定好灵敏度选择电容&#xff…

【华为OD题库-033】经典屏保-java

题目 DVD机在视频输出时&#xff0c;为了保护电视显像管&#xff0c;在待机状态会显示"屏保动画”&#xff0c;如下图所示,DVD Logo在屏幕内来回运动&#xff0c;碰到边缘会反弹:请根据如下要求&#xff0c;实现屏保Logo坐标的计算算法 1、屏幕是一个800 * 600像素的矩形&…

Vue3 provide 和 inject 实现祖组件和后代组件通信

provide 和 inject 能够实现祖组件和其任意的后代组件之间通信&#xff1a; 一、provide 提供数据 我们在祖组件中使用provide 将数据提供出去。 使用provide 之前需要先进行引入&#xff1a; import { provide } from "vue"; 语法格式如下&#xff1a; provide(&q…

山西电力市场日前价格预测【2023-11-23】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-11-23&#xff09;山西电力市场全天平均日前电价为148.77元/MWh。其中&#xff0c;最高日前电价为420.40元/MWh&#xff0c;预计出现在18:00。最低日前电价为0.00元/MWh&#xff0c;预计出…

微信小程序开发学习——页面布局、初始导航栏与跳转

1.盒模型 要求实现效果如图所示&#xff1a; 所有WXML元素都可以看作盒子&#xff0c;在WXSS中"box model”这一术语是用来设计和布局时使用盒模型本质上是一个盒子&#xff0c;封装周围的WXML元素它包括: 边距&#xff0c;边框&#xff0c;填充和实际内容&#xff0c;模…

RAW RGB YUV数据差异

目录 颜色与色彩空间 RAW图像 RGB图像 YUV图像 颜色与色彩空间 颜色 颜色是人眼感知到的现象&#xff0c;它是由光波的频率和强度所决定的&#xff0c;仅仅存在于人的眼睛和大脑中&#xff0c;因此为了方便描述颜色&#xff0c;引入了色彩空间。色彩空间 色彩空间&#xff…

C语言--数组与指针--打印字符串的n种方式

一.知识背景 一维数组名的含义 arr一般表示数组的起始地址&#xff08;除了两种例外&#xff09; 1.在定义数组的同一个函数中(不是形参),求sizeof(arr),求整个数组的字节数 2.在定义数组的同一个函数中(不是形参),&arr1,加整个数组的大小 (经常考试) 3.除上面以外,arr都表…