数学建模之TOPSIS模型(含matlab代码)

您所在的位置:网站首页 多属性决策分析例题及解析 数学建模之TOPSIS模型(含matlab代码)

数学建模之TOPSIS模型(含matlab代码)

2024-07-15 21:50| 来源: 网络整理| 查看: 265

 

目录

一、方法和原理

1、理想解法

 2、方法原理

 二、TOPSIS法的具体算法

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

1、线性变换

2、0-1变换

3、区间型属性的变换

4、向量规范化

5、标准换处理

 (2)构成加权规范阵C

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

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

(5)  计算各方案的排队指标值

 (6)排序

 三、代码及实例

(1) 数据预处理

1、区间变换的代码

2、其他属性标准化处理

 (2)向量规划化的方法求得规范决策矩阵代码

(3)构成加权规范阵C代码

 (4)确定正理想解和负理想解代码

(5)计算排队指标值并排序代码

 (6)总代码

一、方法和原理 1、理想解法

目前已有许多解决多属性决策的排序法,如理想点简单线性加权法、加权平方和法、主成分分析法法功效系数法、可能满意度法、交叉增援阵法等。本节介绍多属性决策问题的理想解法,理想解法亦称为TOPSIS 法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。

 2、方法原理

 

 

 二、TOPSIS法的具体算法 (1) 用向量规划化的方法求得规范决策矩阵

在这之前需要对数据进行预处理,首先需要判断数据属于成本型还是效率型还是区间型。

数据预处理数据的预处理又称属性值的规范化属性值具有多种类型,包括效益型、成本型和区间型等。这三种属性,效益型属性越大越好,成本型属性越小越好,区间型属性是在某个区间最佳。

在进行决策时,一般要进行属性值的规范化,主要有如下三个作用:

(1) 属性值有多种类型,上述三种属性放在同一个表中不便于直接从数值大小判断方案的优劣,因此需要对数据进行预处理,使得表中任一属性下性能越优的方案变换后的属性值越大。

(2)非量纲化,多属性决策与评估的困难之一是属性间的不可公度性,即在属性值表中的每一列数具有不同的单位(量纲)。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时,需要排除量纲的选用对决策或评估结果的影响,这就是非量纲化

(3)归一化,属性值表中不同指标的属性值的数值大小差别很大,为了直观,更为了便于采用各种多属性决策与评估方法进行评价,需要把属性值表中的数值归一化即把表中数值均变换到[0,1]区间上。

然后对属性进行规范化,有三种方案。

1、线性变换

 

2、0-1变换

3、区间型属性的变换

4、向量规范化

 这种变换也是线性的,但是它与前面介绍的几种变换不司,从变换后属性值的大小上无法分辨属性值的优劣它的最大特点是,规范化后,各方案的同一属性值的平方和为 1,因此常用于计算各方案与某种虚拟方案(如理想点或负理想点) 的欧氏距离的场合。

5、标准换处理

在实际问题中,不同变量的测量单位往往是不样的。为了消除变量的量纲效应,使每个变量都具有司等的表现力,数据分析中常对数据进行标准化处理

 在matlab中使用zscore(x)进行标准化

 (2)构成加权规范阵C

 

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

 

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

 

(5)  计算各方案的排队指标值

 (6)排序

 三、代码及实例 (1) 数据预处理

首先分析四个指标中有成本型也有效率型和区间型,效益型属性越大越好,成本型属性越小越好,区间型属性是在某个区间最佳。其中科研经费为成本型,生师比为区间型。

1、区间变换的代码

我们首先对表1中属性2的数据进行最优值为给定区间时的变换。

代码如下:

clc,clear % @是用于定义函数句柄的操作符。函数句柄既是一种变量,可以用于传参和赋值;也是可以当做函数名一样使用 x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)- lb)).*(x>=lb&x=qujian(1)&xqujian(2)&x


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3