pyrepo_mcda.mcda_methods.pvm ============================ .. py:module:: pyrepo_mcda.mcda_methods.pvm Classes ------- .. autoapisummary:: pyrepo_mcda.mcda_methods.pvm.PVM Module Contents --------------- .. py:class:: PVM Preference Vector Method (PVM) for evaluating and ranking alternatives based on their similarity to motivating and dissimilarity to demotivating preference vectors. .. py:method:: __call__(matrix, weights, types, psi=None, phi=None) Score alternatives provided in decision matrix `matrix` using criteria `weights` and criteria `types`. Parameters ----------- matrix : ndarray Decision matrix with m alternatives in rows and n criteria in columns. weights: ndarray Attribute weights to the criteria. Sum of weights must be equal to 1. types: list Define the criteria character: Motivating criteria are represented by `m` Demotivating criteria are represented by `dm` Desirable criteria are represented by `d` Non-desirable criteria are represented by `nd` psi: ndarray Preference vector with motivating or desirable values. Providing of psi is optional. phi: ndarray Preference vector with demotivating or non-desirable values. Providing of psi is optional. Returns -------- ndrarray Preference values of each alternative. The best alternative has the highest preference value. Examples ---------- >>> pvm = PVM() >>> pref = pvm(matrix, weights, types) >>> rank = rank_preferences(pref, reverse = True) .. py:method:: _pvm(matrix, weights, types, psi, phi) :staticmethod: