层次分析法及找工作问题实战

news2024/11/16 21:34:22

  学习知识要实时简单回顾,我把学习的层次分析法简单梳理一下,方便入门与复习。

AHP

层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的一种简便、灵活而又实用的多准则决策方法。

层次分析法的基本原理与步骤

  人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是
一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次
分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。
运用层次分析法建模,大体上可按下面四个步骤进行:
(i)建立递阶层次结构模型;
(ii)构造出各层次中的所有判断矩阵;
(iii)层次单排序及一致性检验;
(iv)层次总排序及一致性检验。
下面分别说明这四个步骤的实现过程。

递阶层次结构的建立与特点

  应用 AHP 分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次
的结构模型。在这个模型下,复杂问题被分解为元素的组成部分。这些元素又按其属
性及关系形成若干层次。上一层次的元素作为准则对下一层次有关元素起支配作用。
这些层次可以分为三类:
  (i)最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结
果,因此也称为目标层。
  (ii)中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干
个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。
  (iii)最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,
因此也称为措施层或方案层。递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。每一层次中各元素所支配的元素一般不要超过 9 个。这是因为支配的元素过多会给两两比较判断带来困难。
下面结合一个实例来说明递阶层次结构的建立。
假期旅游有 P 1 、 P 2 、 P 3 P_1、P_2、P_3 P1P2P3 3 个旅游胜地供你选择,试确定一个最佳地点。
在此问题中,你会根据诸如景色、费用、居住、饮食和旅途条件等一些准则去反
复比较 3 个侯选地点。可以建立如图 1 的层次结构模型。
在这里插入图片描述

构造判断矩阵

  层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重
并不一定相同,在决策者的心目中,它们各占有一定的比例。
  在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。为看清这一点,可作如下假设:将一块重为 1 千克的石块砸成 n 小块,你可以精确称出它们的重量,设为 w 1 , ⋯   , w n w_1,\cdots,w_n w1,,wn,现在,请人估计这 n 小块的重量占总重量的比例(不能让他知道各小石块的重量),此人不仅很难给出精确的比值,而且完全可能因顾此失彼而提供彼此矛盾的数据。
  设现在要比较 n 个因子 X = { x 1 , ⋯   , x n } X=\{x_1,\cdots,x_n\} X={x1,,xn} 对某因素 Z 的影响大小,怎样比较才能提供可信的数据呢?Saaty 等人建议可以采取对因子进行两两比较建立成对比较矩阵的
办法。即每次取两个因子 x i x_i xi x j x_j xj ,以 a i j a_ij aij 表示 x i x_i xi x j x_j xj 对 Z 的影响大小之比,全部比较结果用矩阵 A = ( a i j ) n × n A=\left(a_{ij}\right)_{n\times n} A=(aij)n×n表示,称 A 为 Z −X 之间的成对比较判断矩阵(简称判断矩阵)。容易看出,若 x i x_i xi x j x_j xj 对 Z 的影响之比为 a i j a_ij aij ,则 x j x_j xj x i x_i xi 对 Z 的影响之比应为 a j i = 1 a i j a_{j i}=\frac{1}{a_{i j}} aji=aij1
  关于如何确定 a i j a_ij aij的值,Saaty 等建议引用数字 1~9 及其倒数作为标度。表 1 列出了 1~9 标度的含义
在这里插入图片描述
  从心理学观点来看,分级太多会超越人们的判断能力,既增加了作判断的难度,又容易因此而提供虚假数据。Saaty 等人还用实验方法比较了在各种不同标度下人们判断结果的正确性,实验结果也表明,采用 1~9 标度最为合适。
  最后,应该指出,一般地作 n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n1)次两两判断是必要的。有人认为把所有元素都和某个元素比较,即只作 n-1 次比较就可以了。这种作法的弊病在于,任何一个判断的失误均可导致不合理的排序,而个别判断的失误对于难以定量的系统往往是难以避免的。进行 n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n1)次比较可以提供更多的信息,通过各种不同角度的反复比较,从而导出一个合理的排序。

层次单排序及一致性检验

  判断矩阵 A 对应于最大特征值 λ max ⁡ \lambda_{\max} λmax的特征向量W ,经归一化后即为同一层次相应因素对于上一层次某因素相对重要性的排序权值,这一过程称为层次单排序。
  上述构造成对比较判断矩阵的办法虽能减少其它因素的干扰,较客观地反映出一对因子影响力的差别。但综合全部比较结果时,其中难免包含一定程度的非一致性。如果比较结果是前后完全一致的,则矩阵 A 的元素还应当满足:

a i j a j k = a i k , ∀ i , j , k = 1 , 2 , ⋯ n a_{ij}a_{jk}=a_{ik},\quad\forall i,j,k=1,2,\cdots n aijajk=aik,i,j,k=1,2,n

