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
- Official source code repo: https://github.com/iamAnas-zzx/decision_making.git
- Official research paper: https://github.com/iamAnas-zzx/decision_making/tree/main/research_paper
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b24a8c32bae607a12447e9bc804253d1ec002944769a2e88b59af539090e715c
|
|
| MD5 |
d1aa0cee635fb7e6be354daead316d2b
|
|
| BLAKE2b-256 |
989bfd704ed4bd602f26dd818f8284f42742fd86817d4e7a7735ae8c8c4202e0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
015705ee1eeee195233f4a7db5180009aeb0e37b6e1486e5038b9992ae139257
|
|
| MD5 |
b375cf41656afa6884cc2124b503e3a1
|
|
| BLAKE2b-256 |
551b39b0a0d81087ba7aa9edab489c0c27ecb1a13b9e4a072f64b839b3f7c16d
|