skcriteria.agg.rim module
RIM reference ideal method.
- class skcriteria.agg.rim.RIM[source]
Bases:
SKCDecisionMakerABCReference Ideal Method (RIM) for multi-criteria decision analysis.
RIM ranks alternatives based on their similarity to a user-defined reference ideal region instead of relying on classical ideal and anti-ideal points. This method considers intervals as ideals, allowing more flexible and realistic preference modeling.
The method normalizes the decision matrix values with respect to the ideal intervals and the valid ranges of each criterion. Alternatives closer to the ideal intervals receive higher scores.
- Parameters:
ref_ideals (list of tuple) – Specifies the ideal reference intervals for each criterion. Each tuple should be of the form (ideal_min, ideal_max). If not provided, the default ideal value for the criteria depends on the desired objectives; if it is to be maximized, the highest value within the matrix of that criterion will be set as the ideal value, and for the criteria to be minimized, the minimum value will be used (which generates intervals of length zero).
ranges (list of tuple) – List of tuples specifying the min and max bounds of each criterion Each tuple should be of the form (range_min, range_max). If not provided, they are calculated from the maximum and minimum values of the decision matrix per criterion.
References
- evaluate(dm, *, ref_ideals=None, ranges=None)[source]
Validate the decision matrix and calculate a ranking.
If ref_ideals or ranges are not provided, default values will be automatically inferred:
If ref_ideals is None, an interval of length zero is created using the column-wise maximum (for MAX objectives) or minimum (for MIN objectives) from the decision matrix.
If ranges is None, the valid range for each criterion is set to the minimum and maximum values of the corresponding column.
- Parameters:
dm (DecisionMatrix) – Decision matrix to evaluate.
ref_ideals (array-like of tuple, optional) – Reference ideal intervals (per criterion), where each tuple defines (ideal_min, ideal_max). If None, a degenerate interval is used based on the objectives.
ranges (array-like of tuple, optional) – Ranges (min, max) for each criterion. If None, calculated from column-wise min and max values.
Warning
- UserWarning
If ref_ideals or ranges are not provided, default values are inferred from the decision matrix.
- Returns:
Ranking.
- Return type:
skcriteria.data.RankResult