Skip to main content

Biblioteca Vikor

Project description

README - Implementação do Método VIKOR

Descrição

Este repositório contém uma implementação do método de tomada de decisão multi critério VIKOR. O VIKOR é um método baseado em compromissos, utilizado para selecionar a melhor alternativa entre um conjunto de opções considerando múltiplos critérios.

Estrutura do Projeto

O projeto é organizado da seguinte maneira:

VIKOR/
├── LICENCE
├── pyproject.toml
├── README.md
├── requirements.txt
├── src/
    └── vikor_ufpe/
        ├── __init__.py
        ├── decision.py
        ├── exceptions.py
        ├── main.py
        ├── models.py
        └── utils.py
├── tests/
    ├── __init__.py
    ├── test_decision.py
    ├── test_models.py
    ├── test_utils.py
    └── test_vikor.py
  • requirements.txt - Lista de dependências do projeto.
  • pyproject.toml - Arquivo de metadados do projeto.
  • src/vikor_ufpe/ - Diretório principal do código fonte.
    • __init__.py - Define o pacote VIKOR e expõe as classes principais.
    • decision.py - Contém a implementação da classe Vikor, que executa o método de decisão.
    • exceptions.py - Define classes de exceções específicas para erros do método VIKOR.
    • main.py - Script principal para executar a análise VIKOR com entrada JSON.
    • models.py - Define as classes Alternative e Criterion, que representam alternativas e critérios de decisão.
    • utils.py - Contém funções auxiliares para normalização e validação de dados.
  • tests/ - Contém testes unitários para validar o funcionamento do método.
    • __init__.py - Define o pacote de testes.
    • test_decision.py - Testes para a classe Vikor e sua avaliação.
    • test_models.py - Testes para as classes Alternative e Criterion.
    • test_utils.py - Testes para as funções auxiliares.
    • test_vikor.py - Testes para a função vikor_decision_support.

Instalação

Para instalar o pacote, execute:

pip install vikor_cin

Como Usar

  1. Definir os Dados de Entrada

    Os dados de entrada devem ser um dicionário JSON com a seguinte estrutura:

    {
      "method": "VIKOR",
      "parameters": {
        "alternatives": ["A1", "A2", "A3"],
        "criteria": ["C1", "C2", "C3"],
        "performance_matrix": {
          "A1": [0.7, 0.5, 0.8],
          "A2": [0.6, 0.7, 0.6],
          "A3": [0.8, 0.6, 0.7]
        },
        "criteria_types": {
          "C1": "max",
          "C2": "min",
          "C3": "max"
        },
        "weights": {
          "C1": 0.4,
          "C2": 0.3,
          "C3": 0.3
        },
        "v": 0.5
      }
    }
    
  2. Executar a Análise VIKOR

    from vikor_cin import vikor_decision_support
    
    result = vikor_decision_support(input_data)
    
  3. Saída dos Resultados

    A biblioteca retorna um JSON com:

    • Índices S, R e Q
    • Ranking das alternativas
    • Solução compromisso
    • Intervalos de estabilidade dos pesos
    • Distância Euclidiana para a solução ideal

Dependências

As dependências estão listadas no arquivo requirements.txt:

  • colorama==0.4.6
  • iniconfig==2.0.0
  • packaging==24.2
  • pluggy==1.5.0
  • pytest==8.3.5
  • setuptools==76.0.0

Autores

Licença

Este projeto está licenciado sob a MIT License.

Contribuição

Pull requests são bem-vindos! Certifique-se de seguir as boas práticas de programação e incluir testes adequados.

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

vikor_cin-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

vikor_cin-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vikor_cin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69b5615c68e9446e1ed85a95992ad52e4f35bfdb5453bd9364904b99be6301ac
MD5 63721ed43921b4a67e6e03b542624980
BLAKE2b-256 ebb313e7619169dbda824362c92a7ee37cc00261c9c9f914862a9555dad15dd6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vikor_cin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d20fb6b97d2c18b09d049f4fd6b0bfc22b8f6730e8c69a33c9f9f714f81cbf5
MD5 4d77c1138f51a6a74d3433d33735c816
BLAKE2b-256 b8a032d392fc73417d6d316245b06326913e7d707ed8abf0dada5e5793143927

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