tiagofunk / Algoritmo-GRASP-TOP

Implementação de um algoritmo GRASP com adição de um componente Path Relinking para o problema Team Orientering Problem (TOP).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

O que é esse repositório?

Aqui está a implementação de um algoritmo GRASP com adição de um componente Path Relinking para o problema Team Orientering Problem (TOP). Eu utilizei a linguagem C++.

Link para o artigo deste algoritmo esta aqui.

Conteúdo das pastas

  • experiments: Pasta logs, script de execução e de analise dos resultados.
  • instances: cenários de execução que o algoritmo será submetido.
  • Irace: Pasta com configurações da ferramenta Irace. Mais informações aqui.
  • Project: Pasta com o código fonte.

Como executar o código fonte?

Execute com:

python pymake.py build

Vai ser criado um executável com nome de grasp, para executar:

./grasp 1 1 1 <instance> --alpha <a> --iterations <i> --path <y> --margin <m> --removeOperator <ro> --removePercentage <rp> --shuffleOperator <so> --addOperator <ao>

Onde:

  • instance: Arquivo com cenário de execusão.
  • a: parâmetro do GRASP que indica se será priorizada a intensificacção ou a diversificaçãoo. O intervalo de valores é [0, 1].
  • i: Números de iterações do algoritmo.
  • p: parâmetro do Path Relinking que indica o sentido da sobrescrita das soluções. Pode ser no sentido inicial para a final ou da final para a inicial.
  • ro: indica qual operador de remoção deve ser usado.
  • so: indica qual operador de embaralhamento deve ser usado.
  • ao: indica qual operador de adição deve ser usado.

Exemplo de comando de execução:

./grasp 1 1 1 ../instances/set_5_4/p5.4.z.txt --alpha 0.9 --iterations 5 --path y --margin 1.9 --removeOperator r --removePercentage 0.15 --shuffleOperator e --addOperator b

Como executar um experimento?

Na pasta Scripts contém o arquivo executor.py, execute-o:

python executor.py

O script vai executar 30 execuções de cada instância e vai salvar em um log.

About

Implementação de um algoritmo GRASP com adição de um componente Path Relinking para o problema Team Orientering Problem (TOP).


Languages

Language:C++ 78.9%Language:C 10.6%Language:Python 7.2%Language:R 2.4%Language:Shell 0.8%