promethee

This module implements Promethee algorithms in a heavily modular way.

class Promethee1(performance_table, criteria_weights, preference_functions)

Bases: Promethee, Ranker

This class implements Promethee I.

Implementation and notations are based on [Vin98c].

Parameters
Raises

TypeError – if performance_table is not ordinal

flows(preferences, negative=False, **kwargs)

Compute outranking flows (positive or negative).

Parameters
Returns

outranking flows

Return type

Series

partial_preferences()

Compute partial preferences for each alternatives’ pair.

Parameters

performance_table

Returns

partial preferences

Return type

PartialValueMatrix[QuantitativeScale]

preferences(partial_preferences)

Compute preferences for each alternatives’ pair from partial preferences.

Parameters

partial_preferences (PartialValueMatrix[QuantitativeScale]) –

Returns

preferences

Return type

AdjacencyValueMatrix[QuantitativeScale]

rank(**kwargs)

Apply Promethee I algorithm.

Returns

result as a preference structure

Return type

PreferenceStructure

class Promethee2(performance_table, criteria_weights, preference_functions)

Bases: Promethee, Ranker

This class implements Promethee II.

Implementation and notations are based on [Vin98c].

Parameters
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

PartialValueMatrix[QuantitativeScale]

preferences(partial_preferences)

Compute preferences for each alternatives’ pair from partial preferences.

Parameters

partial_preferences (PartialValueMatrix[QuantitativeScale]) –

Returns

preferences

Return type

AdjacencyValueMatrix[QuantitativeScale]

rank(**kwargs)

Apply Promethee II algorithm.

Returns

result as scores

Return type

CommensurableValues[QuantitativeScale]

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
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

PartialValueMatrix[QuantitativeScale]

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

AdjacencyValueMatrix[QuantitativeScale]

rank(**kwargs)

Apply Promethee II algorithm.

Returns

result as scores

Return type

CommensurableValues[QuantitativeScale]

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
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
Returns

computed positive flows

Return type

Series

Note

if profiles is not None, it will returns alternatives vs profiles positive flows