TOPSIS Ranker
Overview
The TOPSIS Ranker skill implements the Technique for Order of Preference by Similarity to Ideal Solution methodology for multi-criteria decision analysis. It ranks alternatives based on their geometric distance from ideal and anti-ideal solutions, providing intuitive and mathematically sound rankings.
Capabilities
- •Decision matrix normalization (vector, linear, max-min)
- •Weighted normalized matrix calculation
- •Ideal and anti-ideal solution identification
- •Euclidean distance calculation
- •Relative closeness coefficient computation
- •Alternative ranking generation
- •Sensitivity analysis on weights
- •Visualization of results
Used By Processes
- •Multi-Criteria Decision Analysis (MCDA)
- •Tech Stack Evaluation
- •Geographic Market Analysis
Usage
Decision Matrix Construction
python
# Define decision matrix (alternatives x criteria)
decision_matrix = {
"alternatives": ["Option A", "Option B", "Option C", "Option D"],
"criteria": ["Cost", "Quality", "Time", "Risk"],
"values": [
[100000, 85, 12, 3], # Option A
[150000, 92, 8, 2], # Option B
[80000, 78, 15, 4], # Option C
[120000, 88, 10, 2] # Option D
],
"weights": [0.3, 0.35, 0.2, 0.15],
"criteria_type": ["cost", "benefit", "cost", "cost"] # minimize/maximize
}
Normalization Methods
- •Vector Normalization: r_ij = x_ij / sqrt(sum(x_ij^2))
- •Linear Normalization: r_ij = x_ij / max(x_j) for benefit, min(x_j) / x_ij for cost
- •Max-Min Normalization: r_ij = (x_ij - min) / (max - min)
TOPSIS Algorithm Steps
- •Construct normalized decision matrix
- •Calculate weighted normalized matrix
- •Determine ideal (A+) and anti-ideal (A-) solutions
- •Calculate separation measures (S+ and S-)
- •Calculate relative closeness coefficient (C*)
- •Rank alternatives by C* (higher is better)
Relative Closeness
C* = S- / (S+ + S-)
- •C* = 1: Alternative is ideal solution
- •C* = 0: Alternative is anti-ideal solution
Input Schema
json
{
"decision_matrix": {
"alternatives": ["string"],
"criteria": ["string"],
"values": "2D array of numbers",
"weights": ["number"],
"criteria_type": ["benefit|cost"]
},
"options": {
"normalization_method": "vector|linear|max_min",
"sensitivity_analysis": "boolean",
"visualization": "boolean"
}
}
Output Schema
json
{
"ranking": [
{
"alternative": "string",
"rank": "number",
"closeness_coefficient": "number",
"distance_to_ideal": "number",
"distance_to_anti_ideal": "number"
}
],
"ideal_solution": "object",
"anti_ideal_solution": "object",
"sensitivity_results": {
"weight_sensitivity": "object",
"rank_stability": "object"
},
"visualization_path": "string"
}
Best Practices
- •Ensure all criteria are on comparable scales or use appropriate normalization
- •Validate that weights sum to 1.0
- •Correctly identify benefit vs. cost criteria
- •Perform sensitivity analysis when alternatives are closely ranked
- •Consider using with AHP for systematic weight derivation
- •Document criteria definitions and measurement methods
Advantages
- •Intuitive geometric interpretation
- •Accounts for both best and worst performance
- •Works with any number of criteria and alternatives
- •Computationally efficient
- •Results are easy to explain to stakeholders
Limitations
- •Assumes linear trade-offs between criteria
- •Sensitive to weight assignments
- •Does not handle uncertainty in input values directly
Integration Points
- •Receives weights from AHP Calculator
- •Feeds into Decision Visualization for ranking charts
- •Connects with Sensitivity Analyzer for robustness testing
- •Integrates with Stakeholder Preference Elicitor for weight collection