CURSO: Graduação em Matemática 1º semestre de 2016 DISCIPLINA: PESQUISA OPERACIONAL 2 PROFESSOR(ES): Vincent Gérard Yannick Guigues & Elivelton Ferreira Bueno CARGA HORÁRIA: 60h PRÉ-REQUISITO: CÁLCULO 2 e PESQUISA OPERACIONAL 1 HORÁRIO E SALA DE ATENDIMENTO: quartas-feiras, de 15h às 17h. SALA: 312.9 COMPLEMENTAÇÃO DE CARGA HORÁRIA: 1 aula de 1h40min PLANO DE ENSINO 1. Ementa Programação Linear Inteira. Algoritmo de Branch-and-Bound. Problemas sobre grafos: caminho mínimo e fluxo máximo. Programação Dinâmica e aplicações. Introdução à programação não linear. 2. Objetivos da disciplina Esta disciplina tem como objetivo geral à modelagem e solução de problemas de Pesquisa Operacional. Especificamente, os objetivos serão: Modelagem e solução de problemas de Programação Linear e de Programação Linear Inteira por meio de estruturas de grafos. Modelagem e solução de problemas de Programação Dinâmica. 3. Procedimentos de ensino (metodologia) Os alunos serão incentivados a praticar a modelagem de problemas de Pesquisa Operacional, particularmente problemas de Programação Linear e de Programação Inteira com certas estruturas de grafos, além de problemas de Programação Dinâmica. Os alunos também serão expostos à solução computacional dos problemas formulados, bem como a estratégias específicas de solução para os problemas propostos. A disciplina prevê diversas atividades de modelagem, de implementação e de testes computacionais em laboratório.
4. Conteúdo programático detalhado Datas Tópico Atividades 16/02 (Ter) Introdução a modelos de fluxo em redes: caminho mínimo; fluxo máximo; fluxo de custo mínimo; transporte; designação. Modelagem de problemas práticos de programação em redes por meio de estruturas de 18/02 (Qui) Transformações de fluxo em redes (redes direcionadas; limitantes inferiores e capacidades nos arcos; arcos com custos negativos; custo reduzido nos arcos) e manipulações com redes residuais. 23/02 (Ter) O problema de caminhos mínimos (formulação matemática; árvore de caminhos mínimos). O algoritmo de Dijkstra (enunciado, corretude e complexidade). 25/02 (Qui) Condições de otimalidade para o problema de caminhos mínimos. O algoritmo de Bellman- Ford-Moore e suas propriedades. 01/03 (Ter) O problema de caminhos mínimos entre cada par de vértices (condições de otimalidade e detecção de ciclos negativos). O algoritmo de Floyd- Warshall. 03/03 (Qui) O problema de fluxo máximo (sua formulação nó-arco e o problema dual). Propriedades de fluxo e de cortes (rede residual e capacidade de um corte). grafos. Representações e estruturas de dados para problemas de programação em redes. Estruturas de dados para diferentes implementações do algoritmo de Dijkstra (heap binária, d-heap, heap de Fibonacci). Implementações eficientes do algoritmo de Bellman-Ford- Moore. Implementação do algoritmo de Floyd-Warshall. Aplicações do problema de fluxo máximo. 08/03 (Ter) O algoritmo de caminhos de aumento. Decomposição de fluxo. 10/03 (Qui) O teorema do fluxo máximo e corte mínimo (relações com algoritmos de rotulação e com otimização combinatória). O problema de fluxo máximo com limitantes inferiores nos arcos (condições de viabilidade e condições de otimalidade). 15/03 (Ter) O algoritmo de Ford-Fulkerson. Implementações eficientes do algoritmo de Ford-Fulkerson. 17/03 (Qui) O algoritmo preflow-push. Implementações eficientes do algoritmo preflow-push. 22/03 (Ter) O problema do fluxo de custo mínimo (PFCM): formulação e propriedades. 24/03 (Qui) FERIADO (SEMANA SANTA) 29/03 (Ter) Condições de otimalidade para o PFCM: ciclo negativo, custo reduzido e folgas Aplicações do PFCM.
complementares. 31/03 (Qui) Teoria de dualidade para o PFCM: o problema dual do PFCM; teorema de dualidade fraca; e teorema de dualidade forte. 05/04 (Ter) O algoritmo de sucessivos caminhos mínimos e o algoritmo primal-dual para o PFCM. 07/04 (Qui) O algoritmo de Edmonds-Karp para o PFCM. 09-16/04 SEMANA A1 Avaliação e entrega de trabalho. 19/04 (Ter) Um algoritmo fortemente polinomial para o PFCM. 21/04 (Qui) FERIADO (TIRADENTES) 26/04 (Ter) Caracterização de soluções para o PFCM como árvores geradoras: propriedades e condições de otimalidade. 28/04 (Qui) Aspectos computacionais para a manutenção do fluxo e da estrutura de árvores geradoras para o PFCM. 03/05 (Ter) O método simplex para redes (MSR): obtenção de uma árvore geradora inicial; teste de otimalidade; e regras de pivoteamento. 05/05 (Qui) Degenerescência em problemas de fluxo em redes e ciclagem no MSR. 10/05 (Ter) Uma especialização do MSR para o problema de caminho mínimo. 12/05 (Qui) Uma especialização do MSR para o problema de fluxo máximo. 17/05 (Ter) Revisão de programação linear (PL): problema de PL e método simplex. Resolução de problemas de PL com algoritmos da família simplex. 19/05 (Qui) Relações entre o MSR e o método simplex para problemas de PL em geral. 24/05 (Ter) Unimodularidade e integralidade em programação linear. 26/05 (Qui) FERIADO (CORPUS CHRISTI) 31/05 (Ter) Programação dinâmica: definição e exemplos 02/06 (Qui) Algoritmo de programação dinâmica. Algoritmo de programação dinâmica aproximada. 07/06 (Ter) Algoritmo de programação dinâmica aproximada. 09/06 (Qui) Implementação dos algoritmos de programação dinâmica para um problema de gestão de carteiras. 13-20/06 SEMANA A2 Avaliação e entrega de trabalho. 21/06 (Ter) 23/06 (Qui)
27/06-04/07 SEMANA AS Avaliação. 5. Procedimentos de avaliação A nota da avaliação do período é composta pelas avaliações de exercícios resolvidos (15%), de trabalhos computacionais de laboratório (35%) e de prova escrita (50%). 6. Bibliografia Obrigatória TAHA, Hamdy A; Pesquisa Operacional; 8a. Edição; São Paulo;Pearson Prentice Hall, 2008, 359p. Lachtermacher, Gerson. Pesquisa operacional na tomada de decisões. Campus, 2009. Colin, Emerson Carlos. Pesquisa Operacional. LTC, 2007. 7. Bibliografia Complementar Yanasse, Horacio Hideki; Arenales, Marcos; Morabito, Reinaldo; Armentano, Vinícius Amaral.. Pesquisa Operacional: Modelagem e Algoritmos. Elsevier-Campus. Cormen, Thomas H et al. Algoritmos: teoria e prática. Campus, 2012.. Belfiore, Patrícia; Favero, Luiz Paulo. Pesquisa Operacional Para Cursos de Engenharia. Elsevier. Godlbarg, Marco L; Luna, Henrique P. C. Otimização Combinatória e Programação Linear.Campus, 2005. Hillier, F.S; Lieberman, G.Introdução à Pesquisa Operacional. Bookman, 2013. 8. Minicurrículo do(s) Professor(s) Elivelton Ferreira Bueno possui graduação em Ciência da Computação pela Pontifícia Universidade Católica de Goiás (PUC-Goiás), mestrado em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro (UFRJ) e doutorado em Matemática Aplicada pela École Polytechnique de Montréal. Atualmente, é integrante do Grupo de Matemática Computacional da PUC-Goiás e bolsista pós-doutorado júnior do CNPq, atuando como pesquisador na Escola de Matemática Aplicada (EMAp) da Fundação Getulio Vargas (FGV/RJ). Tem experiência na área da Ciência da Computação e da Matemática Aplicada, com
ênfase em Otimização Combinatória, e tem trabalhado na modelagem matemática e na resolução de problemas de escalonamento de jogos esportivos através de heurísticas, metaheurísticas e métodos exatos de Programação Linear Inteira. Vincent Gérard Yannick Guigues possui graduação em Engenharia Informática e Matemática Aplicada pela ENSIMAG (2000), mestrado em Otimização e Estatística pela ENSIMAG (2001), mestrado em Otimização e Estatística pela Universidade Joseph Fourier (2001) e doutorado em Inferência Estatística e Otimização Robusta pela Universidade Joseph Fourier (2005). Atualmente é Professor Adjunto na FGV. 9. Link para o Currículo Lattes Elivelton Ferreira Bueno: http://lattes.cnpq.br/2764240045623948 Vincent Gérard Yannick Guigues: http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=k4231723z7