数学建模学习1--层次分析法

简介: 数学建模学习1--层次分析法

一.典型问题--评价类问题

 1.评价目的

 2.为了达到目的有哪几种可选的方案

 3.评价的准则或指标(一般需要通过背景资料或查文献)--文献查阅:知网,百度学术,万方

虫部落-快搜:http://search.chongbuluo.com/中进行谷歌,微信搜索,知乎搜索等

二.填写判断将矩阵

每个准则对目标层进行   ‘打分’

景色 苏杭 北戴河 桂林
苏杭

1

2 5
北戴河 1/2 1 2
桂林 1/5 1/2 1

数字标度:重要程度

判断矩阵特点:1.  aij----与指标j相比,i的重要程度(i为行,j为列)(与列相比,行的重要程度)

                        2.  i==j时就说明同等重要,也解释了为啥主对角线的元素为1

                        3.  对应元素相乘等于1(即aij*aji==1),这种矩阵也叫正互反矩阵

三.一致性检验的

 原理:检验我们构造的矩阵与一致性矩阵是否差距太大(如差距太大则不能用,差距小就可以用)

证明省略

 一致性矩阵的特点:只有一个特征值,且特征值为n(矩阵阶数),其余全部为0

 且特征值为n时,对应的特征向量为 (1/ a11 , 1/ a12, 1/ a13,...... 1/ a1n)的转置

 当矩阵越不一致时,这个矩阵特征值  λmax 与n的差距就越大,且 λmax>n

 一致矩阵的判断标准:矩阵对应行或对应列成比例,如下面的表格,当a==4时,即为一致矩阵

景色 苏杭 北戴河 桂林
苏杭

1

2 a
北戴河 1/2 1 2
桂林 1/a 1/2 1

 例如,在这个矩阵中a的值变化对应特征值的变化

 如果这个矩阵是一致矩阵(a==4),那么就不用进行一致性检验

 如果这个矩阵不是一致矩阵(a==5或其他),则就需要进行一致性检验

四.一致性检验步骤

指标: CR

当CR<0.1则认为判断矩阵的一致性可以接受,否则需要对矩阵模型进行修正

其中,RI可以通过查表获得

CI则需要通过下面这个公式计算得出( λmax可通过软件求)

如果检验通过,就可以用这个判断矩阵来求权重了,通过计算 当a==5时,检验指标<0.1通过

景色 苏杭 北戴河 桂林
苏杭

1

2 4
北戴河 1/2 1 2
桂林 1/4 1/2 1

 1.这个表中,可以用行来看权重,也可以用列来看权重

判断矩阵中权重的判断方法:与‘列’相比,‘行’的重要程度

上表中对于景色这点来说,

由列看:如果苏杭的重要性(满意度)是1,那么北戴河的权重就是1/2,桂林的权重就是1/4。

由行看:苏杭与苏杭相比满意度是1,苏杭与北戴河相比,苏杭的满意度就是2,苏杭与桂林相比,苏杭的满意度就是4(行和列看出来的满意度不相等,但是是成比例的)

  2.权重归一化处理

用列来举例子,用苏杭对应的1除以第一列的元素和即  1/(1+1/2+1/5)就是归一化处理

归一化后他们加起来就是1

五.求权重

1.算数平均法求权重

在下面一行直接看计算过程(先看过程再看前面的公式)

将归一化后的各行或列求平均值   如苏杭= (0.5882+0.5714+0.625)/3=0.5949

                                                    北戴河=(0.2941+0.2857+0.25)/3 =0.1766

                                                     桂林= (0.1177+0,1429+0,125)/3 =0.1285

最终的结果即是权重向量:对于景色这个点来说,苏杭的权重是0.5949,北戴河的选择权重是0.1766,桂林的选择权重是0.1285

表中花费这一栏的指标权重就计算完成了

 2.几何平均法求权重

如图,在matlab上即可操作完成

 3.特征值法求权重

判断矩阵的一致性可以接受,就得到一个  λmax 和这个λmax对应的特征向量,对此特征向量进行归一化,即可得到对应的权重

如表格中,不是一致矩阵,但是一致性可以接受,所以此模型可以接受

景色 苏杭 北戴河 桂林
苏杭

1

2 5
北戴河 1/2 1 2
桂林 1/5 1/2 1

求出此矩阵的 λmax=3.0055 一致性比例 CR=-0.0053(说明一致性可以接受)

求出此 λmax对应的特征向量[-0.8902,-0.4132,-0.1918]

对此特征向量进行归一化得到权重:[0.5954,0.2764,0.1283]

六.将每个点重复上面的行为

  假设已经完成

那么最终苏杭的权重是 景色,花费,居住,饮食,交通对应的指标权重乘苏杭的对应权重再相加

那么苏杭的最终权重为:0.2636*0.5954+0.4758*0.0819+0.0538*0.4286+0.0981*0.6337+0.1087*0.1667=0.29926

即对应excel上的

那么他去苏杭的指标就是0.29926

层次分析法的递阶层次结构

   

 

生成软件递阶层次结构模型软件---亿图图示

层次分析法的局限

 1.决策层 ‘n’  太多(如上面那个,除了苏杭,北戴河,桂林外还有很多选择的地方) ,这个n太多的话会导致判断矩阵与一致矩阵的差异太大,不能接受

 2.如果指标已知,难以让这些指标变得更准确

