# TOPSIS Implementation
This repository contains a Python implementation of the Technique for Order Preference by Similarity to Ideal Solution (TOPSIS). TOPSIS is a powerful multi-criteria decision-making method that assists in ranking a set of alternatives based on their proximity to the ideal solution.
## Table of Contents
1. [Introduction](#introduction)
2. [Usage](#usage)
3. [Command-line Arguments](#command-line-arguments)
6. [Requirements](#requirements)
## Introduction
The Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) is a well-established method for decision-making. This Python implementation allows you to easily apply TOPSIS to your decision matrix and obtain a ranked list of alternatives.
### Key Concepts:
- Decision Matrix: Represents alternatives and criteria.
- Weights: Assign importance to criteria.
- Impacts: Indicate whether higher or lower values are favorable.
- Normalization: Ensures all criteria are on a similar scale.
- Ideal and Worst Solutions: Represent best and worst possible outcomes.
- Similarity and Dissimilarity Measures: Calculate proximity to ideal and dissimilarity to worst.
- TOPSIS Score: Combines similarity and dissimilarity measures.
- Ranking: Alternatives are ranked based on TOPSIS scores.
## Usage
1. Ensure you have Python installed on your system.
2. Clone this repository to your local machine:
```bash
git clone https://github.com/dhruvRajoria/Topsis_Dhruv
3. Navigate to the project directory:
```bash
git clone https://github.com/dhruvRajoria/Topsis_Dhruv
4. Run the TOPSIS script with the required command-line arguments:
python 102217050.py 102217050-data.csv "1,1,1,2" "+,+,-,+" result.csv
5. The TOPSIS analysis will be performed, and the result will be saved to the specified CSV file.
## Command-line Arguments
- `<InputDataFile>`: Path to the input CSV file containing the decision matrix.
- `<Weights>`: Comma-separated weights for each criterion.
- `<Impacts>`: Comma-separated impact signs for each criterion (use '+' for beneficial criteria and '-' for non-beneficial criteria).
- `<ResultFileName>`: Desired name for the output CSV result file.
## Requirements
- Python 3.x
- pandas
- numpy
Raw data
{
"_id": null,
"home_page": null,
"name": "Topsis-Navjot-102217046",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Topsis, Topsis-Navjot-102217046, Navjot, Topsis-Navjot, 102217046",
"author": "Navjot",
"author_email": "nsingh5_be22@thapar.edu",
"download_url": "https://files.pythonhosted.org/packages/7a/22/9e232bbe72805ddacaecb1d53db9c3eb8f12c1d26de72e9df2442b0d42bf/Topsis-Navjot-102217046-1.0.3.tar.gz",
"platform": null,
"description": "# TOPSIS Implementation\r\n\r\nThis repository contains a Python implementation of the Technique for Order Preference by Similarity to Ideal Solution (TOPSIS). TOPSIS is a powerful multi-criteria decision-making method that assists in ranking a set of alternatives based on their proximity to the ideal solution.\r\n\r\n## Table of Contents\r\n\r\n1. [Introduction](#introduction)\r\n2. [Usage](#usage)\r\n3. [Command-line Arguments](#command-line-arguments)\r\n6. [Requirements](#requirements)\r\n\r\n## Introduction\r\n\r\nThe Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) is a well-established method for decision-making. This Python implementation allows you to easily apply TOPSIS to your decision matrix and obtain a ranked list of alternatives.\r\n\r\n### Key Concepts:\r\n\r\n- Decision Matrix: Represents alternatives and criteria.\r\n- Weights: Assign importance to criteria.\r\n- Impacts: Indicate whether higher or lower values are favorable.\r\n- Normalization: Ensures all criteria are on a similar scale.\r\n- Ideal and Worst Solutions: Represent best and worst possible outcomes.\r\n- Similarity and Dissimilarity Measures: Calculate proximity to ideal and dissimilarity to worst.\r\n- TOPSIS Score: Combines similarity and dissimilarity measures.\r\n- Ranking: Alternatives are ranked based on TOPSIS scores.\r\n\r\n## Usage\r\n\r\n1. Ensure you have Python installed on your system.\r\n\r\n2. Clone this repository to your local machine:\r\n\r\n ```bash\r\n git clone https://github.com/dhruvRajoria/Topsis_Dhruv\r\n\r\n3. Navigate to the project directory:\r\n\r\n ```bash\r\n git clone https://github.com/dhruvRajoria/Topsis_Dhruv\r\n\r\n \r\n4. Run the TOPSIS script with the required command-line arguments:\r\n\r\n \r\n python 102217050.py 102217050-data.csv \"1,1,1,2\" \"+,+,-,+\" result.csv\r\n\r\n\r\n\r\n5. The TOPSIS analysis will be performed, and the result will be saved to the specified CSV file.\r\n\r\n## Command-line Arguments\r\n\r\n- `<InputDataFile>`: Path to the input CSV file containing the decision matrix.\r\n\r\n- `<Weights>`: Comma-separated weights for each criterion.\r\n\r\n- `<Impacts>`: Comma-separated impact signs for each criterion (use '+' for beneficial criteria and '-' for non-beneficial criteria).\r\n\r\n- `<ResultFileName>`: Desired name for the output CSV result file.\r\n\r\n\r\n\r\n## Requirements\r\n\r\n- Python 3.x\r\n- pandas\r\n- numpy\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n",
"bugtrack_url": null,
"license": null,
"summary": "Implementation of Topsis",
"version": "1.0.3",
"project_urls": {
"Project Link": "https://github.com/NavjotSingh2003/Topsis_Navjot"
},
"split_keywords": [
"topsis",
" topsis-navjot-102217046",
" navjot",
" topsis-navjot",
" 102217046"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ce63e62a7eea7b81833c38ae30342e3c88ce4b4f11a531bd7e67f2305dcd5c3e",
"md5": "0882f7250ed619014b69bd5dc1260e5c",
"sha256": "2d7e4f140013ba19540c24959d9786c5a12887e28e2b7820e4250ca177d8609b"
},
"downloads": -1,
"filename": "Topsis_Navjot_102217046-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0882f7250ed619014b69bd5dc1260e5c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 2335,
"upload_time": "2025-01-19T19:22:26",
"upload_time_iso_8601": "2025-01-19T19:22:26.216521Z",
"url": "https://files.pythonhosted.org/packages/ce/63/e62a7eea7b81833c38ae30342e3c88ce4b4f11a531bd7e67f2305dcd5c3e/Topsis_Navjot_102217046-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7a229e232bbe72805ddacaecb1d53db9c3eb8f12c1d26de72e9df2442b0d42bf",
"md5": "2520cda0a9148da213ee895f1a0f0418",
"sha256": "52925437b81c7fd3c3539dd01af0670d3fbfe9313388de236dcfa2049a86f1ff"
},
"downloads": -1,
"filename": "Topsis-Navjot-102217046-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "2520cda0a9148da213ee895f1a0f0418",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2553,
"upload_time": "2025-01-19T19:22:27",
"upload_time_iso_8601": "2025-01-19T19:22:27.854515Z",
"url": "https://files.pythonhosted.org/packages/7a/22/9e232bbe72805ddacaecb1d53db9c3eb8f12c1d26de72e9df2442b0d42bf/Topsis-Navjot-102217046-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-19 19:22:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NavjotSingh2003",
"github_project": "Topsis_Navjot",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "topsis-navjot-102217046"
}