一、算法的提出
C.L.Hwang和K.Yoon在1981年首次提出TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution)算法,直接即逼近理想解排序法,国内通常称之为优劣解距离法。
相比较于层次分析法AHP与模糊综合评价法,TOPSIS算法能够充分利用原始数据的信息,并能更精确反映出各个状况/方案之间的优劣与差距。
TOPSIS算法的基本过程为先将原始数据矩阵(决策矩阵)进行正向化处理得到正向化矩阵,再进行标准化处理消除各指标量纲的影响。再通过AHP或其他方法得到各个因素之间的权重向量,构造出新的加权决策矩阵。
然后在所有的数据中找到最优和最劣方案,计算各个评价对象相对于最优方案与最劣方案的欧氏距离,最终获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。
TOPSIS算法对数据的分布及含量等没有严格限制,且数据易处理计算简单,思路清晰,因而被广泛使用。
二、TOPSIS算法的一般步骤
注意:下列的交标含义请仔细辨别,交标含义并未相同含义贯穿始终。
如果有不清楚的地方可以在评论区指出,有人指出后我再修改交标含义。
1.形成决策矩阵
设共有 n n n个评价对象,每个评价对象含有 m m m个参数指标。将 n n n个评价对象的参数指标排列得到 n × m n×m n×m矩阵,即决策矩阵:
[ x 11 x 12 … x 1 m x 21 x 22 … x 2 m … … ⋱ … x n 1 x n 2 … x n m ] \begin{bmatrix} x_{11} & x_{12} & \dots & x_{1m} \\ x_{21} & x_{22} & \dots& x_{2m}\\ \dots& \dots & \ddots& \dots\\ x_{n1}& x_{n2}& \dots& x_{nm}\end{bmatrix} ⎣⎢⎢⎡x11x21…xn1x12x22…xn2……⋱…x1mx2m…xnm⎦⎥⎥⎤
2.计算加权决策矩阵
(1)指标正向化处理
常见的四种指标(即评价对象的 m m m个参数指标所属类型)
指标类型 | 指标特点 | 举例 |
---|---|---|
极大型指标(效益型) | 越大越好 | 成绩、利润 |
极小型指标(成本型) | 越小越好 | 成本、费用 |
中间型指标 | 越接近某个值越好 | 人体所处环境温度 |
区间型指标 | 落在某个区间最好 | 体温、饮用水中的矿物质含量 |
为了后续处理,我们需要将所有类型的指标转换为极大值指标,且需要将所有指标类型统一转换为各自对应的正向化指标,准换的方式可以不一样,下面给出一些转换公式的参考。
a.极大值指标正向化
x i ′ = x i − x m i n x m a x − x m i n x'_i=\frac{x_i-x_{min}}{x_{max}-x_{min}} xi′=xmax−xminxi−xmin
b.极小型指标极大正向化
x i ′ = x m a x − x i x m a x − x m i n x'_{i}=\frac{x_{max}-x_i}{x_{max}-x_{min}} xi′=xmax−xminxmax−xi
c.中间型指标极大正向化
x i ′ = 1 − ∣ x i − x b e s t ∣ ∣ x i − x b e s t ∣ m a x x'_i=1-\frac{|x_i-x_{best}|}{|x_i-x_{best}|_{max}} xi′=1−∣xi−xbest∣max∣xi−xbest∣
d.区间型指标极大正向化
设最佳区间为 [ a , b ] [a,b] [a,b],且记
M = max { a − min { x i } , max { x i } − b } M=\max\{a-\min\{x_i\},\max\{x_i\}-b\}