====== 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) |