Uma visão geral sobre otimização - Unicampapg/encpos09/Trabalhos_files/...Uma vis~ao geral sobre...
Transcript of Uma visão geral sobre otimização - Unicampapg/encpos09/Trabalhos_files/...Uma vis~ao geral sobre...
-
Uma visão geral sobre otimização
Uma visão geral sobre otimização
L. Felipe Bueno 1
25/09/09
1Universidade Estadual de Campinas , [email protected], Apoiofinanceiro Fapesp
-
Uma visão geral sobre otimização
Sumário
O que é otimização
Modelagem
Formulação matemática
Programação Linear (PL)
Programação Inteira (PI)
Programação Não Linear (PNL)
Problemas de Equiĺıbrio de Nash
-
Uma visão geral sobre otimização
O que é otimização - Exemplo de problema
Existem n produtos que eu posso adquirir(toneladas de soja, ações da Petrobras, livros do Impa, ...)
Variáveis de decisão: quantidade que vou adiquirir de cadaproduto (xi ; i = 1, · · · , n)p0i - preço do produto hoje
pji - preço futuro do produto i sob o cenário futuro jj = 1, · · · ,mpi - média dos posśıveis preços para o produto i no futuro
M - Quantidade de dinheiro que possuo
-
Uma visão geral sobre otimização
O que é otimização - Exemplo de problema
Como tomar a decisão?
Uma alternativa seria fazer o investimento que desse o maiorlucro médio posśıvel.
Maximizar p1x1 + p2x2 + · · ·+ pnxnx
Sujeito a p01x1 + p02x2 + · · ·+ pnxn ≤ M
x1 ≥ 0, x2 ≥ 0, · · · , xn ≥ 0
Solução: xj =Mp0j
, xi = 0 se i 6= j ,
onde j é tal quepjp0j≥ pi
p0i∀i
-
Uma visão geral sobre otimização
O que é otimização - Exemplo de problema
Como tomar a decisão?
Uma alternativa seria fazer o investimento que desse o maiorlucro médio posśıvel.
Maximizar p1x1 + p2x2 + · · ·+ pnxnx
Sujeito a p01x1 + p02x2 + · · ·+ pnxn ≤ M
x1 ≥ 0, x2 ≥ 0, · · · , xn ≥ 0
Solução: xj =Mp0j
, xi = 0 se i 6= j ,
onde j é tal quepjp0j≥ pi
p0i∀i
-
Uma visão geral sobre otimização
O que é otimização - Formulação matemática
Minimizar f (x)x ∈ Ω ⊂ E
Sujeito a g(x) ≤ 0
h(x) = 0
-
Uma visão geral sobre otimização
Programação Linear - Formulação geral
Minimizar c1x1 + c2x2 + · · ·+ cnxnx
Sujeito a a11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2
...am1x1 + am2x2 + · · ·+ amnxn = bmx1 ≥ 0, x2 ≥ 0, · · · , xn ≥ 0
Com b1, b2, · · · , bm ≥ 0.
-
Uma visão geral sobre otimização
PL na forma padrão compacta
Minimizar cT xx
Sujeito a Ax = bx ≥ 0
Com x ∈ Rn, c ∈ Rn, A ∈ Rm×n e b ≥ 0 ∈ Rm.
-
Uma visão geral sobre otimização
Programação Linear - Método Simplex
Minimizar cTb xb + cTn xn
x
Sujeito a [B N](
xbxn
)= b
x ≥ 0
xb = B−1(b − Nxn) - Problema em função de xn
Minimizar rTn xn + dx
Sujeito a x ≥ 0
-
Uma visão geral sobre otimização
Programação Linear - Método Simplex
Minimizar cTb xb + cTn xn
x
Sujeito a [B N](
xbxn
)= b
x ≥ 0
xb = B−1(b − Nxn) - Problema em função de xn
Minimizar rTn xn + dx
Sujeito a x ≥ 0
-
Uma visão geral sobre otimização
PL - Interpretação geométrica
-
Uma visão geral sobre otimização
PL - Interpretação geométrica
-
Uma visão geral sobre otimização
PL - Método Simplex
Jeito esperto de visitar os vértices e verificar se ele é ótimo
Convergência em tempo finito (número finito de vértices)
PL podem envolver milhões de variáveis e restrições
Computadores irão encontrar os vértices
Como atualizar xb, menor esforço para resolver o sistemalinear, como escolher qual xn aumentar, liguagens demodelagem que permitam fácil descrição, aproveitamento deesparsidade, etc...
Simplex (hoje) é exponencial em n
-
Uma visão geral sobre otimização
PL - Pontos Interiores
Polinomial em n
Sequência infinita convergindo para a solução
Competitivo com Simplex para problemas muito grandes
-
Uma visão geral sobre otimização
Programação Inteira
Minimizar cT xx
Sujeito a Ax = bx ≥ 0, x ∈ Z
Problema combinatorial
Muito dif́ıceis
Resolver como PL e arrendondar pode dar a pior soluçãoposśıvel
Heuŕısticas - Algoritmos Genéticos, Simulated Anealing,...
Métodos com teoria de convergência - Branch and Bound,Planos cortantes, Relaxação Lagrangeana...
-
Uma visão geral sobre otimização
PI - Branch and Bound
Relaxação - mais simples é relaxar como PL
Árvore de busca
-
Uma visão geral sobre otimização
Programação Não Linear
Minimizar f (x)x ∈ Ω ⊂ Rn
Sujeito a g(x) ≤ 0
h(x) = 0
Muito mais dif́ıcil do que PLMilhares de variáveis e restriçõesImportância da convexidade
-
Uma visão geral sobre otimização
Programação Não Linear
Minimizar f (x)x ∈ Ω ⊂ Rn
Sujeito a g(x) ≤ 0
h(x) = 0
Muito mais dif́ıcil do que PL
Milhares de variáveis e restrições
Importância da convexidade
Teoria de condições de otimalidade
Métodos iterativos
Desafios computacionais
-
Uma visão geral sobre otimização
Condições de otimalidade PNL
Sem restrições: ∇f (x∗) = 0Com restrições:
-
Uma visão geral sobre otimização
Condições de otimalidade PNL
O gradiente da função deve ser combinação linear dosgradientes das retrições
Condições KKT
∇f (x∗) +nh∑j=1
λ∗j∇hj(x∗) +ng∑j=1
µ∗j∇gj(x∗) = 0
h(x∗) = 0, g(x∗) ≤ 0
µ∗j g(x∗) = 0, (complementaridade)
µ∗j ≥ 0
-
Uma visão geral sobre otimização
Condições de otimalidade PNL
Minimizar xx ∈ R
Sujeito a x2 = 0
x∗ = 0, ∇f (x∗) = 1, ∇h(x∗) = 0Regularidade - Gradientes das restrições ativas LI
CPLD - Tese da Laura Schuvert (Grande prêmio CAPES)
Condições sequências - Tese Gabriel Haeser
-
Uma visão geral sobre otimização
Método do gradiente - Máxima descida
xk+1 = xk − tk∇f (xk)Lento: Zig-Zag
-
Uma visão geral sobre otimização
Método de Newton
∇2f (xk)dk = −∇f (xk)xk+1 = xk − tkdk)Para tk = 1 é o Método de Newton para resolver ∇f (x) = 0Rápido: Convergência quadrática
Funções são bem aproximadas por quadráticas perto do pontocorrente.
-
Uma visão geral sobre otimização
Problemas de Equiĺıbrio
Dono de uma rede de lojas tem que dar uma ordem para osgerentes de cada loja.
minimizar f (x , y)x , y
Sujeito a: x ∈ Xy é solução do problema:
minimizar g(x , y)y
Sujeito a: y ∈ Y
(PSN)Uma alternativa é substituir o PSN por suas condições KKT.
Só é equivalente no caso convexo.
Restrições de complementaridade tem dificuldades teóricas ecomputacionais.
-
Uma visão geral sobre otimização
Equiĺıbrio de Nash
Mesma filosofia anterior mas agora não existe hierarquia.
Uma indústria tem que tomar uma decisão que mais lheinteressa mas sua decisão depende da decisão da concorrente,assim como a da concorrente depende da dela.
Cada uma resolve um problema de otimização parametrizadopela solução do problema da outra mas os problemas sãoresolvidos simultaneamente.
Este problema não tem fução objetivo comum.
Não existe noção de solução como em PNL.
-
Uma visão geral sobre otimização
Definição
x∗ = (x∗1 , · · · , x∗p ) ∈ Rn1+···+np é um Equiĺıbrio de Nash se, paratodo i, x∗i for solução do problema de otimização:
minimizar fi (xi , x∗−i )xi
Sujeito a: xi ∈ Xi (x∗−i ) ⊂ Rni
Pontos EN não são necessariamente ótimos a Pareto, podemnão ser bons pra sociedade como um todo.
Uma idéia de resolvê-lo seria trocar todos os problemas porsuas condições KKT.
Ferramenta útil: Desigualdades Variacionais.
Métodos do tipo Gaus-Seidel, Jacobi
Métodos Nakaido - Isoda
-
Uma visão geral sobre otimização
Fim!
Muito Obrigado!!!