Technique for Order of Preference by Similarity to Ideal Solution [1]
If you use this package, please refer cite.
inbuilt Python package management system, pip. You can can install, update, or delete the topsis2.
pip install topsis2
pip install --upgrade topsis2
pip uninstall topsis2
If you use this package, please cite it as below.
References:
Type: API
Author:
- Seyedsaman Emami
Keywords:
- "TOPSIS"
- "Ranking"
Using this TOPSIS implementation is straightforward as importing it and writing only two lines. The important thing is the decision matrix in the type of pandas data frame.
The decision matrix would be some data frame as the following example.
After building your decision matrix, you need to define the criteria types (benefit or cost). To have the type, you can define a list as the impact. For instance, we assume that the first two criteria are benefit criteria and the last is the cost.
impact = ['+', '+', '-']
The ultimate step is assigning the weight array.
weight = np.array([0.1, 0.7, 0.2])
After having the three parameters, the model produces the ranking matrix.
import numpy as np
import pandas as pd
from topsis import topsis
array = np.random.randint(10, size=(5, 3))
decision_matrix = pd.DataFrame(array, columns=[
'criterion_' + str(i) for i in range(1, 4)],
index=['option_'+str(i) for i in range(1, 6)])
impact = ['+', '+', '-']
weight = np.array([0.1, 0.7, 0.2])
tp = topsis(decision_matrix=decision_matrix,
weight=weight, impact=impact)
tp.rank()
This package takes advantage of the following libraries, which had already imported to the TOPSIS package:
- scipy
- numpy
- pandas
TOPSIS
, MCDM
, MADM
0.0.2
2022-05-19
2022-05-18
[1] Hwang, Ching-Lai, and Kwangsun Yoon. “Methods for multiple attribute decision making.” Multiple attribute decision making. Springer, Berlin, Heidelberg, 1981. 58–191.