TOPSIS-model

TOPSIS-model

Charles Lv7

TOPSIS模型基础

TOPSIS基本概念与建模

TOPSIS的概念

TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )模型中文叫做“逼近理想解排序方法”,是根据评价对象与理想化目标的接近程度进行排序的方法,是一种距离综合评价方法。

TOPSIS建模

TOPSIS建模基本思路是通过假定正、负理想解,测算各样本与正、负理想解的距离,得到其与理想方案的相对贴近度(即距离正理想解越近同时距离负理想解越远),进行各评价对象的优劣排序。

TOPSIS模型数据预处理
image_20230904150835 image_20230904150847 image_20230904151500 image_20230904151513
TOPSIS法的算法步骤
image-20230902090939419 image-20230902090951070 image-20230902091005093 image-20230902091014652
模型适用范围

TOPSIS模型为处理评价类问题的模型,适用于指标相对较多且各指标之间相对独立的情况下使用,简而言之,需要大量数据。

MATLAB实现示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
%Topsis算法基本思想:基于归一化后的原始数据矩阵,采用余弦法找出有限方案中的最优方案和最劣方案(分别用最优向量和最劣向量表示),
%然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。
%案例代码:x是需要评价的对象矩阵

x=[
21584 76.7 7.3 1.01 78.3 97.5 2.0
24372 86.3 7.4 0.80 91.1 98.0 2.0
22041 81.8 7.3 0.62 91.1 97.3 3.2
21115 84.5 6.9 0.60 90.2 97.7 2.9
24633 90.3 6.9 0.25 95.5 97.9 3.6];%矩阵
[n,m]=size(x);
%将3,4,7的低优指标去倒数转化为高优指标并且把所有指标换成接近的大小?
x(:,1)=x(:,1)/100;
x(:,3)=(1./x(:,3))*100;
x(:,4)=(1./x(:,4))*100;
x(:,7)=(1./x(:,7))*100;
zh=zeros(1,m);
d1=zeros(1,n); %最小值矩阵
d2=zeros(1,n); %最大值矩阵
c=zeros(1,n); %接近程度
%归一化
for i=1:m
for j=1:n
zh(i)=zh(i)+x(j,i)^2;
end
end
for i=1:m
for j=1:n
x(j,i)=x(j,i)/sqrt( zh(i));
end
end
%计算距离
xx=min(x);
dd=max(x);
for i=1:n
for j=1:m
d1(i)=d1(i)+(x(i,j)-xx(j))^2;
end
d1(i)=sqrt(d1(i));
end
for i=1:n
for j=1:m
d2(i)=d2(i)+(x(i,j)-dd(j))^2;
end
d2(i)=sqrt(d2(i));
end
%计算接近程度
for i=1:n
c(i)=d1(i)/(d2(i)+d1(i));
end
c
  • Title: TOPSIS-model
  • Author: Charles
  • Created at : 2023-09-01 22:48:56
  • Updated at : 2023-09-04 15:24:05
  • Link: https://charles2530.github.io/2023/09/01/topsis-model/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments