Catalog PyPI
PACKAGE EXPLORERView in registry

102203162-topsis

PyPI

A Python library for the TOPSIS decision-making method.

Versions collected1
Direct dependencies1From release 0.2.0
Last observed20 Oct, 15:08 UTC

README

Version 0.2.0 documentation

TOPSIS Library

Overview

The TOPSIS (Technique for Order Preference by Similarity to Ideal Solution) library provides an implementation of the TOPSIS decision-making method. This technique is used to rank alternatives based on multiple criteria by comparing their distance from an ideal best and an ideal worst solution.

Features

  • Normalize decision matrices
  • Apply weights and impacts to criteria
  • Calculate rankings and performance scores

Installation

Install the library via pip:

pip install topsis-library

Usage

Here’s a quick guide to using the library:

from topsis.topsis import topsis

# Define the decision matrix
# Each row is an alternative, and each column is a criterion
data = [
    [250, 16, 12, 5],
    [200, 16, 8, 3],
    [300, 32, 16, 4],
    [275, 32, 8, 4],
    [225, 16, 16, 2]
]

# Define weights for each criterion
weights = [0.25, 0.25, 0.25, 0.25]

# Define impacts for each criterion ('+' for benefit, '-' for cost)
impacts = ['+', '+', '-', '+']

# Calculate rankings and scores
rankings, scores = topsis(data, weights, impacts)

print("Rankings:", rankings)
print("Scores:", scores)

Output Example

Rankings: [3, 1, 4, 2, 5]
Scores: [0.7722, 0.5634, 0.8523, 0.6472, 0.4321]

How It Works

  1. Normalization: The decision matrix is normalized to make criteria comparable.
  2. Weight Application: Each criterion is weighted to reflect its importance.
  3. Ideal Solutions: The algorithm calculates the ideal best and worst values for each criterion.
  4. Distance Calculation: Distances from the ideal best and worst solutions are computed.
  5. Performance Scores: Scores are calculated based on proximity to the ideal solutions.
  6. Ranking: Alternatives are ranked based on their scores.

Testing

Run unit tests to ensure functionality:

python -m unittest discover tests

Author

Raghav Manchanda

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.017 Jan 20251

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
yourusername/102203162-topsis

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 15:08 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:e005f34eec399a5749e1c7778c0ce6ef9caf6e1b22e0696b186ca3696084ab7f