skcriteria.ranksrev.rank_reversal_by_clones module
Implementation of the rank reversal test by cloning alternatives.
This module provides the RankClonesChecker class, which evaluates the stability of an MCDA method by introducing copies of non-optimal alternatives and checking if the top-ranked alternative changes.
According to this criterion, the indication of the best alternative should remain unchanged when identical or near-identical copies of non-optimal alternatives are introduced.
- class skcriteria.ranksrev.rank_reversal_by_clones.RankClonesChecker(dmaker)[source]
Bases:
SKCMethodABCCheck the stability of a method against the cloning of alternatives.
This checker evaluates if the best alternative remains the same when a copy of some of the non-optimal alternatives is introduced.
The checker iterates through all non-optimal alternatives, creates a clone of each one, and evaluates the new decision matrix with the same decision maker. The result is a collection of rankings, one for each cloned alternative, which can be compared with the original ranking.
This test was proposed in: Belton, V., & Gear, T. (1983). On a short-coming of Saaty’s method of analytic hierarchies. Omega, 11(3), 228-230.
- Parameters:
dmaker (Decision maker - must implement the
evaluate()method) – The MCDA method, or pipeline to evaluate.
References
- property dmaker
The MCDA method, or pipeline to evaluate.
- evaluate(dm)[source]
Execute the checker.
- Parameters:
dm (DecisionMatrix) – The decision matrix to be evaluated.
- Returns:
An object containing multiple rankings of the alternatives, with information on any changes made to the original decision matrix in the extra_ attribute.
- Return type: