Skip to main content

A Python Package for Fuzzy Logic Technique in MCDM.

Project description

Decision_Making

Description

decision_making is a Python 3 library for solving Fuzzy-Multi Criteria Decision Making (Fuzzy-MCDM) problems.

The implementation of fuzzy logic in MCDM techniques has enhanced capabilities, allowing users to provide assessments not only in discrete values but also in linguistic forms that include ranges. Through this, we can assess multiple result without having the need to have complete conformity.

Link for documnents and research paper: docxdecison-making


Table of Contents


Installation

Requirements

decision_making requires:

  • Python (>= 3.12.1)
  • NumPy (>= 1.26.4)
  • SciPy (>= 1.13.0)
  • Pandas (>= 2.2.2)

User installation

You can simply download and install decision_making by:

pip install decision_making

Important Links


Available Methods

The library conatins methods with there docx links:

Acronym Method Name Links
AHP Analytic Hierarchy Process Link
TOPSIS Technique for the Order of Prioritisation by Similarity to Ideal Solution Link
COPRAS Complex Proportional Assessment Link
Fuzzy-AHP Fuzzy - Analytic Hierarchy Process Link
Fuzzy-TOPSIS Fuzzy - Technique for the Order of Prioritisation by Similarity to Ideal Solution Link
Fuzzy-COPRAS Fuzzy - Complex Proportional Assessment Link

Usage

Here's a example of how use this library to solve AHP problem. For more examples on how to use different methods with explanation see the docx of methods.

    #importing necessary requirements
    import numpy as np
    from decision_making import ahp
    '''
    Here I provide the criteria names and alternative names
    The order is strict so please provide list of strings
    '''
    criteria_names=["Experience", "Education", "Charisma", "Age"]
    alternative_names=["Tom", "Rick", "Harry"]

    '''
    The data provided is in the form of comparision between two terms.
    In the example we have 4 matrix where the comparision between alternatives is made using a specific criteria.
    They are stacked in a 3d tensor so that more parallelism operations can be achieved.
    And we have a criteria comparision matrix where the comparision between criterias is made.(This can also contain weights in 1d numpy array)
    '''
    criteria1 = np.array([[1,1/4,4],
    [4,1,9],[1/4,1/9,1]])
    criteria2 = np.array([[1,3,1/5],
    [1/3,1,1/7],[5,7,1]])
    criteria3 = np.array([[1,5,9],
    [1/5,1,4],[1/9,1/4,1]])
    criteria4 = np.array([[1,1/3,5],
    [3,1,9],[1/5,1/9,1]])

    # list of matrix containing alternative to alternative comparision 
    # for every single criteria
    matrix_per_criteria=np.array([criteria1, criteria2, criteria3, criteria4]) 
    
    # criteria comparison matrix
    criteria_comparison=np.array([[1,4,3,7], [1/4,1,1/3,3], [1/3,3,1,5],[1/7,1/3,1/5,1]])
    
    # Evaluting and getting answer
    ahp(criteria_names,alternative_names,matrix_per_criteria,criteria_comparison,
    print_weight_matrix=True)

    # Alternatively creating an object
    a = ahp(criteria_names, alternative_names, matrix_per_criteria, criteria_comparison,
    print_weight_matrix=True)

Features

Here's an example of additional features of this library are: For more examples on how to use additional features with explanation see the docx of methods.

    # After creating an object for a particular methods 
    # we can check different attributes to analyze the procedure of the method
    a = ahp(criteria_names, alternative_names, matrix_per_criteria, criteria_comparison,
    print_weight_matrix=True)

    # different attributes are-
    a.normalized_unweighted_matrix

    a.weighted_matrix

    a.most_suitable_alternative

    a.rank_array

Credits

List of our collaborators:


References

[1] P. Audebert, P. Hapiot, J. Electroanal. Chem. 361 (1993) 177.

[2] Giorgio Nordo, Saeid Jafari, Arif Mehmood and Bhimraj Basumatary (2024), A Python Framework f¬or Neutrosophic Sets and Mappings.

[3] Haitham A. El-Ghareeb (2019), Novel Open Source Python Neutrosophic Package.

[4] Bartłomiej Kizielewicz, Andrii Shekhovtsov , Wojciech Sałabun (2023), pymcdm—The universal library for solving multi-criteria decision-making problems.

[5] Rakesh Ranjan Kumar, Siba Mishra, Chiranjeev Kumar(2017), Prioritizing the solution of cloud service selection using integrated MCDM methods under Fuzzy environment.

[6] Sudha.S, Edwin Deepak F.X, Nivetha Martin(2023), Integrated Machine Learning Algorithms and MCDM Techniques in Optimal Ranking of Battery Electric Vehicles

[7] Alaa Alden Al Mohamed, Sobhi Al Mohamed and Moustafa Zino (2023), Application of fuzzy multicriteria decision-making model in selecting pandemic hospital site.

[8] İhsan Kayaa, Murat Çolakb , Fulya Terzi (2019), A comprehensive review of fuzzy multi criteria decision making methodologies for energy policy making.

[9] Zhang, Y.J.; Sun, Y.F.; Huang, J(2018), Energy efficiency, carbon emission performance, and technology gaps: Evidence from CDM project investment.

[10] Javed, M.S.; Ma, T.; Jurasz, J.; Canales, F.A.; Lin, S.; Ahmed, S.; Zhang, Y(2021). Economic analysis and optimization of a renewable energy based power supply system with different energy storages for a remote island. Renew.

[11] Dutta, P.; Jaikumar, B.; Arora(2021), M.S. Applications of data envelopment analysis in supplier selection between 2000 and 2020: A literature review. Ann. Oper. Res 315, 1399–1454.

[12] Kiritsis D., Bufardi A., Xirouchakis P(2003). Multi-criteria decision aid for product end of life options selection. IEEE international symposium on electronics and the environment; IEEE; pp. 48–53.

[13] Sayadi M.K., Heydari M., Shahanaghi K (2009). Extension of VIKOR method for decision making problem with interval numbers. Appl Math Model. 2009;33(5):2257–2262. doi: 10.1016/j.apm.2008.06.002.

[14] Jadidi O., Hong T.S., Firouzi F., Yusuff R.M. (2008): An Optimal Grey Based Approach Based on TOPSIS Concept for Supplier Selection Problem. “International Journal of Management Science and Engineering Management”, Vol. 4, No. 2, pp. 104-117.

[15] Łuczak A., Wysocki F. (2006): Rozmyta wielokryterialna metoda porządkowania liniowego obiektów. Taksonomia 13, Prace Naukowe, Wydawnictwo Akademii Ekonomicznej, Wrocław, pp. 148-157.

[16] Shih H.S., Shyur H.J., Lee E.S. (2007): An Extension of TOPSIS for Group Decision Making. “Mathematical and Computer Modelling”, Vol. 45, pp. 801-813.


License

Copyright (c) 2024 decision_making

The project is license under the terms of the MIT License(MIT).

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decision_making-1.0.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

decision_making-1.0-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file decision_making-1.0.tar.gz.

File metadata

  • Download URL: decision_making-1.0.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for decision_making-1.0.tar.gz
Algorithm Hash digest
SHA256 b24a8c32bae607a12447e9bc804253d1ec002944769a2e88b59af539090e715c
MD5 d1aa0cee635fb7e6be354daead316d2b
BLAKE2b-256 989bfd704ed4bd602f26dd818f8284f42742fd86817d4e7a7735ae8c8c4202e0

See more details on using hashes here.

File details

Details for the file decision_making-1.0-py3-none-any.whl.

File metadata

  • Download URL: decision_making-1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for decision_making-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 015705ee1eeee195233f4a7db5180009aeb0e37b6e1486e5038b9992ae139257
MD5 b375cf41656afa6884cc2124b503e3a1
BLAKE2b-256 551b39b0a0d81087ba7aa9edab489c0c27ecb1a13b9e4a072f64b839b3f7c16d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page