IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> TOPSIS与模糊Borda 的组合应用(以第二届大湾区杯和国赛为案例,未免造成误会,一周后会更新大湾区杯) -> 正文阅读

[数据结构与算法]TOPSIS与模糊Borda 的组合应用(以第二届大湾区杯和国赛为案例,未免造成误会,一周后会更新大湾区杯)

目录

一、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)构建决策矩阵

用向量规划化的方法求得规范决策矩阵。设多属性决策问题的决策矩阵A=(a_{ij})_{m\times n},规范化决策矩阵B=(b_{ij})_{m\times n},其中

?(3)构造加权规范阵

构造加权规范阵C=(c_{ij})_{m\times n}。设由决策人给定各属性的权重向量为\omega =[\omega_{1},\omega_{2},\cdots ,\omega_{n}]^{T},则

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

?(4)计算正负理想解

确定最优解Z_{i}^{+}和最劣解Z_{i}^{-}。则

(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:n
    c1=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:402
    B(i,BB1(i,1))=1;
end
for j=1:402
    B(j,BB2(j,1))=1;
end
%计算模糊频率
for h = 1 : 402
    for i = 1 : 402
        p(h,i) = sum(B(h,i) .* u(i,:));
    end
end
for h = 1 : 402
    for i = 1 : 402
        w(h,i) = p(h,i) ./ sum(p(:,i));
    end
end
%计算最终得分
for h = 1 : 402
    for i = 1 : 402
        Q(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题

?该题由于今天下午3点(2021.11.08)才刚刚提交,未免组委会造成不必要的误会,详细分析和代码我会在之后进行分析,敬请期待!

八、总结

(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);

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:49:07  更:2021-11-09 19:50:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:33:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码