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.11.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

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

pyrepo_mcda-0.1.11-py3-none-any.whl (48.4 kB view details)

Uploaded Python 3

File details

Details for the file pyrepo_mcda-0.1.11.tar.gz.

File metadata

  • Download URL: pyrepo_mcda-0.1.11.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pyrepo_mcda-0.1.11.tar.gz
Algorithm Hash digest
SHA256 b116324d0e999b4130c50f1c714d2a58ffe481b9d5883aba09b9f39ff72d418d
MD5 96a978a3cb153f6239f769044c7bea60
BLAKE2b-256 6edf5205c9e8b8eb6129b4e641b0593b7a2676651e1be3d9ba00a91f3bb025b2

See more details on using hashes here.

File details

Details for the file pyrepo_mcda-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: pyrepo_mcda-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 48.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pyrepo_mcda-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 c6b25fb9517f8162c918451f95fd62ac4fcc492bbedc4721ed3814f2a7e404c6
MD5 9be1519309a6f1c8ec40fd2f167a4aea
BLAKE2b-256 a6939036a99ab1d7bfab4a988e271c4d7d1a6cd7df1649e410a7a7bb597278f1

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