评价模型:TOPSIS法(理想解法)

简介: 评价模型:TOPSIS法(理想解法)

写在前面:

博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。


1.算法介绍


TOPSIS法也称为理想解法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解及各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。


2.算法步骤


(1)用向量规范化的方法求得规范决策矩阵


设原问题的决策矩阵,规范化后的决策矩阵为,其中


5b2a9ecb506d86b59d8151b869f930f3_524471f701634af38d075b2aad041de1.png


其中m为矩阵数据的行数,n为矩阵数据的列数。


(2)构造加权规范阵b434cb020e20d2d3084b58afd53d0e52_eq_C%3D%28c_%7Bij%7D%29_%7Bm%5Ctimes%20n%7D.png


设各属性的权重为wij,则


cd4ed071a6d0a0e2a8f8a1f697ff2aa4_abc5c53caadf4093a40086a56193ba5c.png


(3)确定正理想解和负理想解


3f4bf6a582f88d1f88c1e914eb5f54df_7eda2618d0694078a8d4bbccb605012b.png

20442c38ba5888b8edc430da954d1bb1_cc8d8c1e96904f488f570c6ea6e52ad2.png


(4)计算各方案到正理想解与负理想解的距离


备选方案到正理想解的距离为


db888aeba9c0dc4e997af5f3b2cab0ec_fbf54945e62448d099e7f9cebe34594e.png


备选方案到负理想解的距离


3b6c130b60aa08914f7566ea634c5410_21a8c62b919f41168ba08ce2c1ca74eb.png


(5)计算各方案的综合评价指数


aa3835b5a96e967a6504415a32b3b1a5_0c07f13d2e354ee6865bd345935bed42.png


(6)将由大到小进行排序


3.案例分析


       为了客观的评价我国研究生教育的实际状况和各研究生院的教学质量,国务院学位委员会办公室组织过一次研究生院的评估,为了取得经验,先选5所研究生院,收集有关数据资料进行了试评估,表中是所给出的部分数据。


31f95015329dfd3dfde7d78bf91c49a8_2c5bebebe4cb44e5a22ebb07c8df1907.png


3.1模型建立与求解


(1)对属性进行向量规范化


对生师比进行区间型属性变换:设给定的最优区间为,为无法容忍下限,1e3ba3794757e442c0baffc9c324a46a_eq_a_%7Bj%7D%5E%7B%27%27%7D.png为无法容忍上限,则


68068a49d8783c038c77d2d51ae24780_19c4ed515edf47aaa1e0207007391efe.png


设研究生院的生师比的最优区间为[5,6],下限为2,上限为12,对生师比进行规范化处理得到的结果如下:

处理前

处理后

5

1

6

1

7

0.8333

10

0.3333

2

0

clc,clear
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb&x<qujian(1))+...
(x>=qujian(1)&x<=qujian(2))+(1-(x-qujian(2))./(ub-qujian(2))).*(x>qujian(2)&x<=ub);
qujian=[5,6];lb=2;ub=12;
ssb=[5 6 7 10 2]';
ssb2=x2(qujian,lb,ub,ssb)

对人均专著、科研经费、逾期毕业率进行向量规范化处理,得到如下结果:


人均专著   生师比     科研经费   逾期毕业率  


   0.0638    0.5970    0.3449    0.4546


   0.1275    0.5970    0.4139    0.5417


   0.2550    0.4975    0.4829    0.6481


   0.5738    0.1990    0.6898    0.2225


   0.7651         0        0.0276    0.1741


(2) 计算加权的向量规范化属性矩阵


设置权向量w=[0.2,0.3,0.4,0.1],得到加权的向量规范化属性矩阵如下:


人均专著   生师比     科研经费   逾期毕业率  


   0.0128    0.1791    0.1380      0.0455


   0.0255    0.1791    0.1656      0.0542


   0.0510    0.1493    0.1931      0.0648


   0.1148    0.0597    0.2759      0.0222


   0.1530         0        0.0110      0.0174


(3)求出各属性的正理想解和负理想解


正理想解:Cstar = 1×4  


   0.1530    0.1791    0.2759    0.0174


负理想解:C0 = 1×4  


   0.0128         0    0.0110    0.0648


