TODIM Algorithm
TODIM is based on the multi-attribute utility theory and prospect theory. It calculates the Dominance Degree of one alternative over another, considering the decision-maker’s risk aversion.
1. Normalize Weights:
\[ w_{jr} = \frac{w_j}{w_r} \] where \( w_r \) is the reference weight (usually the maximum).
\[ w_{jr} = \frac{w_j}{w_r} \] where \( w_r \) is the reference weight (usually the maximum).
2. Partial Dominance Function:
\[ \phi_j(A_i, A_k) = \begin{cases} \sqrt{w_{jr}(x_{ij}-x_{kj})/\sum w_{jr}} & \text{if } x_{ij} > x_{kj} \\ 0 & \text{if } x_{ij} = x_{kj} \\ -\frac{1}{\theta}\sqrt{(\sum w_{jr}/w_{jr})(x_{kj}-x_{ij})} & \text{if } x_{ij} < x_{kj} \end{cases} \] where \( \theta \) is the attenuation factor (losses).
\[ \phi_j(A_i, A_k) = \begin{cases} \sqrt{w_{jr}(x_{ij}-x_{kj})/\sum w_{jr}} & \text{if } x_{ij} > x_{kj} \\ 0 & \text{if } x_{ij} = x_{kj} \\ -\frac{1}{\theta}\sqrt{(\sum w_{jr}/w_{jr})(x_{kj}-x_{ij})} & \text{if } x_{ij} < x_{kj} \end{cases} \] where \( \theta \) is the attenuation factor (losses).
3. Global Dominance Degree:
\[ \delta(A_i) = \sum_{j=1}^n \phi_j(A_i, A_k) \]
\[ \delta(A_i) = \sum_{j=1}^n \phi_j(A_i, A_k) \]
Solved Step-by-Step Example
Goal: Evaluate 4 Software Projects (Alt) based on 4 Criteria: Profit(B), Risk(C), Cost(C), and Duration(C). Weights: 0.4, 0.2, 0.2, 0.2. \(\theta = 2.25\).
1. Decision Matrix & Normalization
| Alt | C1 (B) | C2 (C) | C3 (C) | C4 (C) |
|---|---|---|---|---|
| A1 | 0.8 | 0.3 | 0.2 | 0.6 |
| A2 | 0.5 | 0.2 | 0.4 | 0.5 |
| A3 | 0.9 | 0.5 | 0.3 | 0.8 |
| A4 | 0.6 | 0.2 | 0.5 | 0.4 |
Step 2.1: Reference Weight (wr)
Max Weight = 0.4 (C1).
Relative Weights: \(w_{1r}=1.0, w_{2r}=0.5, w_{3r}=0.5, w_{4r}=0.5\).
Sum of Relative Weights (\(\sum w_{jr}\)) = 2.5.
Max Weight = 0.4 (C1).
Relative Weights: \(w_{1r}=1.0, w_{2r}=0.5, w_{3r}=0.5, w_{4r}=0.5\).
Sum of Relative Weights (\(\sum w_{jr}\)) = 2.5.
Step 2.2: Calculating Dominance (A1 over A2)
– C1 (Gain): \(\sqrt{1.0(0.8-0.5)/2.5} = 0.346\)
– C2 (Loss/Cost): Value A1(0.3) > A2(0.2). Since C2 is Cost, A1 is worse (Loss).
\(\phi = -\frac{1}{2.25}\sqrt{(2.5/0.5)(0.3-0.2)} = -0.314\)
– C3 (Gain): A1(0.2) < A2(0.4). Better for Cost.
\(\phi = \sqrt{0.5(0.4-0.2)/2.5} = 0.200\)
– C1 (Gain): \(\sqrt{1.0(0.8-0.5)/2.5} = 0.346\)
– C2 (Loss/Cost): Value A1(0.3) > A2(0.2). Since C2 is Cost, A1 is worse (Loss).
\(\phi = -\frac{1}{2.25}\sqrt{(2.5/0.5)(0.3-0.2)} = -0.314\)
– C3 (Gain): A1(0.2) < A2(0.4). Better for Cost.
\(\phi = \sqrt{0.5(0.4-0.2)/2.5} = 0.200\)
2. Final Dominance Matrix (\(\delta\))
| Alt | A1 | A2 | A3 | A4 | Sum |
|---|---|---|---|---|---|
| A1 | 0 | -0.54 | 0.12 | -0.22 | -0.64 |
| A2 | -0.12 | 0 | -0.34 | 0.08 | -0.38 |
| A3 | 0.45 | 0.62 | 0 | 0.15 | 1.22 |
| A4 | -0.85 | -0.10 | -0.95 | 0 | -1.90 |
Final Step: Normalized Score (\(\xi\))
Formula: \(\xi_i = \frac{\delta_i – \min(\delta)}{\max(\delta) – \min(\delta)}\)
A3 Score: \((1.22 – (-1.90)) / (1.22 – (-1.90)) = \mathbf{1.000}\) (Rank 1)
A2 Score: \((-0.38 – (-1.90)) / 3.12 = \mathbf{0.487}\) (Rank 2)
Formula: \(\xi_i = \frac{\delta_i – \min(\delta)}{\max(\delta) – \min(\delta)}\)
A3 Score: \((1.22 – (-1.90)) / (1.22 – (-1.90)) = \mathbf{1.000}\) (Rank 1)
A2 Score: \((-0.38 – (-1.90)) / 3.12 = \mathbf{0.487}\) (Rank 2)
TODIM Interactive Calculator
| Weights | ||||
|---|---|---|---|---|
| Type | ||||
| A1 | ||||
| A2 | ||||
| A3 | ||||
| A4 |
Theta (\(\theta\)):
Designed by: Dr. M.U. Mirza
Mathematical Researcher & Educator
Machine Learning
Fuzzy Sets
Computational Math
Graph Theory
I am a researcher and mathematician dedicated to the study and application of advanced mathematical models.
I offer research guidance and personalized video lectures for students and
professionals seeking deep insights into mathematics and computational sciences.
📢 Academic Update: Currently seeking University Faculty positions or Post-Doc research opportunities worldwide.
Quick Navigation & Resource Guide
General Resources
Fuzzy & Soft Sets (I)
Advanced Fuzzy Logic
Extended Fuzzy Concepts
Get Math Tutoring & Guidance