TOPSIS算法(优劣解距离法)的使用举例与matlab实现

您所在的位置:网站首页 中间型指标归一化 TOPSIS算法(优劣解距离法)的使用举例与matlab实现

TOPSIS算法(优劣解距离法)的使用举例与matlab实现

2024-07-02 16:50| 来源: 网络整理| 查看: 265

文章目录 一、算法的提出 二、TOPSIS算法的一般步骤 1.形成决策矩阵 2.计算加权决策矩阵 (1)指标正向化处理 a.极大值指标正向化 b.极小型指标极大正向化 c.中间型指标极大正向化 d.区间型指标极大正向化 (2)指标标准化处理得到新矩阵 (3)计算加权决策矩阵 3.计算每个方案的优劣值 (1)计算每个参数对应的最大最小值 (2)计算每个方案距离最优最劣解的距离 (3)计算每个方案的优劣值 三、使用举例 1.形成决策矩阵 2.计算加权决策矩阵 (1)指标正向化处理 (2)指标标准化处理得到新矩阵 (3)计算加权决策矩阵 3.计算每个方案的优劣值 (1)计算每个参数对应的最大最小值 (2)计算每个方案距离最优最劣解的距离 (3)计算每个方案的优劣值 4.根据优劣值进行排序得到结果 四、matlab代码实现

一、算法的提出

  ​  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} ⎣⎢⎢⎡​x11​x21​…xn1​​x12​x22​…xn2​​……⋱…​x1m​x2m​…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​−xmin​xi​−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​−xmin​xmax​−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\}



【本文地址】


今日新闻


推荐新闻


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