Bibliografia:
• Livro texto: Integer Programming, Laurence A. Wolsey, John Wiley & Sons, 1998, ISBN: 0471283665, 9780471283669 (capítulos 1, 2, 3, 4, 5, 7, 8, 9, 10).
• Livro de apoio (à implementação computacional de formulações e algoritmos de solução): Julia Programming for Operations Research, second edition, Changhyun Kwon.
Artigos publicados (a serem indicados ao longo do curso).
Tópicos:
1. Capítulo 1: Formulações (1semana).
2. Extra: Introdução à Linguagem de Programação Julia e, em particular, à JuMP (linguagem de modelagem para problemas de Otimização Matemática, baseada em Julia) (1 semana).
3. Capítulo 2: Otimalidade, Relaxações e Limitantes (1/2 semana).
4. Capítulo 10: Relaxação Lagrangeana (1 semana).
5. Capítulo 10: Relaxação Lagrangeana (1/2 semana).
6. Capítulo 4: Emparelhamentos e Atribuições (1 semana).
7. Capítulo 5: Programação Dinâmica (1 semana).
8. Capítulo 7: Algoritmo Branch and Bound (1 semana).
9. Capítulo 8: Algoritmos de Planos de Cortes (1 semana).
10. Capítulo 9: Desigualdades Válidas Fortes (1 semana).
11. Apresentação de Trabalhos (1 semana).
Sistema de Avaliação:
1. Listas de exercícios selecionados dos capítulos 1, 2, 3, 4, 5, 7, 8 e 9: concluído o capítulo, o prazo de entrega para a lista correspondente é de 7 dias (5 pontos).
2. Projetos (para problemas a serem definidos para/pelos alunos, agrupados em pares ou individualmente) (3,5 pontos). (a) Implementação e teste de um algoritmo de relaxação Lagrangeana (através de Julia ou de outra linguagem de programação de sua escolha), (b) Implementação e teste de algoritmos Branch and Bound e Branch and Cut (através do JuMP-Julia, ou de outra linguagem de programação de sua preferência).
3. Apresentação de trabalhos (1,5 pontos).