目录

一、TOPSIS(优劣解距离法)简介

二、TOPSIS(优劣解距离法)主要步骤

(1)数据进行标准化

(2)构建决策矩阵

(3)构造加权规范阵

(4)计算正负理想解

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

(6)计算各方案与正理想解的相对贴近度

三、TOPSIS算法代码(MATLAB)

四、模糊Borda组合评价简介

五、模糊Borda组合评价步骤

(1)计算隶属度

(2)计算模糊频数

(3)计算模糊频率

(4)将排序转化为得分

(5)计算模糊Borda数FBi

六、模糊Borda组合评价代码(MATLAB)

七、案例分析

(1)2021年国赛C题

(2)2021 年第二届“大湾区杯”粤港澳金融数学建模竞赛B题

八、总结

(1)TOPSIS

(2)模糊Borda


一、TOPSIS(优劣解距离法)简介

TOPSIS法亦被称为理想解法,是一种综合评价方法,该方法能够充分利用原始数据,精确反映各评价方案之间的差距,对数据分布及其样本含量没有严格限制。能有效地解决多指标评价问题,该方法通过构造评价问题的正理想解(最优解)和负理想解(最劣解),计算每个方案到理想方案的相近贴进度,即靠近最优解和远离最劣解的程度,来对方案进行排序,从而选出最佳方案,具体流程如下图所示。

TOPSIS算法流程图

二、TOPSIS(优劣解距离法)主要步骤

用理想解法求解多属性决策问题的概念简单,只要在属性空间定义适当的距离测度就能计算备选方案与理想解的距离。TOPSIS法所用的是欧几里得距离。至于既用最优解又用最劣解是因为在仅仅使用最优解时可能会出现某两个备选方案与最优解的距离相同的情况,为了区分这两个方案的优劣,引入最劣解并计算这两个方案与最劣解的距离,与最优解的距离相同的方案离最劣解远者为优。

(1)数据进行标准化

依据你建立的评价指标体系,建立归一化矩阵,将数据进行标准化。

(2)构建决策矩阵

用向量规划化的方法求得规范决策矩阵。设多属性决策问题的决策矩阵,规范化决策矩阵,其中

(3)构造加权规范阵

构造加权规范阵。设由决策人给定各属性的权重向量为,则

权重可通过熵权法、FAHP、相关性等方法确定,使用熵权法确定权重,首先计算各个指标的信息熵,在通过信息熵计算各指标的权重。

(4)计算正负理想解

确定最优解和最劣解。则

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

计算所选取的指标与最优向量的欧氏距离和最劣向量的距离。

(6)计算各方案与正理想解的相对贴近度

三、TOPSIS算法代码(MATLAB)

clear
clc
A=[1 2 3;4 5 6;7 8 9];%【初始矩阵,列为指标,行为方案】
[n,m]=size(A); %n为A矩阵的行数,m为A矩阵的列数
c=sqrt(sum(A.*A));
%规范化决策矩阵
d=A./c;
w=[0.33 0.33 0.33];%权重
c=w.*d;
cmax=max(c);
cmin=min(c);
for i=1:nc1=c(i,:)-cmax;s1(i)=norm(c1);c2=c(i,:)-cmin;s2(i)=norm(c2);T(i)=s2(i)/(s1(i)+s2(i));
end
%排名
[~,pm]=sort(T,'descend');
disp('评分结果,评分区间[0,1]')
disp(T)
disp('方案排名')
disp(pm)

四、模糊Borda组合评价简介

模糊Borda组合评价模型是在几种评价方法结果相似的前提下,通过将多个评价方法进行组合,以求得一个更有参考价值的结果。本文在使用秩和比综合评价法和TOPSIS法之后,尝试使用模糊Borda组合评价模型进行运算,以求得到效果更好的结果。

五、模糊Borda组合评价步骤

(1)计算隶属度

(2)计算模糊频数

(3)计算模糊频率

(4)将排序转化为得分

(5)计算模糊Borda数FBi

详细原理、步骤及代码见本人之前写的一篇博客,欢迎大家移步观看,这里就不过多赘述。[刨根问底] 五分钟搞懂组合评价模型—模糊Borda (以2021 年大学生数模国赛C题为例)_饲养猿的博客-CSDN博客

六、模糊Borda组合评价代码(MATLAB)

