VIKOR
Overview
VIKOR (VIseKriterijumska Optimizacija I Kompromisno Resenje) finds the compromise solution closest to the ideal by combining L1 (Manhattan) and L∞ (Chebyshev) distance measures. A lower Q score means a better compromise.
For each trial, Tunny Dashboard provides:
| Output | Description |
|---|---|
| Utility measure S | Overall gap from the ideal (smaller is better) |
| Regret measure R | Gap on the worst objective (smaller is better) |
| Compromise score Q | S and R combined (smaller is a better compromise) |
| Display score | 1 − Q; higher is better (shown in the UI for readability) |
| Ranking | Trials ordered by Q ascending (closest compromise first) |
| Best / worst values | The best and worst value of each objective across valid trials |
| Compromise set | The compromise solutions that satisfy conditions C1/C2 |
Algorithm
Inputs
| Variable | Description |
|---|---|
| f_ij | Value of trial i for objective j |
| w_j | Weight for objective j (normalized, Σ = 1) |
| v | Strategy weight (default 0.5) |
Weight normalization: if the weights do not sum to 1, they are divided by their sum when it is positive and finite; otherwise (zero, negative, or NaN sum) uniform weights are used instead.
Step 1: Best and Worst Values
For each objective j:
Step 2: S and R Values
- S_i (utility): sum of weighted gaps — lower is better overall
- R_i (regret): maximum weighted gap — lower means even the worst criterion is acceptable
When f*_j = f-_j (all trials identical for that objective), the contribution is 0.
Step 3: S*, S-, R*, R-
Step 4: Q Score
| v value | Emphasis | Meaning |
|---|---|---|
| v > 0.5 | S (utility) | Maximize overall consensus |
| v = 0.5 | Balanced | Balance utility and regret |
| v < 0.5 | R (regret) | Minimize worst-case objective |
Zero-division guard: if S- = S*, the first term is 0; if R- = R*, the second term is 0.
Step 5: Ranking
Sort trials by Q ascending — lower Q is the better compromise solution.
Step 6: Compromise Acceptance Conditions (C1/C2)
Whether the top-ranked solution can be accepted as the single compromise solution is decided by the two conditions of Opricovic & Tzeng (2004):
C1 (acceptable advantage):
where is the number of valid trials (all objectives finite).
C2 (acceptable stability in decision making): is also ranked first (ties allowed) by S or by R.
Compromise set:
- C1 and C2 both hold → is the single compromise solution
- Only C2 fails → and
- C1 fails → all with
Edge cases: yields the single valid trial; yields an empty set.
In Tunny Dashboard: the compromise set is shown with a ★ marker in the MCDM Scatter Chart 2D / 3D widgets (and in the click-detail modal).
Numerical Example
3 trials × 2 objectives, both minimized, weights , :
| Trial | Obj 1 | Obj 2 |
|---|---|---|
| 0 | 1 | 2 |
| 1 | 3 | 1 |
| 2 | 2 | 2 |
Step 1 — best/worst: Obj 1: , , range = 2. Obj 2: , , range = 1.
Step 2 — S and R:
| Trial | contrib1 | contrib2 | S | R |
|---|---|---|---|---|
| 0 | 0.5 | 0.5 | ||
| 1 | 0.5 | 0.5 | ||
| 2 | 0.75 | 0.5 |
Step 3: , , , (tied).
Step 4 — Q: since , the second term is 0 for every trial:
Step 5 — ranking: → trials 0 and 1 tie for first, trial 2 is last.
Comparison with TOPSIS
| Aspect | TOPSIS | VIKOR |
|---|---|---|
| Distance measure | Euclidean (L2) | Manhattan (L1) + Chebyshev (L∞) |
| Ranking order | Score descending | Q ascending |
| Strategy param | None | v (utility vs. regret) |
| Zero-div guard | score = 0.5 | contribution = 0 |
| Best for | Overall similarity | Compromise / balance-focused decisions |
Complexity
O(m × n + m log m) — under 100 ms for 50,000 trials × 4 objectives.
When to Use
Minimize worst-case objective (max-regret)? → VIKOR with v < 0.5
Maximize overall consensus across objectives? → VIKOR with v > 0.5
Want a parameter-free intuitive [0,1] score? → TOPSISReferences
- Opricovic, S. (1998). Multicriteria Optimization of Civil Engineering Systems. Faculty of Civil Engineering, Belgrade.
- Opricovic, S., & Tzeng, G.-H. (2004). Compromise solution by MCDM methods: A comparative analysis of VIKOR and TOPSIS. European Journal of Operational Research, 156(2), 445–455. https://doi.org/10.1016/S0377-2217(03)00020-1