Package: pyfdm
pyfdmPython 3 package with Fuzzy Decision Making (PyFDM) methods based on Triangular Fuzzy Numbers (TFN)InstallationThe package can be download using pip:pipinstallpyfdmTestingThe modules performance can be verified with pytest librarypipinstallpytest
pytesttestsCitationsIf you are using this library in your research work to calculate results with Fuzzy MCDA approach, cite with APA format :"Więckowski, J., Kizielewicz, B., & Sałabun, W. (2022). pyFDM: A Python library for uncertainty decision analysis methods. SoftwareX, 20, 101271."or with BibTex :@article{wikeckowski2022pyfdm,title={pyFDM: A Python library for uncertainty decision analysis methods},author={Wi{\k{e}}ckowski, Jakub and Kizielewicz, Bart{\l}omiej and Sa{\l}abun, Wojciech},journal={SoftwareX},volume={20},pages={101271},year={2022},publisher={Elsevier}}Modules and functionalitiesFuzzy MCDA methods:AbbreviationFull nameReferenceARASAdditive Ratio ASsessment[1]COCOSOCombined Compromise Solution[32]CODASCOmbinative Distance-based ASsessment[2]COPRASCOmplex PRoportional ASsessment[3]EDASEvaluation based on Distance from Average Solution[4]MABACMulti-Attributive Border Approximation area Comparison[5]MAIRCAMultiAttributive Ideal-Real Comparative Analysis[6]MOORAMulti-Objective Optimization Method by Ratio Analysis[7]OCRAOperational Competitiveness Ratings[8]SPOTISStable Preference Ordering Towards Ideal Solution[25]TOPSISTechnique for the Order of Prioritisation by Similarity to Ideal Solution[9]VIKORVIseKriterijumska Optimizacija I Kompromisno Resenje[10]WASPASWeighted Aggregated Sum Product Assessment[26]WPMWeighted Product Model[27]WSMWeighted Sum Model[27]Weighting methods:NameReferenceEqual weights[11]Shannon entropy weights[12]Standard deviation weights[13]Variance weights[14]Normalization methods:NameReferenceCOCOSO Normalization[32]Linear Normalization[15]Max Normalization[2]Min-Max Normalization[5]SAW Normalization[3],[24]Sum Normalization[1]Sqrt Normalization[31]Vector Normalization[7]WASPAS Normalization[26]Defuzzification methods:NameReferenceBisector defuzzification[29]Graded mean average defuzzification[4]Height defuzzification[29]Largest of Maximum defuzzification[29]Mean defuzzification[16][17]Mean area defuzzification[15]Smallest of Maximum defuzzification[29]Weighted mean defuzzification[10]Distance measures:NameReferenceCanberra distance[30]Chebyshev distance[30]Euclidean distance[18]Hamming distance[19]Mahdavi distance[18]L-R distance[19]Tran Duckstein distance[19]Vertex distance[15]Weighted Euclidean distance[15]Weighted Hamming distance[15]Correlation coefficients:NameReferencePearson correlation coefficient[21]Spearman correlation coefficient[20]Weighted Spearman correlation coefficient[22]WS Rank Similarity coefficient[23]Triangular Fuzzy Number[28]:Functionality nameAdditionSubtractionsMultiplicationDivisionAbsolute valueEqualityLess equal comparisonGreater equal comparisonRound valueMembership functionCentroidCoreInclusionS-norm operatorT-norm operatorGraphs:Functionality nameMultiple TFNs plotSingle TFN plotS-norm operator plotT-norm operator plotTFN criteria plotTFN membership plotHelpers methodsrankgenerate_fuzzy_matrixUsage exampleBelow the sample example of the package functionalities is presented.
More usage examples of available methods are presented inJupyter examples.frompyfdm.methodsimportfARASimportnumpyasnpif__name__=='__main__':matrix=np.array([[[5,7,9],[5,7,9],[7,9,9]],[[1,3,5],[3,5,7],[3,5,7]],[[1,1,3],[1,3,5],[1,3,5]],[[7,9,9],[7,9,9],[7,9,9]]])weights=np.array([[5,7,9],[7,9,9],[3,5,7]])types=np.array([1,-1,1])f_aras=fARAS()pref=f_aras(matrix,weights,types)print(f'Fuzzy ARAS preferences:{pref}')print(f'Fuzzy ARAS ranking:{f_aras.rank()}')Output:FuzzyARASpreferences:1.0110.8541.3120.993
FuzzyARASranking:2413References[1]Fu, Y. K., Wu, C. J., & Liao, C. N. (2021). Selection of in-flight duty-free product suppliers using a combination fuzzy AHP, fuzzy ARAS, and MSGP methods. Mathematical Problems in Engineering, 2021.[2]Panchal, D., Chatterjee, P., Shukla, R. K., Choudhury, T., & Tamosaitiene, J. (2017). Integrated Fuzzy AHP-Codas Framework for Maintenance Decision in Urea Fertilizer Industry. Economic Computation & Economic Cybernetics Studies & Research, 51(3).[3]Narang, M., Joshi, M. C., & Pal, A. K. (2021). A hybrid fuzzy COPRAS-base-criterion method for multi-criteria decision making. Soft Computing, 25(13), 8391-8399.[4]Zindani, D., Maity, S. R., & Bhowmik, S. (2019). Fuzzy-EDAS (evaluation based on distance from average solution) for material selection problems. In Advances in Computational Methods in Manufacturing (pp. 755-771). Springer, Singapore.[5]Bozanic, D., Tešić, D., & Milićević, J. (2018). A hybrid fuzzy AHP-MABAC model: Application in the Serbian Army–The selection of the location for deep wading as a technique of crossing the river by tanks. Decision Making: Applications in Management and Engineering, 1(1), 143-164.[6]Boral, S., Howard, I., Chaturvedi, S. K., McKee, K., & Naikan, V. N. A. (2020). An integrated approach for fuzzy failure modes and effects analysis using fuzzy AHP and fuzzy MAIRCA. Engineering Failure Analysis, 108, 104195.[7]Karande, P., & Chakraborty, S. (2012). A Fuzzy-MOORA approach for ERP system selection. Decision Science Letters, 1(1), 11-21.[8]ULUTAŞ, A. (2019). Supplier selection by using a fuzzy integrated model for a textile company. Engineering Economics, 30(5), 579-590.[9]Chen, C. T. (2000). Extensions of the TOPSIS for group decision-making under fuzzy environment. Fuzzy sets and systems, 114(1), 1-9.[10]Opricovic, S. (2007). A fuzzy compromise solution for multicriteria problems. International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, 15(03), 363-380.[11]Iskander, M. G. (2002). Comparison of fuzzy numbers using possibility programming: comments and new concepts. Computers & Mathematics with Applications, 43(6-7), 833-840.[12]Kacprzak, D. (2017). Objective weights based on ordered fuzzy numbers for fuzzy multiple criteria decision-making methods. Entropy, 19(7), 373.[13]Wang, Y. M., & Luo, Y. (2010). Integration of correlations with standard deviations for determining attribute weights in multiple attribute decision making. Mathematical and Computer Modelling, 51(1-2), 1-12.[14]Bikmukhamedov, R., Yeryomin, Y., & Seitz, J. (2016, July). Evaluation of MCDA-based handover algorithms for mobile networks. In 2016 Eighth International Conference on Ubiquitous and Future Networks (ICUFN) (pp. 810-815). IEEE.[15]Roszkowska, E., & Wachowicz, T. (2015). Application of fuzzy TOPSIS to scoring the negotiation offers in ill-structured negotiation problems. European Journal of Operational Research, 242(3), 920-932.[16]Yılmaz, M., & Atan, T. (2021). Hospital site selection using fuzzy EDAS method: case study application for districts of Istanbul. Journal of Intelligent & Fuzzy Systems, (Preprint), 1-12.[17]Zolfani, S. H., Görçün, Ö. F., & Küçükönder, H. (2021). Evaluating logistics villages in Turkey using hybrid improved fuzzy SWARA (IMF SWARA) and fuzzy MABAC techniques. Technological and Economic Development of Economy, 27(6), 1582-1612.[18]Wang, H., Lu, X., Du, Y., Zhang, C., Sadiq, R., & Deng, Y. (2017). Fault tree analysis based on TOPSIS and triangular fuzzy number. International journal of system assurance engineering and management, 8(4), 2064-2070.[19]Talukdar, P., & Dutta, P. A Comparative Study of TOPSIS Method via Different Distance Measure.[20]Spearman, C. (1910). Correlation calculated from faulty data. British Journal of Psychology, 1904‐1920, 3(3), 271-295.[21]Pearson, K. (1895). VII. Note on regression and inheritance in the case of two parents. proceedings of the royal society of London, 58(347-352), 240-242.[22]Dancelli, L., Manisera, M., & Vezzoli, M. (2013). On two classes of Weighted Rank Correlation measures deriving from the Spearman’s ρ. In Statistical Models for Data Analysis (pp. 107-114). Springer, Heidelberg.[23]Sałabun, W., & Urbaniak, K. (2020, June). A new coefficient of rankings similarity in decision-making problems. In International Conference on Computational Science (pp. 632-645). Springer, Cham.[24]Saifullah, S. (2021). Fuzzy-AHP approach using Normalized Decision Matrix on Tourism Trend Ranking based-on Social Media. arXiv preprint arXiv:2102.04222.[25]Shekhovtsov, A., Paradowski, B., Więckowski, J., Kizielewicz, B., & Sałabun, W. (2022, December). Extension of the SPOTIS method for the rank reversal free decision-making under fuzzy environment. In 2022 IEEE 61st Conference on Decision and Control (CDC) (pp. 5595-5600). IEEE.[26]Turskis, Z., Zavadskas, E. K., Antuchevičienė, J., & Kosareva, N. (2015). A hybrid model based on fuzzy AHP and fuzzy WASPAS for construction site selection.[27]Triantaphyllou, E., & Lin, C. T. (1996). Development and evaluation of five fuzzy multiattribute decision-making methods. international Journal of Approximate reasoning, 14(4), 281-310.[28]Sudha, T., & Jayalalitha, G. (2020, July). Fuzzy triangular numbers in-Sierpinski triangle and right angle triangle. In Journal of Physics: Conference Series (Vol. 1597, No. 1, p. 012022). IOP Publishing.[29]Berkachy, R., & Donzé, L. (2016). Linguistic questionnaire evaluation: an application of the signed distance defuzzification method on different fuzzy numbers. The impact on the skewness of the output distributions. International Journal of Fuzzy Systems and Advanced Applications, 3, 12-19.[30]Rodrigues, É. O. (2018). Combining Minkowski and Chebyshev: New distance proposal and survey of distance metrics using k-nearest neighbours classifier. Pattern Recognition Letters, 110, 66-71.[31]Kizielewicz, B., & Bączkiewicz, A. (2021). Comparison of Fuzzy TOPSIS, Fuzzy VIKOR, Fuzzy WASPAS and Fuzzy MMOORA methods in the housing selection problem. Procedia Computer Science, 192, 4578-4591.[32]Ulutaş, A., Popovic, G., Radanov, P., Stanujkic, D., & Karabasevic, D. (2021). A new hybrid fuzzy PSI-PIPRECIA-CoCoSo MCDM based approach to solving the transportation company selection problem. Technological and Economic Development of Economy, 27(5), 1227-1249.