x=[ ];       %x矩阵储存各评价方法的得分,一行代表一家供应商,列代表不同的评价方法
Ma = max(x,[],2);     %求每列最大值
Mi = min(x,[],2);     %求每列最小值
for i = 1:402          %402家供应商for j = 1:N      %N种评价方法,记得把N改为你自己选择的评价方法数,不然会报错u(i,j) = ((x(i,j)-Mi(i,1))./(Ma(i,1)-Mi(i,1))).*0.9+0.1;end
end
B=zeros(402,402);%储存模糊频数矩阵
BB1=();%储存第一种评价方法排名
BB2=();%储存第二种评价方法排名%求模糊频数矩阵
for i=1:402B(i,BB1(i,1))=1;
end
for j=1:402B(j,BB2(j,1))=1;
end
%计算模糊频率
for h = 1 : 402for i = 1 : 402p(h,i) = sum(B(h,i) .* u(i,:));end
end
for h = 1 : 402for i = 1 : 402w(h,i) = p(h,i) ./ sum(p(:,i));end
end
%计算最终得分
for h = 1 : 402for i = 1 : 402Q(h,i) = 0.5 * (402- h) * (402 - h + 1);end
end
Q=Q';
%计算模糊Borda数FBi,然后输出排名
FB = sum(w.*Q,2);
[a,PX]=sort(FB(end:-1:1));
PX

七、案例分析

(1)2021年国赛C题

[刨根问底] 五分钟搞懂组合评价模型—模糊Borda (以2021 年大学生数模国赛C题为例)_饲养猿的博客-CSDN博客

(2)2021 年第二届“大湾区杯”粤港澳金融数学建模竞赛B题

针对问题二,使用多元线性回归将公因子对股票走势分别进行拟合,在95%的显著性水平下,收益率与盈利能力因子、估值因子成负相关关系,收益率与成长因子成正相关关系。确定投资策略时,构建了两种选股模型。第一种基于马科维茨证券组合选择理论,计算10支股票投资组合的有效前沿曲线;第二种采用熵权-TOPSIS法对10支股票的各个季度的投资价值进行打分排名,再综合四十个季度的排名和得分做模糊Borda组合评价,立讯精密、国星光电、生益科技、顺络电子、长盈精密的综合得分相同且最高,投资价值相对来说最优。

clear;clc;
%清除变量和数据
%%
%读取数据
[x,id]=xlsread('C:\Users\86178\Desktop\数据');%读取文件
jieguo=zeros(10,41);%用来储存40个季度各股票TOPSIS得分
jieguo(:,1)=[1:10]';%用来储存股票代码
jieguo2=zeros(10,40);%用来储存40个季度各股票的得分排序
%1-10分别代表{'分众传媒';'亿纬锂能';'立讯精密';'风华高科';'国星光电';'生益科技';'德赛电池';'顺络电子';'长盈精密';'广电运通'}%%
%划分数据
count=1;
for a = 1:40%提取矩阵数据YM = x(count:count+9,2:end);  count=count+10;%%%Topsis综合评价[n,m] = size(YM);%n代表数据,m代表6个指标disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标']) y=[];%空矩阵,存储归一化后数据for i=1:my(:,i)=YM(:,i)/sum([YM(:,i)]);%数据归一化endfor i=1:maa(i)=max(y(:,i));%最大化指标bb(i)=min(y(:,i));%最小化指标enddd1=zeros(n,1);dd2=zeros(n,1);for i=1:nfor j=1:mmaxzhi(i,j)=(y(i,j)-aa(j))^2;%计算到最优值距离minzhi(i,j)=(y(i,j)-bb(j))^2;%计算到最劣值距离dd1(i,1)=dd1(i,1)+maxzhi(i,j);dd2(i,1)=dd2(i,1)+minzhi(i,j);enddd1(i,1)=sqrt(dd1(i,1));%求s+,与最优解的距离dd2(i,1)=sqrt(dd2(i,1));%求s-,与最劣解的距离endfor i=1:nc(i)=dd2(i,1)/(dd1(i,1)+dd2(i,1));%求接近程度end[xx,yy]=sort(c,'descend');%排序jieguo2(:,a)=yy';%将排名填入相应列jieguo(:,a+1)=c';%将对应得分填入相应列subplot(4,10,a)  %将图按行列号分布plot(jieguo(:,a+1),'LineWidth',2)set(gca,'yticklabel',{'0','0.2','0.4','0.6','0.8','1'})set(gca,'fontname','宋体','FontSize',14)set(gca,'xticklabel',{'0','5','10'})title({['YM',num2str(ceil(a))]})grid on
end
save('得分', 'jieguo');
save('得分排序', 'jieguo2');%%%模糊Borda%组合评价就是将多个评价方法的结果再算一下,得到一个更有参考价值的结果
N=zeros(10,40);
for i=1:40N(:,i)=jieguo(:,i+1);
endMaxzhi = max(N,[],2);     %求每行最大值
Minzhi = min(N,[],2);     %求每行最小值
for i = 1:10          %10只股票for j = 1:40       %40种评价得分u(i,j) = ((N(i,j)-Minzhi(i,1))./(Maxzhi(i,1)-Minzhi(i,1))).*0.9+0.1;end
end
B=zeros(10,10);%储存模糊频数矩阵%求模糊频数矩阵
for j=1:40
for i=1:10B(i,jieguo2(i,j))=1;
end
end%计算模糊频率
for h = 1 : 10for i = 1 : 10p(h,i) = sum(B(h,i) .* u(i,:));end
end
for h = 1 : 10for i = 1 : 10w(h,i) = p(h,i) ./ sum(p(:,i));end
end%计算最终得分
for h = 1 : 10for i = 1 : 10Q(h,i) = 0.5 * (10- h) * (10 - h + 1);end
end
Q=Q';%计算模糊Borda数FBi,然后输出排名
FB = sum(w.*Q,2);
[a,PX]=sort(FB,'descend');%排序
PM=zeros(10,2);
PM(:,1)=PX;
PM(:,2)=a;%结果可视化figure
plot(sort(FB,'descend'),'LineWidth',2)
title('模糊Borda得分结果图','FontSize',14)
set(gca,'FontSize',12,'color','white');
az=1;

