====== Trabalhos ======
===== Considerações gerais =====
* O trabalho é em grupos até 2. Cada grupo escolhe **um problema** e **uma meta-heurística**.
* Tarefas:
- Formular o problema como programa linear ou inteiro.
- Resolver as instâncias definidas (ver abaixo) com um solver genérico (p.ex. CPLEX, GLPK, SCIP).
- Definir e implementar a meta-heurística escolhida para o problema.
- Resolver as instâncias definidas com a meta-heurística.
- Documentar e analisar os experimentos num **relatório**.
- **Apresentar** os resultados em aula.
===== Passo a passo =====
- Ler a {{t20241.pdf|definição dos problemas}}, selecionar um problema.\\
- Selecionar uma heurística ([[https://www.inf.ufrgs.br/~MRPRITT/doku.php?id=inf05010:2024-1-trabalhos#meta-heuristicas|lista abaixo]], Aulas 1-3).\\
- Informar sobre a seleção por email: integrantes, [[2024-1-trabalhos#selecoes|problema e heurística selecionada]]. (Cada combinação problema+heurística é disponível somente uma vez.)\\
- Submeter uma proposta para implementação da heurística até **3 de junho 2024**.\\
* 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.).
- Apresenter uma formulação matemática até **29 de julho 2024**.\\
- Entregar o trabalho completo até **21 de agosto 2024**.\\
- Apresentar o trabalho numa das aulas previstas no cronograma (a [[2024-1-trabalhos#agenda|agenda]] vai ser definida mais próximo das datas de apresentação).
===== Meta-heurísticas =====
* Simulated annealing (SimAnn)
* Busca local iterada / Busca gulosa iterada (ILS)
* Busca Tabu (BT)
* Algorítmo genético/memético (GA)
* GRASP
* Variable neighborhood search (VNS)
===== 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, dados experimentais, 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.
=== 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.
===== Entregáveis =====
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.
* Uma implementação do modelo matemática e da heurística (linguagem arbitrária desde seja padrão sem uso de bibliotecas proprietárias e pode ser compilado e executado usando somente software livre).
* 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.
* Protocolos das execuções do solver e da meta-heuristica e outros dados experimentais detalhados;
* Uma apresentação em aula.
===== Outras informações úteis ====
* [[trabalho-faq|Perguntas frequentes (FAQ)]]
* Como apresentar? [[http://lmgtfy.com/?q=como+apresentar+bem+um+artigo+cientifico|Mais informações.]]
* Trabalho: {{tp20171.pdf|Como perder pontos?}}
===== Trabalhos selecionados =====
^ No. ^ Trabalho ^ Nome ^ P ^ F ^ A ^ R ^ C ^
| 1 | ILS+EP | Mateus Nunes Campos | ✔. | ✔. | | ✔ | ✔ |
| 2 | AG+EP | Gustavo Prolla Lacroix, Tomás Mitsuo Dias Ueda | ✔. | ✔. | ✔ | ✔ | ✔ |
| 3 | BT+AC | Jefferson Ruan, Marcel do Carmo | ✔. | ✔. | | ✔ | ✔ |
| 4 | BT+CL | Beatriz Aline Arend, João Carlos Eggers Fleck | ✔. | ✔. | | ✔ | ✔ |
| 5 | VNS+EP | Douglas Schlatter, Guilherme Fisch | ✔. | ✔. | ✔ | ✔ | ✔ |
| 6 | SimAnn+EP | Bibiana Duarte, Laura Grippa | ✔.(+9) | ✔. | | | |
| 7 | ILS+CL | Vinícius Bergonzi Lazzari | ✔. | ✔. | | ✔ | |
| 8 | GRASP+AC | Jonathan Mendes | ✔. | ✔. | | | |
| 9 | BT+EP | Rafael Vanz | ✔(+6). | | | | |
| 10 | VNS+CL | Pedro Henrique De Souza Borges | | | | | |
| 11 | ILS+AC | Taylor S. F. da Costa | | | | | |
Status: 12 de agosto 2024.\\
#Trabalhos definidos: 16.
P: Proposta, F: Formulação, A: Apresentação, R: Relatório, C: Código. (+x): entregue (com atraso de x dias).
==== Seleções ====
^ ^ AC ^ EP ^ CL ^
| Simulated Annealing (SimAnn) | | X | |
| Iterated Local Search (ILS) | X | X | X |
| Iterated Greedy Algorithm( IGA) | | | |
| Busca Tabu (BT) | X | X | X |
| Algoritmo Genetico (AG) | | X | |
| GRASP | X | | |
| Variable Neighborhood Search (VNS) | | X | X |
AC = Atendendo o maior número de clientes\\
EP = O ensopado perfeito\\
CL = Coleta de leite
===== Agenda =====
^ Data ^ Hora ^ Apresentação ^
| 26/06 | 10.30 | ILS+EP |
| ::: | 10.55 | AG+EP |
| ::: | 11.20 | VNS+EP |
| ::: | 11.35 | SimAnn+EP |
| 01/07 | 10.30 | BT+AC |
| ::: | 10.55 | BT+CL |
| ::: | 11.20 | GRASP+AC |
| ::: | 11.35 | (ILS+CL) |