Método de restrições ativas para minimização em caixas

Documentos relacionados
Método de restrições ativas para minimização com restrições lineares

Resolução de problemas com apenas restrições lineares de igualdade

Algoritmos para resolução de problemas de minimização irrestrita

Marina Andretta. 17 de setembro de Baseado no livro Numerical Optimization, de J. Nocedal e S. J. Wright.

Método dos gradientes (ou método de máxima descida)

Métodos para resolver problemas de otimização restrita

Método do Lagrangiano aumentado

Método de Newton truncado

Método de Newton modificado

Resolução de sistemas de equações não-lineares: Método Iterativo Linear

Resolução de sistemas de equações não-lineares: Método Iterativo Linear

Pontos extremos, vértices e soluções básicas viáveis

Resolução de sistemas de equações lineares: Método dos Gradientes Conjugados

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis.

Resolução de sistemas de equações lineares: Método do Gradiente

Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016

Método do Ponto Fixo

Interpolação polinomial: Polinômio de Lagrange

Marina Andretta. 9 de agosto de Baseado em problemas presentes em

Regras para evitar ciclagem

Marina Andretta/Franklina Toledo. 18 de outubro de Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires.

Cones e raios extremos

Existência e otimalidade de pontos extremos

Representação de poliedros

Marina Andretta. 18 de outubro de 2010

Teoria de dualidade. Marina Andretta ICMC-USP. 19 de outubro de 2016

Determinação numérica de autovalores e autovetores: Método das Potências Inversas

Degenerescência. Marina Andretta ICMC-USP. 19 de outubro de 2016

Teoremas de dualidade

Determinação numérica de autovalores e autovetores: Método das Potências Inversas

Algoritmos de aproximação - Problema da Mochila

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Métodos Previsor-Corretor

Interpolação polinomial: Diferenças divididas de Newton

Marina Andretta. 02 de agosto de 2010

Método das Secantes. Marina Andretta/Franklina Toledo ICMC-USP. 4 de setembro de 2012

Poliedros na forma padrão

Notações e revisão de álgebra linear

Como resolver o QFEMUP usando otimização

Resolução de sistemas de equações não-lineares: Método de Newton

Algoritmos de aproximação - Método primal-dual

Algoritmos de aproximação - Problema de cobertura por conjuntos

Lema de Farkas e desigualdades lineares

UM MÉTODO DE RESTRIÇÕES ATIVAS PARA MINIMIZAÇÃO EM CAIXAS. Marina Andretta

Marina Andretta. 29 de setembro de 2014

Resolução de sistemas de equações lineares: Método de eliminação de Gauss - estratégias de pivotamento

Problemas NP-completos

SME0300 Cálculo Numérico Aula 6

Departamento de Matemática da Universidade de Coimbra. Licenciatura em Matemática. e B =

Optimização. Carlos Balsa. Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança

Método de Quadrados Mínimos: Caso discreto

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira 22 de novembro de 2017

com restrições lineares

Alocação de Unidades via Relaxação Lagrangeana

Métodos de Runge-Kutta

Resolução de sistemas de equações lineares: Fatorações de matrizes

Optimização e Algoritmos (2004/2005)

Método de Euler. Marina Andretta/Franklina Toledo ICMC-USP. 29 de outubro de 2013

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

Determinação de raízes de polinômios: Método de Briot-Ruffini-Horner

Lista de Exercícios de Métodos Numéricos

Determinação de raízes de polinômios: Método de Briot-Ruffini-Horner

Determinação numérica de autovalores e autovetores: Método de Jacobi

Métodos de Pesquisa Operacional

Interpolação polinomial: Diferenças divididas de Newton

SME0300 Cálculo Numérico Aula 4

Capítulo 5 - Optimização Não-Linear

Um algoritmo sem derivadas para otimização restrita

Aula 07: Análise de sensibilidade (2)

Resolução de sistemas de equações lineares: Fatorações de matrizes

