Metadata-Version: 2.1
Name: Topsis-Saksham-102003039
Version: 1.0.0
Summary: Topsis package for Multiple Criteria Decision Making problems(MCDM) problems
Home-page: https://github.com/SakshamKhetarpal/Topsis.git
Author: Saksham Khetarpal
Author-email: sakshamkhetarpal@gmail.com
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas
Requires-Dist: numpy

# Decision Making Using TOPSIS

_By: **Saksham Khetarpal**_
_Roll no: **102003039**_

Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) is a multi-criteria-based decision-making method. TOPSIS chooses the alternative of shortest the Euclidean distance from the ideal solution and greatest distance from the negative ideal solution.

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install Topsis-Saksham-102003039.

```bash
pip install Topsis-Saksham-102003039
```

## Usage

Enter csv input filename followed by _.csv_ extentsion, then enter the _weights_ with values separated by commas, followed by the _impacts_ with comma separated signs _(+,-)_ and finally the name of the output file followed by _.csv_ extension.
```bash
topsis input.csv "1,1,1,1" "+,+,-,+" output.csv
```

## Example



A csv file showing data for different mobile handsets having varying features (input.csv).

| 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 = "1,1,1,1"

impacts ="+,+,-,+"

## Input:

```python
topsis input.csv "1,1,1,1" "+,+,-,+" output.csv
```

## Output:
The output is a csv file (output.csv) with the following 2 columns appended to the original input file.
```
 Topsis Score  Rank
1   0.534277     3
2   0.308368     5
3   0.691632     1
4   0.534737     2
5   0.401046     4

``` 



## License
[MIT](https://choosealicense.com/licenses/mit/)
