2024美赛数学建模常用数学建模模型之——层次分析法

news2024/11/27 2:31:32

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

人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是
一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次
分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。
运用层次分析法建模,大体上可按下面四个步骤进行:
i )建立递阶层次结构模型;
ii )构造出各层次中的所有判断矩阵;
iii )层次单排序及一致性检验;
iv )层次总排序及一致性检验。
下面分别说明这四个步骤的实现过程。
1.1 递阶层次结构的建立与特点
应用 AHP 分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次
的结构模型。在这个模型下,复杂问题被分解为元素的组成部分。这些元素又按其属
性及关系形成若干层次。上一层次的元素作为准则对下一层次有关元素起支配作用。
这些层次可以分为三类:
i )最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结
果,因此也称为目标层。
ii )中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干
个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。
iii )最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,
因此也称为措施层或方案层。
递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地
层次数不受限制。每一层次中各元素所支配的元素一般不要超过 9 个。这是因为支配
的元素过多会给两两比较判断带来困难。
下面结合一个实例来说明递阶层次结构的建立

二、构造判断矩阵

层次结构反映了因素之间的关系, 但准则层中的各准则在目标衡量中所占的比重 并不一定相同,在决策者的心目中,它们各占有一定的比例。

在确定影响某因素的诸因子在该因素中所占的比重时, 遇到的主要困难是这些比 重常常不易定量化。此外, 当影响某因素的因子较多时, 直接考虑各因子对该因素有 多大程度的影响时, 常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的 重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。为看清这一点, 可作如下假设:将一块重为 1 千克的石块砸成n 小块,你可以精确称出它们的重量, 设为 w1 ,  , wn  ,现在,请人估计这 n 小块的重量占总重量的比例(不能让他知道各  小石块的重量),此人不仅很难给出精确的比值,而且完全可能因顾此失彼而提供彼  此矛盾的数据。

设现在要比较n 个因子X = {x1 ,  , xn } 对某因素Z 的影响大小, 怎样比较才能提 供可信的数据呢? Saaty 等人建议可以采取对因子进行两两比较建立成对比较矩阵的  办法。即每次取两个因子xi xj ,以 aij 表示xi xj Z 的影响大小之比, 全部比较 结果用矩阵 A = (aij )n ×n 表示,称 A Z  X 之间的成对比较判断矩阵(简称判断矩 阵)。容易看出,若xi xj Z 的影响之比为aij ,则 xj xi Z 的影响之比应为

从心理学观点来看,分级太多会超越人们的判断能力,既增加了作判断的难度,
又容易因此而提供虚假数据。 Saaty 等人还用实验方法比较了在各种不同标度下人们判
断结果的正确性,实验结果也表明,采用 1~9 标度最为合适。最后,应该指出,一般地作 n( n −1)/2 次两两判断是必要的。有人认为把所有元素 都和某个元素比较,即只作n 1 次比较就可以了。这种作法的弊病在于,任何一个判 断的失误均可导致不合理的排序,而个别判断的失误对于难以定量的系统往往是难以 避免的。进行 n ( n 1)/2次比较可以提供更多的信息,通过各种不同角度的反复比较, 从而导出一个合理的排序.

三、层次单排序及一致性检验

四、层次总排序及一致性检验

五、层次分析法的应用

在应用层次分析法研究问题时,遇到的主要困难有两个:( i )如何根据实际情况
抽象出较为贴切的层次结构;( ii )如何将某些定性的量作比较接近实际定量化处理。
层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为
科学管理和决策提供了较有说服力的依据。但层次分析法也有其局限性,主要表现在:
i )它在很大程度上依赖于人们的经验,主观因素的影响很大,它至多只能排除思维
过程中的严重非一致性,却无法排除决策者个人可能存在的严重片面性。( ii )比较、
判断过程较为粗糙,不能用于精度要求较高的决策问题。 AHP 至多只能算是一种半定
量(或定性与定量结合)的方法。
   在应用层次分析法时,建立层次结构模型是十分关键的一步。现再分析一个实例, 以便说明如何从实际问题中抽象出相应的层次结构。
2 挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生。该生根据已有信息建立了一个层次结构模型,如图 2 所示。
根据层次总排序权值,该生最满意的工作为工作 1
计算的 Matlab 程序如下:
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

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

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

相关文章

GPU的硬件架构

SM: streaming Multiprocessor 流多处理器 sm里面有多个(sp)cuda core 32个线程称为一个warp,一个warp是一个基本执行单元 抽象概念:grid 网格 block 块 thread 线程 块中的线程大小是有讲究的,关乎到资源的调度,一般是128&#x…

macbook电脑2024免费好用的系统清理优化软件CleanMyMac X4.14.7

CleanMyMac X2024来帮助你找到和删除不需要的文件。CleanMyMac X是一款专业的mac清理软件,它可以智能地扫描你的磁盘空间,找出并删除大型和旧文件,系统垃圾,iTunes垃圾,邮件附件,照片库垃圾等,让…

【Vue2+3入门到实战】(22)VUE3之组合式API - setup、reactive和ref函数、computed、watch、生命周期函数详细讲解

目录 一、组合式API - setup选项1. setup选项的写法和执行时机2. setup中写代码的特点3. <script setup>语法糖 二、组合式API - reactive和ref函数1. reactive2. ref3. reactive 对比 ref 三、组合式API - computed四、组合式API - watch1. 侦听单个数据2. 侦听多个数据…

Java学习,一文掌握Java之SpringBoot框架学习文集(3)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

electron进程通信之预加载脚本和渲染进程对主进程通信

