VIKOR法

VIKOR法是一种基于理想点法的折衷排序方法,排序过程中同时考虑了群体效应最大化和个体遗憾最小化。 与TOPSIS法相比,VIKOR法考虑了整体和个体间的平衡,引入决策策略变量$v$,使决策过程更加合理。

计算步骤

原始的决策矩阵为$\bm{x}={ x_{ij}}$,数据变换后得到的规范化决策矩阵为$z={ z_{ij}},i=1\cdots m,j=1\cdots n$。

其中$m$为评价指标数量,$n$为评价对象(备选方案)的数量。

Step 1. 对所有的$n$个评价对象,确定每个评价指标的正理想解$z_i^+$和负理想解$z_i^-$,$i=1,2,\cdots,m$:

$$ z_i^+ = \max_j z_{ij}, $$ $$ z_i^- = \min_j z_{ij}. $$

Step 2. 计算群体效用值$S_j$和个体遗憾值$R_j$,$j=1,2,\cdots,n$:

$$ S_j = \sum_{i=1}^n w_i \frac{(z_i^+ - z_{ij})}{z_i^+-z_i^-}, $$ $$ R_j = \max_i w_i \frac{(z_i^+ - z_{ij})}{z_i^+-z_i^-}. $$

其中$w_i$是第$i$个评价标准的权重,$i=1,2,\cdots,m$,直接指定或通过其他赋权方法获得。

Step 3. 计算折衷值$Q_j$,$j=1,2,\cdots,n$:

$$ Q_j=v \frac{S_j-S^-}{S^+ - S^-} + (1-v) \frac{R_j - R^-}{R^+ - R^-}. $$

其中,$S^-=\min_jS_j$,$S^+=\max_jS_j$,$R^-=\min_jR_j$,$R^+=\max_jR_j$;$v$是用于控制决策结果偏向于群体效用还是个体遗憾的权重,$v$越大,结果越偏向于群体效用,反之偏向于个体遗憾。

Step 4. 对群体效用值($S_j$)、个体遗憾值($R_j$)、折衷值($Q_j$)进行排序(逆序,值越小越排在前面),$j=1,2,\cdots,n$。得到三个排序的列表$S,R,Q$。

Step 5. 定义以下两个条件:

记$Q$中的排名第$1$和第$2$的值对应的评价对象为$A^{(1)}$和$A^{(2)}$,$Q(A^{(1)})$和$Q(A^{(2)})$分别为这两个评价对象对应的折衷值。

条件1:可接受优势:

$$Q(A^{(2)}) - Q(A^{(1)}) \geq 1/(n-1)$$

条件2:可接受的稳定性:

$S(A^{(1)})$在$S$中是最小的或$R(A^{(1)})$在$R$中是最小的.

Step 6. 最后根据以上两条件来确定最终的结果:

如果同时满足条件1和条件2,那么$A^{(1)}$为最终的折衷解;

如果条件1满足,但条件2无法满足,则折衷解为$A^{(1)}$和$A^{(2)}$;

如果条件2满足,条件1无法满足,那么$A^{(1)}, A^{(2)},\cdots,A^{(r)}$均为折衷解,其中$r$的值为满足$Q(A^{(r)}) - Q(A^{(1)}) < 1/(n-1)$的最大值。