# 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/)