主进程和预加载脚本通信 主进程 mian,js 和预加载脚本preload.js,在主进程中创建预加载脚本, const createWindow () > {// Create the browser window.const mainWindow new BrowserWindow({width: 300,height: 300,// 指定预加载脚本webPreferences: {preload: path.j…

数据结构【查找篇】

数据结构【查找篇】 文章目录 数据结构【查找篇】前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f; 目录一、顺序查找二、折半查找三、 二叉排序树的查找四、红黑树 结语 前言 为什么突然想学算法了&#xff1f; > 用较为“官方”的语言讲&am…

22 闪烁按钮

效果演示 实现了一个按钮的样式&#xff0c;包括背景颜色、边框、圆角、点击效果等。当鼠标悬停在按钮上时&#xff0c;按钮的背景颜色和文字颜色会发生变化&#xff0c;同时按钮会出现闪烁的效果。 Code <button class"btn"><svg height"24" wi…

UDP通信(服务器-客户端)

一、 UDP服务器-客户端通信 UDP&#xff08;User Datagram Protocol&#xff09;是一种面向无连接的传输层协议&#xff0c;它提供了一种简单的、不可靠的数据传输服务。与TCP&#xff08;Transmission Control Protocol&#xff09;不同&#xff0c;UDP不建立连接&#xff0c;…

奈奎斯特定理

奈奎斯特定理是通信领域中重要的理论基础之一&#xff0c;它对于数字通信系统中的信号采样和重构具有至关重要的作用。在数字信号处理和通信技术中&#xff0c;奈奎斯特定理的应用不仅具有理论意义&#xff0c;还对通信系统的设计、优化和性能提升起着重要的指导作用。本文将以…

MySQL8.0主从复制实现及遇到的个人问题

文章目录 1、准备两个服务器或者虚拟机2、主库配置3、从库配置4、配置过程中使用到的命令5、遇到的问题 1、准备两个服务器或者虚拟机 这里使用的VM虚拟机的Centos、MySQL版本是8.0.26、使用FinalShell进行远程操作。 2、主库配置 修改MySQL配置文件(/etc/my.cnf) #启用二进…

leetcode:1464. 数组中两元素的最大乘积(python3解法)

难度&#xff1a;简单 给你一个整数数组 nums&#xff0c;请你选择数组的两个不同下标 i 和 j&#xff0c;使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1&#xff1a; 输入&#xff1a;nums [3,4,5,2] 输出&#xff1a;12 解释&#xff1a;如…

麒麟Kylin服务器版-破解root密码

一、单用户模式修改root密码 1.重启服务器系统后&#xff0c;将光标移动到第二项&#xff0c;按【e】键进入用户登录页面。 2.在【username】下方所在行输入root名称&#xff0c;【password】下方所在行输入密码Kylin123123后&#xff0c;进入编辑模式。代码如下&#xff1a; …

芯课堂 | MCU之TIMER精准延时

引言 华芯微特公司SWM系列单片机提供的TIMER个数和功能有些微差别&#xff0c;为了让您更加简单的使用这一功能&#xff0c;下面小编将以SWM190为例&#xff0c;给大家展示如何使用SWM系列产品的TIMER功能。 TIMER精准延时 一、TIMER简介 TIMER是一种定时器工具&#xff0c;…

C# 全屏label控件实现的贪吃蛇。

C# 全屏label控件实现的贪吃蛇。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using stat…

神经网络:激活函数的介绍

神经网络的激活函数是一种非线性函数&#xff0c;它被应用于每个神经元的输出&#xff0c;以引入非线性性质到网络中。 激活函数的目的是将输入转换为输出&#xff0c;并且将输出限制在特定的范围内。它们非常重要&#xff0c;因为线性变换&#xff08;例如加法和乘法&#xf…

七夕祭

title: 七夕祭 date: 2024-01-03 22:47:05 tags: 传送门 题目大意 解题思路 行的感兴趣的摊点或者列的感兴趣的摊点的数量能被行数或者列数整除&#xff0c;则能够实现要求。“均分”思想&#xff0c;设总感兴趣摊点数 T T T 和行数列数 n n n&#xff0c;当前感兴趣的摊点数…

ansible 配置jspgou商城上线(MySQL版)

准备环境 准备两台纯净的服务器进行&#xff0c;在实验之前我们关闭防火墙和selinux systemctl stop firewalld #关闭防火墙 setenforce 0 #临时关闭selinux hosts解析(两台服务器都要去做) [rootansible-server ~]# vim /etc/hosts 10.31.162.24 ansible-ser…

某和医院招采系统web端数据爬取, 逆向js

目标网址:https://zbcg.sznsyy.cn/homeNotice 测试时间: 2024-01-03 1 老规矩,打开Chrome无痕浏览,打开链接,监测网络,通过刷新以及上下翻页可以猜测出数据的请求是通过接口frontPageAnnouncementList获取的,查看返回可以看出来数据大概率是经过aes加密的,如图: 通过查看该请…

Spark Streaming的DStream与窗口操作

实时数据处理已经成为当今大数据时代的一个重要领域&#xff0c;而Spark Streaming是Apache Spark生态系统中的一个关键模块&#xff0c;用于处理实时数据流。本文将深入探讨Spark Streaming中的DStream&#xff08;离散流&#xff09;概念以及如何使用窗口操作来处理实时数据。…

人工智能如何重塑金融服务业

在体验优先的世界中识别金融服务业中的AI使用场景 人工智能&#xff08;AI&#xff09;作为主要行业的大型组织的重要业务驱动力&#xff0c;持续受到关注。众所周知&#xff0c;传统金融服务业在采用新技术方面相对滞后&#xff0c;一些组织使用的还是上世纪50年代和60年代发…