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 classeVikor, 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 classesAlternativeeCriterion, 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 classeVikore sua avaliação.test_models.py- Testes para as classesAlternativeeCriterion.test_utils.py- Testes para as funções auxiliares.test_vikor.py- Testes para a funçãovikor_decision_support.
Instalação
Para instalar o pacote, execute:
pip install vikor_cin
Como Usar
-
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 } }
-
Executar a Análise VIKOR
from vikor_cin import vikor_decision_support result = vikor_decision_support(input_data)
-
Saída dos Resultados
A biblioteca retorna um JSON com:
- Índices
S,ReQ - Ranking das alternativas
- Solução compromisso
- Intervalos de estabilidade dos pesos
- Distância Euclidiana para a solução ideal
- Índices
Dependências
As dependências estão listadas no arquivo requirements.txt:
colorama==0.4.6iniconfig==2.0.0packaging==24.2pluggy==1.5.0pytest==8.3.5setuptools==76.0.0
Autores
- Gustavo Silva - gds4@cin.ufpe.br
- Arlen Filho - afsf2@cin.ufpe.br
- Hyan Silva - hlvs@cin.ufpe.br
- Eraldo Cassimiro - ejces@cin.ufpe.br
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69b5615c68e9446e1ed85a95992ad52e4f35bfdb5453bd9364904b99be6301ac
|
|
| MD5 |
63721ed43921b4a67e6e03b542624980
|
|
| BLAKE2b-256 |
ebb313e7619169dbda824362c92a7ee37cc00261c9c9f914862a9555dad15dd6
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d20fb6b97d2c18b09d049f4fd6b0bfc22b8f6730e8c69a33c9f9f714f81cbf5
|
|
| MD5 |
4d77c1138f51a6a74d3433d33735c816
|
|
| BLAKE2b-256 |
b8a032d392fc73417d6d316245b06326913e7d707ed8abf0dada5e5793143927
|