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

2023-11-04 06:20

本文主要是介绍评价模型:TOPSIS法(理想解法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:

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

目录

1.算法介绍

2.算法步骤

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

(2)构造加权规范阵

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

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

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

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

3.案例分析

 3.1模型建立与求解

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

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

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

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

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

3.2 结果分析


1.算法介绍

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

2.算法步骤

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

设原问题的决策矩阵eq?A%3D%28a_%7Bij%7D%29_%7Bm%5Ctimes%20n%7D,规范化后的决策矩阵为eq?B%3D%28b_%7Bij%7D%29_%7Bm%5Ctimes%20n%7D,其中

524471f701634af38d075b2aad041de1.png

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

(2)构造加权规范阵

eq?C%3D%28c_%7Bij%7D%29_%7Bm%5Ctimes%20n%7D

设各属性的权重为wij,则 

abc5c53caadf4093a40086a56193ba5c.png

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

7eda2618d0694078a8d4bbccb605012b.png

cc8d8c1e96904f488f570c6ea6e52ad2.png

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

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

fbf54945e62448d099e7f9cebe34594e.png

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

21a8c62b919f41168ba08ce2c1ca74eb.png

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

0c07f13d2e354ee6865bd345935bed42.png

(6)将eq?f_%7Bi%7D%5E%7B*%7D由大到小进行排序 

3.案例分析

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

2c5bebebe4cb44e5a22ebb07c8df1907.png

 3.1模型建立与求解

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

对生师比进行区间型属性变换:设给定的最优区间为eq?%5Ba_%7Bj%7D%5E%7B0%7D%2Ca_%7Bj%7D%5E%7B*%7D%5Deq?a_%7Bj%7D%5E%7B%27%7D为无法容忍下限,eq?a_%7Bj%7D%5E%7B%27%27%7D为无法容忍上限,则

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搭配熵权法会更好用哦!

这篇关于评价模型:TOPSIS法(理想解法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/343842

相关文章

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.