Otimização
Conceitos Fundamentais
Paulo Henrique Ribeiro Gabriel phrg@ufu.br
Faculdade de Computação Universidade Federal de Uberlândia
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.
Conteúdo
1 Pesquisa Operacional
2 História da Pesquisa Operacional
3 Modelagem Matemática
Segundo a Wikipédia (25/02/2016):
“Em matemática, o termootimização, ouprogramaçã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.”
Segundo a Sociedade Brasileira de Pesquisa Operacional (SBPO):
“APesquisa Operacional(PO) é umaciê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 quemelhor servem aos objetivos dos indivíduos ou organizações.”
Conteúdo
1 Pesquisa Operacional
2 História da Pesquisa Operacional
3 Modelagem Matemática
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”.
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
1947: George B. Dantzig propôs um método prático para solução de modelos lineares, denominado Simplex1 [Dantzig, GB (1949). Programming in a linear structure, Econometrica 17:73–74.]
1972: Klee e Minty demonstraram que o método Simplex percorre 2n 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.]
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.]
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
Conteúdo
1 Pesquisa Operacional
2 História da Pesquisa Operacional
3 Modelagem Matemática
A busca de uma solução mais adequada entre diversas soluções alternativas traz consigo os elementos de umProblema 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 é denominadofunçã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
Problemas de Otimização (2/2)
Modelagem Matemática
O processo de transformar um problema real em uma formulação matemática que o representa é chamado demodelagem 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
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)
Notação:
x é o vetor de variáveis
f é afunçã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
Modelagem (4/5)
Com base nessa notação, um problema de otimização pode ser escrito da seguinte maneira: minimizar f (x ) sujeito a gi(x ) = 0 x ≥ 0 1 ≤ i ≤ n Sendo que: x ∈ Rn f ∈ Rn→ R gi ∈ Rn→ R
Exemplo de Modelo:
minimizar x1+ 2x2+ x3
sujeito a x1− 0.3x2 ≤ 0
x1+ x3 ≤ 0
x1, x2, x3 ≥ 0
Conteúdo
1 Pesquisa Operacional
2 História da Pesquisa Operacional
3 Modelagem Matemática
Para a produção de dois itens (P1 e P2) uma fábrica precisa de três
tipos de matéria-prima (M1, M2 e M3)
Cada item requer uma determinada quantidade de matéria-prima, mostrada na tabela a seguir:
P1 P2
M1 2 1
M2 1 2
M3 1 0
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:
M1 10
M2 12
M3 4
Deseja-semaximizar a lucratividadeda fábrica. Os parâmetros sobre lucratividade por produto estão descritos na tabela abaixo:
P1 1
Desejamos saber quanto deve ser produzido de modo a maximizar o lucro; logo, asvariáveis do modelo devem representar as quantidades produzidas:
I x1é a quantidade (em unidades) do item P1 I x2é a quantidade (em unidades) do item P2
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):
f (x1, x2) = 1x1+ 1.5x2
Para garantir a produção de cada item, devemos modelar quando de matéria-prima precisamos para garantir a produção deuma 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
Exemplo 1: Problema de Planejamento de Produção (6/9)
Para utilizar a matéria-prima M1 respeitando o estoque, temos a
seguinterestrição:
2x1+ x2 ≤ 10
Para utilizar a matéria-prima M2 respeitando o estoque, temos a
seguinterestrição:
x1+ 2x2 ≤ 12
Para utilizar a matéria-prima M3 respeitando o estoque, temos a
seguinterestrição:
Finalmente, não podemos produzir quantidade negativas de itens, ou seja, precisamos definir asrestrições de não-negatividade
x1≥ 0, x2≥ 0
Exemplo 1: Problema de Planejamento de Produção (8/9)
Combinando todas essas informações, temos o seguinte modelo: maximizar f (x1, x2) = 1x1+ 1.5x2
sujeito a 2x1+ x2 ≤ 10
x1+ 2x2 ≤ 12
x1 ≤ 4
A solução ótima para este modelo é x1 = 83, x2 = 143
Ou seja, a solução ótima é produzir uma quantidade igual a 83 de P1 e 14
3 de P2
Nesse caso, o lucro obtido é de: 293