The TOPSIS Ranking Algorithm

The Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) is a multi-criteria ranking algorithm that employs the concepts of the positive ideal point (the best objective values for all criteria) and the negative ideal point (the worst objective values for all criteria) in the objective domain.

For the distance calculations of the Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) algorithm to be valid, all objectives must be normalized to be in the same range of values. The final weight factors are applied to each objective value when making distance calculations and then comparing alternatives.

TOPSIS does the following to calculate the overall score for each data point:

  1. The thresholds for each parameter are evaluated. If the priority of a parameter is MH (must have) but its value falls outside the thresholds, the data point is given a score of 0.0, regardless of the objective values.
  2. Results Analytics calculates the raw object value for each parameter with an objective, using the "higher" = "better" formulation:
    • If the objective is to minimize a parameter, raw_object_value  =  1*parameter_value
    • If the objective is to maximize a parameter, raw_object_value = parameter_value
    • If the objective is a target value of a parameter, raw_object_value = 1 * Abs ( target parameter_value )
  3. The scaled parameter objective values are calculated by scaling the raw objective values to be between 1 and 100.
  4. The normalized objective value is calculated from normalizing each objective value with the square root of the sum of the squares for that column:
    r ij = x ij i x ij 2
  5. The normalized and weighted objective value is calculated by applying the final weight factor to each normalized objective:
    v ij = w j r ij
  6. For each objective parameter (column in the data table), min and max normalized and weighted objective values are determined; these values form the Positive Ideal Point (maximum objective values), and the Negative Ideal Point (minimum objective values).
  7. For each objective value (calculated in Step 5), the single axis distances from the Positive and Negative Ideal Points are calculated, and then squared:
    PO S ij = ( v ij p j ) 2
    NE G ij = ( v ij n j ) 2
  8. For each data point (row in the data table), the Euclidian distances from the Positive and Negative Ideal Points are calculated as the square root of the sums PO S ij and NE G ij :
    S i + = j PO S ij
    S i = j NE G ij
  9. The TOPSIS raw score for each data point is calculated as:
    C i = S i S i + S i +
  10. Results Analytics calculates the overall score by scaling the TOPSIS raw scores to fall between 1 and 100. The overall score of each data point also becomes the score of the top level (root) parameter group.
  11. For each parameter group other than the top level parameter group, Results Analytics calculates the score from the sum of scores of all sub-groups and parameters. Results Analytics does not scale the group scores; it calculates the score from the sum of all the child scores.