数学建模竞赛知识点汇总(二)——优劣解距离法

253 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

简介

​ 优劣解距离法(TOPSIS法) 可翻译为逼近理想解排序法,国内常简称为优劣解距离法 TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息, 其结果能精确地反映各评价方案之间的差距。

​ 使用范围:评价对象得分,且各个指标值已知

计算步骤

1. 评价指标分类

  • 极大型指标:指标值越大越好,如GDP增速, 成绩
  • 极小型指标:指标值越小越好,如费用,次品率
  • 中间型指标:指标值越接近某个值越好,如水质量评估的PH值
  • 区间型指标:指标值落在某个区间最好,如体温,水中植物性营养物量

2. 指标正向化

目的:将所有指标类型全部化成极大型指标。

  • 极小型转化为极大型
x~i=xmaxxi\widetilde{x}_i=x_{max}-x_i
  • 中间型转化为极大型
x~i=1xixbestM,M=maxxixbest\widetilde{x}_i=1-\dfrac{|x_i-x_{best}|}{M}, M=max{|x_i-x_{best}|}
  • 区间型转化为极大型
x~i={1axM,x<a1,axb1xbM,x>bM=max{amax{xi},max{xi}b}\widetilde{x}_i=\left\{ \begin{aligned} &1-\dfrac{a-x}{M},x<a \\ &1,a\leq x\leq b\\ &1-\dfrac{x-b}{M},x>b \\ \end{aligned}\\ \right. \\ M=max\{a-max\{x_i\}, max\{x_i\}-b\}

正向化矩阵:

X~=(x~11x~12x~1mx~21x~22x~2mx~n1x~n2x~nm)\widetilde{X}=\left(\begin{array}{llll} \widetilde{x}_{11} & \widetilde{x}_{12} & \ldots & \widetilde{x}_{1 m} \\ \widetilde{x}_{21} & \widetilde{x}_{22} & \ldots & \widetilde{x}_{2 m} \\ & & \ldots & \\ \widetilde{x}_{n 1} & \widetilde{x}_{n 2} & \ldots & \widetilde{x}_{n m} \end{array}\right)

3. 标准化

​ 对上述正向化矩阵进行标准化处理:

Z~=(z11z~12z~1mz~21z~22z~2mz~n1z~n2z~nm) 其中 zij=x~iji=1nx~ij2\begin{gathered} \widetilde{Z}=\left(\begin{array}{cccc} z_{11} & \tilde{z}_{12} & \cdots & \tilde{z}_{1 m} \\ \tilde{z}_{21} & \tilde{z}_{22} & \cdots & \tilde{z}_{2 m} \\ \tilde{z}_{n 1} & \tilde{z}_{n 2} & \cdots & \tilde{z}_{n m} \end{array}\right) \\ \text { 其中 } z_{i j}=\frac{\widetilde{x}_{i j}}{\sqrt{\sum_{i=1}^{n} \widetilde{x}_{i j}^{2}}} \end{gathered}

4. 计算Z+Z^+ZZ^-

Z+Z^+ZZ^-的计算如下:

Z+=(Z1+,Z2+,,Zm+)=(max{z11,z21,,zn1},max{z12,z22,,zn2},,max{z1m,z2m,,znm})Z=(Z1,Z2,,Zm)=(min{z11,z21,,zn1},min{z12,z22,,zn2},,min{z1m,z2m,,znm})\begin{aligned} Z^+&=(Z^+_1, Z^+_2, \dots, Z^+_m)\\ &= (max\{z_{11}, z_{21}, \dots, z_{n1}\}, max\{z_{12}, z_{22}, \dots, z_{n2}\}, \dots, max\{z_{1m}, z_{2m}, \dots, z_{nm}\})\\ Z^-&=(Z^-_1, Z^-_2, \dots, Z^-_m)\\ &= (min\{z_{11}, z_{21}, \dots, z_{n1}\}, min\{z_{12}, z_{22}, \dots, z_{n2}\}, \dots, min\{z_{1m}, z_{2m}, \dots, z_{nm}\})\\ \end{aligned}

5. 计算评价对象与最大值/最小值的距离

  • 各个指标权重相同时:
Di+=Z+Zi=j=1m(Zj+zij)2Di=ZZi=j=1m(Zjzij)2D_i^+=|Z^+-Z_i|=\sqrt{\sum_{j=1}^m(Z^+_j-z_{ij})^2}\\ D_i^-=|Z^--Z_i|=\sqrt{\sum_{j=1}^m(Z^-_j-z_{ij})^2}\\
  • 各个指标权重不同时:
Di+=j=1mwj(Zj+zij)2Di=j=1mwj(Zjzij)2D_i^+=\sqrt{\sum_{j=1}^mw_j(Z^+_j-z_{ij})^2}\\ D_i^-=\sqrt{\sum_{j=1}^mw_j(Z^-_j-z_{ij})^2}\\

6. 计算最终得分

Si=DiDi++DiS_i=\dfrac{D_i^-}{D_i^++D_i^-}

最终还要对得分进行归一化处理:

S~i=Sii=1nSi\widetilde S_i=\dfrac{S_i}{\sum_{i=1}^n{S_i}}