====== Trabalhos ====== ===== Considerações gerais ===== * O trabalho é individual. * Cada um escolhe **um problema** e **uma meta-heurística**. * Tarefa de todos: - Formular o problema como programa linear ou inteiro - Resolver as instâncias definidas (abaixo) com um solver genérico (p.ex. CPLEX,GLPK,SCIP) - Definir e implementar e meta-heurística escolhida para o problema - Resolver as instâncias definidas com a meta-heurística - Documentar e analisar os experimentos: **relatório** - Apresentar os resultados: **apresentação em aula** * :!: **Apresentar uma proposta ate 29 de julho** (**9 de novembro na segunda edição**). * Conteúdo: Definição dos principais elementos da abordagem (representação de uma solução, solução inicial, vizinhanças, critério de parada, etc.) e a formulação matemática do problema. * :!: **Entrega do trabalho escrito: 17 de agosto** (**23 de novembro na segunda edição**). * Trabalho: {{tp20171.pdf|Como perder pontos?}} ===== Problemas ===== {{t20201.pdf|Definição dos problemas}} :!: Atualizado: 19 de outubro! ===== Meta-heurísticas ===== * Simulated annealing (SA) * Busca local iterada / Busca gulosa iterada (ILS) * Busca Tabu (BT) * Algorítmo genético/memético (GA) * GRASP * Variable neighborhood search ===== Convenções da implementação ===== * Todas implementações devem aceitar uma instância no formato do problema na entrada padrão (stdin) e imprimir a melhor solução encontrada na saída padrão (stdout). * Os principais parâmetros do método devem ser definíveis pela linha de comando. * O primeiro parâmetro da linha de comando é o nome de um arquivo para gravar a melhor solução encontrada. ===== Documentação e critérios de avaliação ===== O objetivo do trabalho é conhecer uma meta-heurística profundamente e ganhar experiência prática para aplicar-la em novos problemas. A avaliação reflete esse objetivo. * Entendimento do método\\ Definição e justificativa da abordagem ao problema. Todas escolhas feitas para aplicar a meta-heuristica para o problema em questão devem ser claramente relatadas. Isso inclui a representação do problema, a função objetivo, a geração da solução inicial, a vizinhança e a estratégia de escolha em caso de buscas locais, os operadores (crossover,mutação) em caso de algoritmos genéticos, outros parâmetros do métodos (temperatura,lista tabu e tenure,...), critério de terminação. (Essa lista não é exaustiva.) * Avaliação experimental\\ Reprodutibilidade: Documentação das instâncias, tempo de execução, parâmetros, número de experimentos, semente do gerador randômico, etc. Método de escolha de parâmetros. Discussão e conclusões. Em particular: para métodos estocásticos os valores apresentados devem ser médias de pelo menos 5 replicações de cada experimento com sementes diferentes. * Implementação\\ Critérios básicas da eng. de SW: documentação, legibilidade, etc. O trabalho consiste em: * Um [[:relatorio|relatório]] com a documentação da solução com resultados e discussão (veja um {{ga-r.pdf|exemplo}}). * Elementos obrigatórios: Introdução, Formulação, Descrição da solução, Resultados obtidos com análise, Conclusão e Bibliografia. * Nos resultados computacionais, uma tabela informando, para cada instância: valor da solução inicial (SI), valor da solução final (SF), desvio percentual da solução final em relação à inicial calculado como 100*(SI-SF)/SI, desvio percentual da SF em relação à solução ótima, tempo computacional da metaheurística, tempo computacional da resolução via solver. * Uma implementação (linguagem arbitrário desde seja padrão sem uso de bibliotecas proprietárias e pode ser compilado e executado usando somente software livre). * Uma apresentação em aula. Como apresentar? [[http://lmgtfy.com/?q=como+apresentar+bem+um+artigo+cientifico|Mais informações.]] **[[trabalho-faq|Perguntas frequentes (FAQ)]]** ===== Trabalhos selecionados ===== ^ No. ^ Trabalho ^ Nome ^ P ^ A ^ R ^ C ^ | ** Parte 1 ** ||||||| | 1 | BT+OMD | Frederico | \v. | | \v | \v | | 2 | AG+TB | Gustavo D | \v. | \v | \v | \v | | 3 | AG+ADM | Cindy | \v. | \v(+4) | \v(+3) | \v(+3) | | 4 | GRASP+ADM | Matheus CG | \v. | \v | \v | \v | | 5 | ILS+ADM | Demétrio | \v. | | \v | \v | | 6 | SA+ADM | Diego | \v. | \v | \v | \v | | 7 | GRASP+OMD | Gustavo B | \v. | \v(+1) | \v(+1) | \v(+1) | | 8 | VNS+ADM | Roger | \v. | | \v | \v | | 9 | GA+OMD | Lucas | \v. | \v(+6) | \v(+6) | \v(+6) | | 10 | GRASP+TB | Gabriel | \v. | \v(+2) | \v(+2) | \v(+2) | | | BT+TB | Lorenzo | \v. | | | | | | SA+OMD | Flavio | | | | | | | BT+ADM | Matheus DB | \v. | | | | | | SA+TB | Matheus CB | \v. | | | | | ** Parte 2 ** ||||||| | 11 | ADM+BT | Maria Eduarda | | | | | 12 | MOV+BT | Erik | | | | | 13 | IGA+ADM | Vinícius | | | | Status: 13 de novembro.\\ #Trabalhos definidos: 13/18. A=Apresentação, R=Relatorio, C=Codigo. \v (+x): entregue (com atraso de x dias). ==== Seleções ==== ^ ^ ADM ^ TB ^ OMD ^ MOC ^ | SA | \v | | | | | ILS | \v | | | | | IGA | \v | | | | | BT | \v | | \v | \v | | AG | \v | \v | \v | | | GRASP | \v | \v | \v | | | VNS | \v | | | | ADM = Agendamento com distâncias mínimas\\ TB = Trabalho balanceado\\ ODM = Ordem mais dispersa\\ MOC = Mochila conexa ===== Agenda ===== ^ Data ^ Hora ^ Apresentação ^ | 17/08 | 10.30 | ADM+GRASP (Matheus CG) | | ::: | 10.42 | ADM+AG (Cindy) | | ::: | 10.54 | OMD+BT (Frederico) | | ::: | 11.06 | ADM+SA (Diego) | | ::: | 11.18 | TB+BT (Lorenzo) | | ::: | 11.30 | TB+SA (Matheus CB) | | 19/08 | 10.30 | ADM+ILS (Demétrio) | | ::: | 10.42 | TB+GRASP (Gabriel) | | ::: | 10.54 | TB+AG (Gustavo D) | | ::: | 11.06 | OMD+SA (Flavio) | | ::: | 11.18 | OMD+AG (Lucas) | | ::: | 11.30 | OMD+GRASP (Gustavo B) | | ::: | 11.42 | ADM+VNS (Roger) | | 23/11 | 10.30 | IGA+ADM (Vinícius) | | ::: | 11.00 | ADM+BT (Maria Eduarda) | | ::: | 11.30 | MOV+BT (Erik) |