Fuzzy Methods

Fuzzy Cocoso

JMcDM.Fuzzy.fuzzycocosoFunction
FuzzyCocoso(
    decmat::Matrix{FuzzyType},
    w::Vector{FuzzyType},
    fns;
    defuzzificationmethod::DefuzzificationMethod = WeightedMaximum(0.5),
    lambda::Float64 = 0.5,
) -> FuzzyCocosoResult where {FuzzyType<:FuzzyNumber}

Perform the fuzzy COCOSO method.

Arguments

  • decmat: The decision matrix.
  • w: The weights of the criteria.
  • fns: The direction of the criteria (maximum or minimum).
  • defuzzificationmethod: The defuzzification method to use.
  • lambda: The lambda parameter for the method.

Returns

  • FuzzyCocosoResult: A struct containing the results of the fuzzy COCOSO method.
source

Fuzzy Edas

JMcDM.Fuzzy.fuzzyedasFunction
fuzzyedas(decmat::Matrix{Triangular}, w::Vector{Triangular}, fns)

Fuzzy EDAS method for decision making.

Arguments

  • decmat: A matrix of triangular fuzzy numbers representing the decision matrix.
  • w: A vector of triangular fuzzy numbers representing the weights.
  • fns: A vector of functions (maximum or minimum) for each criterion.

Returns

  • An instance of FuzzyEdasResult containing the results of the EDAS method.
source

Fuzzy SAW

JMcDM.Fuzzy.fuzzysawFunction
fuzzysaw(decmat::Matrix{FuzzyType}, w::Vector{FuzzyType}, fns; defuzzificationmethod::DefuzzificationMethod = WeightedMaximum(0.5))

Description

Fuzzy SAW method for fuzzy decision making.

Arguments

  • decmat: A matrix of fuzzy numbers.
  • w: A vector of weights.
  • fns: A vector of functions (either maximum or minimum).
  • defuzzificationmethod: The method used for defuzzification.

Returns

  • A FuzzySawResult object containing the normalized decision matrix, weighted normalized decision matrix, and scores.
source

Fuzzy Topsis

JMcDM.Fuzzy.fuzzytopsisFunction
fuzzytopsis(
    decmat::Matrix{FuzzyType},
    w::Vector{FuzzyType},
    fns,
)::FuzzyTopsisResult where {FuzzyType<:FuzzyNumber}

Fuzzy TOPSIS method for multi-criteria decision making.

Arguments

  • decmat: The decision matrix.
  • w: The weights of the criteria.
  • fns: The direction of the criteria (maximum or minimum).

Returns

  • FuzzyTopsisResult: A struct containing the results of the fuzzy TOPSIS method.
source

Fuzzy VIKOR

JMcDM.Fuzzy.fuzzyvikorFunction
fuzzyvikor(decmat::Matrix{Triangular}, w::Vector{Triangular}, fns::Vector{F}) -> FuzzyVikorResult

Description

The fuzzy VIKOR method is a multi-criteria decision-making method that uses fuzzy logic to evaluate alternatives based on multiple criteria.

Arguments

  • decmat::Matrix{Triangular}: A matrix of fuzzy numbers representing the decision matrix.
  • w::Vector{Triangular}: A vector of fuzzy numbers representing the weights of the criteria.
  • fns::Vector{F}: A vector of functions (either maximum or minimum) representing the type of each criterion.

Returns

  • FuzzyVikorResult: A struct containing the results of the fuzzy VIKOR method, including the positive ideal solution, negative ideal solution, and the Si values for each alternative.
source