对判断矩阵的一致性检验的步骤如下:
(i)计算一致性指标 CI

   C I = λ max ⁡ − n n − 1 CI=\frac{\lambda_{\max}-n}{n-1} CI=n1λmaxn

(ii)查找相应的平均随机一致性指标 RI 。对 n = 1 , ⋯   , 9 n=1,\cdots,9 n=1,,9 ,Saaty 给出了 RI 的值,
如表 2 所示。
在这里插入图片描述
  RI 的值是这样得到的,用随机方法构造 500 个样本矩阵:随机地从 1~9 及其倒数中抽取数字构造正互反矩阵,求得最大特征根的平均值 λ max ⁡ ′ \lambda'_{\max} λmax ,并定义

   R I = λ max ⁡ ′ − n n − 1 RI=\frac{\lambda'_{\max}-n}{n-1} RI=n1λmaxn

(iii)计算一致性比例 CR

   C R = C I R I CR=\frac{CI}{RI} CR=RICI

C R < 0.10 CR < 0.10 CR<0.10 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。

层次总排序及一致性检验

  上面我们得到的是一组元素对其上一层中某元素的权重向量。我们最终要得到各
元素,特别是最低层中各方案对于目标的排序权重,从而进行方案选择。总排序权重要自上而下地将单准则下的权重进行合成。
在这里插入图片描述
  设上一层次( A 层)包含 A 1 , ⋯   , A m A_1,\cdots,A_m A1,,Am 共 m 个因素,它们的层次总排序权重分别为 a 1 , ⋯   , a m a_1,\cdots,a_m a1,,am。又设其后的下一层次( B 层)包含 n 个因素 B 1 , ⋯   , B n B_1,\cdots,B_n B1,,Bn ,它们关于 A j A_j Aj的层次单排序权重分别为 b 1 j , ⋯   , b n j b_{1j},\cdots,b_{n_j} b1j,,bnj(当 B i B_i Bi A j A_j Aj无关联时, b i j = 0 b_{ij}=0 bij=0)。现求 B 层中各因素关于总目标的权重,即求 B 层各因素的层次总排序权重 b 1 , ⋯   , b n b_1,\cdots,b_n b1,,bn ,计算按表 3 所示方法,即 b i = ∑ j = 1 m b j a j , i = 1 , ⋯   , n b_i=\sum_{j=1}^m b_ja_j,i=1,\cdots,n bi=j=1mbjaj,i=1,,n
  对层次总排序也需作一致性检验,检验仍象层次总排序那样由高层到低层逐层进
行。这是因为虽然各层次均已经过层次单排序的一致性检验,各成对比较判断矩阵都
已具有较为满意的一致性。但当综合考察时,各层次的非一致性仍有可能积累起来,
引起最终分析结果较严重的非一致性。
  设 B 层中与 A j A_j Aj相关的因素的成对比较判断矩阵在单排序中经一致性检验,求得单排序一致性指标为 C I ( j ) , ( j = 1 , ⋯   , m ) CI(j), (j=1,\cdots,m) CI(j),(j=1,,m),相应的平均随机一致性指标为 R I ( j ) RI(j) RI(j)
( C I ( j ) , R I ( j ) (CI(j),RI(j) (CI(j),RI(j) 已在层次单排序时求得),则 B 层总排序随机一致性比例为
C R = ∑ j = 1 m C l ( j ) a j ∑ j = 1 m R I ( j ) a j CR=\frac{\sum\limits_{j=1}^m Cl(j)a_j}{\sum\limits_{j=1}^m RI(j)a_j} CR=j=1mRI(j)ajj=1mCl(j)aj
C R < 0.10 CR < 0.10 CR<0.10 时,认为层次总排序结果具有较满意的一致性并接受该分析结果。

层次分析法的应用

  在应用层次分析法研究问题时,遇到的主要困难有两个:
(i)如何根据实际情况
抽象出较为贴切的层次结构;
(ii)如何将某些定性的量作比较接近实际定量化处理。
  层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为科学管理和决策提供了较有说服力的依据。但层次分析法也有其局限性,主要表现在:
(i)它在很大程度上依赖于人们的经验,主观因素的影响很大,它至多只能排除思维
过程中的严重非一致性,却无法排除决策者个人可能存在的严重片面性。
(ii)比较、判断过程较为粗糙,不能用于精度要求较高的决策问题。AHP 至多只能算是一种半定量(或定性与定量结合)的方法。

找工作问题实战

挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生。该生根据已有信息建立了一个层次结构模型,如图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

找工作问题实战代码如下

clc,clear
fid=fopen('txt3.txt','r');
n1=6;n2=3;
a=[];
for i=1:n1
tmp=str2num(fgetl(fid));
a=[a;tmp]; %读准则层判断矩阵
end
for i=1:n1
str1=char(['b',int2str(i),'=[];']);
str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
eval(str1);
for j=1:n2
tmp=str2num(fgetl(fid));
eval(str2); %读方案层的判断矩阵
end
end
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[x,y]=eig(a);
lamda=max(diag(y));
num=find(diag(y)==lamda);
w0=x(:,num)/sum(x(:,num));
cr0=(lamda-n1)/(n1-1)/ri(n1)
for i=1:n1
[x,y]=eig(eval(char(['b',int2str(i)])));
lamda=max(diag(y));
num=find(diag(y)==lamda);
w1(:,i)=x(:,num)/sum(x(:,num));
cr1(i)=(lamda-n2)/(n2-1)/ri(n2);
end
cr1, ts=w1*w0, cr=cr1*w0

纯文本文件txt3.txt中的数据格式如下:

1 1 1 4 1 1/2
1 1 2 4 1 1/2
1 1/2 1 5 3 1/2
1/4 1/4 1/5 1 1/3 1/3
1 1 1/3 3 1 1
2 2 2 3 3 1
1 1/4 1/2
4 1 3
2 1/3 1
1 1/4 1/5
4 1 1/2
5 2 1
1 3 1/3
1/3 1 1/7
3 7 1
1 1/3 5
3 1 7
1/5 1/7 1
1 1 7
1 1 7
1/7 1/7 1
1 7 9
1/7 1 1
1/9 1 1
编写不易,求个点赞!!!!!!!
“你是谁?”

“一个看帖子的人。”

“看帖子不点赞啊?”

“你点赞吗?”

“当然点了。”

“我也会点。”

“谁会把经验写在帖子里。”

“写在帖子里的那能叫经验贴?”

“上流!”
cheer!!!

在这里插入图片描述

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

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

相关文章

C++类和对象上

专栏&#xff1a;C/C 个人主页&#xff1a;HaiFan. 专栏简介&#xff1a;本章为大家带来C类和对象相关内容。 类和对象 前言面向过程和面向对象类的引入类的定义对于类中成员的命名建议 类的访问限定符及封装访问限定符封装 类的作用域类的实例化如何计算类对象的大小this指针t…

Web自动化测试——XAPTH高级定位

XAPTH高级定位 一、xpath 基本概念二、xpath 使用场景三、xpath 相对定位的优点四、xpath 定位的调试方法五、xpath 基础语法&#xff08;包含关系&#xff09;六、xpath 顺序关系&#xff08;索引&#xff09;七、xpath 高级用法1、[last()]: 选取最后一个2、[属性名属性值 an…

ESP32设备驱动-PCF8575IO扩展器驱动

PCF8575IO扩展器驱动 文章目录 PCF8575IO扩展器驱动1、PCF8575介绍2、硬件准备3、软件准备4、驱动实现1、PCF8575介绍 PCF8575用于两线双向总线 (I2C) 的 16 位 I/O 扩展器专为 2.5-V 至 5.5-V VCC 操作而设计。 PCF8575 器件通过 I2C 接口 [串行时钟 (SCL)、串行数据 (SDA)]…

flask教程8:模板

文章目录 一、模板与自定义过滤器1 模板2 过滤器转义过滤器讲解 3自定义过滤器 二、表单1表单2表单扩展 三、创建表单模型类与模板使用3.1 表单模型类 四 、使用表单接受并检验参数五、模板宏的使用六 、宏定义在外部的使用七 &#xff1a;模板继承与包含继承包含include 八 、…

PVE 安装 windows10

pve 安装教程大家可以参考视频&#xff1a;pve 安装 pve 安装 Windows10 视频教程&#xff1a;pve 安装Windows10 在安装好 pve 后我们就可以进行虚拟机的安装了。当然我们可以自行决定是否有必要进行 win10 的安装。 准备工作 1. 下载 win10 镜像文件&#xff1a;https://…

数据结构与算法基础(王卓)(35):交换排序之快排【第二阶段:标准答案、初步发现问题】

目录 第二阶段&#xff1a;一分为二 整个快排算法的程序运行大框架&#xff1a; 做出的改动&#xff08;和原来程序的区别&#xff09;&#xff1a; Project 1: PPT标准答案&#xff1a; Project 1小问题&#xff1a; Project 1还存在着一个巨大的问题&#xff1a; 具体问…

嵌入式软考备考_8 软件测试

软件测试 测试&#xff1a;在规定的条件下操作程序&#xff0c;以发现错误&#xff0c;对软件质量进行评估。 对象&#xff1a;程序&#xff0c;数据&#xff0c;文档。 目的&#xff1a;发现错误&#xff0c;看是否满足用户需求&#xff0c;发现错误产生的原因&#xff08;…

汇编四、51单片机汇编指令2

1、机器码 (1)MOV A,#0x60对应机器码为7460 (2)7460对应二进制 0111 0100 0110 0000 0x74对应指令&#xff0c;0x60对应立即数。 (3)immediate data翻译为立即数。 (4)可人为查表把汇编转为机器码&#xff0c;也可通过编译器把汇编转为机器码。 2、汇编常见缩写 (1)Rn: n可…

leetcode-040-组合总和2

题目及测试 package pid040; /* 40. 组合总和 II 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意&#xff1a;解集不能包含重复的组合…

Vue中使用EasyPlayer播放H265视频流

需求说明 需要在Vue2的项目中使用EasyPlayer进行H265视频流的播放。使用官方的最新版本加载H265会有问题。一直处于加载中… 实现步骤 引入easyplayer,这里最开始引入了最新版会有问题&#xff0c;因此引入的是3.3.12版本&#xff0c;可参照官方文档进行配置。 EasyPlayer示…

HBase整合Phoenix

HBase整合Phoenix 创建软件目录 mkdir -p /opt/soft cd /opt/soft下载软件 wget https://dlcdn.apache.org/phoenix/phoenix-5.1.3/phoenix-hbase-2.5-5.1.3-bin.tar.gz解压 hbase tar -zxvf phoenix-hbase-2.5-5.1.3-bin.tar.gz修改 hbase 目录名称 mv phoenix-hbase-2.5…

(初)进程概念

目录 认识冯诺依曼系统 操作系统(Operator System) 设计OS的目的&#xff1a; 定位&#xff1a; 如何理解管理&#xff1a; 总结&#xff1a; 系统调用和库函数概念&#xff1a; 进程 基本概念 &#xff1a; 描述进程PCB task_struct - PCB的一种 task_struct内容分…

编译安装最新的Linux系统内核

现在还有不少机器是CentOS8 Stream系统&#xff0c;虽然上了贼船&#xff0c;不影响用就是了。8的编译和7大同小异&#xff0c;只是踩了更多的坑在这里记录一下&#xff0c;或许会帮到看到的朋友。 安装编译环境 CentOS8安装必要的包 yum groupinstall "Development Too…

【P13】JMeter 常数吞吐量定时器(Constant Throughput Timer)

文章目录 1、基于计算吞吐量&#xff1a;只有此线程2、基于计算吞吐量&#xff1a;所有活动线程3、基于计算吞吐量&#xff1a;当前线程组中的所有活动线程4、基于计算吞吐量&#xff1a;所有活动线程&#xff08;共享&#xff09;5、基于计算吞吐量&#xff1a;当前线程组中的…

【2023/05/08】雅卡尔织布机

Hello&#xff01;大家好&#xff0c;我是霜淮子&#xff0c;2023倒计时第3天。 Share The world puts off its mask of vastness to its lover. It becomes small as one song,as one kiss of the eternal. 译文&#xff1a; 世界对着它的爱人&#xff0c;把它浩瀚的面具揭…

已做过算法题总结2

20. 有效的括号 (括号匹配是使用栈解决的经典问题&#xff0c;这道题主要是记住三种不成立的情况) 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串&#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用…

解密链表元素移除:三种巧妙思路,轻松驱逐难缠结点

本篇博客会讲解力扣“203. 移除链表元素”的解题思路&#xff0c;这是题目链接。 老规矩&#xff0c;先来审题&#xff1a; 以下是一些示例&#xff1a; 以下是提示&#xff1a; 本题的思路还挺多的&#xff0c;不过都是链表的常规操作。 思路1 万能的尾插法。遍历链表&am…

[Golang] 爬虫实战-用多层嵌套结构体去接收多层嵌套数据

&#x1f61a;一个不甘平凡的普通人&#xff0c;致力于为Golang社区和算法学习做出贡献&#xff0c;期待您的关注和认可&#xff0c;陪您一起学习打卡&#xff01;&#xff01;&#xff01;&#x1f618;&#x1f618;&#x1f618; &#x1f917;专栏&#xff1a;算法学习 &am…

量子计算(10)编程实践2:隐形传态算法

目录 一、算法目的 二、算法原理 三、pyqpanda实现代码 四、测试结果 一、算法目的 量子隐形传态&#xff0c;又称量子遥传、量子隐形传输、量子隐形传送、量子远距传输或量子远传&#xff0c;是一种利用分散量子缠结与一些物理讯息的转换来传送量子态至任意距离的位置的技…

AutoSar CAN网络管理(CanNm)

文章目录 网络管理目的主动唤醒和被动唤醒状态管理1. 总线睡眠模式&#xff08;Bus-Sleep Mode&#xff09;2. 准备总线睡眠模式&#xff08;Prepare Bus-Sleep Mode&#xff09;3. 网络模式&#xff08;Network Mode&#xff09;3.1 重复报文状态(RepeatMessageState)3.2 常规…