skcriteria.madm.electre.py module

ELECTRE is a family of multi-criteria decision analysis methods that originated in Europe in the mid-1960s. The acronym ELECTRE stands for: ELimination Et Choix Traduisant la REalité (ELimination and Choice Expressing REality).

Usually the Electre Methods are used to discard some alternatives to the problem, which are unacceptable. After that we can use another MCDA to select the best one. The Advantage of using the Electre Methods before is that we can apply another MCDA with a restricted set of alternatives saving much time.

class skcriteria.madm.electre.ELECTRE1(p=0.65, q=0.35, mnorm='sum', wnorm='sum', njobs=None)[source]

Bases: skcriteria.madm._dmaker.DecisionMaker

The ELECTRE I model find the kernel solution in a situation where true criteria and restricted outranking relations are given.

That is, ELECTRE I cannot derive the ranking of alternatives but the kernel set. In ELECTRE I, two indices called the concordance index and the discordance index are used to measure the relations between objects.

Parameters:
p : float, optional (default=0.65)

Concordance threshold. Threshold of how much one alternative is at least as good as another to be significative.

q : float, optional (default=0.35)

Discordance threshold. Threshold of how much the degree one alternative is strictly preferred to another to be significative.

mnorm : string, callable, optional (default=”sum”)

Normalization method for the alternative matrix.

wnorm : string, callable, optional (default=”sum”)

Normalization method for the weights array.

njobs : int, default=None

How many cores to use to solve the linear programs and the second method. By default all the availables cores are used.

Returns:
Decision : skcriteria.madm.Decision

With values:

  • kernel_: Array with the indexes of the alternatives in he kernel.
  • rank_: None
  • best_alternative_: None
  • alpha_solution_: False
  • beta_solution_: True
  • gamma_solution_: False
  • e_: Particular data created by this method.
    • e_.outrank: numpy.ndarray of bool The outranking matrix of superation. If the element[i][j] is True The alternative i outrank the alternative j.
    • e_.mtx_concordance: numpy.ndarray The concordance indexes matrix where the element[i][j] measures how much the alternative i is at least as good as j.
    • e_.mtx_discordance: numpy.ndarray The discordance indexes matrix where the element[i][j] measures the degree to which the alternative i is strictly preferred to j.
    • e_.p: float Concordance index threshold.
    • e_.q: float Discordance index threshold.

References

[1]Roy, B. (1990). The outranking approach and the foundations of ELECTRE methods. In Readings in multiple criteria decision aid (pp.155-183). Springer, Berlin, Heidelberg.
[2]Roy, B. (1968). Classement et choix en présence de points de vue multiples. Revue française d’informatique et de recherche opérationnelle, 2(8), 57-75.
[3]Tzeng, G. H., & Huang, J. J. (2011). Multiple attribute decision making: methods and applications. CRC press.
Attributes:
mnorm

Normalization function for the alternative matrix.

njobs

How many cores to use to solve the linear programs and the second method.

p

Concordance threshold.

q

Discordance threshold.

wnorm

Normalization function for the weights vector.

Methods

as_dict() Create a simply dict representation of the object.
decide(data[, criteria, weights]) Execute the Solver over the given data.
doc_inherit
make_result(data, kernel, rank, extra) Create a new skcriteria.madm.Decision
preprocess(data) Normalize the alternative matrix and weight vector.
solve(ndata) Execute the multi-criteria method.
as_dict()[source]

Create a simply dict representation of the object.

Notes

x.as_dict != dict(x)

doc_inherit = functools.partial(<function _doc_inherit>, (<class 'skcriteria.madm._dmaker.DecisionMaker'>, <class 'skcriteria.base.BaseSolver'>, <class 'object'>))
njobs

How many cores to use to solve the linear programs and the second method. By default all the availables cores are used.

p

Concordance threshold. Threshold of how much one alternative is at least as good as another to be significative.

q

Discordance threshold. Threshold of how much the degree one alternative is strictly preferred to another to be significative.

solve(ndata)[source]

Execute the multi-criteria method.

Parameters:
data : skcriteria.Data

Preprocessed Data.

Returns:
object

object or tuple of objects with the raw result data.