Skip to main content

Python library for Multi-Criteria Decision-Making

Project description

PyMCDM

Python 3 library for solving multi-criteria decision-making (MCDM) problems.


Installation

You can download and install pymcdm library using pip:

pip install pymcdm

Available methods

The library contains:

  • MCDA methods:

    • TOPSIS
    • VIKOR
    • COPRAS
    • PROMETHEE I and II
    • COMET
    • SPOTIS
    • ARAS
    • COCOSO
    • CODAS
    • EDAS
    • MABAC
    • MAIRCA
    • MARCOS
    • OCRA
    • MOORA
  • Weighting methods:

    • Equal weights
    • Entropy method
    • Std method
    • MEREC method
    • CRITIC method
    • CILOS method
    • IDOCRIW method
    • Angle method
    • Gini method
  • Normalization methods:

    • Linear
    • Max
    • Sum
    • Vector
    • Logarithmic
    • Linear
    • Nonlinear
    • Enhanced accuracy
  • Correlation coefficients:

    • Spearman
    • Pearson
    • Weighted Spearman
    • Rank Similarity Coefficient
    • Kendall Tau
    • Goodman and Kruskal Gamma
  • Helpers

    • rankdata
    • rrankdata

Usage example

Here's a small example of how use this library to solve MCDM problem. For more examples with explanation see examples.

import numpy as np
from pymcdm.methods import TOPSIS
from pymcdm.helpers import rrankdata

# Define decision matrix (2 criteria, 4 alternative)
alts = np.array([
    [4, 4],
    [1, 5],
    [3, 2],
    [4, 2]
], dtype='float')

# Define weights and types
weights = np.array([0.5, 0.5])
types = np.array([1, -1])

# Create object of the method
topsis = TOPSIS()

# Determine preferences and ranking for alternatives
pref = topsis(alts, weights, types)
ranking = rrankdata(pref)

for r, p in zip(ranking, pref):
    print(r, p)

And the output of this example (numbers are rounded):

3 0.6126
4 0.0
2 0.7829
1 1.0

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

pymcdm-1.0.4.tar.gz (123.3 kB view details)

Uploaded Source

Built Distribution

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

pymcdm-1.0.4-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file pymcdm-1.0.4.tar.gz.

File metadata

  • Download URL: pymcdm-1.0.4.tar.gz
  • Upload date:
  • Size: 123.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.26.0 setuptools/51.1.0.post20201221 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.6

File hashes

Hashes for pymcdm-1.0.4.tar.gz
Algorithm Hash digest
SHA256 30a117c0212b6b25280d1b0c704d92d018e9ea0972126cf7868513b1a2170d55
MD5 c4433730346dafe2026406bcd7aaa64e
BLAKE2b-256 bfe64b8cc77df2413683099b0e58e198db55392970e87bdb7729a9bcc627e8c1

See more details on using hashes here.

File details

Details for the file pymcdm-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: pymcdm-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.26.0 setuptools/51.1.0.post20201221 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.6

File hashes

Hashes for pymcdm-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9a57ddc7101fb744f2070c92a89d0dce8e82187820a345566e2394f98ac05892
MD5 22a6edec6668fdb6675e51c111d04efe
BLAKE2b-256 322e942bcdd5229f2c6819a3baae24953ead669117a59917c153ec203cf561fa

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