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

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

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.mfbz.cn/a/17985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

认识监听器(Listener)

监听器是什么&#xff1f; 监听器&#xff08;Listener&#xff09;是一种运行在后台的程序&#xff0c;它主要用于监控某些事件在系统中的发生&#xff0c;并且根据这些事件做一些特定的处理。在Web应用程序中&#xff0c;监听器可以观察ServletContext、HttpSession以及Serv…

vue项目为例解决element ui 时间选择器 picker使用样式穿透不起作用问题

今天在开发中 需要修改时间选择器弹出的这个组件的样式 但这个东西比较坑爹 首先 不能影响其他组件 就是其他组件用了时间选择器 不能受到我们写的样式的影响 那么 就只好穿透了 但你会发现 这东西是作用与body下的 就很坑 穿透我试了挺久的 不起作用 但官方文档有提供给我们一…

体验 gpt4free

体验 gpt4free 什么是 gpt4free效果演示安装 ffmpeg启动 gpt4free访问 gpt4free gui其他 什么是 gpt4free GPT4Free 是一个由 xtekky 创建的基于 OpenAI GPT-4 和 GPT-3.5 的 API。它可以向用户提供类似于 OpenAI GPT-3 的功能&#xff0c;如文本生成、问答、翻译等。 GPT4Fre…

UE5.1.1 C++ 从0开始 (1.人物移动)

开个天坑&#xff0c;UE5.1.1的移动代码做了一个大更新&#xff0c;对于我这种万年蓝图然后正在转C的人来说可以说是个挑战也可以说是个更方便我去工作的一个点。同时斯坦福大学的那个教程的开头几个章节就不适用了&#xff0c;对于学习UE5.1.1的同学来说。所以我这里会尽量每天…

c# 数据保存为PDF(二) (Aspose pdf篇)

文章目录 前言关于Aspose PDF使用Aspose.Pdf常用的命名空间和类库1 创建简单的PDF文档2 美化PDF样式2.1 创建测试数据2.2 项目头部样式2.3 全部代码 小结附录参考 前言 项目中需要将数据导出存为PDF格式&#xff0c;试了一下Aspose组件&#xff0c;仅以此记录一下使用感受。 …

为什么半导体FAB生产线需要EAP系统?

在半导体制造中&#xff0c;设备自动化系统EAP&#xff08;Equipment Automation Program&#xff09;是不可或缺的重要软件&#xff0c;它是连接MES、RMS、APC、FDC等上层系统和设备层的桥梁&#xff0c;用于管控生产线上的所有机台&#xff0c;并实现设备运行的自动化。 作为…

团队密码管理器Passbolt的安装

老苏下载了吴恩达联手 OpenAI 推出的 Prompt for developer 课程&#xff0c;总长度大概在一个半小时左右&#xff0c;可以让我们学习正确的 ChatGPT Prompt 工程 虽然课程对话是英文&#xff0c;但有中文字幕&#xff0c;课程地址&#xff1a;https://www.aliyundrive.com/s/…

Redux 学习系列(一) —— 基础概念入门篇

简介 Redux 是一个可预测的 JavaScript 应用状态管理容器&#xff0c;也可以说是一个应用数据流框架。 作用 Redux 主要是用作应用状态的管理。它抽离所有组件的状态&#xff0c;构造一个中心化的单独常量状态树&#xff08;对象&#xff09;来保存这一整个应用的状态。这棵…

java 学习日记

今天先搞题目 给你一个points 数组&#xff0c;表示 2D 平面上的一些点&#xff0c;其中 points[i] [xi, yi] 。 连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 &#xff1a;|xi - xj| |yi - yj| &#xff0c;其中 |val| 表示 val 的绝对值。 请你返回将所…

TikTok选品要怎样才能选到爆品?!

对于做TikTok的商家而言&#xff0c;选品是非常重要的&#xff0c;因为一个产品爆了之后能带动其他产品的销量&#xff0c;那我们要如何有效的选品呢&#xff1f; 一、多平台选品逻辑 首先要知道一个点&#xff0c;在独立站爆的品也会在亚马逊爆&#xff0c;而TikTok已经成为一…

4D成像雷达风口,谁在快速崛起?

4D成像雷达正进入规模量产落地的关键窗口期。 高工智能汽车注意到&#xff0c;毫米波雷达的发展某种程度上可以分为两个阶段&#xff1a;第一个阶段&#xff0c;传统毫米波雷达时代&#xff0c;市场基本被博世、大陆、安波福等国际Tier1巨头把持&#xff0c;市场格局长期稳固&…

PyTorch数据加载工具:高效处理常见数据集的利器

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

SpringBoot中策略模式+工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else

场景 设计模式-策略模式在Java中的使用示例&#xff1a; 设计模式-策略模式在Java中的使用示例_java 策略模式示例_霸道流氓气质的博客-CSDN博客 上面讲了策略模式在Java中的使用示例。 下面看一个在SpringBoot中的实际使用示例。 业务场景: 有多个煤矿&#xff0c;信号灯…

智安网络|网络安全威胁越来越多,教你如何全方面应对

随着互联网的普及和发展&#xff0c;各大网站已经成为人们获取信息和交流的主要平台。然而&#xff0c;随着网络攻击和恶意软件的威胁不断增加&#xff0c;网站经常成为攻击者的目标。因此&#xff0c;在建立和维护网站系统时&#xff0c;必须采取强大的安全措施。 一、网站系…

第四十二章 Unity 下拉框 (Dropdown) UI

本章节我们介绍下拉框 (Dropdown)&#xff0c;我们点击菜单栏“GameObject”->“UI”->“Dropdown”&#xff0c;然后调整它的位置&#xff0c;效果如下 其实它的本质就是一个下拉列表&#xff0c;然后选择列表中的一个选项而已。大家在很多网页中应该可以看到类似的UI元…

Vue框架

目录 简单介绍 MVVM 下载安装Node.js 安装Vue.js插件 新建Vue.js项目 下载vue依赖库 Vue工程目录结构 修改代码模板 vue组件中&#xff0c;添加模型数据 Vue双向绑定 动态绑定 vue组件中&#xff0c;显示图片 单选框绑定 复选框绑定 Vue的script表达式 Vue实例声…

MySQL概述 -- 数据模型SQL简介DDL数据库操作

一. 数据模型 介绍完了Mysql数据库的安装配置之后&#xff0c;接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后&#xff0c;我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前&#xff0c;需要先了解一个概念&#x…

【Linux】进程地址空间

目录 引入 进程地址空间 虚拟地址与物理地址 如何理解虚拟地址的不同区域 写时拷贝 动态开辟的细节 为什么存在进程地址空间 避免地址被随意访问 进程管理和内存管理解耦合 使进程用统一的视角看待代码和数据 引入 &#x1f383;我们写一个这样的程序&#xff0c;运…

算法记录 | Day50 动态规划

123.买卖股票的最佳时机III 思路&#xff1a; 1.确定dp数组以及下标的含义 最多可完成两笔交易意味着总共有三种情况&#xff1a;买卖一次&#xff0c;买卖两次&#xff0c;不买卖。 具体到每一天结束总共有 5 种状态&#xff1a; 未进行买卖状态&#xff1b;第一次买入状…

springboot - spring.factories

spring.factories 是什么&#xff1f; spring.factories 是 Spring Boot 自动配置的核心机制之一&#xff0c;它用于自动注册 Spring Boot 中的各种自动配置类&#xff0c;从而实现自动化配置的目的。在 Spring Boot 应用程序启动时&#xff0c;Spring Boot 会自动扫描 classp…
最新文章