|
TProcura
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização
|
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização:
Documentação completa em:
👉 TProcura - Documentação
O TProcura junta testes paramétricos e implementação genérica de algoritmos de procura.
Em vez de alterar macros e recompilar a cada teste de mudança de parâmetros, propõe-se:
👉 Para uma visão mais aprofundada da metodologia de testes e reporte científico, consulte a página:
Testes de Algoritmos com o TProcura
A arquitetura baseia-se em superclasses que já implementam algoritmos de procura. O utilizador só precisa de:
Este projeto é utilizado nas Unidades Curriculares:
O repositório inclui 4 projetos principais, cada um com uma superclasse base para implementação de novos problemas:
TProcura ├─ TProcuraConstrutiva │ └─ TProcuraAdversa └─ TProcuraMelhorativa
Subclasses já fornecem operadores para diferentes representações, restando apenas implementar a avaliação.
── TProcuraMelhorativa ├─ TRepresentacaoBinaria ├─ TRepresentacaoInteira ├─ TRepresentacaoPermutacao ├─ TRepresentacaoReal └─ TRepresentacaoArvore
A estrutura do repositório é a seguinte:
TProcura ├─ Adversa/Construtiva/Melhorativa # pastas de projetos principais │ └─ Teste # projeto de teste (não necessário para usar a biblioteca) │ ├─ CasosTeste # ficheiros para testes de validação de alterações ao código │ ├─ Resultados # ficheiros CSV de execução (não colocados no repositório) │ └─ bin/x64 # (fora do repositório) pasta bin criada na compilação em linux ou x64 no Visual Studio │ ├─ Debug │ ├─ MPI │ └─ Release ├─ Teste # mesma estrutura em todos os projetos │ └─ ... ├─ docs # documentação em Markdown └─ styles # estilos doxygen
#
Na pasta <projeto>/Teste do projeto respetivo:
make ou make [mpi|debug|release]Executar o projeto:⚠️ Para MPI é necessário instalar previamente o MS MPI.
./Executavel ./Executavel <argumentos> (ajuda: ./Executavel -h) mpiexec -n 4 ./Executavel <argumentos>Onde fica o executável:
<projeto>/Teste/bin/[Debug|MPI|Release] <projeto>/Teste/x64/[Debug|MPI|Release]ℹ️ Os
Makefileestão localizados em<projeto>/Teste, pois destinam-se apenas à compilação dos projetos de teste.
ℹ️ Os ficheiros CSV de resultados podem ser gravados em
Resultados/usando o parâmetro-R Resultados/<nome>.
ℹ️ Todos os ficheiros de código-fonte estão em UTF-8 sem BOM.
Certifique-se de que o seu editor respeita esta configuração (já incluída em
.editorconfig).
Clonar o projeto, compilar um dos projetos de teste e executar.
ou
Aceder a página do repositório e clique em **"Code" → "Open with Visual Studio"**.
Aceder a página do repositório e clique em **"Code" → "Download ZIP"**.
Extraia os arquivos e siga as instruções de compilação (por exemplo, via Makefile, Visual Studio etc., conforme seu ambiente).
Para integrar o TProcura como parte de outro projeto, utilize um submódulo:
Para implementar um novo problema utilizando uma das superclasses pode:
Superclasses:
Listam-se de seguida exemplos de utilização de cada classe. Estes exemplos fazem parte dos tutoriais, mas caso pretenda pode ver apenas os exemplos sem necessidade de fazer o tutorial.
Problemas de exemplo da classe TProcura:
Problemas de exemplo da classe TProcuraConstrutiva:
Problemas de exemplo da classe TProcuraMelhorativa:
Problemas de exemplo da classe TProcuraAdversa:
Distribuído sob a licença MIT. Veja o arquivo LICENSE para mais informações.