MCDMAKER-logo

MCDM Methods

Step-by-Step Algorithms

VIKOR Method

VIseKriterijumska Optimizacija I Kompromisno Resenje - Multicriteria Optimization and Compromise Solution

1979 Serafim Opricovic 6 Steps

VIKOR (VIseKriterijumska Optimizacija I Kompromisno Rešenje) is an objective weighting method for MCDM, introduced by is a compromise-ranking MCDM method designed for decision problems involving conflicting and non-commensurable criteria. It identifies a compromise solution that provides a balance between maximum group utility and minimum individual regret.

Video Demonstration

Step-by-Step Algorithm

Calculated cell
Source cells in formula
1

Form the decision matrix

Create the decision matrix with $m$ alternatives and $n$ criteria:

\[ X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1n}\\ x_{21} & x_{22} & \cdots & x_{2n}\\ \vdots & \vdots & \ddots & \vdots\\ x_{m1} & x_{m2} & \cdots & x_{mn} \end{bmatrix} \]

\(x_{ij}\) presents the performance value of ith alternative on jth criterion, m and n are the numbers of alternatives and criteria respectively.

Alternative$C_1$$C_2$$C_3$
$A_1$102030
$A_2$152535
$A_3$251535
Criterion type: C₁ Benefit C₂ Cost C₃ Benefit
Weights: $w_1=0.7279$ · $w_2=0.2009$ · $w_3=0.0712$ (Entropy method)
2

Determine the best and worst values

Formula

Determine the best \(f_j^+\) and worst \(f_j^-\) values for each criterion.

For benefit criteria :

\[ f_j^+=\max_i x_{ij}, \qquad f_j^-=\min_i x_{ij} \]

For cost criteria :

\[ f_j^+=\min_i x_{ij}, \qquad f_j^-=\max_i x_{ij} \]

\(f_j^+\) represents the best performance and \(f_j^-\) represents the worst performance for criterion \(C_j\).

C₁ and C₃ are benefit criteria (best=max, worst=min). C₂ is a cost criterion (best=min, worst=max).

Metric$C_1$$C_2$$C_3$
Best ($f_j^+$)251535
Worst ($f_j^-$)102530
3

Si and Ri values

Formula

Weighted distance for each criterion:

\[ d_{ij}=w_j \frac{f_j^+ - x_{ij}}{f_j^+ - f_j^-} \]

Sum the weighted distances over all criteria. This represents the overall or group utility loss of alternative \(A_i\).

\[ S_i=\sum_{j=1}^{n} w_j \frac{f_j^+-f_{ij}} {f_j^+-f_j^-} \]

Determine the maximum weighted distance among all criteria. This represents the maximum individual regret of alternative \(A_i\).

\[ R_i=\max_j \left[ w_j \frac{f_j^+-f_{ij}} {f_j^+-f_j^-} \right] \]

Weighted distances $d_{ij}$:

Alternative$C_1$$C_2$$C_3$
$A_1$0.72790.10050.0712
$A_2$0.48530.20090.0000
$A_3$0.00000.00000.0000

Group utility $S_i$ and individual regret $R_i$:

Alternative$S_i$$R_i$
$A_1$0.89960.7279
$A_2$0.68620.4853
$A_3$0.00000.0000
4

S+ , S− , R+ and R−

Formula

Determine the best and worst values among all alternatives for the \(S_i\) and \(R_i\) measures.

\[ S^+=\min_i S_i, \qquad S^-=\max_i S_i \]
\[ R^+=\min_i R_i, \qquad R^-=\max_i R_i \]
MeasureBest (+)Worst (−)
$S$0.00000.8996
$R$0.00000.7279
5

VIKOR index \(Q_i\) and ranking

Formula

Combine the group utility measure \(S_i\) and the individual regret measure \(R_i\) into the VIKOR index.

\[ Q_i=v \frac{S_i-S^+} {S^- - S^+} + (1-v) \frac{R_i-R^+} {R^- - R^+} \]

The parameter \(v\) represents the weight of the group utility , usually set to \(v=0.5\).

A smaller \(Q_i\) represents a better compromise solution.


Rank the alternatives according to \(S_i\), \(R_i\), and \(Q_i\), with the VIKOR index \(Q_i\) providing the main compromise ranking.

\[ Q_i < Q_k \quad\Longrightarrow\quad A_i >A_k \]

The alternative with the lowest \(Q_i\) is the preferred compromise alternative, subject to VIKOR's acceptable-advantage and stability conditions.

Using $v=0.5$ (equal weight for group utility and individual regret).

AlternativeVIKOR Index ($Q_i$)
$A_1$1.0000
$A_2$0.7149
$A_3$0.0000
VIKOR indices (lower is better): $Q_3=0.0000 < Q_2=0.7149 < Q_1=1.0000$
Q-ranking: $A_3 \succ A_2 \succ A_1$
6

Acceptable advantage and acceptable stability

Formula

VIKOR does not select the best compromise solution solely from the numerical value of \(Q_i\). The leading alternative must satisfy the acceptable-advantage and acceptable-stability conditions.


Acceptable advantage :

The best alternative must have a sufficiently large advantage over the second-best alternative.

\[ Q(A^{(2)})-Q(A^{(1)}) >DQ \]

The threshold \(DQ\) is calculated as :

\[ DQ=\frac{1}{m-1} \]

\(m\)=number of alternatives.

If the acceptable-advantage condition is not satisfied, a set of alternatives \(A^{(1)},...,A^{(k)}\) are proposed as the best choices while \(Q(A^{(k)})-Q(A^{(1)})\leq DQ\)


Acceptable Stability :

The alternative ranked first according to \(Q_i\) must also have a strong position according to at least one of the two measures : group utility \(S_i\) or individual regret \(R_i\).

Acceptable Stability is satisfied when : \(Q\)-rank 1 and \(S\)-rank 1 and/or \(Q\)-rank 1 and \(R\)-rank 1. \(A^{(1)}\) is the best choice.

If \(A^{(1)}\) is not ranked first by either \(S_i\) or \(R_i\), the acceptable stability condition is not satisfied. \(A^{(1)}\) and \(A^{(2)}\) are proposed as the best choices.

Acceptable advantage check:

ItemValueStatus
DQ=1/(m−1)0.5000—
$Q(A^{(2)}) - Q(A^{(1)})$0.7149✓ 0.7149 >0.5000

Acceptable stability check — ranking comparison:

AlternativeQ-rankS-rankR-rankStability
$A_3$111✓ Satisfied
$A_2$222—
$A_1$333—
Acceptable advantage: $0.7149 >0.5000$ ✓ Satisfied
Acceptable stability: $A_3$ is rank 1 by both $S$ and $R$ ✓ Satisfied
Conclusion: $A_3$ is the best compromise solution.

VIKOR Algorithm Flowchart