JMcDM: A Julia package for multiple-criteria decision making tools

Hey guys,

I am happy to announce that I have just prepared the skeleton of the Julia package JMcDM which basically implements Topsis, Electre, Dematel, Moora, Vikor, and AHP (Analytical hierarchy process) as multiple criteria decision making tools. The package also implements single criterion tools such as maximin, minimax, MLE, Savage, Laplace, and Expected Regret. A game solver is also implemented for zero sum games using JuMP and Cbc back-ends.

There is a list of unimplemented methods including PROMETHEE, MACBETH, COMET, etc. in the project repository.

I am planning to have a comprehensive tool for this subject and prepare the high quality documentation for developers. I am also planning to write a journal article, possibly for SoftwareX, of course with all of the developers and contributors.

So, this is an announcement and an open invitation for both package development and submitting a journal paper after it gets a mature level.

The repository is https://github.com/jbytecode/JMcDM.

We are in Julia Slack channel, #jmcdm.

Thank you in advance!

20 Likes

After a long time, and again, I am happy to announce that the package JMcDM covers a wide subset of the literature in the area of multiple-criteria decision-making. The package now includes

  • TOPSIS (Technique for Order Preference by Similarity to Ideal Solutions)
  • ELECTRE (Elimination and Choice Translating Reality)
  • DEMATEL (The Decision Making Trial and Evaluation Laboratory)
  • MOORA (Multi-Objective Optimization By Ratio Analysis)
  • VIKOR (VlseKriterijumska Optimizcija I Kaompromisno Resenje in Serbian)
  • AHP (Analytic Hierarchy Process)
  • DEA (Data Envelopment Analysis)
  • GRA (Grey Relational Analysis)
  • Non-dominated Sorting
  • SAW (Simple Additive Weighting) (aka WSM)
  • ARAS (Additive Ratio Assessment)
  • WPM (Weighted Product Model)
  • WASPAS (Weighted Aggregated Sum Product ASsessment)
  • EDAS (Evaluation based on Distance from Average Solution)
  • MARCOS (Measurement Alternatives and Ranking according to COmpromise Solution)
  • MABAC (Multi-Attributive Border Approximation area Comparison)
  • MAIRCA (Multi Attributive Ideal-Real Comparative Analysis)
  • COPRAS (COmplex PRoportional ASsessment)
  • PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluations)
  • CoCoSo (Combined Compromise Solution)
  • CRITIC (CRiteria Importance Through Inter-criteria Correlation)
  • Entropy
  • CODAS (COmbinative Distance-based ASsessment)

for MCDM tools, methods for single-criterion tools and other stuff for developing new methods.

An academic paper of the package is also published in Journal of Open Source Software. Here is the link: Paper link

Any contributions and issues are welcome!

10 Likes

We are happy to announce that v0.2.9 version of JMcDM has just been released with these updates:

  • entropy() returns a result even though there are NaNs for some criterion.
  • Default optimizer is now GLPK (Cbc removed).
  • Direction of optimization added for nds().
  • Bug in Moora fixed.
  • Bug in Marcos fixed.
  • Bug in Electre fixed.
  • New test added.
  • A Jupyter notebook added for sample usage.

Please use the package manager to update the package:

] update

or install:

] add JMcDM

Please cite using the paper if you use in your research.

Best.

6 Likes

Happy to announce that our package has tons of methods implemented in the study area and more research papers have started to cite Julia and the package JMcDM.

Today, we have registered the new patch release with new methods implemented.

Here is the list of the methods implemented:

  • AHP (Analytic Hierarchy Process)
  • ARAS (Additive Ratio Assessment)
  • CoCoSo (Combined Compromise Solution)
  • CODAS (COmbinative Distance-based ASsessment)
  • Copeland (For combining multiple ordering results)
  • COPRAS (COmplex PRoportional ASsessment)
  • CRITIC (CRiteria Importance Through Intercriteria Correlation)
  • DEA (Data Envelopment Analysis)
  • DEMATEL (The Decision Making Trial and Evaluation Laboratory)
  • EDAS (Evaluation based on Distance from Average Solution)
  • ELECTRE (Elimination and Choice Translating Reality)
  • Entropy
  • GRA (Grey Relational Analysis)
  • LMAW (Logarithm Methodology of Additive Weights)
  • LOPCOW (LOgarithmic Percentage Change-driven Objective Weighting)
  • MABAC (Multi-Attributive Border Approximation area Comparison)
  • MAIRCA (Multi Attributive Ideal-Real Comparative Analysis)
  • MARCOS (Measurement Alternatives and Ranking according to COmpromise Solution)
  • MEREC (MEthod based on the Removal Effects of Criteria) for determining weights
  • MOORA Ratio
  • MOORA Reference (Multi-Objective Optimization By Ratio Analysis)
  • MOOSRA (Multi-Objective Optimization on the basis of Simple Ratio Analysis) Method
  • Non-dominated Sorting
  • OCRA (Operational Competitiveness RAting)
  • PIV (Proximity Indexed Value) method
  • PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluations)
  • PSI (Preference Selection Index) Method
  • ROV (Range of Value) Method
  • SAW (Simple Additive Weighting) (aka WSM)
  • SD Method for determining weights of criteria
  • SECA (Simultaneous Evaluation of Criteria and Alternatives)
  • TOPSIS (Technique for Order Preference by Similarity to Ideal Solutions)
  • VIKOR (VlseKriterijumska Optimizcija I Kaompromisno Resenje in Serbian)
  • WASPAS (Weighted Aggregated Sum Product ASsessment)
  • WPM (Weighted Product Model)
  • TODIM (the Portuguese acronym for multicriteria, interactive decision-making)
  • CILOS (The Criterion Impact Loss Method)

For those who use multiple-criteria decision making tools in their research!

8 Likes