Otimização 2

Horários das aulas

Ementa e programa

Objetivos da disciplina

Textos de referência

Textos complementares

Canais de acesso

Formas de avaliação

Avaliações

Listas de exercícios

Trabalhos computacionais

Material

A linguagem de programação Julia

Julia é uma linguagem de programação de alto nível surgida em 2012, que implementa várias ferramentas para uso geral em matemática aplicada. Em particular, Julia possui várias ferramentas para otimização. É muito parecida com o Matlab, portanto os códigos são fáceis de entender. Os trabalhos computacionais desta disciplina serão feitos em Julia.

Para uma introdução ao Julia e seu uso em otimização, acesse o tutorial de apoio à disciplina neste link.

Introdução; as condições de Karush-Kuhn-Tucker (KKT)
Penalização externa

Referência: Martínez, J. M. Otimização prática usando o Lagrangiano aumentado

  • Penalização externa pura [ANOTACOES] [QUADRO]
  • Convergência do esquema de penalização externa e prova das condições KKT [ANOTACOES]
  • Exercicios: veja LISTA 1
Método do Lagrangiano aumentado

Referência: Martínez, J. M. Otimização prática usando o Lagrangiano aumentado

Penalização interna / barreiras / pontos interiores

Referência: Martínez, J. M.; Santos, S. A. Métodos computacionais de otimização Referência para Programação Linear: J. Gondzio. Interior point methods 25 years later. European Journal of Operational Research, 218(3):587-601, 2012

Conteúdo extra

Estratégia de regiões de confiança

Referência 1: Ribeiro, A. A; Karas, E. W. Otimização contínua. Cengage, 2014 (versão alternativa)
Referência 2: Nocedal, J.; Wright, S. J. Numerical optimization. Springer, 2006

  • Estratégia de regiões de confiança e convergência global [ANOTACOES]
  • O passo de Cauchy e o método dog-leg [ANOTACOES]
  • Exercicios: veja LISTA 3
Programação quadrática sequencial

Referência: Martínez, J. M.; Santos, S. A. Métodos computacionais de otimização

O Problema de quadrados mínimos linear e não-linear

Referência: Nocedal, J.; Wright, S. J. Numerical optimization. Springer, 2006

  • Quadrados mínimos linear [ANOTAÇÕES]
    • Sobre a decomposição QR. No Julia exsite o comando qr do pacote LinearAlgebra
    • Sobre a decomposição em valores singulares (do inglês, SVD). Além da SVD como descrita no link, existe a versão thin SVD, em que $U$ ou $V$ não são quadradas. O comando svd do pacote LinearAlgebra do Julia computa esta versão por padrão pois é mais econômica (veja a ajuda do comando, ?svd, para mais detalhes)
  • Quadrados mínimos não linear - método de Gauss-Newton [ANOTAÇÕES]
  • Quadrados mínimos não linear - método de Levenberg-Marquardt [ANOTAÇÕES]
  • Exercicios: veja LISTA 5
Dualidade em programação não linear

Referência 1: Izmailov, A.; Solodov, M. Otimização vol 1. SBM.
Referência 2: Luenberguer; Ye. Linear and Nonlinear Programming. Springer, 2008

  • Dualidade em Programação Não Linear, parte 1 [QUADRO]
  • Dualidade em Programação Não Linear, parte 2 [QUADRO]
  • Método de planos de corte / Resolução de sistemas de inequações convexas [QUADRO]