Otimização Conceitos Fundamentais Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 30
Agradecimentos Prof. a Dr. a Maristela Oliveira dos Santos (ICMC/USP) Prof. a Dr. a Priscila Cristina Berbert Rampazzo (FACOM/UFU) Que gentilmente forneceram suas notas de aula. Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 2 / 30
Conteúdo 1 Pesquisa Operacional 2 História da Pesquisa Operacional 3 Modelagem Matemática 4 Exemplos Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 3 / 30
Otimização Segundo a Wikipédia (25/02/2016): Em matemática, o termo otimização, ou programação matemática, refere-se ao estudo de problemas em que se busca minimizar ou maximizar uma função através da escolha sistemática dos valores de variáveis reais ou inteiras dentro de um conjunto viável. Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 4 / 30
Fonte: Wikipédia (10/08/2016) Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 5 / 30
Grande área: Pesquisa Operacional Segundo a Sociedade Brasileira de Pesquisa Operacional (SBPO): A Pesquisa Operacional (PO) é uma ciência aplicada voltada para a resolução de problemas reais. Tendo como foco a tomada de decisões, aplica conceitos e métodos de várias áreas científicas na concepção, planejamento ou operação de sistemas. A Pesquisa Operacional é usada para avaliar linhas de ação alternativas e encontrar as soluções que melhor servem aos objetivos dos indivíduos ou organizações. Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 6 / 30
Conteúdo 1 Pesquisa Operacional 2 História da Pesquisa Operacional 3 Modelagem Matemática 4 Exemplos Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 7 / 30
Breve Histórico da PO (1/5) 1939 1945: Durante a Segunda Guerra Mundial, as gerências militares britânica e norte-americana empregaram uma abordagem científica para tratamento de problemas de gerenciamento de recursos escassos (radares, tropas, munição, remédios, etc.), de forma eficaz 1936: A British Military Applications utilizou, pela primeira vez o termo operational research. Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 8 / 30
Breve Histórico da PO (2/5) 1947: Início do interesse das indústrias na utilização das técnicas desenvolvidas na área militar, para auxiliar no planejamento e controle da produção A maioria desses problemas é formulada por meio de modelos matemáticos lineares Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 9 / 30
Breve Histórico da PO (3/5) 1947: George B. Dantzig propôs um método prático para solução de modelos lineares, denominado Simplex 1 [Dantzig, GB (1949). Programming in a linear structure, Econometrica 17:73 74.] 1972: Klee e Minty demonstraram que o método Simplex percorre 2 n vértices [Klee, V; Minty, GJ (1972). How good is the simplex algorithm?. In Shisha, O. Inequalities III. New York-London: Academic Press. pp. 159 175.] Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 10 / 30
Breve Histórico da PO (4/5) 1979: Leonid G. Khachiyan desenvolveu um novo algoritmo para resolver modelos de programação linear: o Algoritmo Elipsóide (tempo polinomial porém mais lento do que o Simplex) [Khachiyan, LG (1979). A Polynomial Algorithm in Linear Programming, Soviet Mathematics Doklady, 20(1):191-194.] 1984: Surge mais um método de se resolver problemas lineares: Algoritmo dos Pontos Interiores, criado por Narendra Karmarkar (tempo polinomial e competia com o Simplex) [N. Karmarkar (1984). A new polynomial-time algorithm for linear programming. In Proceedings of the sixteenth annual ACM symposium on Theory of computing (STOC 84). ACM, New York, NY, USA, 302-311.] Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 11 / 30
Breve Histórico da PO (5/5) Mais datas interessantes: http://www.lionhrtpub.com/orms/orms-10-02/frhistorysb1.html 1 Eleito pela revista Computing in Science and Engineering um dos 10 algoritmos mais importantes do Século XX Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 12 / 30
Conteúdo 1 Pesquisa Operacional 2 História da Pesquisa Operacional 3 Modelagem Matemática 4 Exemplos Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 13 / 30
Problemas de Otimização (1/2) A busca de uma solução mais adequada entre diversas soluções alternativas traz consigo os elementos de um Problema de Otimização Devemos estabelecer um critério de avaliação das soluções alternativas, o qual nos permite dizer que uma solução é melhor que outra (objetivo ou subjetivo) Esse critério de avaliação é denominado função objetivo, que buscamos otimizar, ou seja, maximizar ou minimizar Por outro lado, as soluções alternativas devem ser possíveis de execução indicando a presença de restrições que devem ser respeitadas Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 14 / 30
Problemas de Otimização (2/2) Resolução de um problema utilizando PO segue as seguintes fases: Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 15 / 30
Modelagem (1/5) Modelagem Matemática O processo de transformar um problema real em uma formulação matemática que o representa é chamado de modelagem matemática. Na maioria das vezes, no processo de modelagem do problema, é necessário fazer simplificações, pois: 1 O problema não possui todos os dados conhecidos 2 Ou para facilitar a resolução Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 16 / 30
Modelagem (2/5) Construindo um Modelo Matemático Passo Fundamental: Ouvir aquele que lida com o problema real Passo 1: Descobrir o que deve ser determinado (variáveis do problema) Passo 2: Descobrir o que está disponível (dados do problema) Passo 3: Reproduzir os caminhos que levam a uma solução (equações) Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 17 / 30
Modelagem (3/5) Notação: x é o vetor de variáveis f é a função objetivo, ou seja, uma função de x que deve ser minimizada ou maximizada g é um conjunto (vetor) de restrições que o ponto x deve satisfazer; o número de componentes de g é o número de restrições em x Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 18 / 30
Modelagem (4/5) Com base nessa notação, um problema de otimização pode ser escrito da seguinte maneira: minimizar f (x) sujeito a g i (x) = 0 x 0 1 i n Sendo que: x R n f R n R g i R n R Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 19 / 30
Modelagem (5/5) Exemplo de Modelo: minimizar x 1 + 2x 2 + x 3 sujeito a x 1 0.3x 2 0 x 1 + x 3 0 x 1, x 2, x 3 0 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 20 / 30
Conteúdo 1 Pesquisa Operacional 2 História da Pesquisa Operacional 3 Modelagem Matemática 4 Exemplos Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 21 / 30
Exemplo 1: Problema de Planejamento de Produção (1/9) Para a produção de dois itens (P 1 e P 2 ) uma fábrica precisa de três tipos de matéria-prima (M 1, M 2 e M 3 ) Cada item requer uma determinada quantidade de matéria-prima, mostrada na tabela a seguir: P 1 P 2 M 1 2 1 M 2 1 2 M 3 1 0 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 22 / 30
Exemplo 1: Problema de Planejamento de Produção (2/9) No entanto, a quantidade de matéria-prima em estoque é limitada; os limites são dados a seguir: M 1 10 M 2 12 M 3 4 Deseja-se maximizar a lucratividade da fábrica. Os parâmetros sobre lucratividade por produto estão descritos na tabela abaixo: P 1 1 P 2 1.5 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 23 / 30
Exemplo 1: Problema de Planejamento de Produção (3/9) Desejamos saber quanto deve ser produzido de modo a maximizar o lucro; logo, as variáveis do modelo devem representar as quantidades produzidas: x 1 é a quantidade (em unidades) do item P 1 x 2 é a quantidade (em unidades) do item P 2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 24 / 30
Exemplo 1: Problema de Planejamento de Produção (4/9) Em seguida, definimos a função-objetio, a qual determina, nesse caso, o lucro obtido pela produção de cada item ($/unidade): Essa função deve ser maximizada f (x 1, x 2 ) = 1x 1 + 1.5x 2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 25 / 30
Exemplo 1: Problema de Planejamento de Produção (5/9) Para garantir a produção de cada item, devemos modelar quando de matéria-prima precisamos para garantir a produção de uma unidade de cada item No entanto, temos um estoque limitado; assim, o total de matéria-prima utilizada não pode exceder o total em estoque Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 26 / 30
Exemplo 1: Problema de Planejamento de Produção (6/9) Para utilizar a matéria-prima M 1 respeitando o estoque, temos a seguinte restrição: 2x 1 + x 2 10 Para utilizar a matéria-prima M 2 respeitando o estoque, temos a seguinte restrição: x 1 + 2x 2 12 Para utilizar a matéria-prima M 3 respeitando o estoque, temos a seguinte restrição: x 1 4 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 27 / 30
Exemplo 1: Problema de Planejamento de Produção (7/9) Finalmente, não podemos produzir quantidade negativas de itens, ou seja, precisamos definir as restrições de não-negatividade x 1 0, x 2 0 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 28 / 30
Exemplo 1: Problema de Planejamento de Produção (8/9) Combinando todas essas informações, temos o seguinte modelo: maximizar f (x 1, x 2 ) = 1x 1 + 1.5x 2 sujeito a 2x 1 + x 2 10 x 1 + 2x 2 12 x 1 4 x 1 0; x 2 0 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 29 / 30
Exemplo 1: Problema de Planejamento de Produção (9/9) A solução ótima para este modelo é x 1 = 8 3, x 2 = 14 3 Ou seja, a solução ótima é produzir uma quantidade igual a 8 3 de P 1 e 14 3 de P 2 Nesse caso, o lucro obtido é de: 29 3 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 30 / 30