pyrepo_mcda.mcda_methods.topsis =============================== .. py:module:: pyrepo_mcda.mcda_methods.topsis Classes ------- .. autoapisummary:: pyrepo_mcda.mcda_methods.topsis.TOPSIS Module Contents --------------- .. py:class:: TOPSIS(normalization_method=minmax_normalization, distance_metric=euclidean) Bases: :py:obj:`pyrepo_mcda.mcda_methods.mcda_method.MCDA_method` Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) method for ranking alternatives according to their distances from ideal and anti-ideal solutions. .. py:attribute:: normalization_method .. py:attribute:: distance_metric .. py:method:: __call__(matrix, weights, types) Score alternatives provided in decision matrix `matrix` with m alternatives in rows and n criteria in columns using criteria `weights` and criteria `types`. Parameters ---------- matrix : ndarray Decision matrix with m alternatives in rows and n criteria in columns. weights: ndarray Vector with criteria weights. Sum of weights must be equal to 1. types: ndarray Vector with criteria types. Profit criteria are represented by 1 and cost by -1. Returns ------- ndrarray Vector with preference values of each alternative. The best alternative has the highest preference value. Examples --------- >>> topsis = TOPSIS(normalization_method = minmax_normalization, distance_metric = euclidean) >>> pref = topsis(matrix, weights, types) >>> rank = rank_preferences(pref, reverse = True) .. py:method:: _topsis(matrix, weights, types, normalization_method, distance_metric) :staticmethod: