From 32d3d223491e6fcd1fcdae976c18cd35da4a193a Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Fri, 15 Mar 2024 20:42:36 +0000 Subject: [PATCH] build based on 7fc815f --- dev/.documenter-siteinfo.json | 2 +- dev/dataenvelop/index.html | 2 +- dev/game/index.html | 2 +- dev/index.html | 2 +- dev/mcdms/index.html | 64 +++++++++++++++++----------------- dev/normalizations/index.html | 4 +-- dev/objects.inv | Bin 1549 -> 1549 bytes dev/scdm/index.html | 18 +++++----- dev/utility/index.html | 8 ++--- 9 files changed, 51 insertions(+), 51 deletions(-) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 86b3cd0..f6047fc 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2024-03-13T19:21:02","documenter_version":"1.3.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2024-03-15T20:42:33","documenter_version":"1.3.0"}} \ No newline at end of file diff --git a/dev/dataenvelop/index.html b/dev/dataenvelop/index.html index 5010fd6..2622def 100644 --- a/dev/dataenvelop/index.html +++ b/dev/dataenvelop/index.html @@ -30,4 +30,4 @@ 0.9715662650602411 0.9911164465786314 1.0 - 0.9841048789857857

References

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

Dependencies

This method is enabled when the JuMP and Ipopt packages are installed and loaded.

source + 0.9841048789857857

References

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

Dependencies

This method is enabled when the JuMP and Ipopt packages are installed and loaded.

source diff --git a/dev/game/index.html b/dev/game/index.html index 39b3868..d96cfb4 100644 --- a/dev/game/index.html +++ b/dev/game/index.html @@ -21,4 +21,4 @@ Probabilities: [0.3333333333333333, 0.3333333333333333, 0.3333333333333333] Value of game: -0.0

References

Zhou, Hai-Jun. "The rock–paper–scissors game." Contemporary Physics 57.2 (2016): 151-163.

Dependencies

This method is enabled when the JuMP and Ipopt packages are installed and loaded.

source +0.0

References

Zhou, Hai-Jun. "The rock–paper–scissors game." Contemporary Physics 57.2 (2016): 151-163.

Dependencies

This method is enabled when the JuMP and Ipopt packages are installed and loaded.

source diff --git a/dev/index.html b/dev/index.html index 12bacbd..4739235 100644 --- a/dev/index.html +++ b/dev/index.html @@ -2,4 +2,4 @@ JMcDM · JMcDM: Julia package for multiple-criteria decision making

JMcDM

A package for Multiple-criteria decision-making techniques in Julia.

The problem

Suppose a decision process has n alternatives and m criteria which are either to be maximized or minimized. Each single criterion has a weight 0 ≤ wᵢ ≤ 1 where sum of wᵢ is 1. fᵢ is either maximum or minimum. gⱼ(.) is the evolution function and it is choosen as gⱼ(x) = x in many methods. A multiple criteria decision problem can be represented using the decision table

without loss of generality. When A₁, A₂, ..., Aₙ are alternatives and C₁, C₂, ..., Cₙ are different situations of a single criterion then the decision problem is said to be single criterion decision problem. If Cⱼ are strategies of two game players then gⱼ(Aᵢ) is the gain of the row player when she selects the strategy i and the column player selects the strategy Cⱼ.

The package mainly focuses on solving these kinds of decision problems.

For whom?

Multiple-criteria decision-making is an inter-discipline subject and there is a vast amount of research in the literature in this area. However, the existing software packages in this area are generally focused on a small subset of tools. JMcDM is a developer and researcher-friendly Julia package that combines the developed methods, utility functions for implementing new ones, and serves an environment for comparing results of multiple analyses.

Installation

Please type

julia> ]
 (@v1.7) pkg> add JMcDM

or

julia> using Pkg
 julia> Pkg.add("JMcDM")

in Julia REPL to install package in the standard way, otherwise, you can clone the repository and type

julia> ]
-(@v1.7) pkg> develop .

to start developing new methods.

Package Dependencies

Since the Julia package manager installs all of the dependencies automatically, a standard user doesn't need to install them manually. The package dependencies are listed below:

  • DataFrames
  • GLPK
  • JuMP
+(@v1.7) pkg> develop .

to start developing new methods.

Package Dependencies

Since the Julia package manager installs all of the dependencies automatically, a standard user doesn't need to install them manually. The package dependencies are listed below:

diff --git a/dev/mcdms/index.html b/dev/mcdms/index.html index e4cf044..7f06ad9 100644 --- a/dev/mcdms/index.html +++ b/dev/mcdms/index.html @@ -1,5 +1,5 @@ -MCDM · JMcDM: Julia package for multiple-criteria decision making

Multiple Criteria Decision Making Tools

Copeland

JMcDM.Copeland.copelandFunction
    copeland(ordering_mat)

Arguments

  • ordering_mat::Array{Int, 2}`: Ordering matrix.

Description

The function takes an ordering matrix as input. Different ordering results are in columns. Orderings are in ascending order. The function returns the ranks. The alternative with rank 1 is the winner.

Output

  • ::Array{Int, 1}: Vector of ranks.
source

Example

julia> using JMcDM
+MCDM · JMcDM: Julia package for multiple-criteria decision making

Multiple Criteria Decision Making Tools

Copeland

JMcDM.Copeland.copelandFunction
    copeland(ordering_mat)

Arguments

  • ordering_mat::Array{Int, 2}`: Ordering matrix.

Description

The function takes an ordering matrix as input. Different ordering results are in columns. Orderings are in ascending order. The function returns the ranks. The alternative with rank 1 is the winner.

Output

  • ::Array{Int, 1}: Vector of ranks.
source

Example

julia> using JMcDM
 
 julia> df = DataFrame(
     :c1 => [1.0, 2, 3, 4],
@@ -30,7 +30,7 @@
    1 │     1      1      1      1      1       1      1         3
    2 │     2      2      2      2      2       2      2         1
    3 │     3      3      3      3      3       3      3        -1
-   4 │     4      4      4      4      4       4      4        -3
source

TOPSIS

JMcDM.Topsis.topsisFunction
    topsis(decisionMat, weights, fns; normalization)

Apply TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either minimize or maximize.
  • normalization{<:Function}: Optional normalization function.

Description

topsis() applies the TOPSIS method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::TopsisResult: TopsisResult object that holds multiple outputs including scores and best index.

Examples

julia> df = DataFrame();
+   4 │     4      4      4      4      4       4      4        -3
source

TOPSIS

JMcDM.Topsis.topsisFunction
    topsis(decisionMat, weights, fns; normalization)

Apply TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either minimize or maximize.
  • normalization{<:Function}: Optional normalization function.

Description

topsis() applies the TOPSIS method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::TopsisResult: TopsisResult object that holds multiple outputs including scores and best index.

Examples

julia> df = DataFrame();
 julia> df[:, :x] = Float64[9, 8, 7];
 julia> df[:, :y] = Float64[7, 7, 8];
 julia> df[:, :z] = Float64[6, 9, 6];
@@ -57,7 +57,7 @@
 3-element Array{Float64,1}:
  0.38768695492211824
  0.6503238218850163
- 0.08347670030339041

References

Hwang, C.L.; Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications. New York: Springer-Verlag

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    topsis(setting)

Apply TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

topsis() applies the TOPSIS method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::TopsisResult: TopsisResult object that holds multiple outputs including scores and best index.
source

ELECTRE

JMcDM.ELECTRE.electreFunction
    electre(decisionMat, weights, fns; normalization)

Apply ELECTRE (ELimination Et Choice Translating REality) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either minimize or maximize.
  • normalization{<:Function}: Optional normalization function.

Description

electre() applies the ELECTRE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized. C and D values are used to determine the best strategy. If the strategy with the highest C value is same as the strategy with the lowest D value than the solution is unique. Otherwise, two strategies are reported as the solution.

Output

  • ::ElectreResult: ElectreResult object that holds multiple outputs including scores and best index.

Examples

julia> w =  [0.110, 0.035, 0.379, 0.384, 0.002, 0.002, 0.010, 0.077];
+ 0.08347670030339041

References

Hwang, C.L.; Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications. New York: Springer-Verlag

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    topsis(setting)

Apply TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

topsis() applies the TOPSIS method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::TopsisResult: TopsisResult object that holds multiple outputs including scores and best index.
source

ELECTRE

JMcDM.ELECTRE.electreFunction
    electre(decisionMat, weights, fns; normalization)

Apply ELECTRE (ELimination Et Choice Translating REality) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either minimize or maximize.
  • normalization{<:Function}: Optional normalization function.

Description

electre() applies the ELECTRE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized. C and D values are used to determine the best strategy. If the strategy with the highest C value is same as the strategy with the lowest D value than the solution is unique. Otherwise, two strategies are reported as the solution.

Output

  • ::ElectreResult: ElectreResult object that holds multiple outputs including scores and best index.

Examples

julia> w =  [0.110, 0.035, 0.379, 0.384, 0.002, 0.002, 0.010, 0.077];
 julia> Amat = [
       100 92 10 2 80 70 95 80 ;
       80  70 8  4 100 80 80 90 ;
@@ -84,7 +84,7 @@
   0.1914244325928971
  -0.19039293350192432
   2.884307608766315
- -2.885339107857288

References

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

source
    electre(setting)

Apply ELECTRE (ELimination Et Choice Translating REality) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

electre() applies the ELECTRE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized. C and D values are used to determine the best strategy. If the strategy with the highest C value is same as the strategy with the lowest D value than the solution is unique. Otherwise, two strategies are reported as the solution.

Output

  • ::ElectreResult: ElectreResult object that holds multiple outputs including scores and best index.
source

DEMATEL

JMcDM.DEMATEL.dematelFunction
    dematel(comparisonMat; threshold = nothing)

Apply Dematel for a given comparison matrix.

Arguments:

  • comparisonMat::Matrix: n × n Matrix of input values where n is the number of criteria. Values are either 0, 1, 2, 3, or 4 which indicate the level of importance of the ith criterion relative to the jth criterion.
  • threshold::Union{Nothing, Float64}: Optional threshold used in calculating values of influence matrix. It is calculated when the argument is omitted.

Description

dematel() applies the Dematel method to calculate criteria weights, possibly for use in another multi-criteria decision making tool.

Output

  • ::DematelResult: DematelResult object that holds many results including weights for each single criterion.

Examples

julia> K = [
+ -2.885339107857288

References

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

source
    electre(setting)

Apply ELECTRE (ELimination Et Choice Translating REality) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

electre() applies the ELECTRE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized. C and D values are used to determine the best strategy. If the strategy with the highest C value is same as the strategy with the lowest D value than the solution is unique. Otherwise, two strategies are reported as the solution.

Output

  • ::ElectreResult: ElectreResult object that holds multiple outputs including scores and best index.
source

DEMATEL

JMcDM.DEMATEL.dematelFunction
    dematel(comparisonMat; threshold = nothing)

Apply Dematel for a given comparison matrix.

Arguments:

  • comparisonMat::Matrix: n × n Matrix of input values where n is the number of criteria. Values are either 0, 1, 2, 3, or 4 which indicate the level of importance of the ith criterion relative to the jth criterion.
  • threshold::Union{Nothing, Float64}: Optional threshold used in calculating values of influence matrix. It is calculated when the argument is omitted.

Description

dematel() applies the Dematel method to calculate criteria weights, possibly for use in another multi-criteria decision making tool.

Output

  • ::DematelResult: DematelResult object that holds many results including weights for each single criterion.

Examples

julia> K = [
         0 3 0 2 0 0 0 0 3 0;
         3 0 0 0 0 0 0 0 0 2;
         4 1 0 2 1 3 1 2 3 2;
@@ -110,7 +110,7 @@
  0.03067915023486491
  0.10489168834828348
  0.092654758940811
- 0.06250830916550884

References

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

source

MOORA

JMcDM.MOORA.mooraFunction
    moora_ratio(decisionMat, weights, fns; method = :reference, normalization)

Apply MOORA (Multi-Objective Optimization By Ratio Analysis) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either maximum or minimum.
  • method::Symbol: Either :reference or :ratio. By default, it is :reference.
  • normalization{<:Function}: Optional normalization function.

Description

moora() applies the MOORA method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized. This method has two different versions. The method parameter determines the method used. It is :reference by default. For the other version, it can be set to :ratio.

Output

  • ::MooraResult: MooraResult object that holds multiple outputs including scores and best index.

References

KUNDAKCI, Nilsen. "Combined multi-criteria decision making approach based on MACBETH and MULTI-MOORA methods." Alphanumeric Journal 4.1 (2016): 17-26.

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    moora(setting; method = :reference)

Apply MOORA (Multi-Objective Optimization By Ratio Analysis) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • method::Symbol: Either :reference or :ratio. By default, it is :reference.

Description

moora() applies the MOORA method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MooraResult: MooraResult object that holds multiple outputs including scores and best index.
source

VIKOR

JMcDM.VIKOR.vikorFunction
    vikor(decisionMat, weights, fns; v = 0.5, normalization)

Apply VIKOR (VlseKriterijumska Optimizcija I Kaompromisno Resenje in Serbian) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either maximum or minimum.
  • v::Float64: Optional algorithm parameter. Default is 0.5.
  • normalization{<:Function}: Optional normalization function. Default is Normalizations.inversemaxminrangenormalization.

Description

vikor() applies the VIKOR method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::VikorResult: VikorResult object that holds multiple outputs including scores and best index.

Examples

julia> Amat = [
+ 0.06250830916550884

References

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

source

MOORA

JMcDM.MOORA.mooraFunction
    moora_ratio(decisionMat, weights, fns; method = :reference, normalization)

Apply MOORA (Multi-Objective Optimization By Ratio Analysis) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either maximum or minimum.
  • method::Symbol: Either :reference or :ratio. By default, it is :reference.
  • normalization{<:Function}: Optional normalization function.

Description

moora() applies the MOORA method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized. This method has two different versions. The method parameter determines the method used. It is :reference by default. For the other version, it can be set to :ratio.

Output

  • ::MooraResult: MooraResult object that holds multiple outputs including scores and best index.

References

KUNDAKCI, Nilsen. "Combined multi-criteria decision making approach based on MACBETH and MULTI-MOORA methods." Alphanumeric Journal 4.1 (2016): 17-26.

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    moora(setting; method = :reference)

Apply MOORA (Multi-Objective Optimization By Ratio Analysis) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • method::Symbol: Either :reference or :ratio. By default, it is :reference.

Description

moora() applies the MOORA method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MooraResult: MooraResult object that holds multiple outputs including scores and best index.
source

VIKOR

JMcDM.VIKOR.vikorFunction
    vikor(decisionMat, weights, fns; v = 0.5, normalization)

Apply VIKOR (VlseKriterijumska Optimizcija I Kaompromisno Resenje in Serbian) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either maximum or minimum.
  • v::Float64: Optional algorithm parameter. Default is 0.5.
  • normalization{<:Function}: Optional normalization function. Default is Normalizations.inversemaxminrangenormalization.

Description

vikor() applies the VIKOR method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::VikorResult: VikorResult object that holds multiple outputs including scores and best index.

Examples

julia> Amat = [
              100 92 10 2 80 70 95 80 ;
              80  70 8  4 100 80 80 90 ;
              90 85 5 0 75 95 70 70 ; 
@@ -131,7 +131,7 @@
 
 julia> result.bestIndex
 4
-

References

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

source
    vikor(setting; v = 0.5)

Apply VIKOR (VlseKriterijumska Optimizcija I Kaompromisno Resenje in Serbian) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • v::Float64: Optional algorithm parameter. Default is 0.5.

Description

vikor() applies the VIKOR method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::VikorResult: VikorResult object that holds multiple outputs including scores and best index.
source

AHP

JMcDM.AHP.ahpFunction
AHP(comparisonMatrixList, criteriaComparisonMatrix)

Apply AHP (Analytical Hierarchy Process) for a given list of comparison matrices and criteria comparison matrix.

Arguments:

  • comparisonMatrixList::Array{Matrix,1}: Array of comparison matrices for all of the criteria.
  • criteriaComparisonMatrix::Matrix: Criteria comparison matrix for AHP (Comparison of columns).

Description

AHP is based on subjective comparison between criteria. The success of the method highly depends on consistency of these comparison. The method test the consistency first. At the next step, weights are calculated. The ordering of rows is determined by these weights.

Output

  • ::AHPResult: AhpResult object that holds multiple outputs including calculated weights and scores.

Examples

julia> K
+

References

Celikbilek Yakup, Cok Kriterli Karar Verme Yontemleri, Aciklamali ve Karsilastirmali Saglik Bilimleri Uygulamalari ile. Editor: Muhlis Ozdemir, Nobel Kitabevi, Ankara, 2018

source
    vikor(setting; v = 0.5)

Apply VIKOR (VlseKriterijumska Optimizcija I Kaompromisno Resenje in Serbian) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • v::Float64: Optional algorithm parameter. Default is 0.5.

Description

vikor() applies the VIKOR method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::VikorResult: VikorResult object that holds multiple outputs including scores and best index.
source

AHP

JMcDM.AHP.ahpFunction
AHP(comparisonMatrixList, criteriaComparisonMatrix)

Apply AHP (Analytical Hierarchy Process) for a given list of comparison matrices and criteria comparison matrix.

Arguments:

  • comparisonMatrixList::Array{Matrix,1}: Array of comparison matrices for all of the criteria.
  • criteriaComparisonMatrix::Matrix: Criteria comparison matrix for AHP (Comparison of columns).

Description

AHP is based on subjective comparison between criteria. The success of the method highly depends on consistency of these comparison. The method test the consistency first. At the next step, weights are calculated. The ordering of rows is determined by these weights.

Output

  • ::AHPResult: AhpResult object that holds multiple outputs including calculated weights and scores.

Examples

julia> K
 8×8 Array{Float64,2}:
  1.0       7.0  0.2    0.125     0.5   0.333333  0.2       1.0
  0.142857  1.0  0.125  0.111111  0.25  0.2       0.111111  0.125
@@ -207,7 +207,7 @@
  0.2801050163111839
  0.14822726478768022
  0.3813036392434616
- 0.19036407965767424

References

Saaty, Thomas L. "Decision making with the analytic hierarchy process." International journal of services sciences 1.1 (2008): 83-98.

source

Grey Relational Analysis

JMcDM.GREY.greyFunction
    grey(decisionMat, weights, fs; zeta, normalization)
+ 0.19036407965767424

References

Saaty, Thomas L. "Decision making with the analytic hierarchy process." International journal of services sciences 1.1 (2008): 83-98.

source

Grey Relational Analysis

JMcDM.GREY.greyFunction
    grey(decisionMat, weights, fs; zeta, normalization)
 
 Perform GRA (Grey Relational Analysis) for a given decision matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of decision matrix in type of DataFrame.
  • weights::Array{Float64, 1}: m-vector of weights for criteria.
  • fs::Array{Function, 1}: m-vector of functions that are either maximize or minimize for each single criterion.
  • zeta::Float64: zeta parameter for the algorithm. The default is 0.5.
  • normalization{<:Function}: Optional normalization function.

Description

Applies GRA (Grey Relational Analysis).

Output

  • ::GreyResult: GreyResult object that holds many values including ordering of strategies or candidates and best index.

Examples

julia> # Decision matrix of 5 candidates and 6 criteria.
 julia> df = DataFrame(
@@ -245,9 +245,9 @@
  0.650952380952381
 
 julia> result.bestIndex
-2

References

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    grey(setting; zeta)
+2

References

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    grey(setting; zeta)
 
-Perform GRA (Grey Relational Analysis) for a given decision matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • zeta::Float64: zeta parameter for the algorithm. The default is 0.5.

Description

Applies GRA (Grey Relational Analysis).

Output

  • ::GreyResult: GreyResult object that holds many values including ordering of strategies or candidates and best index.
source

Non-dominated Sorting

JMcDM.NDS.ndsFunction
nds(data, fns)
+Perform GRA (Grey Relational Analysis) for a given decision matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • zeta::Float64: zeta parameter for the algorithm. The default is 0.5.

Description

Applies GRA (Grey Relational Analysis).

Output

  • ::GreyResult: GreyResult object that holds many values including ordering of strategies or candidates and best index.
source

Non-dominated Sorting

JMcDM.NDS.ndsFunction
nds(data, fns)
 
 Sort multidimensional data using non-dominated sorting algorithm.

Arguments

  • data::Matrix: n x k desicion matrix with n cases and k criteria.
  • fns::Array{<:Function, 1}: Vector of functions with elements of maximum or minimum.

Output

  • ::NDSResult: NDSResult object that holds multiple outputs including ranks and best index.

Examples

 julia> cases = [
                1.0 2.0 3.0;
@@ -267,7 +267,7 @@
  3
 
 julia> result.bestIndex
-4 

References

Deb, Kalyanmoy, et al. "A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II." International conference on parallel problem solving from nature. Springer, Berlin, Heidelberg, 2000.

source

SAW

JMcDM.SAW.sawFunction
    saw(decisionMat, weights, fns; normalization)

Apply SAW (Simple Additive Weighting) method for a given matrix and weights. This method also known as WSM (Weighted Sum Model)

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

saw() applies the SAW method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::SawResult: SawResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [4.0  7  3  2  2  2  2;
+4 

References

Deb, Kalyanmoy, et al. "A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II." International conference on parallel problem solving from nature. Springer, Berlin, Heidelberg, 2000.

source

SAW

JMcDM.SAW.sawFunction
    saw(decisionMat, weights, fns; normalization)

Apply SAW (Simple Additive Weighting) method for a given matrix and weights. This method also known as WSM (Weighted Sum Model)

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

saw() applies the SAW method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::SawResult: SawResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [4.0  7  3  2  2  2  2;
                  4.0  4  6  4  4  3  7;
                  7.0  6  4  2  5  5  3;
                  3.0  2  5  3  3  2  5;
@@ -288,7 +288,7 @@
  0.5793428571428572
 
 julia> result.bestIndex
-3

References

Afshari, Alireza, Majid Mojahed, and Rosnah Mohd Yusuff. "Simple additive weighting approach to personnel selection problem." International Journal of Innovation, Management and Technology 1.5 (2010): 511.

source
    saw(setting)

Apply SAW (Simple Additive Weighting) method for a given matrix and weights. This method also known as WSM (Weighted Sum Model)

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

saw() applies the SAW method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::SawResult: SawResult object that holds multiple outputs including scores, rankings, and best index.
source

ARAS

JMcDM.ARAS.arasFunction
aras(decisionMat, weights, fs; normalization)

Apply ARAS (Additive Ratio ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • normalization{<:Function}: Optional normalization function.

Description

aras() applies the ARAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::ARASResult: ARASResult object that holds multiple outputs including scores and best index.

Examples

julia> df = DataFrame(
+3

References

Afshari, Alireza, Majid Mojahed, and Rosnah Mohd Yusuff. "Simple additive weighting approach to personnel selection problem." International Journal of Innovation, Management and Technology 1.5 (2010): 511.

source
    saw(setting)

Apply SAW (Simple Additive Weighting) method for a given matrix and weights. This method also known as WSM (Weighted Sum Model)

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

saw() applies the SAW method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::SawResult: SawResult object that holds multiple outputs including scores, rankings, and best index.
source

ARAS

JMcDM.ARAS.arasFunction
aras(decisionMat, weights, fs; normalization)

Apply ARAS (Additive Ratio ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • normalization{<:Function}: Optional normalization function.

Description

aras() applies the ARAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::ARASResult: ARASResult object that holds multiple outputs including scores and best index.

Examples

julia> df = DataFrame(
     :K1 => [105000.0, 120000, 150000, 115000, 135000],
     :K2 => [105.0, 110, 120, 105, 115],
     :K3 => [10.0, 15, 12, 20, 15],
@@ -316,7 +316,7 @@
  0.8928861957614441
  0.764157900073527
  0.8422546181927358
- 0.8654063509472654

References

Zavadskas, E. K., & Turskis, Z. (2010). A new additive ratio assessment (ARAS) method in multicriteria decision‐making. Technological and Economic Development of Economy, 16(2), 159-172. Yıldırım, B. F. (2015). "Çok Kriterli Karar Verme Problemlerinde ARAS Yöntemi". Kafkas Üniversitesi İktisadi ve İdari Bilimler Fakültesi Dergisi, 6 (9), 285-296. http://dx.doi.org/10.18025/kauiibf.65151

source
aras(setting)

Apply ARAS (Additive Ratio ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

aras() applies the ARAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::ARASResult: ARASResult object that holds multiple outputs including scores and best index.
source

WPM

JMcDM.WPM.wpmFunction
    wpm(decisionMat, weights, fns)

Apply WPM (Weighted Product Method) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

wpm() applies the WPM method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WPMResult: WPMResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
+ 0.8654063509472654

References

Zavadskas, E. K., & Turskis, Z. (2010). A new additive ratio assessment (ARAS) method in multicriteria decision‐making. Technological and Economic Development of Economy, 16(2), 159-172. Yıldırım, B. F. (2015). "Çok Kriterli Karar Verme Problemlerinde ARAS Yöntemi". Kafkas Üniversitesi İktisadi ve İdari Bilimler Fakültesi Dergisi, 6 (9), 285-296. http://dx.doi.org/10.18025/kauiibf.65151

source
aras(setting)

Apply ARAS (Additive Ratio ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

aras() applies the ARAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::ARASResult: ARASResult object that holds multiple outputs including scores and best index.
source

WPM

JMcDM.WPM.wpmFunction
    wpm(decisionMat, weights, fns)

Apply WPM (Weighted Product Method) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

wpm() applies the WPM method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WPMResult: WPMResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
        5        15        3        110        38        4;
        3        13        2        120        19        3;
        4        14        2        100        31        4;
@@ -344,7 +344,7 @@
  0.7674278741781709
 
 julia> result.bestIndex
-1

References

Zavadskas, E. K., Turskis, Z., Antucheviciene, J., & Zakarevicius, A. (2012). Optimization of Weighted Aggregated Sum Product Assessment. Elektronika Ir Elektrotechnika, 122(6), 3-6. https://doi.org/10.5755/j01.eee.122.6.1810

source
    wpm(setting)

Apply WPM (Weighted Product Method) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

wpm() applies the WPM method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WPMResult: WPMResult object that holds multiple outputs including scores, rankings, and best index.
source

WASPAS

JMcDM.WASPAS.waspasFunction
    waspas(decisionMat, weights, fns; lambda = 0.5, normalization)

Apply WASPAS (Weighted Aggregated Sum Product ASsessment ) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.
  • normalization{<:Function}: Normalization function. Default is Normalizations.dividebycolumnmaxminnormalization.

Description

waspas() applies the WASPAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WASPASResult: WASPASResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
+1

References

Zavadskas, E. K., Turskis, Z., Antucheviciene, J., & Zakarevicius, A. (2012). Optimization of Weighted Aggregated Sum Product Assessment. Elektronika Ir Elektrotechnika, 122(6), 3-6. https://doi.org/10.5755/j01.eee.122.6.1810

source
    wpm(setting)

Apply WPM (Weighted Product Method) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

wpm() applies the WPM method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WPMResult: WPMResult object that holds multiple outputs including scores, rankings, and best index.
source

WASPAS

JMcDM.WASPAS.waspasFunction
    waspas(decisionMat, weights, fns; lambda = 0.5, normalization)

Apply WASPAS (Weighted Aggregated Sum Product ASsessment ) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.
  • normalization{<:Function}: Normalization function. Default is Normalizations.dividebycolumnmaxminnormalization.

Description

waspas() applies the WASPAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WASPASResult: WASPASResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
        5        15        3        110        38        4;
        3        13        2        120        19        3;
        4        14        2        100        31        4;
@@ -374,7 +374,7 @@
  0.7882389370890854
 
  julia> result.bestIndex
- 1

References

Zavadskas, E. K., Turskis, Z., Antucheviciene, J., & Zakarevicius, A. (2012). Optimization of Weighted Aggregated Sum Product Assessment. Elektronika Ir Elektrotechnika, 122(6), 3-6. https://doi.org/10.5755/j01.eee.122.6.1810 Aytaç Adalı, E. & Tuş Işık, A.. (2017). Bir Tedarikçi Seçim Problemi İçin SWARA ve WASPAS Yöntemlerine Dayanan Karar Verme Yaklaşımı. International Review of Economics and Management, 5 (4) , 56-77. DOI: 10.18825/iremjournal.335408

source
    waspas(setting; lambda = 0.5)

Apply WASPAS (Weighted Aggregated Sum Product ASsessment ) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.

Description

waspas() applies the WASPAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WASPASResult: WASPASResult object that holds multiple outputs including scores, rankings, and best index.
source

EDAS

JMcDM.EDAS.edasFunction
    edas(decisionMat, weights, fns)

Apply EDAS (Evaluation based on Distance from Average Solution) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.

Description

edas() applies the EDAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::EDASResult: EDASResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [5000 5 5300 450;
+ 1

References

Zavadskas, E. K., Turskis, Z., Antucheviciene, J., & Zakarevicius, A. (2012). Optimization of Weighted Aggregated Sum Product Assessment. Elektronika Ir Elektrotechnika, 122(6), 3-6. https://doi.org/10.5755/j01.eee.122.6.1810 Aytaç Adalı, E. & Tuş Işık, A.. (2017). Bir Tedarikçi Seçim Problemi İçin SWARA ve WASPAS Yöntemlerine Dayanan Karar Verme Yaklaşımı. International Review of Economics and Management, 5 (4) , 56-77. DOI: 10.18825/iremjournal.335408

source
    waspas(setting; lambda = 0.5)

Apply WASPAS (Weighted Aggregated Sum Product ASsessment ) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.

Description

waspas() applies the WASPAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::WASPASResult: WASPASResult object that holds multiple outputs including scores, rankings, and best index.
source

EDAS

JMcDM.EDAS.edasFunction
    edas(decisionMat, weights, fns)

Apply EDAS (Evaluation based on Distance from Average Solution) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.

Description

edas() applies the EDAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::EDASResult: EDASResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [5000 5 5300 450;
        4500 5 5000 400;
        4500 4 4700 400;
        4000 4 4200 400;
@@ -411,7 +411,7 @@
  0.38519414045559647
 
 julia> result.bestIndex
-2

References

Keshavarz Ghorabaee, M., Zavadskas, E. K., Olfat, L., & Turskis, Z. (2015). Multi-criteria inventory classification using a new method of evaluation based on distance from average solution (EDAS). Informatica, 26(3), 435-451.

Ulutaş, A. (2017). EDAS Yöntemi Kullanılarak Bir Tekstil Atölyesi İçin Dikiş Makinesi Seçimi. İşletme Araştırmaları Dergisi, 9(2), 169-183.

source
    edas(setting)

Apply EDAS (Evaluation based on Distance from Average Solution) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

edas() applies the EDAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::EDASResult: EDASResult object that holds multiple outputs including scores, rankings, and best index.
source

MARCOS

JMcDM.MARCOS.marcosFunction
    marcos(decisionMat, weights, fns)

Apply MARCOS (Measurement Alternatives and Ranking according to COmpromise Solution) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.

Description

marcos() applies the MARCOS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MARCOSResult: MARCOSResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [8.675 8.433 8.000 7.800 8.025 8.043;
+2

References

Keshavarz Ghorabaee, M., Zavadskas, E. K., Olfat, L., & Turskis, Z. (2015). Multi-criteria inventory classification using a new method of evaluation based on distance from average solution (EDAS). Informatica, 26(3), 435-451.

Ulutaş, A. (2017). EDAS Yöntemi Kullanılarak Bir Tekstil Atölyesi İçin Dikiş Makinesi Seçimi. İşletme Araştırmaları Dergisi, 9(2), 169-183.

source
    edas(setting)

Apply EDAS (Evaluation based on Distance from Average Solution) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

edas() applies the EDAS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::EDASResult: EDASResult object that holds multiple outputs including scores, rankings, and best index.
source

MARCOS

JMcDM.MARCOS.marcosFunction
    marcos(decisionMat, weights, fns)

Apply MARCOS (Measurement Alternatives and Ranking according to COmpromise Solution) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.

Description

marcos() applies the MARCOS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MARCOSResult: MARCOSResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [8.675 8.433 8.000 7.800 8.025 8.043;
        8.825 8.600 7.420 7.463 7.825 8.229;
        8.325 7.600 8.040 7.700 7.925 7.600;
        8.525 8.667 7.180 7.375 7.750 8.071]
@@ -436,7 +436,7 @@
  0.6611030275027843
 
 julia> result.bestIndex
-1

References

Stević, Z., Pamučar, D., Puška, A., Chatterjee, P., Sustainable supplier selection in healthcare industries using a new MCDM method: Measurement Alternatives and Ranking according to COmpromise Solution (MARCOS), Computers & Industrial Engineering (2019), doi: https://doi.org/10.1016/j.cie.2019.106231

Puška, A., Stojanović, I., Maksimović, A., & Osmanović, N. (2020). Evaluation software of project management used measurement of alternatives and ranking according to compromise solution (MARCOS) method. Operational Research in Engineering Sciences: Theory and Applications, 3(1), 89-102.

source
    marcos(setting)

Apply MARCOS (Measurement Alternatives and Ranking according to COmpromise Solution) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting

Description

marcos() applies the MARCOS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MARCOSResult: MARCOSResult object that holds multiple outputs including scores, rankings, and best index.
source

MABAC

JMcDM.MABAC.mabacFunction
    mabac(decisionMat, weights, fns; normalization)

Apply MABAC (Multi-Attributive Border Approximation area Comparison) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

mabac() applies the MABAC method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MABACResult: MABACResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [2 1 4 7 6 6 7 3000;
+1

References

Stević, Z., Pamučar, D., Puška, A., Chatterjee, P., Sustainable supplier selection in healthcare industries using a new MCDM method: Measurement Alternatives and Ranking according to COmpromise Solution (MARCOS), Computers & Industrial Engineering (2019), doi: https://doi.org/10.1016/j.cie.2019.106231

Puška, A., Stojanović, I., Maksimović, A., & Osmanović, N. (2020). Evaluation software of project management used measurement of alternatives and ranking according to compromise solution (MARCOS) method. Operational Research in Engineering Sciences: Theory and Applications, 3(1), 89-102.

source
    marcos(setting)

Apply MARCOS (Measurement Alternatives and Ranking according to COmpromise Solution) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting

Description

marcos() applies the MARCOS method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MARCOSResult: MARCOSResult object that holds multiple outputs including scores, rankings, and best index.
source

MABAC

JMcDM.MABAC.mabacFunction
    mabac(decisionMat, weights, fns; normalization)

Apply MABAC (Multi-Attributive Border Approximation area Comparison) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

mabac() applies the MABAC method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MABACResult: MABACResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [2 1 4 7 6 6 7 3000;
        4 1 5 6 7 7 6 3500;
        3 2 6 6 5 6 8 4000;
        5 1 5 7 6 7 7 3000;
@@ -468,7 +468,7 @@
   0.2003505875974611
 
 julia> result.bestIndex
-5

References

Pamučar, D., & Ćirović, G. (2015). The selection of transport and handling resources in logistics centers using Multi-Attributive Border Approximation area Comparison (MABAC). Expert Systems with Applications, 42(6), 3016–3028. doi:10.1016/j.eswa.2014.11.057

Ulutaş, A. (2019). Entropi ve MABAC yöntemleri ile personel seçimi. OPUS–International Journal of Society Researches, 13(19), 1552-1573. DOI: 10.26466/opus.580456

source
    mabac(setting)

Apply MABAC (Multi-Attributive Border Approximation area Comparison) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

mabac() applies the MABAC method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MABACResult: MABACResult object that holds multiple outputs including scores, rankings, and best index.
source

MAIRCA

JMcDM.MAIRCA.maircaFunction
    mairca(decisionMat, weights, fns; normalization)

Apply MAIRCA (Multi Attributive Ideal-Real Comparative Analysis) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

mairca() applies the MAIRCA method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MAIRCAResult: MAIRCAResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [6.952 8.000 6.649 7.268 8.000 7.652 6.316;
+5

References

Pamučar, D., & Ćirović, G. (2015). The selection of transport and handling resources in logistics centers using Multi-Attributive Border Approximation area Comparison (MABAC). Expert Systems with Applications, 42(6), 3016–3028. doi:10.1016/j.eswa.2014.11.057

Ulutaş, A. (2019). Entropi ve MABAC yöntemleri ile personel seçimi. OPUS–International Journal of Society Researches, 13(19), 1552-1573. DOI: 10.26466/opus.580456

source
    mabac(setting)

Apply MABAC (Multi-Attributive Border Approximation area Comparison) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

mabac() applies the MABAC method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MABACResult: MABACResult object that holds multiple outputs including scores, rankings, and best index.
source

MAIRCA

JMcDM.MAIRCA.maircaFunction
    mairca(decisionMat, weights, fns; normalization)

Apply MAIRCA (Multi Attributive Ideal-Real Comparative Analysis) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

mairca() applies the MAIRCA method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MAIRCAResult: MAIRCAResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [6.952 8.000 6.649 7.268 8.000 7.652 6.316;
        7.319 7.319 6.604 7.319 8.000 7.652 5.313;
        7.000 7.319 7.652 6.952 7.652 6.952 4.642;
        7.319 6.952 6.649 7.319 7.652 6.649 5.000]
@@ -493,7 +493,7 @@
  0.14542366685864686
 
 julia> result.bestIndex
-2

References

Pamučar, D., Lukovac, V., Božanić, D., & Komazec, N. (2018). Multi-criteria FUCOM-MAIRCA model for the evaluation of level crossings: case study in the Republic of Serbia. Operational Research in Engineering Sciences: Theory and Applications, 1(1), 108-129.

Ulutaş A.(2019),Swara Ve Mairca Yöntemleri İle Catering Firması Seçimi,BMIJ, (2019), 7(4): 1467-1479 http://dx.doi.org/10.15295/bmij.v7i4.1166

source
    mairca(setting)

Apply MAIRCA (Multi Attributive Ideal-Real Comparative Analysis) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

mairca() applies the MAIRCA method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MAIRCAResult: MAIRCAResult object that holds multiple outputs including scores, rankings, and best index.
source

COPRAS

JMcDM.COPRAS.coprasFunction
copras(decisionMat, weights, fs; normalization)

Apply COPRAS (COmplex PRoportional ASsesment) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • normalization{<:Function}: Optional normalization function.

Description

copras() applies the COPRAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::COPRASResult: COPRASResult object that holds multiple outputs including scores and best index.

Examples

julia> decmat = [2.50 240 57 45 1.10 0.333333;
+2

References

Pamučar, D., Lukovac, V., Božanić, D., & Komazec, N. (2018). Multi-criteria FUCOM-MAIRCA model for the evaluation of level crossings: case study in the Republic of Serbia. Operational Research in Engineering Sciences: Theory and Applications, 1(1), 108-129.

Ulutaş A.(2019),Swara Ve Mairca Yöntemleri İle Catering Firması Seçimi,BMIJ, (2019), 7(4): 1467-1479 http://dx.doi.org/10.15295/bmij.v7i4.1166

source
    mairca(setting)

Apply MAIRCA (Multi Attributive Ideal-Real Comparative Analysis) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

mairca() applies the MAIRCA method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MAIRCAResult: MAIRCAResult object that holds multiple outputs including scores, rankings, and best index.
source

COPRAS

JMcDM.COPRAS.coprasFunction
copras(decisionMat, weights, fs; normalization)

Apply COPRAS (COmplex PRoportional ASsesment) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • normalization{<:Function}: Optional normalization function.

Description

copras() applies the COPRAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::COPRASResult: COPRASResult object that holds multiple outputs including scores and best index.

Examples

julia> decmat = [2.50 240 57 45 1.10 0.333333;
        2.50 285 60 75 4.00 0.428571;
        4.50 320 100 65 7.50 1.111111;
        4.50 365 100 90 7.50 1.111111;
@@ -589,7 +589,7 @@
  0.007733739643860005
  0.007258939653356005
  0.006665439665226005
- 0.005478439688966004

References

Kaklauskas, A., Zavadskas, E. K., Raslanas, S., Ginevicius, R., Komka, A., & Malinauskas, P. (2006). Selection of low-e windows in retrofit of public buildings by applying multiple criteria method COPRAS: A Lithuanian case. Energy and buildings, 38(5), 454-462. Özdağoğlu, A. (2013). İmalat işletmeleri için eksantrik pres alternatiflerinin COPRAS yöntemi ile karşılaştırılması. Gümüşhane Üniversitesi Sosyal Bilimler Enstitüsü Elektronik Dergisi, 4(8), 1-22. Yıldırım, B. F., Timor, M. (2019). "Bulanık ve Gri COPRAS Yöntemleri Kullanılarak Tedarikçi Seçim Modeli Geliştirilmesi". Optimum Ekonomi ve Yönetim Bilimleri Dergisi, 6 (2), 283-310.

source
copras(setting)

Apply COPRAS (COmplex PRoportional ASsesment) method for a given matrix, weights and, type of criteria.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

copras() applies the COPRAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::COPRASResult: COPRASResult object that holds multiple outputs including scores and best index.
source

PROMETHEE

JMcDM.PROMETHEE.prometheeFunction
    promethee(decisionMatrix, weights, fns, prefs, qs, ps)

Apply PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluations) method for a given matrix and weights.

Arguments:

  • decisionMatrix::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions that are either maximum or minimum.
  • prefs::Array{Function, 1}: m-vector of preference functions that are prometLinear, prometVShape, prometUShape, prometQuasi, or prometLevel.
  • qs::Array{Float64, 1}: m-vector of q parameters that is used in corresponding preference function.
  • ps::Array{Float64, 1}: m-vector of p parameters that is used in corresponding preference function

Description

promethee() applies the PROMETHEE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PrometheeResult: PrometheeResult object that holds multiple outputs including scores and best index.

Examples

julia> decmat = [42.0 35 43 51; 
+ 0.005478439688966004

References

Kaklauskas, A., Zavadskas, E. K., Raslanas, S., Ginevicius, R., Komka, A., & Malinauskas, P. (2006). Selection of low-e windows in retrofit of public buildings by applying multiple criteria method COPRAS: A Lithuanian case. Energy and buildings, 38(5), 454-462. Özdağoğlu, A. (2013). İmalat işletmeleri için eksantrik pres alternatiflerinin COPRAS yöntemi ile karşılaştırılması. Gümüşhane Üniversitesi Sosyal Bilimler Enstitüsü Elektronik Dergisi, 4(8), 1-22. Yıldırım, B. F., Timor, M. (2019). "Bulanık ve Gri COPRAS Yöntemleri Kullanılarak Tedarikçi Seçim Modeli Geliştirilmesi". Optimum Ekonomi ve Yönetim Bilimleri Dergisi, 6 (2), 283-310.

source
copras(setting)

Apply COPRAS (COmplex PRoportional ASsesment) method for a given matrix, weights and, type of criteria.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

copras() applies the COPRAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::COPRASResult: COPRASResult object that holds multiple outputs including scores and best index.
source

PROMETHEE

JMcDM.PROMETHEE.prometheeFunction
    promethee(decisionMatrix, weights, fns, prefs, qs, ps)

Apply PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluations) method for a given matrix and weights.

Arguments:

  • decisionMatrix::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions that are either maximum or minimum.
  • prefs::Array{Function, 1}: m-vector of preference functions that are prometLinear, prometVShape, prometUShape, prometQuasi, or prometLevel.
  • qs::Array{Float64, 1}: m-vector of q parameters that is used in corresponding preference function.
  • ps::Array{Float64, 1}: m-vector of p parameters that is used in corresponding preference function

Description

promethee() applies the PROMETHEE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PrometheeResult: PrometheeResult object that holds multiple outputs including scores and best index.

Examples

julia> decmat = [42.0 35 43 51; 
                      89 72 92 85;
                      14 85 17 40;
                      57 60 45 80;
@@ -624,7 +624,7 @@
   0.057536454581832736
 
 julia> result.bestIndex
-5

References

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    promethee(setting, prefs, qs, ps)

Apply PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluations) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • prefs::Array{Function, 1}: m-vector of preference functions that are prometLinear, prometVShape, prometUShape, prometQuasi, or prometLevel.
  • qs::Array{Float64, 1}: m-vector of q parameters that is used in corresponding preference function.
  • ps::Array{Float64, 1}: m-vector of p parameters that is used in corresponding preference function

Description

promethee() applies the PROMETHEE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PrometheeResult: PrometheeResult object that holds multiple outputs including scores and best index.
source

CoCoSo

JMcDM.COCOSO.cocosoFunction
    cocoso(decisionMat, weights, fns; lambda, normalization)

Apply CoCoSo (Combined Compromise Solution) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.
  • normalization{<:Function}: Optional normalization function.

Description

cocoso() applies the CoCoSo method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CoCoSoResult: CoCoSoResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
+5

References

İşletmeciler, Mühendisler ve Yöneticiler için Operasyonel, Yönetsel ve Stratejik Problemlerin Çözümünde Çok Kriterli Karar verme Yöntemleri, Editörler: Bahadır Fatih Yıldırım ve Emrah Önder, Dora, 2. Basım, 2015, ISBN: 978-605-9929-44-8

source
    promethee(setting, prefs, qs, ps)

Apply PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluations) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • prefs::Array{Function, 1}: m-vector of preference functions that are prometLinear, prometVShape, prometUShape, prometQuasi, or prometLevel.
  • qs::Array{Float64, 1}: m-vector of q parameters that is used in corresponding preference function.
  • ps::Array{Float64, 1}: m-vector of p parameters that is used in corresponding preference function

Description

promethee() applies the PROMETHEE method to rank n strategies subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PrometheeResult: PrometheeResult object that holds multiple outputs including scores and best index.
source

CoCoSo

JMcDM.COCOSO.cocosoFunction
    cocoso(decisionMat, weights, fns; lambda, normalization)

Apply CoCoSo (Combined Compromise Solution) method for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.
  • normalization{<:Function}: Optional normalization function.

Description

cocoso() applies the CoCoSo method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CoCoSoResult: CoCoSoResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
        5        15        3        110        38        4;
        3        13        2        120        19        3;
        4        14        2        100        31        4;
@@ -655,7 +655,7 @@
  2.519094173200623
 
 julia> result.bestIndex
-3

References

Yazdani, M., Zarate, P., Kazimieras Zavadskas, E. and Turskis, Z. (2019), "A combined compromise solution (CoCoSo) method for multi-criteria decision-making problems", Management Decision, Vol. 57 No. 9, pp. 2501-2519. https://doi.org/10.1108/MD-05-2017-0458

source
    cocoso(setting; lambda)

Apply CoCoSo (Combined Compromise Solution) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.

Description

cocoso() applies the CoCoSo method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CoCoSoResult: CoCoSoResult object that holds multiple outputs including scores, rankings, and best index.
source

Critic

JMcDM.CRITIC.criticFunction
    critic(decisionMat, fns; normalization)

Apply CRITIC (Combined Compromise Solution) method for a given matrix and criteria types.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

critic() applies the CRITIC method to calculate weights using a decision matrix with n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CRITICResult: CRITICResult object that holds multiple outputs including weighting and best index.

Examples


+3

References

Yazdani, M., Zarate, P., Kazimieras Zavadskas, E. and Turskis, Z. (2019), "A combined compromise solution (CoCoSo) method for multi-criteria decision-making problems", Management Decision, Vol. 57 No. 9, pp. 2501-2519. https://doi.org/10.1108/MD-05-2017-0458

source
    cocoso(setting; lambda)

Apply CoCoSo (Combined Compromise Solution) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object
  • lambda::Float64: joint criterion. 0<=lambda<=1, default=0.5.

Description

cocoso() applies the CoCoSo method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CoCoSoResult: CoCoSoResult object that holds multiple outputs including scores, rankings, and best index.
source

Critic

JMcDM.CRITIC.criticFunction
    critic(decisionMat, fns; normalization)

Apply CRITIC (Combined Compromise Solution) method for a given matrix and criteria types.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

critic() applies the CRITIC method to calculate weights using a decision matrix with n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CRITICResult: CRITICResult object that holds multiple outputs including weighting and best index.

Examples


 julia> decmat
 3×4 Array{Float64,2}:
  12.9918  0.7264  -1.1009  1.59814
@@ -673,7 +673,7 @@
  0.41844653698732126
  0.24912338769165807
  0.16359102025932576
-

References

Diakoulaki, D., Mavrotas, G., & Papayannakis, L. (1995). Determining objective weights in multiple criteria problems: The critic method. Computers & Operations Research, 22(7), 763–770. doi:10.1016/0305-0548(94)00059-h Akçakanat, Ö., Aksoy, E., Teker, T. (2018). CRITIC ve MDL Temelli EDAS Yöntemi ile TR-61 Bölgesi Bankalarının Performans Değerlendirmesi. Süleyman Demirel Üniversitesi Sosyal Bilimler Enstitüsü Dergisi, 1 (32), 1-24.

source
    critic(setting)

Apply CRITIC (Combined Compromise Solution) method for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

critic() applies the CRITIC method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CRITICResult: CRITICResult object that holds multiple outputs including weighting and best index.
source

CODAS

JMcDM.CODAS.codasFunction
codas(decisionMat, weights, fs; normalization)

Apply CODAS (COmbinative Distance-based ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • tau::Float64: tau parameter for the algorithm. The default is 0.02.
  • normalization{<:Function}: Optional normalization function.

Description

codas() applies the CODAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::CODASResult: CODASResult object that holds multiple outputs including scores and best index.

Examples

julia> decmat
+

References

Diakoulaki, D., Mavrotas, G., & Papayannakis, L. (1995). Determining objective weights in multiple criteria problems: The critic method. Computers & Operations Research, 22(7), 763–770. doi:10.1016/0305-0548(94)00059-h Akçakanat, Ö., Aksoy, E., Teker, T. (2018). CRITIC ve MDL Temelli EDAS Yöntemi ile TR-61 Bölgesi Bankalarının Performans Değerlendirmesi. Süleyman Demirel Üniversitesi Sosyal Bilimler Enstitüsü Dergisi, 1 (32), 1-24.

source
    critic(setting)

Apply CRITIC (Combined Compromise Solution) method for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

critic() applies the CRITIC method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::CRITICResult: CRITICResult object that holds multiple outputs including weighting and best index.
source

CODAS

JMcDM.CODAS.codasFunction
codas(decisionMat, weights, fs; normalization)

Apply CODAS (COmbinative Distance-based ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • tau::Float64: tau parameter for the algorithm. The default is 0.02.
  • normalization{<:Function}: Optional normalization function.

Description

codas() applies the CODAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::CODASResult: CODASResult object that holds multiple outputs including scores and best index.

Examples

julia> decmat
 7×5 Array{Float64,2}:
  60.0   0.4   2540.0   500.0   990.0
   6.35  0.15  1016.0  3000.0  1041.0
@@ -708,7 +708,7 @@
  -1.8515205523193041
  -1.1716767695713806
   0.18865620373316055
-

References

Keshavarz Ghorabaee, M., Zavadskas, E. K., Turskis, Z., & Antucheviciene, J. (2016). A new combinative distance-based assessment (CODAS) method for multi-criteria decision-making. Economic Computation & Economic Cybernetics Studies & Research, 50(3), 25-44.

source
codas(setting; tau = 0.02)

Apply CODAS (COmbinative Distance-based ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • tau::Float64: tau parameter for the algorithm. The default is 0.02.

Description

codas() applies the CODAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::CODASResult: CODASResult object that holds multiple outputs including scores and best index.
source

MEREC

JMcDM.MEREC.merecFunction

merec(decisionMat, fns; normalization)

Apply MEREC (MEthod based on the Removal Effects of Criteria) for a given matrix and criteria types.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

merec() applies the MEREC method to calculate weights using a decision matrix with n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MERECResult: MERECResult object that holds multiple outputs including weights.

Examples


+

References

Keshavarz Ghorabaee, M., Zavadskas, E. K., Turskis, Z., & Antucheviciene, J. (2016). A new combinative distance-based assessment (CODAS) method for multi-criteria decision-making. Economic Computation & Economic Cybernetics Studies & Research, 50(3), 25-44.

source
codas(setting; tau = 0.02)

Apply CODAS (COmbinative Distance-based ASsessment) method for a given matrix, weights and, type of criteria.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • tau::Float64: tau parameter for the algorithm. The default is 0.02.

Description

codas() applies the CODAS method to rank n alternatives subject to m criteria and criteria type vector.

Output

  • ::CODASResult: CODASResult object that holds multiple outputs including scores and best index.
source

MEREC

JMcDM.MEREC.merecFunction

merec(decisionMat, fns; normalization)

Apply MEREC (MEthod based on the Removal Effects of Criteria) for a given matrix and criteria types.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

merec() applies the MEREC method to calculate weights using a decision matrix with n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MERECResult: MERECResult object that holds multiple outputs including weights.

Examples


 julia> decisionMat = DataFrame(
                    :K1 => [450, 10, 100, 220, 5],
                    :K2 => [8000, 9100, 8200, 9300, 8400],
@@ -735,7 +735,7 @@
  0.01409659116846726
  0.40156136388773117
  0.009120377734419302
-

References

Keshavarz-Ghorabaee, M., Amiri, M., Zavadskas, E. K., Turskis, Z., & Antucheviciene, J. (2021). Determination of Objective Weights Using a New Method Based on the Removal Effects of Criteria (MEREC). Symmetry, 13(4), 525. https://doi.org/10.3390/sym13040525

source
    merec(setting)

Apply MEREC (MEthod based on the Removal Effects of Criteria) for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

merec() applies the MEREC method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MERECResult: MERECResult object that holds multiple outputs including weighting and best index.
source

PIV

JMcDM.PIV.pivFunction
piv(decisionMat, weights, fs; normalization)

Apply PIV (Proximity Indexed Value) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • normalization{<:Function}: Optional normalization function.

Description

piv() applies the PIV method to rank n alternatives subject to m criteria and criteria type vector. Alternatives with lesser scores values (u_i values in the original article) are better as they represent the deviation from the ideal values.

Output

  • ::PIVResult: PIVResult object that holds multiple outputs including scores, rankings, and best index.

References

Sameera Mufazzal, S.M. Muzakkir, A new multi-criterion decision making (MCDM) method based on proximity indexed value for minimizing rank reversals, Computers & Industrial Engineering, Volume 119, 2018, Pages 427-438, ISSN 0360-8352, https://doi.org/10.1016/j.cie.2018.03.045.

source

PSI

JMcDM.PSI.psiFunction
    psi(decisionMat, fns; normalization)

Apply PSI (Preference Selection Index) method for a given matrix and directions of optimizations.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

psi() applies the PSI method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PSIResult: PSIResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
+

References

Keshavarz-Ghorabaee, M., Amiri, M., Zavadskas, E. K., Turskis, Z., & Antucheviciene, J. (2021). Determination of Objective Weights Using a New Method Based on the Removal Effects of Criteria (MEREC). Symmetry, 13(4), 525. https://doi.org/10.3390/sym13040525

source
    merec(setting)

Apply MEREC (MEthod based on the Removal Effects of Criteria) for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

merec() applies the MEREC method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MERECResult: MERECResult object that holds multiple outputs including weighting and best index.
source

PIV

JMcDM.PIV.pivFunction
piv(decisionMat, weights, fs; normalization)

Apply PIV (Proximity Indexed Value) method for a given matrix, weights and, type of criteria.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fs::Array{<:Function,1}: m-vector of type of criteria. The benefit criteria shown with "maximum", and the cost criteria shown with "minimum".
  • normalization{<:Function}: Optional normalization function.

Description

piv() applies the PIV method to rank n alternatives subject to m criteria and criteria type vector. Alternatives with lesser scores values (u_i values in the original article) are better as they represent the deviation from the ideal values.

Output

  • ::PIVResult: PIVResult object that holds multiple outputs including scores, rankings, and best index.

References

Sameera Mufazzal, S.M. Muzakkir, A new multi-criterion decision making (MCDM) method based on proximity indexed value for minimizing rank reversals, Computers & Industrial Engineering, Volume 119, 2018, Pages 427-438, ISSN 0360-8352, https://doi.org/10.1016/j.cie.2018.03.045.

source

PSI

JMcDM.PSI.psiFunction
    psi(decisionMat, fns; normalization)

Apply PSI (Preference Selection Index) method for a given matrix and directions of optimizations.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

psi() applies the PSI method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PSIResult: PSIResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
        5        15        3        110        38        4;
        3        13        2        120        19        3;
        4        14        2        100        31        4;
@@ -760,7 +760,7 @@
 1
 
 julia> result.bestIndex 
-1

References

Maniya, Kalpesh, and Mangal Guido Bhatt. "A selection of material using a novel type decision-making method: Preference selection index method." Materials & Design 31.4 (2010): 1785-1789

source
    psi(setting)

Apply PSI (Preference Selection Index) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

psi() applies the PSI method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PSIResult: PSIResult object that holds multiple outputs including scores, rankings, and best index.
source

ROV

JMcDM.ROV.rovFunction
    rov(decisionMat, weights, fns; normalization)

Apply ROV (Range of Value) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns (directions of optimization).
  • normalization{<:Function}: Optional normalization function.

Description

rov() applies the ROV method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::ROVResult: ROVResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> mat = [
+1

References

Maniya, Kalpesh, and Mangal Guido Bhatt. "A selection of material using a novel type decision-making method: Preference selection index method." Materials & Design 31.4 (2010): 1785-1789

source
    psi(setting)

Apply PSI (Preference Selection Index) method for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

psi() applies the PSI method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::PSIResult: PSIResult object that holds multiple outputs including scores, rankings, and best index.
source

ROV

JMcDM.ROV.rovFunction
    rov(decisionMat, weights, fns; normalization)

Apply ROV (Range of Value) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns (directions of optimization).
  • normalization{<:Function}: Optional normalization function.

Description

rov() applies the ROV method to rank n alternatives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::ROVResult: ROVResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> mat = [
         0.035 34.5 847 1.76 0.335 0.5 0.59 0.59
         0.027 36.8 834 1.68 0.335 0.665 0.665 0.665
         0.037 38.6 808 2.4 0.59 0.59 0.41 0.5
@@ -775,7 +775,7 @@
 
 julia> result.ranks 
 
-julia> result.scores

References

Madić, Miloš et al. “Application of the ROV method for the selection of cutting fluids.” Decision Science Letters 5 (2016): 245-254.

source

MOOSRA

JMcDM.MOOSRA.moosraFunction
    moosra(decisionMat, weights, fns; lambda = 0.5, normalization)

Apply MOOSRA (Multi-Objective Optimization on the basis of Simple Ratio Analysis) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

moosra() applies the MOOSRA method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MoosraResult: MoosraResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
+julia> result.scores

References

Madić, Miloš et al. “Application of the ROV method for the selection of cutting fluids.” Decision Science Letters 5 (2016): 245-254.

source

MOOSRA

JMcDM.MOOSRA.moosraFunction
    moosra(decisionMat, weights, fns; lambda = 0.5, normalization)

Apply MOOSRA (Multi-Objective Optimization on the basis of Simple Ratio Analysis) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alterntives and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

moosra() applies the MOOSRA method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::MoosraResult: MoosraResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decmat = [3        12.5        2        120        14        3;
        5        15        3        110        38        4;
        3        13        2        120        19        3;
        4        14        2        100        31        4;
@@ -792,7 +792,7 @@
 
 julia> fns = [maximum, minimum, minimum, maximum, minimum, maximum];
 
-julia> result = moosra(decmat, weights, fns, lambda);

References

Das, Manik Chandra, Bijan Sarkar, and Siddhartha Ray. "Decision making under conflicting environment: a new MCDM method." International Journal of Applied Decision Sciences 5.2 (2012): 142-162.

source
    moosra(setting)

Apply MOOSRA (Multi-Objective Optimization on the basis of Simple Ratio Analysis) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
source

SD

JMcDM.SD.sdFunction
    sd(decisionMat, fns; normalization)

Apply SD method for a given matrix and directions of optimization.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

sd() applies the SD method to calculate weights for a set of given criteria.

Output

  • ::SDResult: SDResult object that holds weights.

References

AYDIN, Yüksel. "A hybrid multi-criteria decision making (MCDM) model consisting of SD and COPRAS methods in performance evaluation of foreign deposit banks." Equinox Journal of Economics Business and Political Studies 7.2 (2020): 160-176.

Diakoulaki, Danae, George Mavrotas, and Lefteris Papayannakis. "Determining objective weights in multiple criteria problems: The critic method." Computers & Operations Research 22.7 (1995): 763-770.

source
    sd(setting)

Apply SD method for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
source

SECA

JMcDM.SECA.secaFunction
seca(decisionMat, fns:, beta; epsilon, normalization)

Implement the SECA method for multi-criteria decision making.

Arguments

  • decisionMat::Matrix: A matrix of decision criteria.
  • fns::Array{F,1}: A vector of functions that specifies the Beneficial Criteria (BC) as maximum and the non-Beneficial Criteria (NC) as minimum.
  • beta::Float64: This coefficient affects the importance of reaching the reference points of criteria weights. Note that the output of model is dependent on the value of beta. It's recommended to try several values untill you barely see any change in the weights of each criterion.
  • epsilon::Float64 = 10^-3: a small positive parameter considered as a lower bound for criteria weights.
  • normalization{<:Function}: Optional normalization function.

Description

seca implements the SECA method for multi-criteria decision making and finds the weights of the criteria simultaneously with evaluating the alternatives. The model is based on maximization of the overall performance of alternatives with consideration of the variation information of decision-matrix within and between criteria. seca returns a SecaResult object that contains the decision matrix, weights, scores, and ranks.

Returns

  • SECAResult: A SECAResult object that contains the decision matrix, weights, scores, and ranks.

Example

julia> using JuMP, Ipopt, JMcDM
+julia> result = moosra(decmat, weights, fns, lambda);

References

Das, Manik Chandra, Bijan Sarkar, and Siddhartha Ray. "Decision making under conflicting environment: a new MCDM method." International Journal of Applied Decision Sciences 5.2 (2012): 142-162.

source
    moosra(setting)

Apply MOOSRA (Multi-Objective Optimization on the basis of Simple Ratio Analysis) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
source

SD

JMcDM.SD.sdFunction
    sd(decisionMat, fns; normalization)

Apply SD method for a given matrix and directions of optimization.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

sd() applies the SD method to calculate weights for a set of given criteria.

Output

  • ::SDResult: SDResult object that holds weights.

References

AYDIN, Yüksel. "A hybrid multi-criteria decision making (MCDM) model consisting of SD and COPRAS methods in performance evaluation of foreign deposit banks." Equinox Journal of Economics Business and Political Studies 7.2 (2020): 160-176.

Diakoulaki, Danae, George Mavrotas, and Lefteris Papayannakis. "Determining objective weights in multiple criteria problems: The critic method." Computers & Operations Research 22.7 (1995): 763-770.

source
    sd(setting)

Apply SD method for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
source

SECA

JMcDM.SECA.secaFunction
seca(decisionMat, fns:, beta; epsilon, normalization)

Implement the SECA method for multi-criteria decision making.

Arguments

  • decisionMat::Matrix: A matrix of decision criteria.
  • fns::Array{F,1}: A vector of functions that specifies the Beneficial Criteria (BC) as maximum and the non-Beneficial Criteria (NC) as minimum.
  • beta::Float64: This coefficient affects the importance of reaching the reference points of criteria weights. Note that the output of model is dependent on the value of beta. It's recommended to try several values untill you barely see any change in the weights of each criterion.
  • epsilon::Float64 = 10^-3: a small positive parameter considered as a lower bound for criteria weights.
  • normalization{<:Function}: Optional normalization function.

Description

seca implements the SECA method for multi-criteria decision making and finds the weights of the criteria simultaneously with evaluating the alternatives. The model is based on maximization of the overall performance of alternatives with consideration of the variation information of decision-matrix within and between criteria. seca returns a SecaResult object that contains the decision matrix, weights, scores, and ranks.

Returns

  • SECAResult: A SECAResult object that contains the decision matrix, weights, scores, and ranks.

Example

julia> using JuMP, Ipopt, JMcDM
 julia> mat = [
            1.0     0.9925  0.9115  0.8     0.9401  1.0     0.9449;
            0.8696  0.8271  0.8462  1.0     0.9181  0.978   1.0;
@@ -814,7 +814,7 @@
 Ordering:
 [6, 9, 2, 1, 3, 4, 7, 5, 8, 10]
 Best indice:
-4

Reference

Dependencies

This method is enabled when the JuMP and Ipopt packages are installed and loaded.

source

LMAW

JMcDM.LMAW.lmawFunction
lmaw(decisionMat, weights, fns; normalization)

Apply LMAW (Logarithm Methodology of Additive Weights) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: m × n matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: n-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: n-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

lmaw() applies the LMAW method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::LMAWResult: LMAWResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decMat = [
+4

Reference

Dependencies

This method is enabled when the JuMP and Ipopt packages are installed and loaded.

source

LMAW

JMcDM.LMAW.lmawFunction
lmaw(decisionMat, weights, fns; normalization)

Apply LMAW (Logarithm Methodology of Additive Weights) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: m × n matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: n-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: n-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

lmaw() applies the LMAW method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::LMAWResult: LMAWResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decMat = [
                 647.34        6.24        49.87        19.46        212.58        6.75;
                 115.64        3.24        16.26         9.69        207.59        3.00;
                 373.61        5.00        26.43        12.00        184.62        3.74;
@@ -846,7 +846,7 @@
  4.702247270959649
 
 julia> result.bestIndex
-1

References

  • Pamučar, D., Žižović, M., Biswas, S., & Božanić, D. (2021). A new logarithm methodology of additive weights (LMAW) for multi-criteria decision-making: Application in logistics. Facta Universitatis, Series: Mechanical Engineering, 19(3), 361. https://doi.org/10.22190/FUME210214031P
source
lmaw(setting)

Apply LMAW (Logarithm Methodology of Additive Weights) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

lmaw() applies the LMAW method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::LMAWResult: LMAWResult object that holds multiple outputs including scores, rankings, and best index.
source

LOPCOW

JMcDM.LOPCOW.lopcowFunction
lopcow(decisionMat, fns; normalization)

Apply LOPCOW (LOgarithmic Percentage Change-driven Objective Weighting) method for a given matrix and criteria types.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

lopcow() applies the LOPCOW method to calculate objective weights using a decision matrix with n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::LOPCOWResult: LOPCOWResult object that holds multiple outputs including weighting and best index.

Examples


+1

References

  • Pamučar, D., Žižović, M., Biswas, S., & Božanić, D. (2021). A new logarithm methodology of additive weights (LMAW) for multi-criteria decision-making: Application in logistics. Facta Universitatis, Series: Mechanical Engineering, 19(3), 361. https://doi.org/10.22190/FUME210214031P
source
lmaw(setting)

Apply LMAW (Logarithm Methodology of Additive Weights) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

lmaw() applies the LMAW method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::LMAWResult: LMAWResult object that holds multiple outputs including scores, rankings, and best index.
source

LOPCOW

JMcDM.LOPCOW.lopcowFunction
lopcow(decisionMat, fns; normalization)

Apply LOPCOW (LOgarithmic Percentage Change-driven Objective Weighting) method for a given matrix and criteria types.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n alternatives and m criteria
  • fns::Array{<:Function, 1}: m-vector of functions to be applied on the columns.
  • normalization{<:Function}: Optional normalization function.

Description

lopcow() applies the LOPCOW method to calculate objective weights using a decision matrix with n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::LOPCOWResult: LOPCOWResult object that holds multiple outputs including weighting and best index.

Examples


 julia> decmat
 9×17 Matrix{Float64}:
  21.8  14.1  10.7  1.6  1.8   770.0  12750.0  18.0   5100.0  1.5     9.1    1.054  4.196  29.407   7.03   15.08    9.705
@@ -874,7 +874,7 @@
  0.05507171491276535
  0.05320727577078255
  0.05340460620185558
-

References

Ecer, F., & Pamucar, D. (2022). A novel LOPCOW‐DOBI multi‐criteria sustainability performance assessment methodology: An application in developing country banking sector. Omega, 112, 102690. https://doi.org/10.1016/j.omega.2022.102690

source
lopcow(setting)

Apply LOPCOW (LOgarithmic Percentage Change-driven Objective Weighting) method for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

lopcow() applies the LOPCOW method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::LOPCOWResult: LOPCOWResult object that holds multiple outputs including weighting and best index.
source

OCRA

JMcDM.OCRA.ocraFunction
ocra(decisionMat, weights, fns)

Apply OCRA (Operational Competitiveness RAting) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: m × n matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: n-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: n-vector of functions to be applied on the columns.

Description

ocra() applies the OCRA method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::OCRAResult: OCRAResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decMat = [
+

References

Ecer, F., & Pamucar, D. (2022). A novel LOPCOW‐DOBI multi‐criteria sustainability performance assessment methodology: An application in developing country banking sector. Omega, 112, 102690. https://doi.org/10.1016/j.omega.2022.102690

source
lopcow(setting)

Apply LOPCOW (LOgarithmic Percentage Change-driven Objective Weighting) method for a given matrix and criteria types.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

lopcow() applies the LOPCOW method to rank n alterntives subject to m criteria which are supposed to be either maximized or minimized.

Output

  • ::LOPCOWResult: LOPCOWResult object that holds multiple outputs including weighting and best index.
source

OCRA

JMcDM.OCRA.ocraFunction
ocra(decisionMat, weights, fns)

Apply OCRA (Operational Competitiveness RAting) for a given matrix and weights.

Arguments:

  • decisionMat::Matrix: m × n matrix of objective values for n alternatives and m criteria
  • weights::Array{Float64, 1}: n-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: n-vector of functions to be applied on the columns.

Description

ocra() applies the OCRA method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::OCRAResult: OCRAResult object that holds multiple outputs including scores, rankings, and best index.

Examples

julia> decMat = [
             8.0  16.0  1.5  1.2   4200.0  5.0  5.0  314.0  185.0;
             8.0  16.0  1.0  1.3   4200.0  5.0  4.0  360.0  156.0;
            10.1  16.0  2.0  1.3   4060.0  5.0  3.0  503.0  160.0;
@@ -918,7 +918,7 @@
  0.47874854984718046
 
 julia> result.bestIndex
-7

References

  • Parkan, C. (1994). Operational competitiveness ratings of production units. Managerial and Decision Economics, 15(3), 201–221. doi:10.1002/mde.4090150303 
  • Parkan, C. (2003). Measuring the effect of a new point of sale system on the performance of drugstore operations. Computers & Operations Research, 30(5), 729–744. doi:10.1016/s0305-0548(02)00047-3 
  • Kundakcı, N. (2017). An Integrated Multi-Criteria Decision Making Approach for Tablet Computer Selection. European Journal of Multidisciplinary Studies, 2(5), 31-43.
source
ocra(setting)

Apply OCRA (Operational Competitiveness RAting) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

ocra() applies the OCRA method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::OCRAResult: OCRAResult object that holds multiple outputs including scores, rankings, and best index.
source

TODIM

JMcDM.TODIM.todimFunction
todim(decisionMat::Matrix, weights::Vector, fns::Array{F,1})::TODIMResult where F<:Function

Run TODIM method for a given desicion matrix, criteria weights and identity of criteria.

Arguments

  • decisionMat::Matrix: A matrix of decision criteria. It's assumed that the criteria are

in the columns and alternatives are in the rows.

  • weights::Vector: A vector of weights of criteria.
  • fns::Array{F,1}: A vector of functions that specifies the Beneficial Criteria (BC) as

maximum and the non-Beneficial Criteria (NC) as minimum.

Keyword Arguments

  • normalization{<:Function}: Optional normalization function. Default is min-max normalization (available as Normalizations.maxminrangenormalization).

Returns

  • TODIMResult: A TODIMResult object that holds multiple outputs including scores and best

index.

Example

julia> mat = [
+7

References

  • Parkan, C. (1994). Operational competitiveness ratings of production units. Managerial and Decision Economics, 15(3), 201–221. doi:10.1002/mde.4090150303 
  • Parkan, C. (2003). Measuring the effect of a new point of sale system on the performance of drugstore operations. Computers & Operations Research, 30(5), 729–744. doi:10.1016/s0305-0548(02)00047-3 
  • Kundakcı, N. (2017). An Integrated Multi-Criteria Decision Making Approach for Tablet Computer Selection. European Journal of Multidisciplinary Studies, 2(5), 31-43.
source
ocra(setting)

Apply OCRA (Operational Competitiveness RAting) for a given matrix and weights.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.

Description

ocra() applies the OCRA method to rank m alternatives subject to n criteria which are supposed to be either maximized or minimized.

Output

  • ::OCRAResult: OCRAResult object that holds multiple outputs including scores, rankings, and best index.
source

TODIM

JMcDM.TODIM.todimFunction
todim(decisionMat::Matrix, weights::Vector, fns::Array{F,1})::TODIMResult where F<:Function

Run TODIM method for a given desicion matrix, criteria weights and identity of criteria.

Arguments

  • decisionMat::Matrix: A matrix of decision criteria. It's assumed that the criteria are

in the columns and alternatives are in the rows.

  • weights::Vector: A vector of weights of criteria.
  • fns::Array{F,1}: A vector of functions that specifies the Beneficial Criteria (BC) as

maximum and the non-Beneficial Criteria (NC) as minimum.

Keyword Arguments

  • normalization{<:Function}: Optional normalization function. Default is min-max normalization (available as Normalizations.maxminrangenormalization).

Returns

  • TODIMResult: A TODIMResult object that holds multiple outputs including scores and best

index.

Example

julia> mat = [
            1.0     0.9925;
            0.8696  0.8271;
            0.7391  0.8684;
@@ -933,4 +933,4 @@
 julia> w = [2, 3];
 
 julia> result = todim(mat, w, fns)
-TODIMResult([1.0 0.9925; 0.8696 0.8271; … ; 0.6087 0.8346; 0.913 0.185], [2.0, 3.0], [1.0, 0.4285714285714285, 0.5952380952380951, 0.0, 0.5714285714285714, 0.30952380952380953, 0.3095238095238094], [1, 3, 5, 2, 6, 7, 4], 1)

References

  1. Gomes, L. F. A. M., & Lima, M. M. P. P. (1991). TODIMI: Basics and application to multicriteria ranking. Found. Comput. Decis. Sci, 16(3-4), 1-16.

  2. Alali, F., & Tolga, A. C. (2019). Portfolio allocation with the TODIM method. Expert Systems with Applications, 124, 341-348.

source
+TODIMResult([1.0 0.9925; 0.8696 0.8271; … ; 0.6087 0.8346; 0.913 0.185], [2.0, 3.0], [1.0, 0.4285714285714285, 0.5952380952380951, 0.0, 0.5714285714285714, 0.30952380952380953, 0.3095238095238094], [1, 3, 5, 2, 6, 7, 4], 1)

References

  1. Gomes, L. F. A. M., & Lima, M. M. P. P. (1991). TODIMI: Basics and application to multicriteria ranking. Found. Comput. Decis. Sci, 16(3-4), 1-16.

  2. Alali, F., & Tolga, A. C. (2019). Portfolio allocation with the TODIM method. Expert Systems with Applications, 124, 341-348.

source
diff --git a/dev/normalizations/index.html b/dev/normalizations/index.html index 77130db..984797f 100644 --- a/dev/normalizations/index.html +++ b/dev/normalizations/index.html @@ -1,4 +1,4 @@ -Normalization Methods · JMcDM: Julia package for multiple-criteria decision making

Normalization Methods for MCDM

In MCDM methods, e.g. topsis, aras, waspas, each single method has a predefined and default normalization method. However the normalization method can be specifically defined by setting the normalization= parameter in MCDM functions.

For example the default Topsis call with Vector norm normalization is

topsis(data, weights, fns)

whereas, the same method can be called with a different normalization method like

topsis(data, weights, fns, normalization = Normalizations.dividebycolumnsumnormalization

Vector Norm Normalization

Divide by Column Sums Normalization

Max-Min Range Normalization

Inverse Max-Min Range Normalization (max->min, min->max)

Grouped Max-Min Range Normalization

JMcDM.Normalizations.groupeddividebymaxminnormalizationFunction
groupeddividebymaxminnormalization(mat::Matrix, fns)
+Normalization Methods · JMcDM: Julia package for multiple-criteria decision making

Normalization Methods for MCDM

In MCDM methods, e.g. topsis, aras, waspas, each single method has a predefined and default normalization method. However the normalization method can be specifically defined by setting the normalization= parameter in MCDM functions.

For example the default Topsis call with Vector norm normalization is

topsis(data, weights, fns)

whereas, the same method can be called with a different normalization method like

topsis(data, weights, fns, normalization = Normalizations.dividebycolumnsumnormalization

Vector Norm Normalization

Divide by Column Sums Normalization

Max-Min Range Normalization

Inverse Max-Min Range Normalization (max->min, min->max)

Grouped Max-Min Range Normalization

Divide by Column Maximum-Minimum Normalization

Inverse Divide by Column Maximum-Minimum Normalization

Divide by All Norm Normalization

Null Normalization

+Default normalization method for seca.
source

Divide by Column Maximum-Minimum Normalization

Inverse Divide by Column Maximum-Minimum Normalization

Divide by All Norm Normalization

Null Normalization

diff --git a/dev/objects.inv b/dev/objects.inv index da93c09ea4a3a188a0e5ab14a2b0a3b1a4dd82c6..e34d116328132e23dfa265855816c27975ab1fb9 100644 GIT binary patch delta 12 TcmeC>>E)SF%xJo?WF{*B8zlrU delta 12 TcmeC>>E)SF%xJQ)WF{*B8z2NO diff --git a/dev/scdm/index.html b/dev/scdm/index.html index 6d9b66e..2381767 100644 --- a/dev/scdm/index.html +++ b/dev/scdm/index.html @@ -7,7 +7,7 @@ 2000 5250 8500 11750 ] -julia> result = laplace(mat)source

maximin

JMcDM.SCDM.maximinFunction
maximin(decisionMat)
+julia> result = laplace(mat)
source

maximin

JMcDM.SCDM.maximinFunction
maximin(decisionMat)
 
 Apply Maximin method for a given decision matrix (for convenience, in type of Matrix).

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.

Output

  • ::MaximinResult: MaximinResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -16,7 +16,7 @@
         22 30 28 20
     ]
 
-julia> result = maximin(mat)
source

maximax

JMcDM.SCDM.maximaxFunction
maximax(decisionMat)
+julia> result = maximin(mat)
source

maximax

JMcDM.SCDM.maximaxFunction
maximax(decisionMat)
 
 Apply Maximax method for a given decision matrix (for convenience, in type of Matrix).

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.

Output

  • ::MaximaxResult: MaximaxResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -26,7 +26,7 @@
     ]
 
 
-julia> result = maximax(mat)
source

minimax

JMcDM.SCDM.minimaxFunction
minimax(decisionMat)
+julia> result = maximax(mat)
source

minimax

JMcDM.SCDM.minimaxFunction
minimax(decisionMat)
 
 Apply Minimax method for a given decision matrix (for convenience, in type of Matrix).

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.

Output

  • ::MinimaxResult: MinimaxResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -36,7 +36,7 @@
     ]
 
 
-julia> result = minimax(mat)
source

minimin

JMcDM.SCDM.miniminFunction
minimin(decisionMat)
+julia> result = minimax(mat)
source

minimin

JMcDM.SCDM.miniminFunction
minimin(decisionMat)
 
 Apply Minimin method for a given decision matrix (for convenience, in type of Matrix).

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.

Output

  • ::MiniminResult: Minimin object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -45,7 +45,7 @@
         22 30 28 20
     ]
 
-julia> result = minimin(mat)
source

savage

JMcDM.SCDM.savageFunction
savage(decisionMat)
+julia> result = minimin(mat)
source

savage

JMcDM.SCDM.savageFunction
savage(decisionMat)
 
 Apply Savage method for a given decision matrix (for convenience, in type of Matrix).

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.

Output

  • ::SavageResult: SavageResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -58,7 +58,7 @@
 julia> result = savage(mat)
 
 julia> result.bestIndex 
-4
source

hurwicz

JMcDM.SCDM.hurwiczFunction
hurwicz(decisionMat; alpha = 0.5)
+4
source

hurwicz

JMcDM.SCDM.hurwiczFunction
hurwicz(decisionMat; alpha = 0.5)
 
 Apply Hurwicz method for a given decision matrix (for convenience, in type of Matrix).

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.
  • alpha::Float64: The optional alpha value for the Hurwicz method. Default is 0.5.

Output

  • ::HurwiczResult: HurwiczResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -70,7 +70,7 @@
 julia> result = hurwicz(mat)
 
 julia> result.bestIndex 
-3
source

mle

JMcDM.SCDM.mleFunction
mle(decisionMat, weights)
+3
source

mle

JMcDM.SCDM.mleFunction
mle(decisionMat, weights)
 
 Apply MLE (Maximum Likelihood) method for a given decision matrix (for convenience, in type of Matrix) and weights.

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.
  • weights::Array{Float64,1}: Array of weights for each criterion that sums up to 1.0.

Output

  • ::MLEResult: MLEResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -84,7 +84,7 @@
 julia> result = mle(mat, weights)
 
 julia> result.bestIndex 
-2
source

expectedregret

JMcDM.SCDM.expectedregretFunction
expectedregret(decisionMat, weights)
+2
source

expectedregret

JMcDM.SCDM.expectedregretFunction
expectedregret(decisionMat, weights)
 
 Apply Expected Regret method for a given decision matrix (for convenience, in type of Matrix) and weights.

Arguments:

  • decisionMat::Matrix: Decision matrix with n alternatives and m criteria.
  • weights::Array{Float64,1}: Array of weights for each criterion that sums up to 1.0.

Output

  • ::ExpectedRegretResult: ExpectedRegretResult object that holds multiple outputs including the best alternative.

Examples

julia> mat = [
         26 26 18 22;
@@ -97,4 +97,4 @@
 julia> result = expectedregret(mat, weights)
 
 julia> result.bestIndex 
-2
source
+2source diff --git a/dev/utility/index.html b/dev/utility/index.html index a8d6031..3a9a8f0 100644 --- a/dev/utility/index.html +++ b/dev/utility/index.html @@ -19,7 +19,7 @@ julia> result = topsis(setting); julia> # Same result can be obtained using -julia> result2 = mcdm(setting, TopsisMethod())source

mcdm

JMcDM.mcdmFunction
    mcdm(df, w, fns, method)
+julia> result2 = mcdm(setting, TopsisMethod())
source

mcdm

JMcDM.mcdmFunction
    mcdm(df, w, fns, method)
 
 Perform selected method for a given decision matrix, weight vector, and function list.

Arguments:

  • df::Matrix: n × m matrix of decision matrix in type of Matrix.
  • weights::Array{Float64, 1}: m-vector of weights for criteria.
  • fs::Array{Function, 1}: m-vector of functions that are either maximize or minimize for each single criterion.
  • method::MCDMMethod: Preferred MCDMMethod.

Description

The method is one of the subtypes of MCDMMethod type. See examples.

Output

  • ::MCDMResult: An object derived from subtypes of MCDMResult type.

Examples


 julia> subtypes(MCDMMethod)
@@ -59,7 +59,7 @@
 julia> # mcdm(df, w, fns, SawMethod())
 
 julia> # mcdm() with optional parameters:
-julia> # mcdm(df, w, fns, GreyMethod(0.6))
source
mcdm(setting, method = TopsisMethod())
+julia> # mcdm(df, w, fns, GreyMethod(0.6))
source
mcdm(setting, method = TopsisMethod())
 
 Perform selected method for a given decision matrix, weight vector, and function list.

Arguments:

  • setting::MCDMSetting: MCDMSetting object that holds the decision matrix, weight vector, and functions.
  • method::MCDMMethod: Preferred MCDMMethod. The default is TopsisMethod().

Description

The method is one of the subtypes of MCDMMethod type. See examples.

Output

  • ::MCDMResult: An object derived from subtypes of MCDMResult type.

Examples

julia> # mcdm() for Topsis:
 julia> # mcdm(setting, TopsisMethod())
@@ -68,7 +68,7 @@
 julia> # mcdm(setting, SawMethod())
 
 julia> # mcdm() with optional parameters:
-julia> # mcdm(setting, GreyMethod(0.6))
source

summary

JMcDM.summaryFunction
    summary(decisionMat, weights, fns, methods)

Apply more methods for a given decision problem. The methods accept standart number of arguments.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either minimize or maximize.
  • methods::Array{Symbol, 1}: Array of symbols. The elements can be :topsis, :electre, :cocoso, :copras, :moora, :vikor, :grey, :aras, :saw, :wpm, :waspas, :edas, :marcos, :mabac, :mairca, :copras, :critic

Description

This method outputs a summarized output using more than MCDM methods in a comparable way. 
+julia> # mcdm(setting, GreyMethod(0.6))
source

summary

JMcDM.summaryFunction
    summary(decisionMat, weights, fns, methods)

Apply more methods for a given decision problem. The methods accept standart number of arguments.

Arguments:

  • decisionMat::Matrix: n × m matrix of objective values for n candidate (or strategy) and m criteria
  • weights::Array{Float64, 1}: m-vector of weights that sum up to 1.0. If the sum of weights is not 1.0, it is automatically normalized.
  • fns::Array{<:Function, 1}: m-vector of function that are either minimize or maximize.
  • methods::Array{Symbol, 1}: Array of symbols. The elements can be :topsis, :electre, :cocoso, :copras, :moora, :vikor, :grey, :aras, :saw, :wpm, :waspas, :edas, :marcos, :mabac, :mairca, :copras, :critic

Description

This method outputs a summarized output using more than MCDM methods in a comparable way. 
 
 # Output
  • ::Matrix: A DataFrame object, methods in columns, and alternatives in rows. Green check symbol indicates the selected alternative as the best by the corresponding method.

Examples

julia> df = DataFrame(
 :age        => [6.0, 4, 12],
@@ -93,4 +93,4 @@
    1 │                           ✅      ✅
    2 │  ✅      ✅       ✅                      ✅      ✅
    3 │
-
source
    summary(setting, methods)

Apply more methods for a given decision problem. The methods accept standart number of arguments.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • methods::Array{Symbol, 1}: Array of symbols. The elements can be :topsis, :electre, :cocoso, :copras, :moora, :vikor, :grey, :aras, :saw, :wpm, :waspas, :edas, :marcos, :mabac, :mairca, :copras, :critic

Description

This method outputs a summarized output using more than MCDM methods in a comparable way.
source
+source
    summary(setting, methods)

Apply more methods for a given decision problem. The methods accept standart number of arguments.

Arguments:

  • setting::MCDMSetting: MCDMSetting object.
  • methods::Array{Symbol, 1}: Array of symbols. The elements can be :topsis, :electre, :cocoso, :copras, :moora, :vikor, :grey, :aras, :saw, :wpm, :waspas, :edas, :marcos, :mabac, :mairca, :copras, :critic

Description

This method outputs a summarized output using more than MCDM methods in a comparable way.
source