Metadata-Version: 2.4
Name: Topsis-Rakshita-102303498
Version: 1.0.0
Summary: TOPSIS implementation for MCDM problems
Author: Rakshita Garg
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: pandas
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: summary

# topsis-3283

## Project Description

**topsis-3283** is a Python library developed for solving **Multiple Criteria Decision Making (MCDM)** problems using the  
**Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS)** method.

This project is developed as part of academic coursework and provides a command-line interface to rank alternatives based on multiple criteria, weights, and impacts.

---



## What is TOPSIS?

TOPSIS is a decision-making method based on the concept that the chosen alternative should have the **shortest distance from the ideal solution** and the **farthest distance from the negative-ideal solution**.

---

## Installation

Use the Python package manager `pip` to install the package from PyPI:

```bash
pip install topsis-3283

Usage
Run the package from the command line using the following format:
topsis <input_file.csv> <weights> <impacts>
Example Commands
topsis sample.csv "1,1,1,1" "+,-,+,+"
OR (without quotes):
topsis sample.csv 1,1,1,1 +,-,+,+
⚠️ Note:
If the input vectors contain spaces, they must be enclosed in double quotes " ".
To view help:
topsis /h
Example
Sample Input File (sample.csv)
A CSV file containing data for different mobile handsets:
Model	Storage space (GB)	Camera (MP)	Price ($)	Looks (out of 5)
M1	16	12	250	5
M2	16	8	200	3
M3	32	16	300	4
M4	32	8	275	4
M5	16	16	225	2
Weights Vector
[0.25, 0.25, 0.25, 0.25]
Impacts Vector
[+, +, -, +]
Command Used
topsis sample.csv "0.25,0.25,0.25,0.25" "+,+,-,+"
Output
        TOPSIS RESULTS
-----------------------------

    P-Score    Rank
1   0.534277     3
2   0.308368     5
3   0.691632     1
4   0.534737     2
5   0.401046     4
Other Notes
The first column and first row are removed automatically to eliminate indices and headers.
Ensure the CSV file:
Contains only numerical values (except the first column)
Does not contain categorical data
Follows the same structure as sample.csv
