数学建模笔记(2):Topsis分析法

news2024/9/21 18:44:26

一.评价类问题的几个关键词

1.指标

        评价一个方案或者对象我们需要有评价指标,即从哪几个方面进行评价。比如评价一个人在保研上的竞争力,我们可以从绩点,课外竞赛,科研成果,学生工作,志愿服务等几个方面来对他进行评价。这些就是评价指标。

2.权重

        有了指标之后还不够,我们要分清楚哪些指标是最重要的,哪些指标次要一些,这就涉及到权重的分配,比如上面的例子,我们可以给到绩点分配50%,科研15%,竞赛10%诸如此类,这就是权重。权重的分配又可以分为主观分配和客观分配。主观分配就是通过专家判定或者根据常识等方法。客观的分配方法有熵权法等。

3.打分

        打分就是对评价对象在指标上的评分,打分的过程可以找专家来打分,或者对指标进行拆分为更小的指标来进行层次分析。

4.榜样

        这里是比喻,因为有时候我们评价方案也可以参考过去的榜样(表现最优的对象或者方案),看现有的方案和这个榜样之间的相似度或者距离,从而来对现有的方案进行评估。

        比如,可以找往年的保研的人的前几名的绩点和其他成绩,作为一个标准来比较。这次介绍的Topsis法和后面要说的灰色关联分析都是遵循这种找标准,作比较的方式来对方案进行评估的。

二.Topsis分析法简介

        Topsis分析法的核心思想是上面所说的方案和榜样之间的“距离”。我们选取各项指标中的最优和最差的,把指标作为评价空间的各个维度(类似矩阵空间,可以理解为x轴y轴),找到这个空间中的最优点和最劣点。

        然后计算方案中的点到则两个“榜样”的距离,根据此来评价。

        我们期待的最好方案,应当是与最优点最近,与最劣点最远的那个点。

三.Topsis法的具体实现步骤

1.正向化处理的背景介绍

        首先我们要对指标矩阵进行正向化处理。先介绍一下背景。

        我们知道一个指标,并不是说都是越大越好。比如在评价一个人的整体外在形象的时候,身高和体重,不是越高越好,越重越好,越轻越好,而是在一个合理的区间范围内最好。这种指标叫区间型指标

        还有的指标是越小越好。比如评估空气质量,空气质量指数,污染物浓度,肯定是越低越好。这种指标叫做极小型指标

        还有的指标是存在一个准确的中间值,在这个中间值的时候是最好的。这种例子不好找,大家可以想一想ph值=7是中性这种例子辅助理解。这种指标叫做中间性指标

        因此,我们希望为了方便分析,所有指标都变成越大越好,这就是正向化的概念。

        下面是一个表的总结。

2.针对不同类型指标的正向化方法

       针对上面所说的三种非极大型指标,我们有不同的公式来对他们进行正向化。

       下面是正向化的公式汇总。

3.指标矩阵的标准化处理

        标准化的目的基本就是消除量纲的影响。比如身高以厘米为单位可能都是160-190,而体重一般都不会超过100kg,因此量纲对分析还是会影响的。

        在这里我们采用的方法是:针对每一个指标,我们将所有评价对象在该指标上的值的平方和的平方根作为分母,分子就是每个单独的值,这样就可以完成标准化了。

        具体的公式图示如下。

4.计算最终得分

        我们在以上操作做完以后,从矩阵的每一列(这里的一列是一个指标,一行是一个需要进行评价的对象)中选择出最大和最小的,作为最优点和最劣点的坐标值。 

        距离的计算方法就是几何距离Di,即:对应分量差值的平方和的平方根,公式在下图。

        然后最终结果Si的计算公式要用到到最优点和最劣点的两个距离,公式见下图。

         最后按照分数排序即可得到最终的结果。

         Ok,以上就是我的Topsis学习的笔记,希望对正在备战数模国赛的大家有所帮助!如果觉得有用留下赞和收藏再走吧~

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

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

相关文章

Qt QTabWidget之创建标签页的多页面切换

QTabWidget 用来分页显示 重要函数: 1.void setTabText(int, QString); //设置页面的名字. 2.void setTabToolTip(QString); //设置页面的提示信息. 3.void setTabEnabled(bool); //设置页面是否被激活. 4.void setTabPosition(QTabPosition::South); //设置页面名字的位置. 5.…

游标卡尺的使用

游标卡尺的使用注意事项 游标卡尺是比较精密的测量工具,使用时应轻拿轻放,不得碰撞或跌落地下。使用时不要用来测量粗糙的物体,以免损坏量爪。不用时应置于干燥地方防止锈蚀。测量工件时,卡脚测量面必须与工件的表面平行或垂直&a…

1915_开源C语言实现的通用队列

经常在工作中遇到一些队列处理的场景,以前要么是借用FreeRTOS这样的系统中的相关功能,要么是通过数组做一个简单的队列模型。但是,这两种方案都具有一定的局限性能,前者要求的FreeRTOS不见得相应的软件中有,而后者只能…

【C++】什么是模板?

有不懂的地方可以翻阅我之前文章! 个人主页:CSDN_小八哥向前冲 所属专栏:CSDN_C入门 目录 模板函数 泛型编程 函数模板 类模板 模板函数 泛型编程 在之前的学习里,我们知道函数可以重载,当我们在实现多参数函数交…

【2.2】回溯算法-解含有重复数字的全排列 II

一、题目 给定一个可包含 重复数字 的序列nums,按任意顺序返回所有不重复的全排列。 二、求解思路及代码实现 回溯算法思路: 这道题目与之前讨论的全排列问题类似,但有一个关键的区别:本题中数组包含重复的数字,而之前…

