2025美赛数学建模十大常用算法之层次分析法AHP详解

层次分析法(Analytic Hierarchy Process, AHP)详解

一、层次分析法简介

层次分析法(AHP)是一种系统化的多准则决策方法,由美国运筹学家萨蒂(Thomas L. Saaty)于20世纪70年代提出。AHP通过构建层次结构模型,将复杂的决策问题分解为目标、准则、方案等不同层次,通过两两比较矩阵来确定各因素的相对重要性,最终综合权重得出最优方案。

AHP 的基本特点

  1. 分层结构:将问题分解为多个层次,通常包括目标层、准则层和方案层。 2. 两两比较:通过判断矩阵对准则或方案进行两两比较,以量化主观评价。 3. 权重计算:通过特征向量法或几何平均法计算权重,反映各因素的重要性。 4. 一致性检验:确保判断矩阵的合理性,减少主观判断引入的偏差。

AHP 的基本步骤

  1. 构建层次结构模型:根据决策问题,将目标分解为不同层次。 2. 构造判断矩阵:对同一层次的各元素进行两两比较,构造判断矩阵。 3. 计算权重向量:通过求解判断矩阵的特征值和特征向量,计算各元素的权重。 4. 一致性检验:计算一致性比率(CR),确保判断矩阵的一致性。 5. 综合权重计算:通过加权平均,计算出各备选方案的总权重,排序并选出最优方案。

二、AHP 原理详解

层次结构通常分为以下三层: - 目标层:最高层,描述决策的最终目标。 - 准则层:中间层,描述影响决策的准则或属性。 - 方案层:最低层,列出所有备选方案。

判断矩阵的元素表示两两比较的相对重要性。常用的尺度为Saaty 1–9标度法: - 1 表示两个元素同等重要。 - 3 表示一个元素稍微重要。 - 5 表示一个元素明显重要。 - 7 表示一个元素非常重要。 - 9 表示一个元素极端重要。 - 2, 4, 6, 8 表示中间值。

构造判断矩阵

C1

C2

C3

C1

1

3

5

C2

1/3

1

2

C3

1/5

1/2

1

权重计算主要有两种方法: 1. 特征值法:计算判断矩阵的最大特征值 λ_max。对应的特征向量归一化后即为权重向量。 2. 几何平均法:对每一行元素求几何平均值。将几何平均值归一化得到权重。 一致性检验通过一致性比率(CR)进行: CR = CI / RI,其中 CI = (λ_max - n) / (n - 1),n 为矩阵的阶数。

三、AHP 的运用

层次分析法广泛应用于选址决策、风险评估、资源分配和多属性评价等领域。在美赛中,AHP 常用于解决选址、方案评估和策略优化问题。

实例:2019年美赛 C 题 – 生态系统管理

题目背景:某生态系统面临多种威胁,需要对管理方案进行评估,选出最佳方案。 AHP 应用步骤: 1. 构建层次结构模型。 2. 构造判断矩阵并计算权重。 3. 对每个方案构造判断矩阵,计算综合权重,选出权重最大的方案。

四、AHP 实现代码

以下是一个简单的 Python 实现代码示例,用于计算判断矩阵的权重和一致性比率:

import numpy as np def ahp(matrix): # 计算每列的归一化矩阵 col_sum = np.sum(matrix, axis=0) norm_matrix = matrix / col_sum # 计算权重向量 weights = np.mean(norm_matrix, axis=1) # 一致性检验 n = matrix.shape[0] lambda_max = np.mean(np.sum(matrix * weights[:, None], axis=0) / weights) ci = (lambda_max - n) / (n - 1) ri_values = {1: 0.00, 2: 0.00, 3: 0.58, 4: 0.90, 5: 1.12, 6: 1.24} ri = ri_values.get(n, 1.24) # 默认取较大值 cr = ci / ri return weights, cr # 示例判断矩阵 matrix = np.array([ [1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1] ]) weights, cr = ahp(matrix) print("权重:", weights) print("一致性比率:", cr)

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

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

相关文章

Gartner发布2025年网络安全主要趋势:实现转型和嵌入弹性两大主题下的9个趋势

持续不断的技术和业务中断考验着安全计划和团队绩效的极限。安全和风险管理领导者必须实现业务价值,并加倍努力增强组织、个人和团队的韧性,以证明安全计划在 2025 年的有效性。 机会 面对不断变化的技术以及企业希望利用这些技术获得战略利益的愿望&…

基于Spring Boot的新能源汽车个性化推荐系统

一、系统背景与意义 随着新能源汽车市场的快速发展,消费者对新能源汽车的需求日益多样化。为了满足消费者的个性化需求,提高购车体验,开发一个基于Spring Boot的新能源汽车个性化推荐系统显得尤为重要。该系统能够根据用户的偏好、历史行为等…

YOLOV8 原理和实现全解析(合适新人)

YOLOV8 原理和实现全解析 0 简介1 YOLOv8 概述2 模型结构设计3 Loss 计算4 训练数据增强5 训练策略6 模型推理过程7 特征图可视化总结 0 简介 图 1:YOLOv8-P5 模型结构 以上结构图由 RangeKinggithub 绘制。 YOLOv8 是 Ultralytics 公司在 2023 年 1月 10 号开源的…

【WRF教程第四期】WRF 初始化概述:以4.5版本为例