总结

层次分析法,就是用将方案层的满意度进行计算权重,在作为与准则层进行指标分配,在作为翻案层的判断

例如,对苏杭,北戴河,桂林对景色,花费,居住等准则层的指标分配,得到苏杭,北戴河,桂林的最终权重,作为游客判断旅游地点的标准,如图

最终选择桂林的权重是0.45,最大,然后是苏杭0.29,最后是北戴河0.24

相关文章
|
安全 Java 应用服务中间件
【JavaWeb】Tomcat底层机制和Servlet运行原理
网络通信:Tomcat使用Java的Socket API来监听特定的端口(通常是8080),接收来自客户端的HTTP请求。 线程池:Tomcat使用线程池来处理并发的请求。当有新的请求到达时,Tomcat会从线程池中获取一个空闲线程来处理该请求,这样可以提高处理效率。 生命周期管理:Tomcat负责管理Servlet和其他Web组件的生命周期,包括初始化、请求处理和销毁等阶段。(init(), run())
|
10月前
|
缓存 监控 安全
基于 STM32 的智能马桶系统设计与实现【源码分享】
随着智能家居的发展,智能马桶已成为家庭卫浴场景中的高频智能产品。相比传统马桶,智能马桶在即热式加热、安全保护、清洗模式、健康监控等方面具备更高的技术要求。本项目基于 STM32F0 系列 MCU 设计了一款完整的智能马桶主控系统,功能覆盖电控加热、风机控制、阀体控制、蓝牙通信、健康数据上报等模块,同时提供配套 Flutter 手机 App 用于交互。
基于 STM32 的智能马桶系统设计与实现【源码分享】
|
12月前
|
存储 人工智能 数据可视化
CRM系统为医疗器械公司解决什么问题?CRM价值及推荐来了!
医疗器械企业面临客户多样、流程复杂等挑战,CRM系统成为数字化转型关键。本文通过表格解析CRM如何解决客户管理难题,并推荐八骏CRM等软件,结合企业规模提供选型建议,助力企业提升效率、优化服务、实现数据驱动增长。
334 0
|
6月前
|
自然语言处理 安全 API
【傻瓜式部署】OpenClaw 2.6.4 本地部署常见问题与解决方法(含安装包)
全程傻瓜式操作,不用懂代码也能完成 OpenClaw 部署。针对各类报错、闪退、无法启动等问题给出简单解法,附带安装包,新手一看就会。
|
12月前
|
缓存 算法 测试技术
Optuna  AutoSampler 更新:让多目标和约束优化不再需要手动选算法
AutoSampler 是 OptunaHub 热门智能采样器,下载量超 3 万/周。新版支持多目标与约束优化,自动选择 TPE、GPSampler、NSGA-II/III 等算法。基于搜索空间、目标数等特征动态切换,性能优于默认采样器。适配 Optuna v4.6,安装便捷,助力高效自动化调参。
454 2
Optuna  AutoSampler 更新:让多目标和约束优化不再需要手动选算法
|
10月前
|
人工智能 JSON 数据挖掘
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用的两大关键技术。MCP为模型与外部工具提供标准化通信协议,实现跨模型、跨平台集成;Function Call则是模型调用外部函数的内置机制。前者如“蓝牙协议”,支持多设备互联,后者像“语音助手”,限于单机操作。两者在功能上互补:MCP支持工具热插拔、权限控制与远程调用,适用于企业级复杂系统;Function Call开发简单,适合快速验证单一模型能力。未来趋势将走向融合,形成“模型解析-协议传输-工具执行”的分层架构,推动AI应用生态标准化发展。
|
JSON API 数据安全/隐私保护
【干货满满】分享京东API接口到手价,用python脚本实现
淘宝开放平台提供丰富API,通过商品详情接口与淘宝联盟接口,可获取含优惠券、满减后的商品到手价。本文介绍基于Python的实现方案,涵盖签名生成、接口调用、价格解析及错误处理,适用于比价工具、导购平台等场景。
|
Web App开发 前端开发 JavaScript
如何快速与呼叫中心系统CTI/API/SDK接口集成
由于呼叫中心系统涉及通信、CTI、终端设备、中继线路等技术与概念,从事信息管理系统、ERP、CRM、工单系统等的研发人员一般不是非常熟悉这部分技术,当需要提供具备呼叫中心能力的解决方案时,往往要用较多的时间来研究这些相对复杂的技术,对接过程比较长,开发调试有一定的阻力,基于此,我们提出一种更加简便高效的集成方法,可以零代码集成呼叫中心平台,实现项目快速上线。
1112 157
如何快速与呼叫中心系统CTI/API/SDK接口集成
|
缓存 前端开发 JavaScript
如何快速搭建一个前端框架?
【4月更文挑战第7天】快速搭建前端框架,首先确定技术选型(如React、Vue或Angular),然后创建项目目录结构,安装所需依赖。配置开发环境,编写代码,同时进行调试和测试。优化性能后,部署上线。选择框架时,考虑社区支持、学习曲线、性能、兼容性及文档质量。
1004 0
|
JavaScript 开发工具 git
工程化:Commitlint / 规范化Git提交消息格式
通过这些思维导图和分析说明表,您可以更加直观地理解Commitlint的安装、配置和使用方法,从而有效规范Git提交消息,提升团队协作效率和代码质量。
728 14