Professional Documents
Culture Documents
SoftwareX
journal homepage: www.elsevier.com/locate/softx
article info a b s t r a c t
Article history: Decision-making is an integral part of life. Many situations require us to make rational choices among
Received 26 September 2022 numerous decision options. In addition, real-world problems are characterized by uncertainties that
Received in revised form 9 November 2022 hinder the entire process. Multi-Criteria Decision Analysis (MCDA) comes with help. Many evaluation
Accepted 15 November 2022
techniques have been developed along with fuzzy logic assumptions, classified as fuzzy MCDA tools.
Keywords: These methods allow efficient and effective evaluation of decision variants in an uncertain environ-
Fuzzy logic ment. Existing tools facilitate the work of these methods, but they are limited or not updated with
Uncertain data newly established technologies. Therefore, this article proposes the pyFDM (Python Fuzzy Decision
Python Making): a new Python 3 software library to facilitate calculations using methods that operate on
Triangular fuzzy numbers uncertain data. In addition to evaluation methods, various techniques for normalization, defuzzification,
Fuzzy Decision Making distance measure, or objective criteria weighting are also included. It provides a comprehensive set of
tools for using available techniques to perform calculations in this field. The operation of the proposed
library is demonstrated through two practical examples. The first is directed to selecting the most
appropriate stock, while the second is devoted to the ERP system selection firms. The presented
examples show that the implemented library can be effectively used for fuzzy decision-making
problems based on Triangular Fuzzy Numbers. The modular structure allows the interchangeable use
of available methods, making the tool a comprehensive environment for calculations in this area.
© 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license
(http://creativecommons.org/licenses/by/4.0/).
Code metadata
Software metadata
∗ Corresponding author.
E-mail address: wojciech.salabun@zut.edu.pl (Wojciech Sałabun).
https://doi.org/10.1016/j.softx.2022.101271
2352-7110/© 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
Jakub Więckowski, Bartłomiej Kizielewicz and Wojciech Sałabun SoftwareX 20 (2022) 101271
The pyFDM library is a tool that provides fuzzy MCDA meth- 2.2. Software functionalities
ods, objective weighting methods, normalization methods,
defuzzification methods, distance metrics, and correlation coeffi- To pyFDM was created as a comprehensive tool covering the
cients. Moreover, there are placed helper methods and a validator main functionalities of the multi-criteria assessment in the fuzzy
to verify the correctness of the input parameters given by the environment based on the Triangular Fuzzy Numbers. It enables
to use of features like:
user. The tool modules are described as follows:
• Evaluating decision variants when their characteristics can-
• methods: this module contains ten fuzzy MCDA methods
not be represented as the crisp value
based on the Triangular Fuzzy Numbers, namely (1) fuzzy
• Calculating the alternative preference values based on se-
ARAS (fARAS), (2) fuzzy CODAS (fCODAS), (3) fuzzy COR-
lected fuzzy MCDA method with Triangular Fuzzy Number
PAS (fCOPRAS), (4) fuzzy EDAS (fEDAS), (5) fuzzy MABAC
extension
(fMABAC), (6) fuzzy MAIRCA (fMAIRCA), (7) fuzzy MOORA
• Selecting the different metrics responsible for normaliza-
(fMOORA), (8) fuzzy OCRA (fOCRA), (9) fuzzy TOPSIS tion, distance calculation, or defuzzification
(fTOPSIS), (10) fuzzy VIKOR (fVIKOR) • Calculating the weights with the given objective weighting
• weights: four objective weighting methods was provided: method operating in the fuzzy environment
(1) Equal (equal_weights), • Establishing the similarity of the results with selected cor-
(2) Shannon entropy (shannon_entropy_weights), (3) relation coefficients
Standard deviation (standard_deviation_weights), (4) • Calculating the positional ranking based on the preference
Variance (variance_weights) values
• normalizations: to provide comprehensive tool for initial • Determinating the random Triangular Fuzzy Number deci-
data manipulation, this module provides six normalization sion matrix that can be used especially for research pur-
methods, namely: poses to examine the generalized performance of this fuzzy
(1) Sum (sum_normalization), extension
(2) Max (max_normalization), • Testing performance of different combinations of the avail-
(3) Linear (linear_normalization), able methods changing them modularly
3
Jakub Więckowski, Bartłomiej Kizielewicz and Wojciech Sałabun SoftwareX 20 (2022) 101271
Table 1
Decision matrix for Example 1.
C1 C2 C3
A1 (3, 4, 5) (4, 5, 6) (8, 9, 9)
A2 (6, 7, 8) (4, 5, 6) (1, 2, 3)
A3 (5, 6, 7) (2, 3, 4) (3, 4, 5)
A4 (8, 9, 9) (2, 3, 4) (2, 3, 4)
A5 (7, 8, 9) (7, 8, 9) (5, 6, 7)
Weight 0.394 0.084 0.522
Type Cost Profit Profit
Table 2
Rankings calculated with different fuzzy MCDA methods for Example 1.
fARAS fCODAS fCOPRAS fEDAS fMABAC fMAIRCA fMOORA fOCRA fTOPSIS fVIKOR
A1 1 1 1 1 1 1 1 1 1 1
A2 4 4 4 4 4 4 4 5 5 4
A3 3 3 3 3 3 3 5 3 3 3
A4 5 5 5 5 5 5 4 4 4 5
A5 2 2 2 2 2 2 2 2 2 2
Table 3
Decision matrix for Example 2.
Ai C1 C2 C3 C4 C5
A1 (0.6, 0.8, 1.0) (0.6, 0.8, 1.0) (0.4, 0.6, 0.8) (0.2, 0.4, 0.6) (0.8, 1.0, 1.0)
A2 (0.4, 0.6, 0.8) (0.6, 0.8, 1.0) (0.4, 0.6, 0.8) (0.8, 1.0, 1.0) (0.2, 0.4, 0.6)
A3 (0.8, 1.0, 1.0) (0.4, 0.6, 0.8) (0.6, 0.8, 1.0) (0.0, 0.2, 0.4) (0.0, 0.2, 0.4)
A4 (0.2, 0.4, 0.6) (0.4, 0.6, 0.8) (0.4, 0.6, 0.8) (0.6, 0.8, 1.0) (0.4, 0.6, 0.8)
Weight 0.364 0.271 0.203 0.093 0.068
Type Cost Profit Profit Profit Profit
5. Conclusions
Data availability [22] Emovon I, Okpako OS, Edjokpa E. Application of fuzzy MOORA method in
the design and fabrication of an automated hammering machine. World J
Eng 2020.
No data was used for the research described in the article.
[23] Kizielewicz B, Bączkiewicz A. Comparison of Fuzzy TOPSIS, Fuzzy VIKOR,
Fuzzy WASPAS and Fuzzy MMOORA methods in the housing selection
Acknowledgment problem. Procedia Comput Sci 2021;192:4578–91.
[24] Matawale CR, Datta S, Mahapatra S. Supplier selection in agile supply
The work was supported by the National Science Centre, chain: Application potential of FMLMCDM approach in comparison with
Fuzzy-TOPSIS and Fuzzy-MOORA. Benchmarking Int J 2016.
Poland, Decision number 2018/29/B/HS4/02725 (J.W., B.K. and [25] Petrović G, Mihajlović J, Ćojbašić Ž, Madić M, Marinković D. Comparison
W.S.). of three fuzzy MCDM methods for solving the supplier selection problem.
Facta Univ Ser Mech Eng 2019;17(3):455–69.
References [26] Bikmukhamedov R, Yeryomin Y, Seitz J. Evaluation of MCDA-based han-
dover algorithms for mobile networks. In: 2016 eighth international
conference on ubiquitous and future networks. ICUFN, IEEE; 2016, p.
[1] Liao H, Jiang L, Xu Z, Xu J, Herrera F. A linear programming method for
810–5.
multiple criteria decision making with probabilistic linguistic information.
[27] Sałabun W, Wątróbski J, Shekhovtsov A. Are MCDA Methods Benchmark-
Inform Sci 2017;415:341–55.
able? A Comparative Study of TOPSIS, VIKOR, COPRAS, and PROMETHEE II
[2] Mühlbacher AC, Kaczynski A. Making good decisions in healthcare with
Methods. Symmetry 2020;12(9):1549.
multi-criteria decision analysis: The use, current research and future
[28] Banaeian N, Mobli H, Fahimnia B, Nielsen IE, Omid M. Green supplier
development of MCDA. Appl Health Econ Health Policy 2016;14(1):
selection using fuzzy group decision making methods: A case study from
29–40.
the agri-food industry. Comput Oper Res 2018;89:337–47.
[3] Frazão TD, Camilo DG, Cabral EL, Souza RP. Multicriteria decision analysis
[29] Rusdiana U, Ernawati I, Falih N, Arista A. Comparison of distance metrics
(MCDA) in health care: a systematic review of the main characteristics and
on fuzzy C-means algorithm through customer segmentation. In: 2021 in-
methodological steps. BMC Med Inform Decis Mak 2018;18(1):1–16.
ternational conference on informatics, multimedia, cyber and information
[4] Kizielewicz B, Wątróbski J, Sałabun W. Identification of relevant crite-
system (ICIMCIS). IEEE; 2021, p. 307–11.
ria set in the MCDA process—Wind farm location case study. Energies
[30] Lin S-S, Shen S-L, Zhang N, Zhou A. Comprehensive environmental impact
2020;13(24):6548.
evaluation for concrete mixing station (CMS) based on improved TOPSIS
[5] de Souza Melaré AV, González SM, Faceli K, Casadei V. Technologies and
method. Sustainable Cities Soc 2021;69:102838.
decision support systems to aid solid-waste management: a systematic
[31] Tang C, Xu D, Chen N. Sustainability prioritization of sewage sludge to
review. Waste Manage 2017;59:567–84.
energy scenarios with hybrid-data consideration: a fuzzy decision-making
[6] Maghsoodi AI, Kavian A, Khalilzadeh M, Brauers WK. CLUS-MCDA: A novel
framework based on full consistency method and fusion ranking model.
framework based on cluster analysis and multiple criteria decision theory
Environ Sci Pollut Res 2021;28(5):5548–65.
in a supplier selection problem. Comput Ind Eng 2018;118:409–22.
[32] Duminy N. Package for multi-criteria decision analysis. 2021, https://pypi.
[7] Ulutaş A, Balo F, Sua L, Demir E, Topal A, Jakovljević V. A new integrated
org/project/mcda//. [Online; accessed 08-July-2022].
grey MCDM model: Case of warehouse location selection. Facta Univ Ser
[33] Meyer P, Bigaret S. Diviz: A software for modeling, processing and sharing
Mech Eng 2021.
algorithmic workflows in MCDA. Intell Decis Technol 2012;6(4):283–96.
[8] Youssef MI, Webster B. A multi-criteria decision making approach to
[34] Wątróbski J, Bączkiewicz A, Sałabun W. pyrepo-mcda—Reference objects
the new product development process in industry. Rep Mech Eng
based MCDA software package. SoftwareX 2022;19:101107.
2022;3(1):83–93.
[35] Dabbagh N, Fake H. Tech select decision aide: A mobile application to facil-
[9] Dell’Ovo M, Capolongo S, Oppio A. Combining spatial analysis with MCDA
itate just-in-time decision support for instructional designers. TechTrends
for the siting of healthcare facilities. Land Use Policy 2018;76:634–44.
2017;61(4):393–403.
[10] Barajas A, Castro-Limeres O, Gasparetto T. Application of MCDA to evaluate
[36] Wiȩckowski J. PyFDM library package repository. 2022, https://github.com/
financial fair play and financial stability in European football clubs. J. Sports
jwieckowski/pyfdm. [Online; accessed 26-September-2022].
Econ Manage 2017;7(3):143–64.
[37] Wiȩckowski J. PyFDM library documentation. 2022, https://pyfdm.
[11] Regier DA, Peacock S. Theoretical foundations of MCDA. In: Multi-
readthedocs.io/en/latest/. [Online; accessed 26-September-2022].
criteria decision analysis to support healthcare decisions. Springer; 2017,
[38] Fu Y-K, Wu C-J, Liao C-N. Selection of in-flight duty-free product suppliers
p. 9–28.
using a combination fuzzy AHP, fuzzy ARAS, and MSGP methods. Math
[12] Stewart TJ. Dealing with uncertainties in MCDA. In: Multiple criteria
Probl Eng 2021;2021.
decision analysis: state of the art surveys. Springer; 2005, p. 445–66.
[39] Panchal D, Chatterjee P, Shukla RK, Choudhury T, Tamosaitiene J. Integrated
[13] Lootsma FA. Fuzzy logic for planning and decision making. vol. 8, Springer
Fuzzy AHP-Codas Framework for Maintenance Decision in Urea Fertilizer
Science & Business Media; 2013.
Industry. Econ Comput Econ Cybern Stud Res 2017;51(3).
[14] Chen S-M. Fuzzy system reliability analysis using fuzzy number arithmetic
[40] Dhiman HS, Deb D. Fuzzy TOPSIS and fuzzy COPRAS based multi-criteria
operations. Fuzzy Sets and Systems 1994;64(1):31–8.
decision making for hybrid wind farms. Energy 2020;202:117755.
[15] Kumar R, Khepar J, Yadav K, Kareri E, Alotaibi SD, Viriyasitavat W, et al.
[41] Zindani D, Maity SR, Bhowmik S. Fuzzy-EDAS (evaluation based on distance
A Systematic Review on Generalized Fuzzy Numbers and Its Applications:
from average solution) for material selection problems. In: Advances in
Past, Present and Future. Arch Comput Methods Eng 2022;1–24.
computational methods in manufacturing. Springer; 2019, p. 755–71.
[16] Chen F, Chen Y, Zhou J, Liu Y. Optimizing h value for fuzzy linear
[42] Bozanic D, Tešić D, Milićević J. A hybrid fuzzy AHP-MABAC model:
regression with asymmetric triangular fuzzy coefficients. Eng Appl Artif
Application in the Serbian Army–The selection of the location for deep
Intell 2016;47:16–24.
wading as a technique of crossing the river by tanks. Decis Mak Appl
[17] Pelissari R, Oliveira MC, Abackerli AJ, Ben-Amor S, Assumpção MRP. Tech-
Manag Eng 2018;1(1):143–64.
niques to model uncertain input data of multi-criteria decision-making
[43] Boral S, Howard I, Chaturvedi SK, McKee K, Naikan VNA. An integrated
problems: a literature review. Int Trans Oper Res 2021;28(2):523–59.
approach for fuzzy failure modes and effects analysis using fuzzy AHP and
[18] Yatsalo B, Radaev A, Martínez L. From MCDA to fuzzy MCDA: Presump-
fuzzy MAIRCA. Eng Fail Anal 2020;108:104195.
tion of model adequacy or is every fuzzification of an mCDA method
[44] Karande P, Chakraborty S. A Fuzzy-MOORA approach for ERP system
justified? Inform Sci 2022;587:371–92.
selection. Decis Sci Lett 2012;1(1):11–21.
[19] Dhanalakshmi CS, Mathew M, Madhu P. Biomass material selection for
[45] Ulutas A. Supplier selection by using a fuzzy integrated model for a textile
sustainable environment by the application of multi-objective optimiza-
company. Eng Econ 2019;30(5):579–90.
tion on the basis of ratio analysis (MOORA). In: Materials, design, and
[46] Chen C-T. Extensions of the TOPSIS for group decision-making under fuzzy
manufacturing for sustainable environment. Springer; 2021, p. 345–54.
environment. Fuzzy Sets and Systems 2000;114(1):1–9.
[20] Babashamsi P, Golzadfar A, Yusoff NIM, Ceylan H, Nor NGM. Integrated
[47] Opricovic S. A fuzzy compromise solution for multicriteria problems. Int J
fuzzy analytic hierarchy process and VIKOR method in the prioritiza-
Uncertain Fuzziness Knowl-Based Syst 2007;15(03):363–80.
tion of pavement maintenance activities. Int J Pavement Res Technol
[48] Narang M, Joshi M, Pal A. A hybrid fuzzy COPRAS-base-criterion method
2016;9(2):112–20.
for multi-criteria decision making. Soft Comput 2021;25(13):8391–9.
[21] Zyoud SH, Fuchs-Hanusch D. A bibliometric-based survey on AHP and
TOPSIS techniques. Expert Syst Appl 2017;78:158–81.