Uma visão geral sobre otimização - Unicampapg/encpos09/Trabalhos_files/...Uma vis~ao geral sobre...

27
Uma vis˜ ao geral sobre otimiza¸ ao Uma vis˜ ao geral sobre otimiza¸c˜ ao L. Felipe Bueno 1 25/09/09 1 Universidade Estadual de Campinas , [email protected], Apoio financeiro Fapesp

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!!!