Python library for Multi-Criteria Decision Analysis.
Project description
pyrepo-mcda
The Python 3 library for Multi-Criteria Decision Analysis.
Installation
pip install pyrepo-mcda
Usage
pyrepo-mcda can be used to rank alternatives after providing their performance values in the two-dimensional decision matrix matrix
with alternatives in rows and criteria in columns, and criteria weights weights and types types in vectors.
All criteria weights must sum to 1. Criteria types are equal to 1 for profit criteria and -1 for cost criteria. The TOPSIS method returns a
vector with preference values pref assigned to alternatives. To rank alternatives according to TOPSIS preference values, we have to sort them
in descending order because, in the TOPSIS method, the best alternative has the highest preference value. The alternatives are ranked using
the rank_preferences method provided in the additions module of the pyrepo-mcda package. Parameter reverse = True means that alternatives
are sorted in descending order. Here is an example of using the TOPSIS method:
import numpy as np
from pyrepo_mcda.mcda_methods import TOPSIS
from pyrepo_mcda import distance_metrics as dists
from pyrepo_mcda import normalizations as norms
from pyrepo_mcda.additions import rank_preferences
matrix = np.array([[256, 8, 41, 1.6, 1.77, 7347.16],
[256, 8, 32, 1.0, 1.8, 6919.99],
[256, 8, 53, 1.6, 1.9, 8400],
[256, 8, 41, 1.0, 1.75, 6808.9],
[512, 8, 35, 1.6, 1.7, 8479.99],
[256, 4, 35, 1.6, 1.7, 7499.99]])
weights = np.array([0.405, 0.221, 0.134, 0.199, 0.007, 0.034])
types = np.array([1, 1, 1, 1, -1, -1])
topsis = TOPSIS(normalization_method=norms.vector_normalization, distance_metric=dists.euclidean)
pref = topsis(matrix, weights, types)
rank = rank_preferences(pref, reverse = True)
print(rank)
License
pyrepo-mcda was created by Aleksandra Bączkiewicz. It is licensed under the terms of the MIT license.
Documentation
Documentation of this library with instruction for installation and usage is provided here
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 pyrepo_mcda-0.1.8.tar.gz.
File metadata
- Download URL: pyrepo_mcda-0.1.8.tar.gz
- Upload date:
- Size: 36.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c1fc3baa8e101c483dae7e8953e450e1ffc4ad53a944dc7e8806d5f682c3f9f
|
|
| MD5 |
b186ad6a64f627dec63442afd1379532
|
|
| BLAKE2b-256 |
bdf842996927a01b097daefd5a8f65b29f515165b03f1284c4dcd6a43fc24834
|
File details
Details for the file pyrepo_mcda-0.1.8-py3-none-any.whl.
File metadata
- Download URL: pyrepo_mcda-0.1.8-py3-none-any.whl
- Upload date:
- Size: 42.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be8d0443018830822c0ec503795631d103d4ddc02d5c08aaec7ad5a4326d6c85
|
|
| MD5 |
ea4136bf86eccc91599b5ed3fd1b61fd
|
|
| BLAKE2b-256 |
d64ee53dc75938837c0f0a642954c90571bc055040b5fa4309928dff7f930c97
|