(4)求出各方案到正理想解和负理想解的距离


各方案到正理想解的距离


Sstar = 1×5  


   0.1987    0.1726    0.1428    0.1255    0.3198


各方案到负理想解的距离


S0 = 1×5  


   0.2204    0.2371    0.2385    0.2932    0.1481


(5)计算各方案的排序指标值并从优到劣进行排序


f = 1×5  


   0.5258    0.5787    0.6255    0.7003    0.3165


ind = 1×5  


    4     3     2     1     5


3.2 结果分析


根据求解结果可知:


1~5号研究生院教学质量的得分分别是0.5258,0.5787,0.6255,0.7003,0.3165


得分排名依次为4 3 2 1 5


Matlab代码:


clc,clear
a=[0.1 5 5000 4.7
0.2 6 6000 5.6
0.4 7 7000 6.7
0.9 10 10000 2.3
1.2 2 400 1.8];
[m,n]=size(a);
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb&x<qujian(1))+...
(x>=qujian(1)&x<=qujian(2))+(1-(x-qujian(2))./(ub-qujian(2))).*(x>qujian(2)&x<=ub);
qujian=[5,6];lb=2;ub=12;
a(:,2)=x2(qujian,lb,ub,a(:,2));
for j=1:n
b(:,j)=a(:,j)/norm(a(:,j))%向量规范化
end
w=[0.2 0.3 0.4 0.1];
c=b.*repmat(w,m,1)
Cstar=max(c);%正理想解
Cstar(4)=min(c(:,4))
C0=min(c);%负理想解
C0(4)=max(c(:,4))
for i=1:m
Sstar(i)=norm(c(i,:)-Cstar);%求到正理想解的距离
S0(i)=norm(c(i,:)-C0);%求到负理想解的距离
end
Sstar,S0
f=S0./(Sstar+S0)
[sf,ind]=sort(f,'descend')

TOPSIS搭配熵权法会更好用哦!


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
存储 数据库 Android开发
|
数据采集 机器学习/深度学习 资源调度
归一化和标准化
归一化和标准化
|
5月前
|
数据采集 人工智能 监控
2025年数据治理选型指南,值得推荐的数据中台系统
2025年,数据治理成为企业数字化转型核心。本文深度解析瓴羊Dataphin、华为DataArts Studio、字节Dataleap、Informatica与Talend五大主流工具,涵盖其背景、能力、优势及典型应用,助力企业明晰选型路径,实现数据资产化、治理智能化,释放数据要素价值。
|
8月前
|
机器学习/深度学习 运维 算法
【两阶段鲁棒优化问题】用列和约束生成方法求解两阶段鲁棒优化问题(Matlab代码实现)
【两阶段鲁棒优化问题】用列和约束生成方法求解两阶段鲁棒优化问题(Matlab代码实现)
402 3
|
存储 Python
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
|
11月前
|
机器学习/深度学习
解决神经网络输出尺寸过小的实战方案
在CIFAR10分类模型训练中,因网络结构设计缺陷导致“RuntimeError: Given input size: (256x1x1). Calculated output size: (256x0x0)”错误。核心问题是六层卷积后接步长为2的池化层,使特征图尺寸过度缩小至归零。解决方案包括调整池化参数(如将部分步长改为1)和优化网络结构(采用“卷积-卷积-池化”模块化设计)。两种方案均可消除报错,推荐方案二以平衡特征表达与计算效率。
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
499 2
|
消息中间件 存储 负载均衡
大数据-60 Kafka 高级特性 消息消费01-消费组图例 心跳机制图例 附参数详解与建议值
大数据-60 Kafka 高级特性 消息消费01-消费组图例 心跳机制图例 附参数详解与建议值
430 3
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的探讨
随着云计算技术的迅速发展,越来越多的企业和个人开始使用云服务。然而,云计算在带来便利的同时,也带来了一系列的网络安全问题。本文将从云计算的基本概念出发,深入探讨云计算与网络安全的关系,包括云服务的安全问题、网络安全防护措施以及信息安全的重要性。同时,本文还将通过代码示例,展示如何在云计算环境下进行有效的网络安全防护。
|
算法 调度
【调度算法】NSGA II
【调度算法】NSGA II
1958 1