Resolução de sistemas de equações lineares: Fatorações de matrizes

Lista de Exercícios da Primeira Semana Análise Real

Uma nova taxa de convergência para o Método do Gradiente

Gabarito P2. Álgebra Linear I ) Decida se cada afirmação a seguir é verdadeira ou falsa.

Aula 02: Algoritmo Simplex (Parte 1)

Projeções Multi-dimensionais

TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

Processamento de Imagens CPS755

Aulas 6 / 05 de setembro

1 Álgebra linear matricial

II Seminário da Pós-graduação em Engenharia Elétrica

Aula 10 Produto interno, vetorial e misto -

Programação Linear - Parte 3

INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 2007/2008 Semestre: 1 o

Problema do Caminho Mínimo

Modelagem Computacional. Parte 2 2

Bernardo Kulnig Pagnoncelli 1 e Humberto José Bortolossi 2

PCC104 - Projeto e Análise de Algoritmos

4 Extração direta das PELs

Notas de Aula de Cálculo Numérico

Álgebra Linear e Aplicações - Lista para Primeira Prova

Modelagem Computacional. Parte 7 2

Algoritmos de aproximação - Problema do caixeiro viajante

Como modelar um problema de nesting com rotações livres

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

OPTIMIZAÇÃO NÃO LINEAR EM REDES

Álgebra Linear I - Aula 5. Roteiro

Solução aproximada de equações de uma variável

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Transcrição:

Método de restrições ativas para minimização em caixas Marina Andretta ICMC-USP 20 de outubro de 2014 Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 1 / 25

Problema com restrições de caixa Estamos interessados em resolver o problema Minimizar Sujeita a f (x) x Ω = {x IR n l x u}, (1) com x, l, u IR n, l < u, e f : IR n IR suave. Denotaremos o gradiente da função f por g. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 2 / 25

Método de restrições ativas Se fosse possível saber o conjunto de restrições ativas na solução, o ponto x solução do problema (1) seria facilmente calculado (pois o problema se tornaria irrestrito). Métodos de restrições ativas tentam, a cada iteração, descobrir qual o conjunto de restrições ativas na solução. Se detectam que o conjunto W de restrições que supunham ser ativas na solução está incorreto, utilizam algum critério para acrescentar ou remover restrições de W. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 3 / 25

Método de restrições ativas O método de restrições ativas que estudaremos parte de um conjunto de restrições ativas W. A cada iteração, fixa as variáveis de W e resolve um subproblema irrestrito, usando apenas as variáveis livres. Se a solução do subproblema for também a solução do problema original (1), o conjunto W está correto e o método para. Se a solução do subproblema não for solução do problema original (1), o conjunto W é modificado e inicia-se uma nova iteração. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 4 / 25

Método de restrições ativas Note que, ao fixar algumas variáveis do conjunto Ω, estamos definindo faces deste conjunto. Podemos então dividir a região viável Ω em faces abertas disjuntas. Para todo I {1, 2,..., n, n + 1, n + 2,..., 2n} definimos F I = x Ω x i = l i, se i I, x i = u i, se n + i I, l i < x i < u i caso contrário. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 5 / 25

Método de restrições ativas O conjunto Ω é a união das faces abertas. Definimos V I o menor espaço afim que contém F I e S I o subespaço vetorial paralelo a V I. Definimos o gradiente projetado contínuo como g P (x) = P Ω (x g(x)) x. Lembre-se que um ponto viável x k satisfaz as condições KKT se e somente se g P (x k ) = 0. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 6 / 25