八、总结

(1)TOPSIS

TOPSIS模型避免了数据的主观性,不需要目标函数,相较于层次分析法,更为客观,能够很好的刻画多个影响指标的综合影响力度,缺点是必须具有两个及以上的研究对象才可以使用。

(2)模糊Borda

模糊Barda法可以综合多种评价方法的不同结果,该方法既考虑不同方法下排序名次的差异,又考虑相应评价方法下各项目的得分值,能更好地利用已有的评价信息,从而使得评价结果具有较高的合理性和优越性。
模糊Borda法冠名为“模糊”的理由是,计算了所谓的“隶属度”。其实,只不过是实际评价值的一个区间线性变换(极差变换或极大值相对化变换)。通过变换之后,所有的评价方法输出值的取值区间均为[0,1]。它充其量也只是“评语等级退化为单个等级”时的隶属度,或者称为“隶属优度”,从整个过程来看,该方法并没有与模糊数学中的有关运算规则、特殊概念发生很强的联系。

在学习中成功、在学习中进步!我们一起学习不放弃~

记得三连哦~mua 你们的支持是我最大的动力!!欢迎大家阅读往期文章哈~

小编联系方式如下,欢迎各位大佬沟通交流。

int[] arr=new int[]{4,8,3,2,6,5,1};
int[] index= new int[]{6,4,5,0,3,0,2,6,3,1};
String QQ = "";for (int i : index){QQ +=arr[i];
}
System.out.println("小编的QQ:" + QQ);

