Skip to main content

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


Download files

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

Source Distribution

pyrepo_mcda-0.1.8.tar.gz (36.4 kB view details)

Uploaded Source

Built Distribution

pyrepo_mcda-0.1.8-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

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

Hashes for pyrepo_mcda-0.1.8.tar.gz
Algorithm Hash digest
SHA256 7c1fc3baa8e101c483dae7e8953e450e1ffc4ad53a944dc7e8806d5f682c3f9f
MD5 b186ad6a64f627dec63442afd1379532
BLAKE2b-256 bdf842996927a01b097daefd5a8f65b29f515165b03f1284c4dcd6a43fc24834

See more details on using hashes here.

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

Hashes for pyrepo_mcda-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 be8d0443018830822c0ec503795631d103d4ddc02d5c08aaec7ad5a4326d6c85
MD5 ea4136bf86eccc91599b5ed3fd1b61fd
BLAKE2b-256 d64ee53dc75938837c0f0a642954c90571bc055040b5fa4309928dff7f930c97

See more details on using hashes here.

Supported by

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