Springboot集成Proguard生成混淆jar包

背景 当我们需要将 JAR 包交付给第三方时,常常担心代码可能会被反编译。因此,对 JAR 包进行混淆处理显得尤为重要。 市面上有许多 JAR 包源码混淆工具,但真正能稳定投入使用的并不多。例如,ClassFinal (ClassFinal: Java字节码加…

C++类和对象1

一.类的定义 1.1类的创建 类是C中用户自己建立的类型。类似于C语言中的结构体。定义类的关键字为class。格式为: class 类名 {成员函数成员变量…… }; class 类名称为类头,花括号中的称为类体。类的声明以花括号后的分号结束,分号不可省…

Go-Zero微服务框架下开发接口流程

目录 一:定义api入参和返回值 二:生成入参和返回值文件 三:定义rpc参数和返回值 四:生成返回值和参数 五:定义数据库 六:生成数据库文件 今天我们来讲解下如何在Go-Zero下开发一个api接口的具体流程&…

UCOSIII内存管理机制详解

目录 前言 1. 内存管理概述 2. 内存区域(存储区)和内存块 3. 存储区控制块(OS_MEM) 4. 内存管理函数 5. 内存碎片问题 6. 注意事项 7.代码实现 7.1创建内存区域 7.2申请内存 7.3释放内存 前言 UCOSIII(即Mi…

算法的学习笔记—正则表达式匹配的动态规划算法解析

😀前言 正则表达式是一种强大的工具,广泛应用于文本匹配和处理。在许多编程任务中,我们可能会遇到需要匹配字符串与某个特定模式的情况。本文将介绍如何使用动态规划算法实现一个支持 . 和 * 的正则表达式匹配功能,并以 Java 为例…

中科院TOP“灌水神刊”合集!年发文量动辄数千篇,TOP的地位,4区的录用率!

【SciencePub学术】本期,给大家推荐几本环境领域的“灌水神刊”!均隶属于中科院TOP刊之列,但是每年庞大的发文量致使投稿接收率极高!话不多说,想“灌水”的建议收藏! 01 年刊文量4000 Journal of Cleaner …

【C++】---红黑树详解

【C】---红黑树详解 一、什么是红黑树?1、概念2、性质3、四个规则 二、红黑树的定义1、红黑树 结点 定义(1)将新插入的结点 设置为黑色(2)将新插入的结点 设置为红色 2、红黑树的定义 三、红黑树插入1、插入节点2、控制…

Zabbix自动导出PDF报告

zabbix6提供了定时导出PDF报告功能。此功能可按照Dashboard维度,定时自动导出报告,并通过邮件发送。 1.安装 zabbix 提供了官方的rhel8版本的rpm包,可使用yum方式安装,zabbix自动导出PDF功能是基于go环境的zabbix web service程…

应用方案 | 低功耗接地故障控制器D4145

一、概述 D4145 是一个接地故障断路器。它能够检测到不良的接地条件,譬如装置接触到水时,它会在有害或致命的电击发生之前将电路断开。 D4145能检测并保护从火线到地线,从零线到地线的故障.这种简单而传统的电路设计能够确保其应用自如和长时间的可靠性。…

Vue3+Echarts+Setup实现动态曲线堆叠图+图例分页

提前安装引入echarts 效果图 dom实例 <div id"rightCharterwang" style"height: 28vh"></div> 配置项&#xff0c;将数据换成从接口请求回来的数据&#xff08;这里是写死的假数据&#xff09; const rightCharterwang () > {let named…

vcruntime140_1.dll丢失是什样的错误?五种vcruntime140_1.dll修复方法详细步骤教程

对于经常使用Windows操作系统的用户来说&#xff0c;面对“vcruntime140_1.dll文件丢失”的错误提示可能既熟悉又令人苦恼。这个错误通常发生在尝试启动或安装一些依赖于此特定DLL文件的应用程序时&#xff0c;在本文中&#xff0c;我们将详细介绍 ​vcruntime140_1.dll​ 所承…

使用Python和Pillow创建照片马赛克应用

在这篇博客中,我们将探讨如何使用Python创建一个简单而有趣的桌面应用程序。我们的目标是构建一个应用,允许用户选择一张照片,然后在照片的右下角添加马赛克效果。这个项目将展示如何结合使用wxPython来创建图形用户界面(GUI)和Pillow库来处理图像。 D:\spiderdocs\eraselogo.p…

Linux 基本指令讲解 上

linux 基本指令 clear 清屏 Alt Enter 全屏/退出全屏 pwd 显示当前用户所处路径 cd 改变目录 cd /root/mikecd … 返回上级目录cd - 返回最近所处的路径cd ~ 直接返回当前用户自己的家目 roor 中&#xff1a;/root普通用户中&#xff1a;/home/mike mkdir 创建一个文件夹(d) …

通义灵码:AI 研发趋势与效果提升实践丨SDCon 全球软件技术大会演讲全文整理

作者&#xff1a;张昕东 大家好&#xff0c;我是来自阿里云通义灵码团队的张昕东。很高兴和各位同仁做这次分享&#xff0c;分享的主题是人机协同趋势与效果提升实践。我们所做的模型提升和功能开发是为了促进人机在研发领域的协同&#xff0c;而当今的人机协同现状又决定了我…

基于Spring Boot的农田智能管理系统

目录 前言 功能设计 系统实现 获取源码 博主主页&#xff1a;百成Java 往期系列&#xff1a;Spring Boot、SSM、JavaWeb、python、小程序 前言 农田智能管理系统是基于SpringBoot框架开发的一款针对农田管理的智能化平台。随着农业现代化的发展&#xff0c;农田管理需要更…