Skip to main content

Biblioteca Topsis

Project description

TOPSIS - Técnica para Ordenação de Preferências por Similaridade com a Solução Ideal

Descrição

Este projeto implementa o método TOPSIS (Technique for Order Preference by Similarity to Ideal Solution), uma técnica de análise de decisão multicritério. O objetivo é classificar alternativas com base em múltiplos critérios, considerando pesos diferentes para cada um.

Autores

  • Mateus da Silva
  • Lucas Luis

Requisitos

Antes de rodar o código, instale as dependências necessárias. Você pode fazer isso com o comando:

pip install -r requirements.txt

Como Usar

Entrada de Dados

O código recebe uma entrada no formato JSON ou dicionário Python contendo:

  • method: Nome do método ("TOPSIS").
  • parameters: Um dicionário contendo:
    • alternatives: Lista das alternativas.
    • criteria: Lista dos critérios.
    • performance_matrix: Dicionário onde cada alternativa possui uma lista de valores para cada critério.
    • criteria_types: Especificação se o critério é de custo (min) ou benefício (max).
    • weights: Pesos de cada critério.

Exemplo de Entrada:

{
  "method": "TOPSIS",
  "parameters": {
    "alternatives": ["Palio", "HB20", "Corolla"],
    "criteria": ["Consumo", "Conforto", "Preço", "Reputação"],
    "performance_matrix": {
      "Palio": [15, 6, 25000, 7],
      "HB20": [12, 7, 35000, 7],
      "Corolla": [10, 9, 55000, 8]
    },
    "criteria_types": {"Consumo": "min", "Conforto": "max", "Preço": "min", "Reputação": "max"},
    "weights": {"Consumo": 0.3, "Conforto": 0.05, "Preço": 0.6, "Reputação": 0.05}
  }
}

Execução do Código

Para rodar o código, basta executar:

from main import TOPSIS

data = {  # Insira os dados conforme o formato acima }
topsis = TOPSIS(data)
resultado = topsis.calculate()
print(resultado)

Saída Esperada

O código retorna um dicionário contendo:

  • positive_ideal_solution: Solução ideal positiva.
  • negative_ideal_solution: Solução ideal negativa.
  • distance_to_pis: Distância de cada alternativa à solução ideal positiva.
  • distance_to_nis: Distância de cada alternativa à solução ideal negativa.
  • topsis_score: Coeficiente de proximidade.
  • ranking: Lista das alternativas ordenadas.

Exemplo de Saída:

{
  "method": "TOPSIS",
  "results": {
    "positive_ideal_solution": {"Consumo": 10.0, "Conforto": 9.0, "Preço": 25000.0, "Reputação": 8.0},
    "negative_ideal_solution": {"Consumo": 15.0, "Conforto": 6.0, "Preço": 55000.0, "Reputação": 7.0},
    "distance_to_pis": {"Palio": 0.7, "HB20": 0.5, "Corolla": 0.3},
    "distance_to_nis": {"Palio": 0.3, "HB20": 0.5, "Corolla": 0.7},
    "topsis_score": {"Palio": 0.3, "HB20": 0.5, "Corolla": 0.7},
    "ranking": ["Corolla", "HB20", "Palio"]
  }
}

Licença

Este projeto está sob a licença MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topsis_cin-0.1.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

topsis_cin-0.1.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file topsis_cin-0.1.1.tar.gz.

File metadata

  • Download URL: topsis_cin-0.1.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for topsis_cin-0.1.1.tar.gz
Algorithm Hash digest
SHA256 be8a5fcf5b6a0cc183bf960207155f6ea446bef470a8c4bfcaa9c9af7ba90da7
MD5 c395bf2ed1f2f66bde777499972d7f8d
BLAKE2b-256 e80d1f953ec150d29d62612ca623c5a3f239e714cbcb46ca9976623718f2625f

See more details on using hashes here.

File details

Details for the file topsis_cin-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: topsis_cin-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for topsis_cin-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b4324074fb6ad2d7380bd12c6f98f6fc740b64d12ef339e6592ee88ac14b1b3a
MD5 adb5481d8f92f3f5a98297e70b48646c
BLAKE2b-256 f1e1c0a8a39c0d56ffc481e58fdea345c8b7c4a8336a5b2b25a63b3ee285b7c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page