Skip to main content

Python implementation of TOPSIS method

Project description

ISTOP

TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) implementation in python

Please checkout this link to see more details about TOPSIS steps.

Install

You can install the latest release,

$ pip install istop

Usage

>>> import numpy as np
>>> from istop import Topsis

>>> evaluation_matrix = np.array([
...     [1, 2, 3, 4],
...     [4, 3, 2, 1],
...     [3, 3, 3, 3],
...     [4, 4, 4, 4],
...     [1, 2, 4, 4]
... ])
>>> criteria = [False, True, True, True]
>>> weights = [5, 5, 9, 0]

>>> topsis = Topsis(
...     matrix=evaluation_matrix,
...     criteria=criteria,
...     weights=weights
... )
>>> result = topsis.calculate()
>>> print(result.best_ranks)
[2, 3, 4, 1, 5]
>> print(result.worst_similarities)
[0.56842726 0.18322884 0.43760627 0.55861195 0.68474356]

>>> print(result)
best_ranks=[2, 3, 4, 1, 5]
best_similarities=[0.43157274 0.81677116 0.56239373 0.44138805 0.31525644]
worst_ranks=[2, 3, 4, 1, 5]
worst_similarities=[0.56842726 0.18322884 0.43760627 0.55861195 0.68474356]

The weights parameter is optional. If you don't send it, the default value for each attribute will be 1.

Contribution

Please check to the pylint and flake8 steps in workflow before contribution.

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

istop-0.0.1.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

istop-0.0.1.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file istop-0.0.1.1.tar.gz.

File metadata

  • Download URL: istop-0.0.1.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for istop-0.0.1.1.tar.gz
Algorithm Hash digest
SHA256 ec158d5f6ee9b967d3f3687063c8689c73fce6ce87d39fadf6c608ba1181e6f9
MD5 cbf59155f54542338400cb5ba4a2ffcf
BLAKE2b-256 07d176e0d65c8949ae4fa5fc16b148a707c651a76995291d01e37369a83e55dc

See more details on using hashes here.

File details

Details for the file istop-0.0.1.1-py3-none-any.whl.

File metadata

  • Download URL: istop-0.0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for istop-0.0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a25cba45b5345c44b78db8700ca087dd64d2ba7cb1c0bbdcf27d021d963e6e7
MD5 61cf7e0a8ab50a0818a93ef01b35e763
BLAKE2b-256 293632ac932cc40186d22e0c93f99afbdf72543881e76ff5fbf2e628be3ac84b

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