pyrepo_mcda.mcda_methods.saw ============================ .. py:module:: pyrepo_mcda.mcda_methods.saw Classes ------- .. autoapisummary:: pyrepo_mcda.mcda_methods.saw.SAW Module Contents --------------- .. py:class:: SAW(normalization_method=linear_normalization) Bases: :py:obj:`pyrepo_mcda.mcda_methods.mcda_method.MCDA_method` Simple Additive Weighting (SAW) method for ranking alternatives based on the weighted sum of normalized criterion values. .. py:attribute:: normalization_method .. 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 --------- >>> saw = SAW(normalization_method = minmax_normalization) >>> pref = saw(matrix, weights, types) >>> rank = rank_preferences(pref, reverse = True) .. py:method:: _saw(matrix, weights, types, normalization_method) :staticmethod: