Multi criteria decision making with python
Project description
Decipy
Multi-Criteria Decision Making Methods library
Installation
$ pip install decipy
or
$ pip install git+https://github.com/justsasri/decipy.git#egg=decipy
MCDM Ranking
import numpy as np
import pandas as pd
from decipy import executors as exe
# define matrix
matrix = np.array([
[4, 3, 2, 4],
[5, 4, 3, 7],
[6, 5, 5, 3],
])
# alternatives
alts = ['A1', 'A2', 'A3']
# criterias
crits = ['C1', 'C2', 'C3', 'C4']
# criteria's beneficial values, True for benefit or False for cost
beneficial = [True, True, True, True]
# criteria's weights
weights = [0.10, 0.20, 0.30, 0.40]
# define DataFrame
xij = pd.DataFrame(matrix, index=alts, columns=crits)
# create Executor (MCDM Method implementation)
kwargs = {
'data': xij,
'beneficial': beneficial,
'weights': weights,
'rank_reverse': True,
'rank_method': "ordinal"
}
# Build MCDM Executor
wsm = exe.WSM(**kwargs) # Weighted Sum Method
topsis = exe.Topsis(**kwargs) # Topsis
vikor = exe.Vikor(**kwargs) # Vikor
# show results
print("WSM Ranks")
print(wsm.dataframe)
print("TOPSIS Ranks")
print(topsis.dataframe)
print("Vikor Ranks")
print(vikor.dataframe)
# How to choose best MCDM Method ?
# Instantiate Rank Analizer
analizer = exe.RankSimilarityAnalyzer()
# Add MCDMs to anlizer
analizer.add_executor(wsm)
analizer.add_executor(topsis)
analizer.add_executor(vikor)
# run analizer
results = analizer.analyze()
print(results)
references
- Triantaphyllou, E., Mann, S.H. 1989. "An Examination of The Effectiveness of Multi-dimensional Decision-making Methods: A Decision Making Paradox." Decision Support Systems (5(3)): 303–312.
- Chakraborty, S., and C.H. Yeh. 2012. "Rank Similarity based MADM Method Selection." International Conference on Statistics in Science, Business and Engineering (ICSSBE2012)
- Brauers, Willem K., and Edmundas K. Zavadskas. 2009. "Robustness of the multi‐objective MOORA method with a test for the facilities sector." Ukio Technologinisir Ekonominis (15:2): 352-375.
- Hwang, C.L., and K. Yoon. 1981. "Multiple attribute decision making, methods and applications." Lecture Notes in Economics and Mathematical Systems(Springer-Verlag) 186
- Yoon, K.P. and Hwang, C.L., “Multiple Attribute Decision Making: An Introduction”, SAGE publications, London, 1995.
- ÇELEN, Aydın. 2014. "Comparative Analysis of Normalization Procedures in TOPSIS Method: With an Application to Turkish Deposit Banking Market." INFORMATICA 25 (2): 185–208
- “Ranking”, http://en.wikipedia.org/wiki/Ranking
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
decision-python-0.0.1.tar.gz
(47.1 kB
view details)
Built Distribution
File details
Details for the file decision-python-0.0.1.tar.gz
.
File metadata
- Download URL: decision-python-0.0.1.tar.gz
- Upload date:
- Size: 47.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14ec3af59d4b94c05991c428d269e5023558fd49a330392c3fe2e8d0c970d91c |
|
MD5 | 673997f7b90ff1dfea7032fc54cd8e44 |
|
BLAKE2b-256 | c2a7164a59b2fce756fc77da6249768c472843ae494c9776962ad7a4a15f0140 |
File details
Details for the file decision_python-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: decision_python-0.0.1-py3-none-any.whl
- Upload date:
- Size: 59.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bc5bf206cd7d9702c7cba298a2d6af4d632170dc9d68925cde69a23fa9e2e09 |
|
MD5 | 34639b4d2ddf11d074095808b681ff88 |
|
BLAKE2b-256 | 27e9fc7741cb90232be3bcd78ac33d5c8282826b3d3f1e5e9db06171c7149cef |