Fuzzy Methods
Fuzzy Cocoso
JMcDM.Fuzzy.fuzzycocoso
— FunctionFuzzyCocoso(
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.
Fuzzy Edas
JMcDM.Fuzzy.fuzzyedas
— Functionfuzzyedas(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.
Fuzzy SAW
JMcDM.Fuzzy.fuzzysaw
— Functionfuzzysaw(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.
Fuzzy Topsis
JMcDM.Fuzzy.fuzzytopsis
— Functionfuzzytopsis(
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.
Fuzzy VIKOR
JMcDM.Fuzzy.fuzzyvikor
— Functionfuzzyvikor(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 (eithermaximum
orminimum
) 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.