promethee
This module implements Promethee algorithms in a heavily modular way.
- class Promethee1(performance_table, criteria_weights, preference_functions)
-
This class implements Promethee I.
Implementation and notations are based on [Vin98c].
- Parameters
performance_table (PerformanceTable[QuantitativeScale]) –
criteria_weights (Dict[Any, float]) –
preference_functions (Mapping[Any, NumericFunction]) –
- Raises
TypeError – if performance_table is not ordinal
- flows(preferences, negative=False, **kwargs)
Compute outranking flows (positive or negative).
- Parameters
preferences (AdjacencyValueMatrix[QuantitativeScale]) –
negative (bool) – computes negative flows if
True
, positive flows otherwise
- Returns
outranking flows
- Return type
Series
- partial_preferences()
Compute partial preferences for each alternatives’ pair.
- Parameters
performance_table –
- Returns
partial preferences
- Return type
- preferences(partial_preferences)
Compute preferences for each alternatives’ pair from partial preferences.
- Parameters
partial_preferences (PartialValueMatrix[QuantitativeScale]) –
- Returns
preferences
- Return type
- rank(**kwargs)
Apply Promethee I algorithm.
- Returns
result as a preference structure
- Return type
- class Promethee2(performance_table, criteria_weights, preference_functions)
-
This class implements Promethee II.
Implementation and notations are based on [Vin98c].
- Parameters
performance_table (PerformanceTable[QuantitativeScale]) –
criteria_weights (Dict[Any, float]) –
preference_functions (Mapping[Any, NumericFunction]) –
- Raises
TypeError – if performance_table is not ordinal
- flows(preferences, **kwargs)
Computes net outranking flows.
- Parameters
preferences (AdjacencyValueMatrix[QuantitativeScale]) –
- Returns
net outranking flows
- Return type
Series
- partial_preferences()
Compute partial preferences for each alternatives’ pair.
- Parameters
performance_table –
- Returns
partial preferences
- Return type
- preferences(partial_preferences)
Compute preferences for each alternatives’ pair from partial preferences.
- Parameters
partial_preferences (PartialValueMatrix[QuantitativeScale]) –
- Returns
preferences
- Return type
- rank(**kwargs)
Apply Promethee II algorithm.
- Returns
result as scores
- Return type
- class PrometheeGaia(performance_table, criteria_weights, preference_functions)
Bases:
Promethee2
This class is used to represent and draw a Promethee GAIA plane.
Implementations naming conventions are taken from [FGE05]
- Parameters
performance_table (PerformanceTable[QuantitativeScale]) –
criteria_weights (Dict[Any, float]) –
preference_functions (Mapping[Any, NumericFunction]) –
- Raises
TypeError – if performance_table is not ordinal
- flows(preferences, **kwargs)
Computes net outranking flows.
- Parameters
preferences (AdjacencyValueMatrix[QuantitativeScale]) –
- Returns
net outranking flows
- Return type
Series
- partial_preferences()
Compute partial preferences for each alternatives’ pair.
- Parameters
performance_table –
- Returns
partial preferences
- Return type
- plot()
Plots the GAIA plane and displays in the top-left corner the ratio of saved information by the PCA, delta.
- Parameters
performance_table –
- preferences(partial_preferences)
Compute preferences for each alternatives’ pair from partial preferences.
- Parameters
partial_preferences (PartialValueMatrix[QuantitativeScale]) –
- Returns
preferences
- Return type
- rank(**kwargs)
Apply Promethee II algorithm.
- Returns
result as scores
- Return type
- unicriterion_net_flows_matrix()
Computes the whole matrix of single criterion net flows.
Each cell corresponds to the single criterion net flow of an alternative considering only one criterion.
- Parameters
performance_table –
- Returns
unicriterion net flows matrix
- Return type
DataFrame
- criteria_flows(partial_preferences)
Returns the criteria flows.
- Parameters
partial_preferences (PartialValueMatrix[QuantitativeScale]) –
- Returns
- Return type
DataFrame
- negative_flows(preferences, profiles=None)
Compute negative flows.
- Parameters
preferences (AdjacencyValueMatrix[QuantitativeScale]) –
profiles (Optional[List]) –
- Returns
computed negative flows
- Return type
Series
Note
if profiles is not
None
, it will returns profiles vs alternatives negative flows
- net_outranking_flows(preferences)
Compute net outranking flows.
- Parameters
preferences (AdjacencyValueMatrix[QuantitativeScale]) –
- Returns
net outranking flows
- Return type
Series
- positive_flows(preferences, profiles=None)
Compute positive flows.
- Parameters
preferences (AdjacencyValueMatrix[QuantitativeScale]) –
profiles (Optional[List]) –
- Returns
computed positive flows
- Return type
Series
Note
if profiles is not
None
, it will returns alternatives vs profiles positive flows