métodos de busca linear baseados em derivadas simplexcheti/luciana.pdfintrodu˘c~ao introdu˘c~ao i...

30
etodos de busca linear baseados em derivadas simplex Luciana Casacio MT 853 - T´opicos em Otimiza¸c˜ ao (MT 853) 15/04/2010 1 / 30

Upload: others

Post on 22-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

  • Métodos de busca linear baseados em derivadas simplex

    Luciana Casacio

    MT 853 - Tópicos em Otimização

    (MT 853) 15/04/2010 1 / 30

  • Introdução

    Introdução

    I Algoritmo de busca linear baseado nas derivadas simplex;

    I Modificação no método que garantiu a convergência global para pontosestacionários de primeira ordem.

    I Aplicação de um backtracking utilizado para alcançar o decréscimosuficiente.

    I O método de filtragem impĺıcita de Kelley et al. (1991) pode ser visto comoum método de busca linear baseado no gradiente simplex.

    I Depois dessas modificações, esse algoŕıtmo pode ser visto como uma buscalinear correspondente à região de confiança do método que será estudado nocaṕıtulo 10.

    (MT 853) 15/04/2010 2 / 30

  • Derivada Simplex

    Derivada Simplex

    Seja Y = y 0, y 1, · · · , yn, um conjunto amostral em Rn com n + 1 pontos.

    Conhecemos {f (y 0), f (y 1), · · · , f (yn)}.

    Queremos interpolar os pontos (y 0, f (y 0)), · · · , (yn, f (yn)) por uma função linearm(x) ∈ Rn, ou seja, satisfazer m(yi ) = f (y i ) para i = 1, · · · , n.

    m(x) = α0 + α1x1 + · · ·+ αnyn, ou, na forma matricial:

    1 y01 y

    02 · · · y 0n...

    1 yn1 yn2 · · · ynn

    . α0...αn

    = f (y

    0)...

    f (yn)

    .

    (MT 853) 15/04/2010 3 / 30

  • Derivada Simplex

    Fazendo Eliminação Gaussiana

    1 y 01 y

    02 · · · y 0n

    0 y 11 − y 01 y 12 − y 02 · · · y 1n − y 0n...

    ......

    . . ....

    0 yn1 − y 01 yn2 − y 02 · · · ynn − y 0n

    . α0...αn

    =

    f (y 0)f (y1)− f (y0)

    ...f (yn)− f (y0)

    .

    Seja L =

    (y1 − y 0)T

    ...(yn − y 0)

    = [y 1 − y 0 · · · yn − y 0]T , ∇s f = α1...αn

    e,

    δf (y) =

    f (y1)− f (y0)...f (yn)− f (y0)

    , temos: ∇s f (y) = L−1δf (y), para L não singular.

    (MT 853) 15/04/2010 4 / 30

  • Estrutura da busca linear

    Estrutura da busca linear

    Consideraremos em cada k iteração, um conjunto amostralY k = {y 0k , y 1k , . . . , ynk }, formado por n + 1 pontos,

    onde pode ser calculado o gradiente simplex baseado em y 0k :

    ∇s f (xk) = L−1k δf (Yk),

    com

    Lk = [y1k − y 0k . . . ynk − y 0k ]T e δf (Yk) =

    f (y1k )− f (y 0k )

    ...f (ynk )− f (y 0k )

    .

    (MT 853) 15/04/2010 5 / 30

  • Estrutura da busca linear

    Definimos também

    ∆k = max1≤i≤n

    ‖y ik − y 0k ‖.

    Outros tipos de gradientes simplex podem também ser utilizados, como gradientesimplex centralizado ou Hessiana simplex.

    O seguinte limite de erro deve ser satisfeito:

    ‖∇f (xk)−∇s f (xk)‖ ≤ keg ∆k , (1)

    onde, keg é uma constante positiva dependendo da geometria dos pontos de

    amostragem. No caso da interpolação linear, keg = ν(1 + n12 ‖(L/∆)−1‖/2).

    (MT 853) 15/04/2010 6 / 30

  • Estrutura da busca linear

    HipóteseNós assumimos que (1) pode ser satisfeita por algum keg > 0 fixo e por algumvalor de ∆k > 0, em um finito, uniformemente limitado número de melhorespassos no conjunto de amostra.

    Basicamente, uma melhoria geométrica no passo consiste em substituir umvértice do simplex. Assim, o caso interpolação (n + 1 pontos amostrais) paraalgum valor positivo de ∆k , o erro limitante (1) pode ser alcançado usando nomáximo n melhores passos.

    Em cada iteração da busca linear do método, uma condição de decréscimosuficiente é imposta para calcular um novo ponto. Usando o gradiente simplex∇s f (xk), com xk = y 0k , essa condição de decréscimo suficiente é da forma

    (MT 853) 15/04/2010 7 / 30

  • Estrutura da busca linear

    f (xk − α∇s f (xk))− f (xk) ≤ −ηα‖∇s f (xk)‖2, (2)

    onde η ∈ (0, 1) e α > 0.

    O novo ponto xk+1 é “em prinćıpio” da forma xk+1 = xk − αk∇s f (xk), onde αk éescolhido por um backtracking, para garantir (2) com α = αk .

    No entanto, essa versão da busca linear considera a possibilidade de aceitar umponto diferente de xk − αk∇s f (xk) quando esse ponto fornecer um melhor valorda função objetivo.

    A busca linear inclui um esquema de backtracking padrão. Mas, essa busca linearpode falhar. Quando ela falha, o tamanho de ∆k e a busca linear recomeça.

    (MT 853) 15/04/2010 8 / 30

  • Estrutura da busca linear

    Algoritmo 1 - Busca linear baseada em grandiente simplex

    Inicialização: Escolha um ponto inicial x0, um conjunto amostral inicial{y 00 (= x0), y 10 , . . . , yn0 }. β, η e ω ∈ (0,1) e selecione jmax ∈ N.

    Para k = 0, 1, 2, . . .

    1. Cálculo do gradiente simplex: Calcule o gradiente simplex ∇s f (xk) tal que∆k ≤ ‖∇s f (xk)‖ (se não satisfazer, aplicar algoritmo 2). Defina jatual = jmax eµ = 1.

    2. Busca linear: Para j = 1, · · · , jatual(a) Defina α = βj . Avalie f como xk − α∇s f (xk).

    (b) Se a condição de decréscimo suficiente (2) é satisfeita para α, então pare essepasso com αk = α e vá para o passo 4.

    (MT 853) 15/04/2010 9 / 30

  • Estrutura da busca linear

    3. Busca linear falha: Divida µ por 2, recalcule o gradiente simplex ∇s f (xk) talque ∆k ≤ µ‖∇s f (xk)‖ (aplique o algoritmo 2), aumente jatual para 1, e repita abusca linear (vá para o passo 2).

    4. Novo ponto: Defina

    xk+1 = arg minx∈Xk{f (xk − αk∇s f (xk)), f (x)},

    onde Xk é um conjunto de pontos onde f possivelmente tenha sido avaliadodurante o percurso 1 e 3.Defina y 0k+1 = xk+1. Atualize y

    1k+1, · · · , ynk+1 de y 0k , · · · , ynk removendo um desses

    pontos.

    Um posśıvel critério de parada é quando ∆k começar diminuir de uma escolhidatolerância ∆tol > 0 (por exemplo ∆tol = 10

    −5).

    (MT 853) 15/04/2010 10 / 30

  • Estrutura da busca linear

    Algoritmo 2 - Passo Cŕıtico

    É aplicado somente quando ∆k > µ‖∇s f (xk)‖.

    Inicialização: Seja i = 0. Defina ∇s f (xk)(0) = ∇s f (xk).

    Repita: Aumente i para 1. Calcule um novo gradiente simplex ∇s f (xk)(1)baseado no conjunto amostral contendo xk e contido em

    B(xk ;ωiµ‖∇s f (xk)0‖)

    tal que ‖∇f (xk)−∇s f (xk)(i)‖ ≤ keg (ωiµ‖∇s f (xk)(0)‖).

    Sendo ∆k = ωiµ‖∇s f (xk)(0)‖ e ∇s f (xk) = ∇s f (xk)(i).

    Até ∆k ≤ µ‖∇s f (xk)i‖.

    (MT 853) 15/04/2010 11 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    Convergência global para pontos cŕıticos de primeira ordem

    Nós precisamos assumir que ∇f é Lipschitz cont́ınua:

    L(x0) = {x ∈ Rn : f (x) ≤ f (x0)}.

    Precisamos levar em conta que os pontos usados no cálculo do gradiente simplexpoderia estar fora L(x0), especialmente no ińıcio das iterações do método.

    Podemos ampliar L(x0). Se nós impormos que ∆k nunca exceda uma dadaconstante positiva ∆max , então todos os pontos usados pelo algoŕıtmo irão existirno conjunto:

    Lenl(x0) = L(x0)⋃

    x∈L(x0)

    B(x ; ∆max) =⋃

    x∈L(x0)

    B(x ; ∆max).

    Nós assumiremos que f é uma função continuamente diferenciável em umconjunto aberto contendo Lenl(x0) e que ∇f é Lipschitz cont́ınua em Lenl(x0)com constante ν > 0.

    (MT 853) 15/04/2010 12 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    LemaSe ∇f (xk) 6= 0, os passos 1 e 3 do algoritmo 1 irão satisfazer ∆k ≤ µ‖∇s f (xk)‖em um número finito de passos melhorando o valor da função objetivo (pelaaplicação do algoritmo 2).

    Prova: A prova será mostrada no estudo do caṕıtulo 10.

    Precisamos analizar quais condições de decréscimo suficiente (2), ou seja,certificar-se que a busca linear no passo 2 do algoritmo 1 se realiza após umnúmero finito de reduções de α e µ.

    (MT 853) 15/04/2010 13 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    LemaSeja f uma função cont́ınuamente diferenciável em um conjunto aberto contendoLenl(x0). Assuma que ∇f é Lipschitz continua em Lenl(x0) com constante ν > 0.Seja xk tal que ∇f (xk) 6= 0. A condição de decréscimo suficiente (2) é satisfeitapara todo α e µ tal que

    0 < α ≤ 2(1− η − kegµ)ν

    (3)

    e

    µ <1− ηkeg

    . (4)

    (MT 853) 15/04/2010 14 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    Prova: Primeiro, já foi mostrado, que:

    f (xk + αd)− f (xk) ≤ α∇f (xk)T d +να2

    2‖d‖2

    = α(∇f (xk)−∇s f (xk))T d + α∇s f (xk)T d +να2

    2‖d‖2.

    Substituindo d por −∇s f (xk) e usando (1) e α > 0, nós obtemos

    f (xk − α∇s f (xk))− f (xk)≤ α(keg ∆k/‖∇s f (xk)‖ − 1 + να/2)‖∇s f (xk)‖2.

    Sabendo que ∆k ≤ µ‖∇s f (xk)‖ e α > 0 temos

    f (xk − α∇s f (xk))− f (xk) ≤ α(kegµ− 1 + να/2)‖∇s f (xk)‖2.

    (MT 853) 15/04/2010 15 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    Então, a condição de decréscimo suficiente (2) é satisfeita se

    kegµ− 1 +να

    2≤ −η.

    Como resultado do Lema e da forma do passo 2 para atualizar α, uma garantiaque αk é limitado vem de

    α ≥ α̃ = 2(1− η − keg µ̃)βν

    , (5)

    onde µ̃ é algum número tal que 0 < µ̃ < 1−ηkeg .

    (MT 853) 15/04/2010 16 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    Teorema

    Seja f uma função continua diferenciável em um conjunto aberto contendoLenl(x0). Assuma que f é limitada por L(x0) e que ∇f é Lipschitz cont́ınua emLenl(x0) com constante ν > 0. Então, a sequência de iterações gerados peloalgoritmo 1 satisfaz

    limk→+∞

    ‖∇f (xk)‖ = 0. (6)

    Prova: A prova de

    limk→+∞

    ‖∇s f (xk)‖ = 0 (7)

    segue dos argumentos clássicos dos métodos de busca linear. A sequência {f (xk)}é decrescente (por construção) e limitada em L(x0) (por hipótese). Então, o ladoesquerdo em (2) (com α = αk) converge para zero.

    (MT 853) 15/04/2010 17 / 30

  • Convergência global para pontos cŕıticos de primeira ordem

    O limite (7) então segue de

    f (xk+1)− f (xk) ≤ f (xk − αk∇s f (xk))− f (xk) ≤ −ηα̃‖∇s f (xk)‖2,

    onde α̃ é dado em (5), e a primeira inequação começa do passo 4 do algoritmo.

    Já que ∇s f (xk) converge para zero, nós mostramos de (1) e passos 1 e 3 doalgoritmo que, para k suficientemente grande,

    ‖∇f (xk)−∇s f (xk)‖ ≤ keg‖∇s f (xk)‖.

    Essa inequação junto com (7) implica em (6).

    (MT 853) 15/04/2010 18 / 30

  • Análise de rúıdos

    Análise de rúıdos

    Em muitas aplicações o ńıvel de rúıdos em função objetivo diferente de zero, equais são avalidas na prática pode ser representada como

    f (x) = fsuave(x) + �(x), (8)

    onde fsuave é uma função adjacente suave e �(x) representa o rúıdo em suaavaliação.

    Vamos considerar o algoritmo 1 aplicado para minimização de f em (8).

    A fim de conservar a convergência global para pontos cŕıticos de primeira ordem,nós exigimos que o ńıvel de rúıdo da função objetivo satisfaça

    max0≤i≤n

    |�(y ik)| ≤ c∆2k (9)

    para todas iterações, onde c > 0, independente de k .

    (MT 853) 15/04/2010 19 / 30

  • Análise de rúıdos

    Para que satisfaça o decréscimo suficiente é necessário avaliar f nos pontos quenão serão usados no cálculo do gradiente simplex, então o ńıvel de ruido devesatisfazer

    �(xk − α∇s f (xk)) ≤ c∆2k (10)

    para todos valores de α considerados na forma backtracking.

    Quando o ńıvel de rúıdo satisfazer as duas condições, o limite do gradiente dafunção adjacente fsuave converge para zero.

    (MT 853) 15/04/2010 20 / 30

  • O algoritmo de filtragem impĺıcita

    O algoritmo de filtragem impĺıcita

    Diferenças em relação ao algoritmo 1:

    I O conjunto amostral não é dinamicamente atualizado;

    I O novo conjunto amostral é escolhido a cada iteração com o propósito decalcular o gradiente simplex.

    I Nenhum fornecimento é feito para ligar a precisão do algoritmo e aqualidade da geometria do conjunto amostral;

    I Não é posśıvel garantir sucesso para a busca linear.

    I Incorpora a atualização quasi-Newton da aproximação Hessiana, baseada nogradiente simplex que está sendo calculado. Quando a busca linear falha, amatriz quasi-Newton é reposta para a escolha inicial.

    (MT 853) 15/04/2010 21 / 30

  • O algoritmo de filtragem impĺıcita

    Algoritmo 3 - Método de filtragem impĺıcita

    Inicialização: Escolha β e η entre (0,1); ponto inicial x0; Hessiana inicial H0 (porexemplo, a matriz identidade). Selecione jmax ∈ N.

    Para k = 0, 1, 2, ...

    1. Cálculo do gradiente simplex: Calcule o gradiente simplex ∇s f (xk) tal que∆k ≤ ‖∇s f (xk)‖. Calcule dk = −H−1k ∇s f (xk).

    2. Busca linear: Para j = 0, 1, 2, · · · , jmax(a) Defina α = βj . Avalie f em xk + αdk .

    (b) Se a condição de decrescimo suficiente

    f (xk + αdk)− f (xk) ≤ ηα∇s f (xk)T dk

    é satisfeita para α, então pare esse passo com αk = α.

    (MT 853) 15/04/2010 22 / 30

  • O algoritmo de filtragem impĺıcita

    3. Novo ponto: Se a busca linear foi bem sucedida, xk+1 = xk + αkdk .

    4. Atualização Hessiana: Se a busca linear falhou, defina Hk+1 = H0. AtualizeHk+1 de Hk usando uma atualização quasi-Newton baseada em xk+1 − xk e∇s f (xk+1)−∇s f (xk).

    (MT 853) 15/04/2010 23 / 30

  • Outras derivadas simplex

    Outras derivadas simplex

    Existem alternativas para cálculo do gradiente simplex baseado em n + 1 pontos.

    Por exemplo, se a função é avaliada mais do que n + 1 pontos, pode-se calcular ogradiente simplex de forma regressiva.

    Gradiente Simplex Centralizado

    Quando o número de pontos é 2n + 1 e o conjunto de amostra Y é da forma

    {y 0, y 0 + (y 1 − y 0), · · · , y 0 + (yn − y 0), y 0 − (y 1 − y 0), · · · , y 0 − (yn − y 0)}

    é posśıvel calcular um gradiente simplex centralizado com precisão ∆2.

    (MT 853) 15/04/2010 24 / 30

  • Outras derivadas simplex

    Note que o conjunto de amostras dado é obtido retendo os pontos originais eadicionando suas reflexões através de y 0.

    [y 1 − y 0 · · · yn − y 0 −(y 1 − y 0) · · · −(yn − y 0)

    ].

    Quando y 0 = 0, esse conjunto de amostras reduz para

    {0, y 1, · · · , yn,−y 1, · · · − yn}.

    Considere, novamente, a matriz L = [y 1 − y 0 · · · yn − y 0]T . O gradiente simplexcentralizado é definido por

    ∇cs f (y 0) = L−1δcs f (Y ),

    onde

    δcs f (Y ) =1

    2

    f (y0 + (y 1 − y 0))− f (y 0 − (y 1 − y 0))

    ...f (y 0 + (yn − y 0))− f (y 0 − (yn − y 0))

    .(MT 853) 15/04/2010 25 / 30

  • Outras derivadas simplex

    Por exemplo, se ∇2f é Lipschitz cont́ınua com constante ν > 0 em um conjuntoaberto contendo a bola B(y 0; ∆), onde

    ∆ = max1≤i≤n

    ‖y i − y 0‖,

    Então, ‖∇f (y 0)−∇cs f (y 0)‖ ≤ keg ∆2,

    onde keg = n12 ν‖L̃−1‖ e L̃ = L∆ .

    Essa melhoria na ordem de precisão da aproximação do gradiente não temconsequências para aproximações de segunda ordem.

    (MT 853) 15/04/2010 26 / 30

  • Outras derivadas simplex

    Hessinas SimplexDado um conjunto amostra Y = {y 0, y 1, · · · , yp} com p = (n + 1)(n + 2)/2− 1,equilibrado no sentido da interpolação quadratica, pode-se calcular o gradientesimplex ∇s f (y 0) e uma hessiana simplex (simétrica) ∇2s f (y 0) do sistema deequações lineares

    (y i − y 0)T∇s f (y 0) +1

    2(y i − y 0)T∇2s f (y 0)(y i − y 0) = f (y i )− f (y 0). (11)

    O gradiente simplex e hessiana simplex nada mais são que os coeficientes domodelo de interpolação quadrática m(x) = c + gT x + (1/2)xT Hx :

    ∇s f (y 0) = g e ∇2s f (y 0) = H.

    Quando p = 2n, é posśıvel abandonar todos os elementos fora da diagonal daHessiana e calcular o gradiente simplex e a diagonal Hessiana simplex.

    (MT 853) 15/04/2010 27 / 30

  • Algumas referências

    Algumas referências

    I O algoritmo de filtragem impĺıcita de Kelley e outros.

    T. A. WINSLOW, R. J. TREW, P. GILMORE, AND C. T. KELLEY, Dopingprofiles for optimum class B performance of GaAs MESFET amplifiers, inProceedings of the IEEE/Cornell Conference on Advanced Concepts in HighSpeed Devices and Circuits, 1991, pp. 188-197.

    I O mesmo algoritmo mais detalhado

    D. E. STONEKING, G. L. BILBRO, R. J. TREW, P. GILMORE, AND C. T.KELLEY, Yield optimization using a GaAs process simulator coupled to aphysical device model, IEEE Trans. Microwave Theory Tech., 40 (1992), pp.1353-1363.

    (MT 853) 15/04/2010 28 / 30

  • Algumas referências

    I As propriedades dos métodos de convergência global

    D. M. BORTZ AND C. T. KELLEY, The simplex gradient and noisyoptimization problems, in Computational Methods in Optimal Design andControl, J. T. Borggaard, J. Burns, E. Cliff, and S. Schreck, eds., vol. 24 ofProgr. Systems Control Theory, Birkhäuser, Boston, 1998, pp. 77-90.

    I Variações da convergência local

    T. D. CHOI AND C. T. KELLEY, Superlinear convergence and implicitfiltering, SIAM J. Optim., 10 (2000), pp. 1149-1162.

    (MT 853) 15/04/2010 29 / 30

  • Algumas referências

    I Algoritmo de busca local baseado em gradiente simplex centralizado eHessianas simplex aproximadas. Prova a convergência global para pontosestacionários de primeira ordem e variações da convergência local.

    R. MIFFLIN, A superlinearly convergent algorithm for minimization withoutevaluating derivatives, Math. Program., 9 (1975), pp. 100-117.

    (MT 853) 15/04/2010 30 / 30

    IntroduçãoDerivada SimplexDerivada SimplexEstrutura da busca linearEstrutura da busca linearEstrutura da busca linearEstrutura da busca linearEstrutura da busca linearEstrutura da busca linearEstrutura da busca linearConvergência global para pontos críticos de primeira ordemConvergência global para pontos críticos de primeira ordemConvergência global para pontos críticos de primeira ordemConvergência global para pontos críticos de primeira ordemConvergência global para pontos críticos de primeira ordemConvergência global para pontos críticos de primeira ordemConvergência global para pontos críticos de primeira ordemAnálise de ruídosAnálise de ruídosO algoritmo de filtragem implícitaO algoritmo de filtragem implícitaO algoritmo de filtragem implícitaOutras derivadas simplexOutras derivadas simplexOutras derivadas simplexOutras derivadas simplexAlgumas referênciasAlgumas referênciasAlgumas referências