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.0.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.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: topsis_cin-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 1f0ab947cd470d27a4de31fb057ad86df0e9a4fd7e3525fa4afb349809e303df
MD5 49eb4d7cd90e9faa99a84db878e9b167
BLAKE2b-256 ce684ac3e7b5193aed1180bfcf0373b18db9cfbe57a744409f06752814d1bebd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topsis_cin-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45935db566ddbdbbaa63566d0628ad217195b0039e1d08fa11318780e2c5b7c6
MD5 c2c23bbcabb9b199dac8b5eb59977d54
BLAKE2b-256 909621319c6771515ebcc0c76bb92ee37d68947a678a250f54c6009323d05c72

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