WRF 初始化(WRF Initialization) Building Initialization Programs编译方式 理想案例初始化(Initialization for Idealized Cases)理想化案例的输入可用的理想化案例 现实案例初始化(Initialization for Real Data Ca…

vmcore-dmesg交叉编译(arm64平台)

kexec工具:能够将第二内核(捕获内核)装载到指定内存运行。 vmcore-dmesg工具:用于提取vmcore的dmesg信息。 1、源码下载地址: Index of /pub/linux/utils/kernel/kexec/ 2、交叉编译: 采用aarch64-lin…

计算机网络-L2TP VPN基础概念与原理

一、概述 前面学习了GRE和IPSec VPN,今天继续学习另外一个也很常见的VPN类型-L2TP VPN。 L2TP(Layer 2 Tunneling Protocol) 协议结合了L2F协议和PPTP协议的优点,是IETF有关二层隧道协议的工业标准。L2TP是虚拟私有拨号网VPDN&…

OpenCV学习——图像融合

import cv2 as cv import cv2 as cvbg cv.imread("test_images/background.jpg", cv.IMREAD_COLOR) fg cv.imread("test_images/forground.png", cv.IMREAD_COLOR)# 打印图片尺寸 print(bg.shape) print(fg.shape)resize_size (1200, 800)bg cv.resize…

ChatGPT重大更新:新增实时搜索和高级语音

12月17日消息,据报道,OpenAI开启了第八天技术分享直播,对ChatGPT搜索功能进行了大量更新。 此次ChatGPT新增的功能亮点纷呈。其中,实时搜索功能尤为引人注目。OpenAI对搜索算法进行了深度优化,使得用户提出问题后&…

30. Three.js案例-绘制并渲染圆弧

30. Three.js案例-绘制并渲染圆弧 实现效果 知识点 WebGLRenderer WebGLRenderer 是 Three.js 中用于渲染 3D 场景的核心类。它利用 WebGL 技术在浏览器中渲染 3D 图形。 构造器 new THREE.WebGLRenderer(parameters) 参数类型描述parametersObject可选参数对象&#xff…

YOLO8 改进 009:引入 ASFF 对 YOLOv8 检测头进行优化(适用于小目标检测任务)

论文题目:Learning Spatial Fusion for Single-Shot Object Detection 论文地址:Paper - ASFF 官方源码:GitHub - GOATmessi8/ASFF 简 介 多尺度特征融合是解决多尺度目标检测问题的关键技术,其中 FPN(特征金字塔网络…

【数据集】生菜病害检测数据集530张6类YOLO+VOC格式

数据集格式:VOC格式YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:530 Annotations文件夹中xml文件总计:530 labels文件夹中txt文件总计:530 标签种类数&#…

设计模式2

23中设计模式分类 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。(对象的创建和对象的使用分离) 5种:单例模式、工厂模式、抽象工厂模式、原型模式、建造者模式 结构型模式:把类或对…

CSS边框的样式

边框阴影 让元素更有立体感 img {box-shadow: 2px 10px 5px 20px #ff0000;border-radius: 44px;}语法:box-shadow:值1 值2 值3 值4 值5 值1:水平阴影的位置值2:垂直阴影的位置值3:模糊距离值4:阴影的尺寸…

Spring篇--xml方式整合第三方框架

Spring xml方式整合第三方框架 xml整合第三方框架有两种整合方案: ​ 不需要自定义名空间,不需要使用Spring的配置文件配置第三方框架本身内容,例如:MyBatis; ​ 需要引入第三方框架命名空间,需要使用…

Javascript-web API-day02

文章目录 01-事件监听02-点击关闭广告03-随机点名案例04-鼠标经过或离开事件05-可点击的轮播图06-小米搜索框07-键盘类型事件08-键盘事件-发布评论案例09-focus选择器10-评论回车发布11-事件对象12-trim方法13-环境对象14-回调函数15-tab栏切换 01-事件监听 <!DOCTYPE html…

powershell(1)

免责声明 学习视频来自 B 站up主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 泷羽sec官网&#xff1a;http…

GraphReader: 将长文本结构化为图,并让 agent 自主探索,结合的大模型长文本处理增强方法

GraphReader: 将长文本结构化为图&#xff0c;并让 agent 自主探索&#xff0c;结合的大模型长文本处理增强方法 论文大纲理解为什么大模型和知识图谱不够&#xff1f;还要多智能体 设计思路数据分析解法拆解全流程核心模式提问为什么传统的长文本处理方法会随着文本长度增加而…

如何一站式计算抗体和蛋白信息

在生物医药研究领域&#xff0c;蛋白质&#xff08;抗体、多肽等&#xff09;的性质计算是理解生命机制、分离/纯化/鉴定/生产蛋白、以及开发蛋白新药的重要研究手段。然而&#xff0c;很多相关功能分散在不同的软件中&#xff0c;十分不方便。鹰谷电子实验记录本InELN一站式内…

物理信息神经网络(PINN)八课时教案

物理信息神经网络&#xff08;PINN&#xff09;八课时教案 第一课&#xff1a;物理信息神经网络概述 1.1 PINN的定义与背景 物理信息神经网络&#xff08;Physics-Informed Neural Networks&#xff0c;简称PINN&#xff09;是一种将物理定律融入神经网络训练过程中的先进方…

gitlab初始化+API批量操作

几年没接触gitlab了&#xff0c;新版本装完以后代码提交到默认的main分支&#xff0c;master不再是主分支 项目有几十个仓库&#xff0c;研发提交代码后仓库地址和之前的发生了变化 有几个点 需要注意 1、修改全局默认分支 2、关闭分支保护 上面修改了全局配置不会影响已经创…