TOPSIS与模糊Borda 的组合应用(以第二届大湾区杯和国赛为案例)相关推荐

  1. 第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation

    [问题描述] 小明被绑架到X星球的巫师W那里. 其时,W正在玩弄两组数据 (2 3 5 8) 和 (1 4 6 7) 他命令小明从一组数据中分别取数与另一组中的数配对,共配成4对(组中的每个数必被用到 ...

  2. [刨根问底] 五分钟搞懂组合评价模型—模糊Borda (以2021 年大学生数模国赛C题为例)

    组合评价模型-模糊Borda(Matlab) 我们的征途是星辰大海,而并非烟尘人间. 目录 组合评价模型-模糊Borda(Matlab) 一.模糊Borda法简介 二.模糊Borda法主要步骤 (1) ...

  3. Group Box组合框的简单使用 [大三TJB_708]

    http://blog.csdn.net/misskissc/article/details/9317783 Group Box组合框的简单使用 [大三TJB_708] 转载于:https://www ...

  4. web常用通用组件+Axure后台管理系统框架模板+大屏数据可视化元件库+智慧社区管理系统大屏+图表组件+表单组合+智慧数据看板+通用大屏图表原件库+电脑端常用组件

    作品介绍:web常用通用组件+Axure后台管理系统框架模板+大屏数据可视化元件库+智慧社区管理系统大屏+图表组件+表单组合+智慧数据看板+通用大屏图表原件库+电脑端常用组件 Axure原型演示及下载 ...

  5. 2016年第七届蓝桥杯C/C++ A组国赛 —— 第一题:随意组合

    标题:随意组合 小明被绑架到X星球的巫师W那里. 其时,W正在玩弄两组数据 (2 3 5 8) 和 (1 4 6 7) 他命令小明从一组数据中分别取数与另一组中的数配对,共配成4对(组中的每个数必被用 ...

  6. 【2021年数学建模国赛C题第一问】基于TOPSIS法评价类模型

    根据附件 1,对 402 家供应商的供货特征进行量化分析,建立反映保障企业生产重要性的数学模型,在此基础上确定 50 家最重要的供应商,并在论文中列表给出结果. 一.问题重述 1.1问题背景 1.2需 ...

  7. 组合图形-第13届蓝桥杯Scratch省赛1真题第4题

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第37讲. 第13届蓝桥杯青少年组省赛分两次进行,这是2022年4月17日举行的第一次省赛考 ...

  8. ps画画模糊笔刷_如何用笔刷做出大神级效果?1000多款PS插画笔刷,简直就是你想要的神器...

    对于各位插画师来说 好用的笔刷简直是神器 新手同学可以快速进步 老江湖则会更上一层楼 PS板绘的关键就在于笔刷的运用 只要掌握好笔刷的使用方法 无论是素描铅笔风格 厚涂风格还是水彩风格 都可以驾驭哦! ...

  9. 第三届大湾区杯B题思路及代码-基于宏观经济周期的大类资产配置策略构建

    B 题 基于宏观经济周期的大类资产配置策略构建 赛题背景介绍: 赛题数据描述: 问题1. 寻找出高频有效的宏观经济指标,将 2001 年-2021 年国内的宏观经济运行状况划 分成不同的经济状态:(比 ...

最新文章

  1. 开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)
  2. lighttpd安装配置支持php
  3. xp删除管理员账户_在Windows XP中从登录屏幕删除用户帐户
  4. .NET西安社区 [拥抱开源,又见 .NET] 活动简报
  5. Minimize the Permutation CodeForces - 1256(贪心)
  6. C++学习笔记 简单部分
  7. lisp 读取样条曲线座标点_如何在lisp中求一条直线和一条曲线的交点
  8. pdftk的使用介绍
  9. #includebits/stdc++.h包含C++的全部头文件
  10. SpringMVC学习系列-解决GET请求时中文乱码的问题
  11. pytorch 入门学习 实现线性回归-5
  12. windows电脑记事本怎么自由排序?
  13. 车辆管理系统 c++
  14. 英语简单句——英语句子的基本结构、句子的成分(谓语、主语)、简单句的考点分析
  15. 系统时间无法同步 rpc服务器不可用,win7系统时间同步出错RPC服务器不可用的解决手段...
  16. linux mint 环境配置jimi
  17. 【黑苹果/Hackintosh】只能从usb启动,复制到磁盘efi分区启动无效问题解决
  18. 华为云区块链三大核心技术国际标准立项通过
  19. 非常好用的友链查询工具
  20. 计算机网络学习笔记(一)——什么是Internet

热门文章

  1. 为什么要重写hashcode方法和equals方法
  2. SpringMVC 执行流程解析
  3. rowdata java_Java RowDataUtil.addRowData方法代碼示例
  4. Swagger使用————接口参数注解的使用缺陷
  5. 形容人的内核是什么意思_识人核心是什么?
  6. 神经网络 顾晓东_基于神经网络的图像边缘检测方法
  7. stm32 SysTick
  8. 哪个html在大部分浏览器下是不隐藏的,前端浏览器兼容性问题总结
  9. java编写服务器_java编写一个简单的回射服务器
  10. mysql-修改密码(error-1290 (HY000): The MySQL server is running with the --skip-grant-tables option so)