常见决策算法汇总
TOPSIS
TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。TOPSIS法是一种逼近于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性就行。 TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。 > 1981年,C.L.Hwang和K.Yoon首次提出了Topsis,全称Technique for Order Preference by Similarity to an Ideal Solution,可翻译为逼近理想解排序法,国内常称为优劣解距离法。它是一种常用的综合评价方法。
优点
TOPSIS可以弥补层次分析法的一些缺点: 1. 优劣解距离法可以充分利用原始数据信息,且其结果能充分反应各评价方案与最优方案的接近程度。 2. 对样本容量没有严格限制,数据计算简单易行,无需数据检验。(topsis法适用于两个以上)
基本过程
- 原始矩阵正向化,得到正向化矩阵
- 指标类型。指标类型一般分为四种,极大型指标、极小型指标、中间型指标、区间型指标。
- 极大型指标越大越好;
- 极小型指标越小越好;
- 中间型指标越接近中间值越好;
- 区间型指标落在区间内最好。
- 正向化公式。正向化就是将原始数据指标都转化为极大型指标
- 极小型 -> 极大型:\(x_i = max - x_i\),当指标值中没有"0"时也可以用 \(x_i = \frac{1}{x_i}\)
- 中间型 -> 极大型:\(x_i = 1 - \frac{|x_i - max|}{mid}\),其中 \(mid\) 为中间值
- 区间型 -> 极大型:其中 \(M\) 表示为距离区间最远的距离,即 \(max(a - min(x_i), max(x_i) - b)\) \[ \left\{\begin{array}{c} x_i=1-\frac{a-x_i}{M}\left(x^i \leqslant a\right) \\ x_i=1\left(a \leqslant x_i \leqslant b\right) \\ x_i=1-\frac{x_i-b}{M}\left(x^i \geqslant b\right) \end{array}\right. \]
- 指标类型。指标类型一般分为四种,极大型指标、极小型指标、中间型指标、区间型指标。
- 对正向化矩阵标准化 \[ Z_{i j}=\frac{x_{i j}}{\sqrt{\sum_1^n x_{i j}^2}} \] 得到标准化矩阵为: \[ Z=\left[\begin{array}{cccc} z_{11} & z_{12} & \cdots & z_{1 m} \\ z_{21} & z_{22} & \cdots & z_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n 1} & z_{n 2} & \cdots & z_{n m} \end{array}\right] \]
- 计算得分并归一化 构造评分公式:\(S = \frac{x - min}{max - min}\),变形可得 \(S = \frac{x - min}{(max - x) + (x - min)}\) 计算列最大值 \[ Z^+ = (Z^+_1, Z^+_2, \cdots, Z^+_m) = \left(\max \left\{z_{11}, z_{21}, \cdots, z_{n 1}\right\}, \max \left\{z_{12}, z_{22}, \cdots, z_{n 2}\right\}, \cdots, \max \left\{z_{1 m}, z_{2 m}, \cdots, z_{n m}\right\}\right) \] 计算列最小值 \[ Z^- = (Z^-_1, Z^-_2, \cdots, Z^-_m) = \left(\min \left\{z_{11}, z_{21}, \cdots, z_{n 1}\right\}, \min \left\{z_{12}, z_{22}, \cdots, z_{n 2}\right\}, \cdots, \min \left\{z_{1 m}, z_{2 m}, \cdots, z_{n m}\right\}\right) \] 定义第 \(i\) 个评价对象与最大值的距离 \(D_i^{+}=\sqrt{\sum_{j=1}^m\left(Z_j^{+}-z_{i j}\right)^2}\) 定义第 \(i\) 个评价对象与最小值的距离 \(D_i^{-}=\sqrt{\sum_{j=1}^m\left(Z_j^{-}-z_{i j}\right)^2}\) 那么可以计算出第 \(i\) 个评价对象未归一化的得分为:\(S_i = \frac{D^-_i}{D^+_i + D^-_i}\) 将 \(S_i\) 归一化后进行数值排名,即可得到最佳方案
VIKOR
与TOPSIS的对比
- TOPSIS和VIKOR的区别之一在于聚合函数。TOPSIS是基于距离理想解的距离的集合,VIKOR方法在TOPSIS方法的基础上提出了一个具有优势率的折衷方案。在TOPSIS方法中,不仅要考虑到与正理想解的最近距离,而且考虑到与负理想解的最长距离,从而确定最优解,以最大限度地提高效益。但TOPSIS 中的这些距离只是简单地求和,没有考虑它们的相对重要性,而在VIKOR中决策者会根据自身需求确定其重要性。
- VIKOR方法相比TOPSIS方法多了一个决策机制系数,它可以使决策者做出更激进或更保守的决策。TOPSIS方法的过程没有纳入任何主观因素,更适合要求结果完全客观的决策环境。
- VIKOR方法的独特优势在于可以得到带有优先级的折衷方案,这使得通过VIKOR排序后的最佳方案可能不止一个。而TOPSIS方法只能得到唯一最优解,毕竟它的过程是完全客观的。
常见决策算法汇总
http://shijieq.github.io/2022/11/01/Laboratory/TrustManagement/常见决策算法汇总/