Método de restrições ativas Para todo x F I, definimos o gradiente interno como g I (x) = P SI [g P (x)]. Ou seja, [g I (x)] i = { [gp (x)] i, se x i é livre, 0, caso contrário Note que a norma de g I (x) sempre é menor ou igual à norma de g P (x). Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 7 / 25

Método de restrições ativas A idéia do método de restrições ativas é a seguinte: O conjunto viável é dividido em faces abertas e, a cada iteração k, tem-se um ponto x k pertencente a uma dessas faces. No início de cada iteração, verifica-se qual a relação entre a norma do gradiente interno e a norma do gradiente projetado contínuo. Quando a norma do gradiente projetado contínuo g P é muito maior que a norma do gradiente interno g I, decide-se mudar de face. Quando a norma do gradiente projetado contínuo g P não é muito maior, decide-se continuar na mesma face. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 8 / 25

Teste para decidir se permanece na face O teste principal, usado para decidir se permanecemos ou não na face atual, é g I (x k ) η g P (x k ), para η (0, 1). A ideia deste teste é: se a função objetivo parece diminuir mais saindo da face (norma de g P muito maior do que a norma de g I ), decidimos abandonar a face corrente. Se ficar na face atual parece promissor, decidimos permanecer na face corrente. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 9 / 25

Teste para decidir se permanece na face x k g(x k ) x k + g P (x k ) x k x k + g I (x k ) Como é maior do que 0.1, decidimos permanecer na face. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 10 / 25

O que fazer para permanecer ou abadonar uma face Para permanecer na face atual, precisamos resolver um problema de minimização com algumas variáveis do problema original fixas em seus limitantes. Em vez de encontrar o minimizador na face, realizamos apenas uma iteração de um método para minimização irrestrita para calcular um ponto x k+1 no fecho da face atual, no qual há decréscimo do valor da função objetivo. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 11 / 25

O que fazer para permanecer ou abadonar uma face Para abandonar a face, fazemos uma iteração do método SPG (Gradiente Espectral Projetado), que fornecerá um novo ponto x k+1 viável em uma nova face, com valor de função objetivo menor. Calculado o novo ponto, verificamos se encontramos a solução do problema original. Em caso negativo, verificamos novamente se vale a pena ou não permanecer na face atual e repetimos o procedimento. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 12 / 25

Método de restrições ativas Método de restrições ativas: Dados x 0 Ω e η (0, 1). Passo 1: Faça k 0. Passo 2: Se g P (x k ) ɛ, pare com x k como solução. Passo 3: Se g I (x k ) η g P (x k ), suponha, sem perda de generalidade, que as variáveis livres em F I são x 1,..., x m e que as variáveis restantes estão fixas em x m+1,..., x n ( x i {l i, u i }, para m + 1 i n). Defina f (x 1,..., x m ) = f (x 1,..., x m, x m+1,..., x n ), x 1,..., x m IR. Use uma iteração de um algoritmo irrestrito para calcular x k+1 F I minimizador de f. Senão faça uma iteração do SPG para calcular x k+1. Passo 4: Faça k k + 1 e volte para o Passo 2. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 13 / 25

Método de restrições ativas x 0 = P ( x 0) g I(x k) g P(x k) Permanece na face Sai da face SPG Algoritmo Irrestrito Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 14 / 25

Método de restrições ativas Note que, como o valor da função objetivo sempre diminui, quando uma face é abandonada ela nunca é visitada novamente. Como o número de faces é finito e tanto o SPG como o algoritmo irrestrito possuem convergência garantida, este método de restrições ativas converge em um número finito de iterações para a solução do problema (1). Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 15 / 25

Como sair da face: método SPG x k k g(x k ) x k + d k x k s k = x k x k 1, y k = g(x k ) g(x k 1 ) λ k = s k T s k s k T y k d k = P Ω (x k λ k g(x k )) x k Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 16 / 25

Permanecer na face: minimização na face Em cada face F I estamos interessados em resolver o seguinte problema irrestrito Minimizar f (x 1,..., x m ), (2) x 1,..., x m variáveis livres e x m+1,..., x n variáveis fixas em F I f (x 1,..., x m ) = f (x 1,..., x m, x m+1,..., x n ), para todo x 1,..., x m IR Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 17 / 25

Permanecer na face: minimização na face Para resolver o problema (2), qualquer algoritmo irrestrito pode ser usado. No entanto, é preciso tomar cuidado para que as restrições do problema original (1) nas variáveis livres x 1,..., x m sejam respeitadas, mantendo os iterandos do método de restrições ativas sempre viáveis. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 18 / 25

Minimização na face com busca linear Se o método escolhido para fazer a minimização na face for de busca linear, a viabilidade do ponto x k+1 = x k + α k p k é garantida pelo seguinte procedimento: Calcula-se α max o maior escalar entre 0 e 1 tal que x k + α max p k Ω. α max = max{α [0, 1] x k + αp k Ω}. O tamanho de passo inicial para a busca linear é tomado como α max. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 19 / 25

Minimização na face com busca linear Iteração do algoritmo irrestrito com busca linear: iteração atual. Dados x k viável, ɛ > 0 e c (0, 1). Seja k a Passo 1: Se f (x k ) ɛ então pare e com x k minimizador na face. Passo 2: Calcule uma direção de descida p k. Passo 3: Calcule α max = max{α [0, 1] x k + αp k Ω}. Passo 4: Se α max < 1 e f (x k + α max p k ) < f (x k ) então faça x k+1 = x k + α max p k e pare. Passo 5: Calcule α k α max que satisfaz condições de Wolfe ou é calculado usando backtracking com Armijo. Passo 6: Faça x k+1 x k + α k p k. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 20 / 25

Minimização na face com regiões de confiança Se o método escolhido para fazer a minimização na face for de regiões de confiança, a viabilidade do ponto x k+1 = x k + p k é garantida pelo seguinte procedimento: Se a solução do subproblema de regiões de confiança gera um ponto x k + p k Ω, calcula-se o escalar α max que faz com que x k + α max p k fique na borda de Ω. Se a função f tem decréscimo simples neste ponto, ele é tomado como x k+1. Se o ponto na borda não produz decréscimo da função, diminui-se o raio da região de confiança de modo que a solução do subproblema de regiões de confiança gere x k + p k Ω. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 21 / 25

Minimização na face com regiões de confiança s k x k Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 22 / 25

Minimização na face com regiões de confiança Além disso, para garantir convergência deste método de restrições ativas, quando um ponto está muito próximo da borda de Ω, não se deve usar uma iteração de regiões de confiança. Neste caso, utilizamos uma iteração do método de SPG para resolver o seguinte problema Minimizar f (x) Sujeita a x F I. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 23 / 25

Minimização na face com regiões de confiança Iteração do algoritmo irrestrito com regiões de confiança: Seja k a iteração atual. Dados x k viável, ɛ > 0, min > 0, k min e σ > 0. Passo 1: Se f (x k ) ɛ então pare com x k minimizador na face. Passo 2: Calcule borda a distância de x k à borda da face. Passo 3: Se borda < 2 min então faça uma iteração de SPG restrito a F I (face atual) para calcular x k+1 e pare. Passo 4: Calcule p k uma solução aproximada de Minimizar ϕ(w) 1 2 w T 2 f (x k )w + ( f (x k )) T w sujeita a w k. Passo 5: Se ϕ(p k ) = 0 então pare com x k minimizador na face. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 24 / 25

Minimização na face com regiões de confiança Passo 6: Calcule α max = max{α [0, 1] [x k, x k + αp k ] Ω}. Passo 7: Se α max < 1 e f (x k + α max p k ) < f (x k ) então faça x k+1 = x k + α max p k e pare. Passo 8: Se α max < 1 e f (x k + α max p k ) f (x k ) então Passo 9: Se f (x k +p k ) f (x k ) ϕ(p k ) faça k = 0.9 borda e volte para o Passo 4. 0.1 então escolha k = [0.1 p k, 0.9 p k ] e volte para o Passo 4. Passo 10: Faça x k+1 x k + p k e escolha k+1 min. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 25 / 25