- Node.js (12+)
- D3.js
- Charts.js
- Docker e docker-compose
Para consultar o último relatório gerado pelo autor masta acessar este link.
Se quiser gerar um novo relatório, siga as instruções de execução via Docker ou siga os passos nas sesões de execução.
Observe que todos os problemas são para encontrar mínimos, então cada algoritmo verifica o resultado da função objetivo sempre buscando o menor valor.
Você pode executar este programa somente usando o comando
$ docker-compose up
Com este comando ele irá gerar uma nova solução para cada problema usando todos os algoritmos. Ao final ele vai disponibilizar um link http://localhost:8080
$ npm install
Existem formas diferentes de executar, cada uma irá te gerar um output diferente. Escolha dependendo da sua necessidade!
Irá gerar um relatório e servi-lo pelo link http://localhost:8080
$ npm run look-report
Irá compilar os arquivos de relatório gerados das soluções, que estão dentro da pasta output (gerada após executar os problemas)
$ node report.mjs
Vai executar todos os problemas para todos os algoritmos.
$ npm run all
Irá gerar soluções para todos os algoritmos e exportá para a pasta output
$ npm run [problema1 | problema2 | problema3]
Irá gerar soluções um algoritmo para um problema e exportá para a pasta output
$ npm start [ag | simulatedAnnealing | hillClimbing | hillClimbingRestart] [problema1 | problema2 | problema3]
$ npm start [ag | simulatedAnnealing | hillClimbing | hillClimbingRestart] [problema1 | problema2 | problema3] [número execuções]
$ npm start [ag | simulatedAnnealing | hillClimbing | hillClimbingRestart] [problema1 | problema2 | problema3] [arquivo de input]
$ npm start [ag | simulatedAnnealing | hillClimbing | hillClimbingRestart] [problema1 | problema2 | problema3] [número execuções] [arquivo de input]
Ao executar com Docker ou usando scripts sem parâmetros os valores padrões serão aplicados
Parâmetro | Input |
---|---|
problema1 | ./input/problema1.txt |
problema2 | ./input/problema2.txt |
problema3 | ./input/38cities.txt |
número execuções | 10 |
Pasta | Descrição |
---|---|
docs | Armazena o relatório gerado |
funcoesObjetivo | Armazena as funções objetivos (Problemas), e funções específicas que os algoritmos precisam para executar, relativa a cada problema. |
helpers | Funções de ajuda no desenvolvimento |
heuristicas | Algoritmos utilizados |
input | Arquivos de entrada de dados padrões |
output | Saída dos algoritmos. Soluções e gráficos gerados pelo Node.js |
plot | Fuções de plot de gráficos para o Node.js |
views | Arquivos de geração do relatório |