objective_weighting.mcda_methods
Submodules
Package Contents
Classes
- class objective_weighting.mcda_methods.VIKOR(normalization_method=None, v=0.5)[source]
Bases:
objective_weighting.mcda_methods.mcda_method.MCDA_method- __call__(self, matrix, weights, types)
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) – Matrix containing vectors with criteria weights in subsequent rows. Sum of weights in each vector must be equal to 1.
types (ndarray) – Vector with criteria types. Profit criteria are represented by 1 and cost by -1.
- Returns
Matrix with vectors containing preference values of each alternative. The best alternative has the lowest preference value. Vectors are placed in subsequent columns of matrix.
- Return type
ndrarray
Examples
>>> vikor = VIKOR(normalization_method = minmax_normalization) >>> pref = vikor(matrix, weights, types) >>> rank = np.zeros((pref.shape)) >>> for i in range(pref.shape[1]): >>> rank[:, i] = rank_preferences(pref[:, i], reverse = False)
- static _vikor(matrix, weights, types, normalization_method, v)
- class objective_weighting.mcda_methods.VIKOR_SMAA(normalization_method=None, v=0.5)[source]
- __call__(self, matrix, weights, types)
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) – Matrix with i vectors in rows of n weights in columns. i means number of iterations of SMAA
types (ndarray) – Vector with criteria types. Profit criteria are represented by 1 and cost by -1.
- Returns
Matrix with acceptability indexes values for each alternative in rows in relation to each rank in columns, Matrix with central weight vectors for each alternative in rows Matrix with final ranking of alternatives
- Return type
ndrarray, ndarray, ndarray
Examples
>>> vikor_smaa = VIKOR_SMAA(normalization_method = minmax_normalization) >>> rank_acceptability_index, central_weight_vector, rank_scores = vikor_smaa(matrix, weights, types)
- _generate_weights(self, n, iterations)
Function to generate multiple weight vectors
- static _vikor_smaa(self, matrix, weights, types, normalization_method, v)