• Nenhum resultado encontrado

Implementação eficiente dos métodos de pontos interiores especializados para o problema de regressão pela norma Lp

N/A
N/A
Protected

Academic year: 2021

Share "Implementação eficiente dos métodos de pontos interiores especializados para o problema de regressão pela norma Lp"

Copied!
142
0
0

Texto

(1)

Departamento de Matemática Aplicada

Implementação Eciente dos Métodos de

Pontos Interiores Especializados para o

Problema de Regressão pela Norma L

p

Eliana Contharteze Grigoletto

Mestrado em Matemática Aplicada

Orientador:

Prof. Dr. Aurelio Ribeiro Leite de Oliveira

Co-orientadora:

Dra. Daniela Renata Cantane

Este trabalho contou com suporte nanceiro da FAPESP. Campinas-SP

(2)

Implementação Eciente dos Métodos de

Pontos Interiores Especializados para o

Problema de Regressão pela Norma L

p

Este exemplar corresponde à redação nal da tese devidamente corrigida e defendida por Eliana Contharteze Grigoletto e aprovada pela comissão julgadora.

Campinas, 13 de junho de 2011. Prof. Dr. Aurelio R. L. de Oliveira

Orientador

Dra. Daniela Renata Cantane

Co-Orientadora Banca examinadora:

Prof. Dr. Aurelio Ribeiro Leite de Oliveira (IMECC - UNICAMP) Profa. Dra. Maria Aparecida Diniz Ehrhardt (IMECC - UNICAMP) Prof. Dr. Antonio Roberto Balbo (Depto. de Matemática - UNESP)

Dissertação apresentada ao Instituto de Matemática Estatística e Compu-tação Cientíca, UNICAMP, como re-quisito parcial para a obtenção do tí-tulo de Mestre em Matemática Aplicada.

(3)
(4)
(5)

À Deus, por me dar forças e guiar em mais essa etapa da minha vida.

À minha mãe Inês e meu irmão Eliel, cujo apoio e incentivo aos estudos foram im-prescindíveis para que eu pudesse concluir mais essa etapa da minha vida acadêmica, e por estarem sempre comigo nessa caminhada.

Aos meus amigos e colegas Liz, Luis, Luciana, Marta, Juliano, Rafael, Soa, Fábio, Cícero, entre outros, pelo ânimo para seguir em frente e pelo apoio nas dúvidas técnicas.

Ao meu orientador Aurelio, por estar sempre presente para me ajudar no projeto e diante dos momentos de cansaço e desânimo soube ter paciência e me dar o apoio necessário para eu vencer mais esse desao.

Ao meu orientador da graduação Balbo, pela força, por me incentivar nos estudos e por ter me direcionado ao mestrado.

À FAPESP - Fundação de Amparo e Apoio à Pesquisa do Estado de São Paulo, pelo apoio nanceiro.

(6)

Resumo

Os métodos de pontos interiores primais-duais para o problema de regressão pela norma--p desenvolvidos terão sua estrutura matricial resultante explorada objetivando uma imple-mentação eciente. O problema de regressão tem inúmeras aplicações em diversas áreas. A norma-2 é muito popular, entre outros motivos, por permitir uma solução direta. Por sua vez a norma-1 permite reduzir o efeito de pontos discrepantes enquanto que a norma innito garante proteção contra o pior caso. A norma-p permite pensar estas características de diferentes formas, adaptando o método ao problema a ser resolvido. A implementação dos métodos de pontos interiores a ser desenvolvida será comparada com implementações ecientes de outros métodos já existentes.

(7)
(8)

Abstract

The specic primal-dual interior point methods for the p-norm tting problem previously developed will have their resulting matrix structure exploited aiming at an ecient imple-mentation. The tting problem has numerous applications in various areas. The 2-norm is very popular, among other reasons, for allowing a direct solution. The 1-norm allows the reduction of the eect of outliers while the innite norm provides protection against the worst case. The p-norm allows to think these characteristics in dierent ways adapting the method to the problem to be solved. The interior point method implementation to be developed will be compared with an ecient implementation of other existing methods.

(9)
(10)

Sumário

1 Introdução 1

2 Conceitos de Programação Não-Linear 9

2.1 Análise Convexa . . . 9 2.1.1 Conjuntos Convexos . . . 9 2.1.2 Função Convexa . . . 10 2.1.3 Função Côncava . . . 10 2.2 Otimização Não-Linear . . . 10 2.3 Método de Newton . . . 12

2.4 Método Barreira Logarítmica . . . 14

2.5 Método Barreira Logarítmica Preditor-Corretor . . . 19

3 Métodos Existentes para o Problema de Regressão Lp 25 3.1 O problema de Regressão pela Norma Lp . . . 25

3.2 Métodos Similares . . . 27

3.3 Método IRLS . . . 28

3.4 Método IRLSL . . . 29

3.5 Método GNCS . . . 32

3.6 Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp . . . 34

3.6.1 Método Barreira Logarítmica . . . 34

3.6.2 Método Barreira Logarítmica Preditor-Corretor . . . 39

3.6.3 Método Primal-Dual Barreira Logarítmica . . . 46

3.6.4 Método Primal-Dual Barreira Logarítmica Preditor-Corretor . . . 51

4 Modicação nos MPI Aplicados ao Problema de Regressão pela Norma Lp 61 4.1 Método Barreira Logarítmica . . . 61

4.2 Método Barreira Logarítmica Preditor-Corretor . . . 66

(11)

4.3 Método Primal-Dual Barreira Logarítmica . . . 69

4.4 Método Primal-Dual Barreira Logarítmica Preditor- Corretor . . . 74

5 Estudo da Estrutura Matricial 79 5.1 Cálculo de Ax . . . 81

5.2 Cálculo de AtA . . . 82

5.3 Inversa de uma Matriz de Hankel . . . 85

6 Resultados Computacionais 89 6.1 Problema de Grande Porte . . . 90

6.1.1 Modicação no Ponto Inicial . . . 90

6.1.2 Modicação no Cálculo do Resíduo . . . 93

6.1.3 Modicação no Cálculo das Direções . . . 94

6.1.4 Resultados Finais . . . 97

6.2 Função Cosseno . . . 102

6.3 Função Logaritmo . . . 107

6.4 Função Seno Hiperbólico . . . 111

6.5 Implementação Eciente em C . . . 115

6.5.1 Problema de Grande Porte . . . 115

6.5.2 Função Seno . . . 121

7 Conclusões 125 Bibliograa . . . 128

(12)

Capítulo 1

Introdução

O objetivo desse trabalho é aperfeiçoar e implementar métodos de pontos interiores para resolver de maneira eciente problemas de otimização não-linear da forma:

min

x∈<n kAx − bk

p

p, (1.1)

onde A ∈ <m×n é uma matriz de posto completo, b ∈ <m, m > n e 1 < p < ∞. O sistema

linear Ax = b pode ser inconsistente e a matriz A é uma matriz de Vandermonde no caso particular do problema de regressão polinomial.

Podemos denir a norma-p de um vetor v ∈ <n da seguinte forma:

• kvkp = n X i=1 |vi|p !1p ⇒ kvkpp = n X i=1 |vi|p. Em particular: • Norma-1: kvk1 = n X i=1 |vi|. • Norma-2: kvk2 = n X i=1 (vi)2 !12 . 1

(13)

• Norma-∞: kvk= max

i=1,2,··· ,n{|vi|}.

Vejamos o que é um problema de regressão polinomial com um exemplo didático.

Exemplo

Vamos considerar os seguintes pontos no <2: (-4,1), (-3,-2), (-2,2), (-1,4), (1,1), (2,3),

(3,-1), (4,2). No problema de regressão polinomial a matriz A é uma matriz de Vandermonde. Vamos encontrar os coecientes de um polinômio, dados pela resolução do problema de min kAx − bkpp.

Polinômio de grau 1:

Inicialmente o polinômio buscado é da forma p(x) = a0+ a1x.

O ideal é que esse polinômio passe por todos os pontos para minimizar o problema. Sendo assim, devemos ter: a0+ a1(−4) = 1para o primeiro ponto, · · · e a0+ a14 = 2 para o último

ponto. Temos então que resolver o problema min kAx − bkp

p, onde: A =                       1 −4 1 −3 1 −2 1 −1 1 1 1 2 1 3 1 4                       , b =                       1 −2 2 4 1 3 −1 2                       e x =    a0 a1   .

A solução desse problema utilizando o Método Barreira Logarítmica (será descrito no Capítulo 4) para p = 1, 5 é dada por:

(14)

3 x∗ =    1, 25 0, 10    e kAx ∗− bk1,5 1,5 = 17, 2781. Gracamente: p(x) = 1, 25 + 0, 1x.

Polinômio de grau 2:

O polinômio agora é da forma p(x) = a0+ a1x + a2x2. Para

esse problema teremos:

A =                       1 −4 16 1 −3 9 1 −2 4 1 −1 1 1 1 1 1 2 4 1 3 9 1 4 16                       , b =                       1 −2 2 4 1 3 −1 2                       e x =       a0 a1 a2       .

(15)

A solução desse problema é: x∗ =       2, 0930 0, 1000 −0, 1124       e kAx∗− bk1,5 1,5 = 16, 8352. Gracamente: p(x) = 2, 093 + 0, 1x − 0, 1124x2.

Polinômio de grau 6:

O polinômio é da forma p(x) = a0 + a1x + a2x2 + a3x3 +

a4x4+ a5x5+ a6x6. Para esse problema teremos:

A =                       1 −4 16 −64 256 −1024 4096 1 −3 9 −27 81 −243 729 1 −2 4 −8 16 −32 64 1 −1 1 −1 1 −1 1 1 1 1 1 1 1 1 1 2 4 8 16 32 64 1 3 9 27 81 243 729 1 4 16 64 256 1024 4096                       , b =                       1 −2 2 4 1 3 −1 2                       e x =                    a0 a1 a2 a3 a4 a5 a6                    .

(16)

5 A solução desse problema é:

x∗ =  1, 6143 −0, 8735 1, 1611 0, 2153 −0, 2889 −0, 0096 0, 0135 t e kAx∗ − bk1,5 1,5 = 3, 4915. Gracamente: p(x) = 1, 6143 − 0, 8735x + 1, 1611x2 + 0, 2153x3− 0, 2889x4− 0, 0096x5 + 0, 0135x6.

Generalizando, se tivermos m pontos no <2 dados por (x

1, y1), (x2, y2), · · · , (xm, ym)

e quisermos fazer regressão por polinômio de grau n, p(x) = a0 + a1x + a2x2+ · · · + anxn,

então teremos que resolver o problema de min kAx − bkp

p, onde: A =          1 x1 x12 · · · x1n 1 x2 x22 · · · x2n ... ... ... ... ... 1 xm xm2 · · · xmn          , b =          y1 y2 ... ym          e x =          a0 a1 ... an          .

(17)

um problema de otimização não-linear, métodos esses que serão utilizados na resolução do problema (1.1).

No Capítulo 3 citamos vários métodos existentes que resolvem o problema (1.1), para os casos em que 1 < p < ∞, p = 1 e p = ∞. Em [16] são descritos os métodos Iteratively Reweighted Least-Squares (IRLS), Método IRLS com procedimento de busca linear (IRLSL) e o Método de Newton Globalizado que usa as condições de folgas complementares (GNCS). O método IRLS funciona melhor quando p está sucientemente longe de 1. Dentre esses métodos, o que apresenta melhor desempenho é o GNCS. Entretanto, esse método utiliza um procedimento de busca linear que é computacionalmente muito caro.

Em [7] e [12] são descritos os métodos de pontos interiores barreira logarítmica, barreira logarítmica preditor-corretor, primal-dual barreira logarítmica e primal-dual barreira logarítmica preditor-corretor para resolver problemas de regressão pela norma Lp, com 1 <

p < 2. Esses métodos foram implementados em MATLAB e os resultados computacionais comprovam que são mais ecientes que o GNCS.

No Capítulo 3, Seção 3.6.2 e Seção 3.6.4, apresentaremos os métodos barreira loga-rítmica preditor-corretor e primal-dual barreira logaloga-rítmica preditor-corretor já existentes, mas com as modicações no cálculo dos resíduos. No Capítulo 4 será apresentada uma es-tratégia para aperfeiçoar os métodos propostos em [7], por meio de modicações no cálculo das direções, e dos pontos iniciais, com a intenção de reduzir o número de operações e fazer com que estes métodos sejam computacionalmente mais ecientes, especialmente quando uti-lizados para resolver problemas de grande porte. Em seguida será feita uma implementação em MATLAB e em C. Os novos métodos implementados serão comparados com os métodos

(18)

7 descritos em [7].

O enfoque deste trabalho é a resolução de problemas de regressão polinomial, com isso ganhamos algumas propriedades importantes que farão com que a implementação em C seja mais eciente. No Capítulo 5 faremos uma análise acerca das matrizes envolvidas nos métodos do Capítulo 4, essas observações nos levam a uma implementação eciente em C.

No Capítulo 6 podemos vericar os resultados computacionais da implementação em MATLAB e em C dos métodos descritos no Capítulo 4 e também podemos compará-los com os métodos já existentes.

(19)
(20)

Capítulo 2

Conceitos de Programação Não-Linear

Apresentaremos neste capítulo alguns conceitos fundamentais para a resolução de um problema de programação não-linear utilizando métodos de pontos interiores, esses métodos serão usados para resolver o problema de regressão pela norma Lp.

2.1 Análise Convexa

2.1.1 Conjuntos Convexos

Denição: Um conjunto S em <n é dito convexo se o segmento de reta que une dois

pontos quaisquer de S também pertence ao conjunto S. Em outras palavras, se x1 e x2

pertencem a S, então λx1+ (1 − λ)x2 também deve pertencer a S para todo λ ∈ [0, 1].

O elemento x = λx1+ (1 − λ)x2, com λ ∈ [0, 1], é uma combinação convexa de x1 e

x2. Por indução, y = k X j=1 λjxj, onde k X j=1 λj = 1, λj ≥ 0, j = 1, ..., k também é chamado de

combinação convexa de x1,...,xk. Se a condição de não-negatividade dos multiplicadores λj,

j = 1, ..., k for retirada, então a combinação é dita combinação am. Para maiores detalhes sobre conjuntos convexos, ver [23] e [10].

(21)

2.1.2 Função Convexa

Denição: Seja f : S → E, onde S é um conjunto convexo não vazio em <n. A função

f é dita convexa em S se

f (λx1 + (1 − λ)x2) ≤ λf (x1) + (1 − λ)f (x2)

para cada x1, x2 ∈ S e para cada λ ∈ [0, 1].

A função f é dita estritamente convexa em S se

f (λx1+ (1 − λ)x2) < λf (x1) + (1 − λ)f (x2)

para cada x1, x2 ∈ S, com x1 6= x2 e λ ∈ (0, 1).

2.1.3 Função Côncava

Denição: A função f : S → E é dita côncava (estritamente côncava) em S se −f é convexa (estritamente convexa) em S.

Para mais detalhes sobre convexidade ver [5].

2.2 Otimização Não-Linear

Seja X um conjunto não vazio aberto em <n e sejam f : <n → < e h : <n → <m.

Considere o problema (P):

min f (x) s.a. h(x) = 0

Seja S o conjunto de soluções factíveis de (P), isto é, S := {x ∈ <n, h(x) = 0} .

A função Lagrangiana L : X ×<m → <associada ao problema de minimizar f sujeita

(22)

2.2. Otimização Não-Linear 11 L(x, λ) = f (x) + λth(x),

onde λ ∈ <m é o vetor multiplicador de Lagrange.

Ponto Regular (Qualicação de restrições): Um ponto x1 ∈ S é um ponto

regu-lar com respeito às restrições h(x) = 0 se {∇h1(x1), ∇h2(x1), ..., ∇hm(x1)} é um conjunto

linearmente independente.

Teorema: Num ponto regular x1 ∈ S, o subespaço tangente é representado por

M (x1) = {λ ∈ <m : J (h(x1))tλ = 0}, onde J(h(x1)) =          ∇h1(x1)t ∇h2(x1)t ... ∇hm(x1) t          representa a Jacobiana de h em x1.

Condições Necessárias de Primeira Ordem: Suponhamos f, h ∈ C1. Seja x∗

um minimizador local de f sujeito a x ∈ S e um ponto regular de S. Então existe um vetor λ ∈ <m tal que: ∇f (x∗) + m X i=1 λi∇hi(x∗) = ∇f (x∗) + J (h(x∗))tλ = 0.

Condições Necessárias de Segunda Ordem: Suponhamos f, h ∈ C2. Seja x

um mínimo local de f em X e um ponto regular de X. Então existe λ ∈ <m tal que:

∇f (x∗) + m

X

i=1

λi∇hi(x∗) = 0,

e a Hessiana da função Lagrangiana ∇2L(x) = ∇2f (x) + m X i=1 λi∇2hi(x∗) é semi-denida positiva em M(x∗ ), isto é, yt∇2L(x∗ )y ≥ 0, ∀y ∈ M (x∗).

Função Coerciva: Diz-se que f é coerciva em X se lim

k→∞f (x

k) = ∞ para toda

sequência xk

(23)

• Exemplo: Considere f : < → < denida por f(x) = x4 − x2. Essa função é coerciva

em <, pois lim

|x|→∞x 4− x2

= +∞.

Teorema de Weierstrass: Seja X ⊂ <n não-vazio e f : D

f ⊃ X → <contínua em

X. Assuma que uma das seguintes armações é verdadeira: i) X é compacto.

ii) X é fechado e f é coerciva em X.

iii) ∃ θ ∈ < tal que Lθ := {x ∈ X : f (x) ≤ θ} é compacto e não-vazio.

Então ∃ x∗ ∈ X tal que f(x) = inf {f (x) : x ∈ X}. Em outras palavras, este

teorema fornece condições sucientes para a existência de mínimos globais de f em X ⊂ <n.

Para mais detalhes sobre otimização não-linear ver [17] e [6].

Proposição - Função Convexa: Seja f : X → < uma função convexa sobre o conjunto convexo X.

(i) Um mínimo local de f sobre X é também um mínimo global sobre X. Se além disso f é estritamente convexa, então existe um único mínimo global de f.

(ii) Se f é convexa e o conjunto X é aberto, então ∇f(x∗) = 0 é uma condição

necessária e suciente para que o vetor x∗ ∈ X seja um minimizador global de f sobre X.

A demonstração dessa proposição está disponível em [6].

2.3 Método de Newton

Considere o problema de

min f (x) s.a. x ∈ <n.

(24)

2.3. Método de Newton 13 Se xk é tal que ∇f(xk) 6= 0, os passos para determinar xk+1 são:

Passo 1: Determinar dk tal que

∇2f (xk)d

k = −∇f (xk),

ou seja, resolver este sistema linear. Notemos que este passo pode não estar bem denido se ∇2f (xk)for singular.

Passo 2: Fazer xk+1 = xk+ d k.

A ideia do método de Newton é que a função f a ser minimizada é aproximada localmente por uma função quadrática que é exatamente minimizada. Assim, na vizinhança de xk podemos aproximar f pela série de Taylor truncada:

f (x) ≈ f (xk) + ∇f (xk)t(x − xk) + 1

2(x − x

k)t2f (xk)(x − xk).

Dessa equação temos:

f (x) ≈ f (xk) + ∇f (xk)tx − ∇f (xk)txk+12xt∇2f (xk)x − xt2f (xk)xk+ 1 2x

k t2f (xk)xk.

Derivando ambos os membros dessa equação com relação a x, e considerando que devemos ter ∇f(x) = 0, pois estamos buscando um minimizador para f, obtemos:

0 ≈ 0 + ∇f (xk) + ∇2f (xk)x − ∇2f (xk)xk.

Fazendo x = xk+1, temos:

xk+1 = xk− ∇2f (xk)−1∇f (xk).

Observe que o método de Newton pode ser visto como uma técnica iterativa para resolver um sistema de equações da forma F (x) = 0, onde F : <n → <n. Basta fazer

F (x) = ∇f (x). Nesta notação, o método de Newton toma a forma:

(25)

Para esse método temos o seguinte resultado:

Teorema: Seja f ∈ C3 em <n, e assumamos que no minimizador xa Hessiana

∇2f (x

) é denida positiva. Então, se o ponto inicial for sucientemente próxima de x∗, os pontos gerados pelo método de Newton convergem para x∗. A ordem de convergência é pelo

menos quadrática.

Demonstração: Ver [17].

2.4 Método Barreira Logarítmica

Considere o problema de otimização não-linear: min f (x)

s.a h(x) = 0, x ≥ 0 onde f : <n→ < e h : <n→ <m.

No método de ponto interior barreira logarítmica, relaxa-se a restrição de não negati-vidade x ≥ 0, inserindo-a na função objetivo f através do parâmetro barreira µ, com µ → 0. Obtemos dessa forma um novo problema cuja solução é a mesma do problema anterior:

min f (x) − µ n X i=1 ln(xi) s.a h(x) = 0.

Esse novo problema é equivalente ao seguinte problema Lagrangiano:

min L(x, λ) = f (x) − µ

n

X

i=1

ln(xi) + λth(x), (2.1)

onde λ é o multiplicador de Lagrange.

(26)

2.4. Método Barreira Logarítmica 15 ∇2L(x, λ)d = −∇L(x, λ). Denindo X−1 da forma: X−1 = diag 1 xi  =        1 xi , se i = j, 0, se i 6= j, e J(h(x)) =          ∇h1(x)t ∇h2(x)t ... ∇hm(x) t         

a Jacobiana de h em x, temos então:

∇L(x, λ) =     ∇f (x) − µX−1e + m X i=1 λi∇hi(x) h(x)     , onde e = [1, 1, ..., 1]t, e ∈ <n. Observe que: ∇2L(x, λ) =     ∇2f (x) + µX−2+ m X i=1 λi∇2hi(x) J (h(x))t J (h(x)) 0     .

Para encontrar a direção de busca desse método devemos resolver o seguinte sistema linear:     ∇2f (x) + µX−2+ m X i=1 λi∇2hi(x) J (h(x))t J (h(x)) 0        dx dλ   = = −     ∇f (x) − µX−1e + m X i=1 λi∇hi(x) h(x)     . (2.2)

(27)

Resolvendo esse sistema, encontramos a direção de Newton. Para encontrar o novo ponto devemos fazer xk+1 = xk+ αd

k, λk+1 = λk+ αdk, onde

α = min {1, τ ρ}, com τ = 0, 99995 e ρ = min

dxi<0  − xi dxi  . (2.3)

O valor sugerido para τ pode ser encontrado em [26].

A atualização do parâmetro barreira µ pode ser calculada como em [28], da forma: µk+1 = βµk, com β ∈ (0, 1).

O critério de convergência é baseado nas condições de otimalidade:

k∇Lk < , (2.4)

onde  é uma tolerância pré-determinada.

EXEMPLO: Vejamos um exemplo simples de um problema de otimização não-linear em <2. min x2 s.a. y = 1 + x x ≥ 0 (2.5) Gracamente:

Como a função objetivo f(x) = x2 é contínua e coerciva no conjunto viável, e o

(28)

2.4. Método Barreira Logarítmica 17 Observe que a solução ótima desse problema é o ponto (x∗, y) = (0, 1) pertencente

à reta y = 1 + x, para esse ponto o valor da função objetivo será 0. O problema de barreira logarítmica associado é:

min x2− µln(x)

s.a. y = 1 + x. (2.6)

Se zermos µ → 0, quando aplicamos o Método de Newton às condições de otima-lidade do problema de barreira, a solução tende à solução do problema original. Observe gracamente que quando fazemos µ → 0, a função objetivo do problema de barreira tende à função objetivo do problema original, mantendo sempre x > 0:

µ = 1.

µ = 0, 1. µ = 0, 01.

Vamos dar um passo do Método Barreira Logarítmica. A função Lagrangiana asso-ciada ao problema (2.6) é:

(29)

onde λ é o vetor multiplicador de Lagrange. Obtemos assim as condições de otimalidade:

∇L(x, y, λ) =       2x − µ x − λ λ y − 1 − x       =       0 0 0       .

Reescrevendo esse sistema obtemos:

∇L(x, y, λ) =       2x2− λx λ y − 1 − x       =       µ 0 0       . (2.7)

Aplicando o Método de Newton ao sistema (2.7):       4x − λ 0 −x 0 0 1 −1 1 0             dx dy dλ       =       −2x2+ λx + µ −λ −y + 1 + x       . (2.8)

Devemos partir de um ponto interior qualquer, seja então (x0, y0, λ0) = (2, 2, 2), e

seja µ0 = 1, temos:       6 0 −2 0 0 1 −1 1 0             dx dy dλ       =       −3 −2 1       ⇒       dx0 dy0 dλ0       =       −1, 1667 −0, 1667 −2, 0000       .

(30)

2.5. Método Barreira Logarítmica Preditor-Corretor 19 ρ = min  − 2 (−1, 1667)  = 1, 7142 ⇒ α = min {1 ; (0, 99995)(1, 7142)} = 1. Obtemos o próximo ponto:

      x1 y1 λ1       =       x0 y0 λ0       + 1       dx0 dy0 dλ0       =       0, 8333 1, 8333 0       .

Para o próximo passo podemos usar β = 1

10para a atualização do parâmetro barreira, assim: µ1 = µ 0 10 = 1 10 = 0, 1.

Tendo (x1, y1, λ1) e µ1 deve-se ir para o próximo passo e continuar até que satisfaça

o critério de convergência dado por (2.4).

2.5 Método Barreira Logarítmica Preditor-Corretor

O passo preditor consiste inicialmente em encontrar uma direção para o problema de otimização não-linear barreira logarítmica (2.1) sem perturbação, ou seja, devemos fazer µ = 0no sistema de equações: ∇L(x, λ) =     ∇f (x) − µX−1e + m X i=1 λi∇hi(x) h(x)     =    0 0   . (2.9)

Podemos reescrever esse sistema da forma equivalente:     ∇f (x) + m X i=1 λi∇hi(x) h(x)     =    µX−1e 0   

(31)

⇒     X∇f (x) + X m X i=1 λi∇hi(x) h(x)     =    µe 0   . Fazendo µ = 0, teremos:     X∇f (x) + X m X i=1 λi∇hi(x) h(x)     =    0 0   . (2.10)

Aplicamos então o Método de Newton ao problema (2.10) para encontrar a direção do passo preditor.

No passo corretor temos que calcular a correção não-linear e perturbarmos. Para encontrarmos a correção não-linear substituímos x por x + dx e λ por λ + dλ no sistema de equações (2.9) e comparamos com a direção encontrada no passo preditor quando resolvemos o sistema (2.2).

O tamanho do passo é calculado como em (2.3). O critério de convergência é como em (2.4).

Para saber mais sobre método preditor-corretor, ver [28]. EXEMPLO: Considere o mesmo exemplo dado em (2.5).

Passo preditor: Devemos fazer µ = 0 no sistema (2.7) e aplicar o Método de Newton, obtendo o sistema:

      4x − λ 0 −x 0 0 1 −1 1 0             ¯ dx ¯ dy ¯ dλ       =       −2x2+ λx −λ −y + 1 + x       .

(32)

2.5. Método Barreira Logarítmica Preditor-Corretor 21       6 0 −2 0 0 1 −1 1 0             ¯ dx ¯ dy ¯ dλ       =       −4 −2 1       ⇒       ¯ dx ¯ dy ¯ dλ       =       −1, 3333 −0, 3333 −2, 0000       .

Vamos usar a direção ¯dencontrada para calcular o resíduo:

Substituindo x por x + dx e λ por λ + dλ na primeira equação de (2.7): 2(x + dx)2 − λ(x + dx) = µ.

Na primeira equação de (2.8) temos:

(4x − λ)dx − xdλ = µ − 2x2+ λx. Dessa forma o resíduo nessa equação será:

R1 = (2(x + dx)2− λ(x + dx) − µ) − ((4x − λ)dx − xdλ − µ + 2x2− λx) ⇒

R1 = (2x2+ 4xdx + 2dx2− λx − λdx − xdλ − dxdλ − µ) − (4xdx − λdx − xdλ − µ + 2x2− λx) ⇒

R1 = 2dx2− dxdλ.

Substituindo λ por λ + dλ na segunda equação de (2.7) e comparando com a segunda equação de (2.8):

R2 = (λ + dλ) − (dλ + λ) ⇒ R2 = 0.

Substituindo x por x + dx e y por y + dy na terceira equação de (2.7) e comparando com a terceira equação de (2.8):

(33)

Observe que R2 e R3 valem 0 porque a segunda e a terceira equações de (2.7) são

lineares.

Passo corretor: Agora temos que resolver o seguinte sistema para encontrarmos a direção inicial:       4x − λ 0 −x 0 0 1 −1 1 0             dx dy dλ       =       −2x2+ λx + µ − R 1 −λ −y + 1 + x       .

Para encontrar R1 usamos ¯d calculado no passo preditor:

R1 = 2dx2− dxdλ = 2(−1, 3333)2− (−1, 3333)(−2, 0000) = 0, 8888. Partimos de (x0, y0, λ0) = (2, 2, 2) e seja µ0 = 1:       6 0 −2 0 0 1 −1 1 0             dx dy dλ       =       −3, 8888 −2 1       ⇒       dx0 dy0 dλ0       =       −1, 3148 −0, 3148 −2, 0000       .

O cálculo de α é análogo ao do Método Barreira Logarítmica:

ρ = min  − 2 (−1, 3148)  = 1, 5211 ⇒ α = min {1 ; (0, 99995)(1, 5211)} = 1. Obtemos o próximo ponto:

(34)

2.5. Método Barreira Logarítmica Preditor-Corretor 23       x1 y1 λ1       =       x0 y0 λ0       + 1       dx0 dy0 dλ0       =       0, 6852 1, 6852 0       .

Para o próximo passo podemos usar β = 1

10para a atualização do parâmetro barreira, assim: µ1 = µ 0 10 = 1 10 = 0, 1.

De posse do novo ponto, vamos para o próximo passo e paramos quando o critério de convergência (2.4) for satisfeito.

Observe que o ponto (x1, y1, λ1) = (0, 6852 ; 1, 6852 ; 0) obtido por esse método está

mais próximo da solução ótima (0, 1, 0) do que o ponto (x1, y1, λ1) = (0, 8333 ; 1, 8333 ; 0)

obtido pelo Método Barreira Logarítmica.

(35)
(36)

Capítulo 3

Métodos Existentes para o Problema

de Regressão L

p

Neste capítulo vamos apresentar o problema de regressão pela norma Lp e os métodos

existentes que resolvem o problema.

3.1 O problema de Regressão pela Norma L

p

O problema de regressão pode ser escrito como: min

x∈<n kAx − bk

p

p, (3.1)

onde A ∈ <m×n é uma matriz de posto completo, 1 < p < ∞, b ∈ <m e m > n.

Quando p = 1 e p = ∞, o problema pode ser formulado por programação linear e os métodos de pontos interiores aplicados a esses problemas permitem a exploração da estrutura matricial do problema de forma muito eciente. A norma-2 permite solução direta.

A norma Lp, com 1 < p < ∞ é estritamente convexa. Considere a função f(x) =

kxkp, onde f : <n → < e 1 < p < ∞. Dados x, y ∈ <n e dado um α qualquer no intervalo

(37)

[0, 1], temos que:

f (αx + (1 − α)y) = kαx + (1 − α)ykp ≤ |α| kxkp+ |(1 − α)| kykp = = α kxkp+ (1 − α) kykp = αf (x) + (1 − α)f (y) ⇒

f (αx + (1 − α)y) ≤ αf (x) + (1 − α)f (y).

Entretanto, se tomarmos x e y quaisquer em <n, com x 6= y, e α ∈ (0, 1), a

desigual-dade acima será estrita, ou seja, f(αx + (1 − α)y) < αf(x) + (1 − α)f(y). Podemos dizer então que a norma Lp é estritamente convexa.

Considere agora as funções f(x) = kxkp e g(x) = x

p onde h : <n → < e g : Ω ⊂

<+ → <. A função g é convexa para p > 1, pois g00(x) = p(p − 1)xp−2 ≥ 0 (veja que x ≥ 0,

pois o domínio Ω de g está contido em <+). Além disso, g é não-decrescente para p > 1,

portanto a função composta g(f(x)) = kxkp

p = h(x) é convexa. Podemos armar isso com

base no teorema a seguir:

Teorema: Se f : Df ⊂ <n → < é convexa e g : Dg ⊂ < → < é convexa e

não--decrescente em um conjunto convexo que contém a imagem de f, então h : Dh ⊂ <n → <,

h(x) = g(f (x)) é convexa. Demonstração:

Sejam x, y ∈ Dh, α ∈ [0, 1], x1 = f (αx + (1 − αy))e x2 = αf (x) + (1 − α)f (y), como

f é convexa, x1 ≤ x2 e como g é não-decrescente g(x1) ≤ g(x2), então:

h(αx + (1 − αy)) = g(f (αx + (1 − αy))) = g(x1) ≤ g(x2) =

= g(αf (x) + (1 − α)f (y)) ≤ αg(f (x)) + (1 − α)g(f (y)) = αh(x) + (1 − α)h(y).

Temos então: h(αx + (1 − αy)) ≤ αh(x) + (1 − α)h(y), assim h é convexa.

Com isso, podemos dizer que o problema (3.1) possui formulação convexa e portanto é garantida a existência de mínimo global.

(38)

3.2. Métodos Similares 27 O problema de regressão pode ser reescrito da seguinte forma:

min krkpp s.a Ax + r = b. (3.2) Denindo r = u − v, com u ≥ 0 e v ≥ 0: min φ(u, v) = m X i=1 (ui+ vi)p s.a Ax + u − v − b = 0 (u, v) ≥ 0. (3.3)

Observe que minimizar krkp p =

m

X

i=1

|ui− vi|p é equivalente a minimizar φ(u, v) = m

X

i=1

(ui + vi)p, desde que se veriquem as restrições uivi = 0, i = 1, ..., m. Mas, dado ri,

sempre podemos escrevê-lo como ui− vi de forma que uivi = 0. Por exemplo, se ri < 0, basta

fazer ui = 0 e vi = −ri; por outro lado, se ri ≥ 0, podemos fazer ui = ri e vi = 0, assim

teremos krkp p = m X i=1 |ui− vi|p = m X i=1 (ui+ vi)p.

3.2 Métodos Similares

A primeira especialização de métodos de programação linear para resolver problemas de regressão pela norma L1 vem do algoritmo simplex (ver [27], [4], [2] e [1]).

Em [27] e [3] estão propostas formulações para resolver o problema de regressão pela norma L∞ utilizando programação linear. Em [4] está proposto um método simplex

especializado para o problema de regressão pela norma L∞.

Em [8] e [9] são descritos métodos que utilizam procedimento de busca linear para os problemas de regressão pelas normas L1 e L∞, respectivamente.

(39)

norma L∞ e, em [21], uma implementação eciente para o problema de regressão pela norma

L1. Em ambos utilizam-se métodos de ponto interior.

Em [11] encontramos o Método de Relaxamento da Coluna para Problemas de Norma Mínima. Porém, esse método é pouco eciente, uma vez que para alterar o valor de uma única variável ele precisa de uma iteração, sendo assim em um problema onde temos um número muito grande de variáveis, o número de iterações necessárias utilizadas por esse método para chegar ao valor ótimo será muito elevado.

3.3 Método IRLS

Segue a breve descrição do método IRLS (Iteratively Reweighted Least-Squares) desen-volvido em [19] e [22].

Considere o problema (3.2). A função objetivo é denotada em termos de r por φ(r) = krkpp(= ψ(x)). A norma Lp é estritamente convexa para 1 < p < ∞, pois estamos

supondo que posto(A) = n. Vamos assumir que não existe x tal que Ax − b = 0.

Dena r = Ax − b e σi como o sinal de ri = (Ax − b)i, i-ésima coordenada de r. Seja

σ = (σi)i=1,··· ,m. A solução ocorre no ponto onde o gradiente ∇ψ(x) = pAt(|Ax − b|)p−1σ

vale zero, onde (|Ax − b|)p−1 é um vetor cujas entradas são |at ix − bi|

p−1, i = 1, 2, ..., m, a i

representa a i-ésima linha da matriz A. Dizer que ∇ψ(x) = pAt(|Ax − b|)p−1σ vale zero

signica dizer que todas as coordenadas desse vetor valem zero. Supomos que existe um ponto com ri 6= 0, 1 ≤ i ≤ m. Assim,

∇ψ(x) = pAt(|Ax − b|)p−1σ = 0

⇒ At(|Ax − b|)p−1= 0

é equivalente a

(40)

3.4. Método IRLSL 29 Dena D = diag((|Ax − b|)(2−p)/2), ou seja, d

ii = ((|Ax − b|)i)(2−p)/2 e dij = 0 para

i 6= j, com i, j = 1, 2, · · · , m. Então a solução desse problema ocorre onde At(D)−2r = 0. Essa equação vem do seguinte sistema de quadrados mínimos:

(D)−1Ax = (D)−1b. Método IRLS Dado um ponto inicial x0

Passo 1: Calcule rk = Axk− b;

Passo 2: Dena Dk = diag((

Axk− b

)(2−p)/2), encontre xk+1 de:

(Dk)−1Axk+1 = (Dk)−1b; k ← k + 1; Vá para o passo 1.

Critério de convergência: O critério de convergência usado em [16] é:

φ(rk+1) − φ(rk)

φ(rk+1) < τs, ou η k < τ

s, ou k > 50, (3.4)

onde τs foi denido como

1 210

−11 e k denota o número de iterações.

Em [22] está demonstrado que se assumirmos 1 < p < 2 e rk

i 6= 0, 1 ≤ i ≤ m, o limite

da sequência de pontos xk

gerada pelo algoritmo IRLS é a solução para o problema e a convergência é linear com taxa de convergência constante 2 − p.

3.4 Método IRLSL

Segue a breve descrição do método IRLSL desenvolvido em [16].

O método IRLSL é o método IRLS modicado com uma busca linear. Considere o problema (3.2).

(41)

Método IRLSL

Dado um ponto inicial r0 = Ax0− b, com |r0| > 0, ou seja r

i 6= 0, ∀i = 1, 2, · · · , m. Calcule: • gk = p( rk )p−1σk, onde g ik= p( rik )p−1σ ik, i = 1, 2, · · · , m. • Dk r = diag( rk ), onde Dk r  ij =        rik , se i = j, 0, sei 6= j. • Dk = (Dk rdiag((p − 1) gk )−1)1/2, onde Dk r ij  =          rik (p − 1) |gik| !1/2 , se i = j, 0, se i 6= j.

Calcule a direção dk resolvendo o sistema:

       (Dk)−1Adxk = −Dkgk dk = Adk x;

Realizar a busca linear para encontrar αk.

Procedimento de busca linear: Dados τk, β

f ∈ (0, 1), dk, rk, ˜αk, ρb > 0 (por ex. 106) e αik, onde:

Γ =  αki : αik= −r k i dk i , rikdki < 0  .

Faça τ = 0, 975 (ver [16]) e calcule:

τk= max ( τ, 1 − Atgk 2 1 + kAtgkk 2 )

(42)

3.4. Método IRLSL 31 ˜ αk= − (g k)tdk (dk)tdiag(p(|rk|)p−2)dk Passo 1: Seja αk

∗ o menor ponto positivo em [˜αk, ρb] com g(rk+ ˜αkdk)tdk ≥ 0.

Se αk ∗ existe e φ(rk+1) ≤ φ(rk) + βfαk∗∇φ(rk)tdk, onde rk+1 = rk+ αk ∗dk é satisfeita, dena α]k← maxαik: 0 ≤ αki ≤ αk∗ e αk ← α ]k+ τk(α∗k− α]k).

Caso contrário, retorne.

Passo 2: Se φ(rk+1) > φ(rk) + β

f∇φ(rk)tdk, onde rk+1 = rk + dk, vá para o

próximo passo.

Caso contrário, dena

αk←        1, se min( rk+ dk ) > 0, α]k+ τk(1 − α]k), caso contrário. onde α]k ← maxαki : 0 ≤ αki ≤ 1 , retorna. Passo 3: Dena αk ←        ˜ αk, se min( rk+ ˜αkdk ) > 0, α]k+ τk( ˜αk− α]k), caso contrário.

(43)

onde α]k← maxαki : 0 ≤ αki ≤ ˜αk , retorna.

Fim

Com αk calculado pelo procedimento de busca linear, faça

• rk+1 ← rk+ αkdk, k ← k + 1;

O procedimento de busca linear faz com que o método tenha convergência global e se não existir resíduo nulo na solução, esse método tem convergência quadrática (ver [16]).

Critério de convergência: O critério de convergência é o mesmo que (3.4), descrito no Método IRLS.

3.5 Método GNCS

O método conhecido como GNCS é um método de Newton globalizado que usa as condições de folgas complementares para o problema da norma Lp.

O método IRLSL funciona bem quando p está sucientemente longe de 1. O método GNCS, descrito em [16], é mais rápido que o método IRLSL quando p está próximo de 1.

Método GNCS

Dado um ponto inicial r0 = Ax0− b, com |r0| > 0e λ0 = τ g0

max(|r0|), com τ = 0, 975. Passo 1: Calcule: • Dk r = diag( rk ), onde rk = Axk− b • gk = p( rk p−1 )σ

(No método IRLS temos At(D)−2r = 0, essa equação é equivalente a escrever g−Ztw =

= 0, onde as linhas da matriz Z formam uma base para o espaço nulo de At, isto é,

(44)

3.5. Método GNCS 33 • φ(r0) = kr0kp

p.

Dado 0 < γ < 1 (na implementação usa-se γ = 0.99), calcule: • ηk= max ( max ( Dk r(gk− λk) φ(r0) ) , maxmax  λk − gk , 0 )

Em outras palavras, ηké o máximo da violação da condição de folga complementar

(Dr(g − λ) = 0) e da viabilidade dual (|λ| ≤ |g|). Note que |g| = |p(|r|)p−1| = [1, 1, ..., 1]

quando p = 1. Neste caso, θ = 0 (ou η = 0) é uma condição necessária e suciente de otimalidade (Para mais detalhes ver [9]).

• θk = diag  1 (γ |gk| + ηke)  ηke, onde e = [1, 1, ..., 1]t∈ <m. • Dk θ = diag( pgk− diag(λk)(e − θk) ) • Dk= (Dk r(Dkθ) −1)1/2

Calcule a direção dk por:

       (Dk)−1Adxk = −Dkgk dk = Adkx; Atualize λk+1: λk+1 ← (Dk r)−1Dkθdk+ gk Faça τ = 0, 975 e calcule: τk = max  τ, 1 − η k γ + ηk  ˜ αk= − (g k)tdk (dk)tdiag(p(|rk|)p−2)dk

(45)

Procedimento de busca linear:

O procedimento de busca linear utilizado para encontrar αk é o mesmo

procedi-mento descrito no Método IRLS na Seção 3.5.

Com αk calculado pelo procedimento de busca linear, faça:

• rk+1 ← rk+ αkdk, k ← k + 1.

Critério de convergência: O critério de convergência é o mesmo que (3.4), descrito no Método IRLS. Esse método tem convergência superlinear (ver [16]).

3.6 Métodos de Pontos Interiores Aplicados ao

Problema de Regressão pela Norma L

p

Todos os métodos que serão apresentados nessa seção foram desenvolvidos em [7]. En-tretanto apresentaremos os métodos barreira logarítmica preditor-corretor e primal-dual bar-reira logarítmica preditor-corretor com a modicação no cálculo dos resíduos.

Para todos esses métodos vamos considerar o problema da Seção 3.1.

3.6.1 Método Barreira Logarítmica

O problema de barreira associado ao problema (3.3) é: min m X i=1 (ui+ vi)p− µ m X i=1 ln(ui) − µ m X i=1 ln(vi) , s.a. Ax + u − v − b = 0 (3.5)

onde µ > 0 é o parâmetro barreira, A ∈ <m×n, u, v, b ∈ <m, m > n e 1 < p < ∞.

(46)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 35 L(x, y, u, v) = m X i=1 (ui+ vi)p− µ m X i=1 ln(ui) − µ m X i=1 ln(vi) + yt(Ax + u − v − b),

onde y é vetor multiplicador de Lagrange. Temos que ∇φ(u, v) =    ∂φ(u, v)/∂u ∂φ(u, v)/∂v   =    p(u + v)p−1 p(u + v)p−1   =    g g   

é o gradiente da função objetivo do problema original dada por φ(u, v) =

m X i=1 (ui + vi)p, g = p(u + v)p−1, onde g i = p(ui+ vi)p−1, i = 1, ..., m. ∇2φ(u, v) = G =        p(p − 1) (ui+ vi)2−p , se i = j, 0, se i 6= j.

Observe que G é uma matriz diagonal.

Aplicando as condições de otimalidade do problema de barreira, devemos ter:

∇L |{z} J (x,y,u,v) =          Aty Ax + u − v − b g − µU−1e + y g − µV−1e − y          =          0 0 0 0          , onde: e =          1 1 ... 1          , U = diag(u) =        ui, se i = j, 0, se i 6= j. e V = diag(v) =        vi, se i = j, 0, se i 6= j.

(47)

Esse sistema de equações pode ser reescrito da seguinte forma: ∇L |{z} J (x,y,u,v) =          Aty Ax + u − v − b U (g + y) V (g − y)          =          0 0 µe µe         

Aplicando o método de Newton a esse problema temos:          0 At 0 0 A 0 I −I 0 U diag(g + y) + U G U G 0 −V V G diag(g − y) + V G                   dx dy du dv          =          r1 r2 r3 r4          , onde: r1 = −Aty, r2 = −Ax − u + v + b, r3 = −U (g + y) + µe, r4 = −V (g − y) + µe, diag(g + y) =        gi+ yi, se i = j, 0, se i 6= j. diag(g − y) =        gi− yi, se i = j, 0, se i 6= j.

Desse sistema calculamos as direções e atualizamos as variáveis seguindo o método.

Algoritmo Barreira Logarítmica Ponto inicial:

(48)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 37 x0 = (AtA)−1Atb, r0 = b − Ax0, ui0 =        ζ + 1 2 ri 0, se r i0 > 0, 1 − ζ 2 ri 0, caso contrário . vi0 =        ζ − 1 2 ri 0, se r i0 > 0, −1 − ζ 2 ri 0, caso contrário . y0 = δr 0 kr0k ∞ , com δ = 0.975. (3.6)

O ponto inicial é calculado como em [7]. Devemos usar ζ > 1 para que u e v sejam pontos interiores factíveis.

Assim, dados x0, y0, (u0, v0) > 0, µ0, β > 1 e τ = 0, 99995.

O valor sugerido para τ pode ser encontrado em [26]. Para k = 0, 1, 2, ... faça: gk = p(uk+ vk)p−1 Gk =        p(p − 1) (uik+ vik)2−p , se i = j, 0, se i 6= j. Uk = diag(uk) Vk = diag(vk) r1k = −Atyk r2k = −Axk− uk+ vk+ b r3k = −Uk(gk+ yk) + µke r4k = −Vk(gk− yk) + µke

(49)

Duk = diag(gk+ yk) + UkGk  Dvk = diag(gk− yk) + VkGk  Dφk = Dkv − VkUk(Gk)2(Dku) −1 Dk = −(Dk u) −1Uk− (D φk)−1Vk(I + (Dku) −1UkGk)2−1 rk = −rk 1 − AtDkrk2 − (Duk) −1rk 3 + (Dφk)−1(I + (Dku) −1UkGk)(rk 4 − (Dku) −1VkGkrk 3)  dxk = (AtDkA)−1rk dyk = Dkrk2 − Adxk− (Dk u)−1rk3 + (Dφk)−1(I + (Dku)−1UkGk)(r4k− (Dku)−1VkGkr3k)  dvk = (Dφk)−1r4k+ Vkdyk+ (Dku) −1 (−VkGkrk3 + VkUkGkdyk) duk = (Dk u) −1(rk 3 − Ukdyk− UkGkdvk) αk = min  τ  min duik<0 − ui k duik  , τ  min dvik<0 − vi k dvik  , 1  xk+1 = xk+ αkdxk yk+1 = yk+ αkdyk uk+1 = uk+ αkduk vk+1 = vk+ αkdvk µk+1 = µ k β Até convergir. Critério de Convergência

Utilizamos dois critérios de convergência, um baseado nas condições de otimalidade e o outro baseado na diferença dos valores de N atual e da iteração anterior.

Nk = ∇Lk (1 + kxkk + kukk + kvkk + kykk)(2m) ≤  , Nk+1− Nk ≤ 1. (3.7)

(50)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma

Lp 39

Em Nk, m representa o número de linhas da matriz A,  e 

1 são tolerâncias

pré-determinadas.

3.6.2 Método Barreira Logarítmica Preditor-Corretor

Esse método foi desenvolvido em [7], e será apresentado aqui com algumas modicações no cálculo dos resíduos.

Considere o problema de barreira (3.5).

Passo preditor: Devemos xar o parâmetro barreira µ = 0 e calcularmos a direção resolvendo o sistema:          0 At 0 0 A 0 I −I 0 U diag(g + y) + U G U G 0 −V V G diag(g − y) + V G                   ¯ dx ¯ dy ¯ du ¯ dv          =          ¯ r1 ¯ r2 ¯ r3 ¯ r4          , onde: ¯ r1 = −Aty, ¯ r2 = −Ax − u + v + b, ¯ r3 = −U (g + y), ¯ r4 = −V (g − y).

Assim temos o sistema:

Atdy =¯ r¯1 (1)

A ¯dx + ¯du − ¯dv = r¯2 (2)

U ¯dy + [diag(g + y) + U G] ¯du + U G ¯dv = r¯3 (3)

−V ¯dy + V G ¯du + [diag(g − y) + V G] ¯dv = r¯4 (4)

(51)

substi-tuindo ¯dv na equação (2) e isolando ¯dy, substituindo ¯dy na equação (1), obtemos ¯dx. Temos portanto o passo preditor:

¯ dx = (AtDA)−1r,¯ ¯ dy = D[ ¯r2− A ¯dx − Du−1r¯3+ (Dv − V U G2Du−1)−1(I + Du−1U G)( ¯r4− Du−1V G ¯r3)], ¯ dv = (Dv− V U G2Du−1)−1[ ¯r4+ V ¯dy + Du−1(−V G ¯r3 + V U G ¯dy)], ¯ du = Du−1( ¯r3− U ¯dy − U G ¯dv), onde: Du = [diag(g + y) + U G], Dv = [diag(g − y) + V G], D = [−Du−1U − (Dv − V U G2Du−1)−1V (I + Du−1U G)2]−1, ¯ r = − ¯r1− AtD[ ¯r2 − Du−1r¯3+ (Dv− V U G2Du−1)−1(I + Du−1U G)( ¯r4− Du−1V G ¯r3)] ,

Considere agora os seguintes sistemas de equações:

∇L |{z} J (x,y,u,v) =          Aty Ax + u − v − b U (g + y) V (g − y)          =          0 0 µe µe          e (3.8)          0 At 0 0 A 0 I −I 0 U diag(g + y) + U G U G 0 −V V G diag(g − y) + V G                   dx dy du dv          =          r1 r2 r3 r4          , (3.9)

(52)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 41 onde: r1 = −Aty, r2 = −Ax − u + v + b, r3 = −U (g + y) + µe, r4 = −V (g − y) + µe.

O sistema (3.9) é o método de Newton aplicado ao problema (3.8).

Agora vamos encontrar novos resíduos para calcular o passo corretor. Para calcular os resíduos devemos comparar os sistemas de equações (3.8), substituindo x por x + dx, y por y + dy, u por u + du e v por v + dv com o sistema de equações (3.9). As diferenças encontradas serão nossos resíduos.

Primeiro sistema de equações do sistema (3.8): At(y + dy) = 0

⇒ Atdy = −Aty.

Comparando com o sistema (3.9), vemos que não existe resíduo. Segundo sistema de equações do sistema (3.8):

A(x + dx) + u + du − v − dv − b = 0

⇒ Adx + du − dv = b − Ax − u + v.

Comparando com o sistema (3.9), vemos que nesse sistema também não existe resí-duo.

Terceiro sistema de equações do sistema (3.8):

(U + dU )(˜g + y + dy) = µe,

onde ˜gi = p(ui + dui+ vi + dvi)p−1, assim ˜g = ˜gi, i = 1,2,...,m . Entretanto, p(ui+ dui+

vi + dvi)p−1 pode resultar em um número imaginário, para corrigir esse problema devemos

(53)

β = min ( τ min (dui+dvi)<0 − (ui+ vi) (dui+ dvi) ! , 1 ) , onde τ=0,99995. (3.10)

Com base nos testes computacionais, acreditamos que ˜gi não afeta a convergência

deste método.

Nesse sistema de equações temos o seguinte resíduo:

R1 = ((U + dU )(˜g + y + dy) − µe) − (U dy + diag(g)du + diag(y)du + U Gdu + U Gdv +

U g + U y − µe)

⇒ R1 = (U + dU )˜g + dU dy − dU g − U Gdu − U Gdv − U g.

Quarto sistema de equações do sistema (3.8):

(V + dV )(˜g − y − dy) = µe,

onde ˜g = p(u + βdu + v + βdv)p−1, e β é calculada como em (3.10).

Nesse sistema de equações temos o seguinte resíduo:

R2 = ((V + dV )(˜g − y − dy) − µe) − (−V dy + V Gdu + diag(g − y)dv + V Gdv + V g − V y − µe)

⇒ R2 = (V + dV )˜g − dV dy − V Gdu − dV g − V Gdv − V g.

Passo corretor: Agora podemos impor um valor para o parâmetro barreira µ e resolver o sistema:          0 At 0 0 A 0 I −I 0 U diag(g + y) + U G U G 0 −V V G diag(g − y) + V G                   ˆ dx ˆ dy ˆ du ˆ dv          =          ˆ r1 ˆ r2 ˆ r3 ˆ r4          ,

(54)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 43 onde: ˆ r1 = −Aty, ˆ r2 = −Ax − u + v + b, ˆ r3 = −U (g + y) + µe − R1, ˆ r4 = −V (g − y) + µe − R2, R1 = (U + dU )˜g + dU dy − dU g − U Gdu − U Gdv − U g, R2 = (V + dV )˜g − dV dy − V Gdu − dV g − V Gdv − V g, ˜ g = p(u + βdu + v + βdv)p−1, β = min ( τ min (d¯ ui+ ¯dvi)<0 − (ui+ vi) ¯ dui+ ¯dvi  ! , 1 ) onde τ=0.9995, Obtemos dessa forma as direções:

ˆ dx = (AtDA)−1r,ˆ ˆ dy = D[ ˆr2− A ˆdx − Du−1rˆ3+ (Dv− V U G2Du−1)−1(I + Du−1U G)( ˆr4− Du−1V G ˆr3)], ˆ dv = (Dv − V U G2Du−1)−1[ ˆr4+ V ˆdy + Du−1(−V G ˆr3+ V U G ˆdy)], ˆ du = Du−1( ˆr3 − U ˆdy − U G ˆdv), onde: Du = [diag(g + y) + U G], Dv = [diag(g − y) + V G], D = [−Du−1U − (Dv− V U G2Du−1)−1V (I + Du−1U G)2]−1, ˆ r = − ˆr1− AtD[ ˆr2− Du−1rˆ3+ (Dv− V U G2Du−1)−1(I + Du−1U G)( ˆr4− Du−1V G ˆr3)] .

Para garantir que o novos vetores u e v sejam estritamente positivos, devemos calcular o tamanho do passo α dado por:

α = min ( τ min ˆ dui<0 −ui ˆ dui ! , τ min ˆ dvi<0 −vi ˆ dvi ! , 1 ) , onde τ=0,99995.

(55)

Tanto no passo preditor quanto no passo corretor temos a mesma matriz para calcular as direções, o que se altera é apenas o vetor do lado direito. Desse sistema calculamos as direções e atualizamos as variáveis seguindo o método a seguir.

Algoritmo Barreira Logarítmica Preditor-Corretor O ponto inicial é calculado como em (3.6).

Assim, dados x0, y0, (u0, v0) > 0, µ0, β > 1 e τ = 0, 99995. Para k = 0, 1, 2, ... faça: Passo Preditor: gk = p(uk+ vk)p−1 Uk = diag(uk) Vk = diag(vk) Gk =        p(p − 1) (uik+ vik)2−p , se i = j, 0, se i 6= j. ¯ r1k = −Atyk ¯ r2k = −Axk− uk+ vk+ b ¯ r3k = −Uk(gk+ yk) ¯ r4k = −Vk(gk− yk) Duk = diag(gk+ yk) + UkGk  Dvk = diag(gk− yk) + VkGk  Dφk = Dkv − VkUk(Gk)2(Dku)−1  Dk = [−(Dk u) −1Uk− (D φk)−1Vk(I + (Duk) −1UkGk)2]−1 ¯ rk = − ¯ r1k− AtDk  ¯ r2k− (Duk) −1r¯ 3k+ (Dφk)−1(I + (Dku) −1UkGk)( ¯r 4k− (Duk) −1VkGkr¯ 3k) 

(56)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 45 ¯ dxk = (AtDkA)−1r¯k ¯ dyk = Dk[ ¯r 2k− A ¯dxk− (Dku) −1r¯ 3k+ (Dφk)−1(I + (Duk)−1UkGk)( ¯r4k− (Duk)−1VkGkr¯3k)] ¯ dvk = (D φk)−1[ ¯r4k+ V ¯dyk+ (Duk)−1(−VkGkr¯3k+ VkUkG ¯dyk)] ¯ duk = (D uk)−1( ¯r3k− Ukdy¯k− UkGkdv¯k) Passo Corretor: βk = min    τ   min (dui¯k+dvi¯k)<0 − ui k+ v ik   ¯ dui k +d¯vi k  , 1    ˜ gk = p(uk+ βkdu¯k+ vk+ βkdv¯k)p−1 ¯ dUk = diag( ¯duk) ¯ dVk = diag( ¯dvk) R1k = (Uk+ ¯dUk)˜gk+ ¯dUkdy¯k− ¯dUkgk− UkGkdu¯k− UkGkdv¯k− Ukgk R2k = (Vk+ ¯dVk)˜gk− ¯dVkdyk− VkGkdu¯k− ¯dVkgk− VkGkdv¯k− Vkgk ˆ r1k = −Atyk ˆ r2k = −Axk− uk+ vk+ b ˆ r3k = −Uk(gk+ yk) + µke − R1k ˆ r4k = −Vk(gk− yk) + µke − R2k ˆ rk = −n ˆr 1k− AtDkh ˆr2k− (Dku) −1rˆ 3k+ (Dφk)−1(I + (Duk) −1UkGk)( ˆr 4k− (Dku) −1VkGkrˆ 3k) io ˆ dxk = (AtDkA)−1rˆk ˆ dyk = Dk[ ˆr 2k− A ˆdxk− (Duk)−1rˆ3k+ (Dφk)−1(I + (Duk)−1UkGk)( ˆr4k− (Duk)−1VkGkrˆ3k)] ˆ dvk = (D φk)−1[ ˆr4k+ V ˆdyk+ (Duk)−1(−VkGkrˆ3k+ VkUkG ¯dyk)] ˆ duk = (D uk)−1( ˆr3k− Ukdyˆk− UkGkdvˆk) αk = min ( τ min ˆ duik<0 − ui k ˆ duik ! , τ min ˆ dvik<0 − vi k ˆ dvik ! , 1 )

(57)

xk+1 = xk+ αkdxˆk yk+1 = yk+ αkdyˆk uk+1 = uk+ αkduˆk vk+1 = vk+ αkdvˆk µk+1 = µ k β Até convergir. Critério de Convergência

Utilizamos o mesmo critério de convergência do algoritmo barreira logarítmica de-nido em (3.7) na Seção 3.5.1.

3.6.3 Método Primal-Dual Barreira Logarítmica

O sistema de equações (3.8) da Seção 3.5.2 é equivalente ao sistema:

∇L |{z} J (x,y,u,v) =          Aty Ax + u − v − b g − µU−1e + y g − µV−1e − y          =          0 0 0 0          . (3.11)

Fazendo zu = µU−1e e zv = µV−1e como em [13], e substituindo em (3.11), obtemos

(58)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 47 ∇L |{z} J (x,y,u,v,zu,zv) =                 Aty Ax + u − v − b g − zu+ y g − zv − y U Zue V Zve                 =                 0 0 0 0 µe µe                 , (3.12) onde: Zu = diag(zu) =        zui, se i = j, 0, se i 6= j. e Zv = diag(zv) =        zvi, se i = j, 0, se i 6= j.

Aplicando o método de Newton às condições de otimalidade, teremos o seguinte sistema:                 0 At 0 0 0 0 A 0 I −I 0 0 0 I G G −I 0 0 −I G G 0 −I 0 0 Zu 0 U 0 0 0 0 Zv 0 V                                 dx dy du dv dzu dzv                 =                 r1 r2 r3 r4 r5 r6                 ,

(59)

onde: r1 = −Aty, r2 = −Ax − u + v + b, r3 = −g + zu− y, r4 = −g + zv+ y, r5 = −U Zue + µe, r6 = −V Zve + µe.

Temos que resolver o sistema de equações abaixo para encontrarmos as direções.

Atdy = r 1 Adx + du − dv = r2 dy + Gdu + Gdv − dzu = r3 −dy + Gdu + Gdv − dzv = r4 Zudu + U dzu = r5 Zvdv + V dzv = r6

Resolvendo esse sistema encontramos as direções: dx = (AtDA)−1r, dy = Dhr2− Adx − Dzu−1(r3+ U−1r5) + Dzv− G2Dzu−1 −1 I + Dzu−1G E i , dv = Dzv− G2Dzu−1 −1 E + dy + Dzu−1Gdy , du = Dzu−1(r3 − dy − Gdv + U−1r5) , dzv = V−1(r6− Zvdv) , dzu = U−1(r5− Zudu) , onde:

(60)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 49 D = h−Dzu−1− Dzv− G2Dzu−1 −1 I + Dzu−1G 2i−1 , r = −nr1− AtD h r2− Dzu−1(r3+ U−1r5) + Dzv− G2Dzu−1 −1 I + Dzu−1G E io , E = r4+ Dzu−1(−Gr3− GU−1r5) + V−1r6 , Dzu = (G + U−1Zu) , Dzv = (G + V−1Zv) .

Tendo calculadas as direções, devemos atualizar as variáveis usando o tamanho do passo α denido de forma a manter as variáveis u, v, dzu e dzv estritamente positivas.

α = min  τ  min dui<0 − ui dui  , τ  min dvi<0 − vi dvi  , τ  min dzui<0 − zui dzui  , τ  min dzv i<0 − zv i dzv i  , 1  , onde τ = 0, 99995.

Devemos atualizar as variáveis seguindo o método descrito abaixo. Algoritmo Primal-Dual Barreira Logarítmica

O ponto inicial é calculado como em (3.6). zu0 = zv0 = e, onde e = [1, 1, ..., 1]t. Assim, dados x0, y0, (u0, v0) > 0, µ0, (z u0, zv0) > 0 e τ = 0, 99995. Para k = 0, 1, 2, ... faça: gk = p(uk+ vk)p−1 Gk =        p(p − 1) (uik+ vik)2−p , se i = j, 0, se i 6= j. Uk = diag(uk) Vk = diag(vk) Zuk = diag(zuk) Zvk = diag(z vk) r1k = −Atyk

(61)

r2k = −Axk− uk+ vk+ b r3k = −gk+ zuk− yk r4k = −gk+ zvk+ yk r5k = −UkZuke + µke r6k = −VkZvke + µke Dzuk = Gk+ (Uk)−1Zuk  Dzvk = Gk+ (Vk)−1Zvk  Fk = Dzvk− (Gk)2(Dzuk)−1  Dk = h−(Dz uk)−1− Fk −1 I + (Dzuk)−1Gk 2i−1 Ek = r 4k+ (Dzuk)−1 −Gkr3k− Gk(Uk)−1r5k + (Vk)−1r6k  rk = −r 1k− AtDkr2k− (Dzuk)−1 r3k+ (Uk)−1r5k + (Fk)−1 I + (Dzuk)−1Gk Ek  dxk = AtDkA−1rk dyk = Dkr2k− Adxk− (Dzuk)−1 r3k+ (Uk)−1r5k + (Fk)−1 I + (Dzuk)−1Gk Ek  dvk = (Fk)−1Ek+ dyk+ (Dzuk)−1Gkdyk  duk = (Dz uk)−1 r3k− dyk− Gkdvk+ (Uk)−1r5k  dzvk = (Vk)−1 r6k− Zvkdvk  dzuk = (Uk)−1 r5k− Zukduk  αk = min  τ  min duik<0 − ui k duik  , τ  min dvik<0 − vi k dvik  , τ  min dzuik<0 − zui k dzuik  , τ  min dzv ik<0 − zv i k dzv ik  , 1  xk+1 = xk+ αkdxk yk+1 = yk+ αkdyk uk+1 = uk+ αkduk vk+1 = vk+ αkdvk zuk+1 = zuk+ αkdz uk zvk+1 = zvk+ αkdz vk µk+1 = µ k β

(62)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma

Lp 51

Até convergir.

Critério de Convergência

Aqui também utilizamos dois critérios de convergência, um deles baseado nas con-dições de otimalidade e o outro baseado na diferença dos valores de N atual e da iteração anterior. Nk= ∇Lk (1 + kxkk + kukk + kvkk + kykk + kz ukk + kzvkk)(2m) ≤  , Nk+1− Nk ≤ 1. (3.13)

A única diferença entre esse critério de convergência e o critério (3.7) da Seção 3.5.1 é que aqui aparecem as variáveis zu e zv, que são consideradas no cálculo de Nk.

Para saber mais sobre método de ponto interior primal-dual, ver [28].

3.6.4 Método Primal-Dual Barreira Logarítmica Preditor-Corretor

Assim como o método barreira logarítmica preditor-corretor, esse método também de-senvolvido em [7] foi modicado nesse trabalho através do cálculo dos resíduos.

Como foi visto na Seção 3.5.3, o método de Newton aplicado ao sistema de equações (3.12) nos fornece o sistema:

                0 At 0 0 0 0 A 0 I −I 0 0 0 I G G −I 0 0 −I G G 0 −I 0 0 Zu 0 U 0 0 0 0 Zv 0 V                                 dx dy du dv dzu dzv                 =                 r1 r2 r3 r4 r5 r6                 , (3.14)

(63)

onde: r1 = −Aty, r2 = −Ax − u + v + b, r3 = −g + zu− y, r4 = −g + zv+ y, r5 = −U Zue + µe, r6 = −V Zve + µe.

Passo preditor: Devemos fazer o parâmetro barreira µ = 0 e calcularmos a direção resolvendo o sistema:                 0 At 0 0 0 0 A 0 I −I 0 0 0 I G G −I 0 0 −I G G 0 −I 0 0 Zu 0 U 0 0 0 0 Zv 0 V                                 ¯ dx ¯ dy ¯ du ¯ dv ¯ dzu ¯ dzv                 =                 ¯ r1 ¯ r2 ¯ r3 ¯ r4 ¯ r5 ¯ r6                 , onde: ¯ r1 = −Aty, ¯ r2 = −Ax − u + v + b, ¯ r3 = −g + zu− y, ¯ r4 = −g + zv+ y, ¯ r5 = −U Zue, ¯ r6 = −V Zve.

(64)

3.6. Métodos de Pontos Interiores Aplicados ao Problema de Regressão pela Norma Lp 53 ¯ dx = (AtDA)−1r,¯ ¯ dy = Dhr¯2− A ¯dx − Dzu−1(¯r3+ U−1r¯5) + Dzv− G2Dzu−1 −1 I + Dzu−1G  ¯ Ei, ¯ dv = Dzv − G2Dzu−1 −1¯ E + ¯dy + Dzu−1G ¯dy , ¯ du = Dzu−1 r¯3− ¯dy − G ¯dv + U−1r¯5 , ¯ dzv = V−1 r¯6− Zvdv ,¯ ¯ dzu = U−1 r¯5− Zudu ,¯ onde: D = h−Dzu−1− Dzv− G2Dzu−1 −1 I + Dzu−1G 2i−1 , ¯ r = −nr¯1− AtD h ¯ r2− Dzu−1(¯r3+ U−1r¯5) + Dzv− G2Dzu−1 −1 I + Dzu−1G  ¯ Eio, ¯ E = ¯r4+ Dzu−1(−G¯r3− GU−1r¯5) + V−1r¯6 , Dzu = (G + U−1Zu) , Dzv = (G + V−1Zv) .

Para calcular os resíduos devemos comparar os sistemas de equações (3.12), substi-tuindo x por x + dx, y por y + dy, u por u + du e v por v + dv, zu por zu + dzu e zv por

zv+ dzv com o sistema de equações (3.14). As diferenças encontradas serão nossos resíduos.

Primeiro sistema de equações do sistema (3.12): At(y + dy) = 0

⇒ Atdy = −Aty.

Comparando com o sistema (3.14), vemos que não existe resíduo. Segundo sistema de equações do sistema (3.12):

A(x + dx) + u + du − v − dv − b = 0

⇒ Adx + du − dv = b − Ax − u + v.

(65)

resí-duo.

Terceiro sistema de equações do sistema (3.12): ˜

g − (zu+ dzu) + y + dy = 0,

onde ˜gi = p(ui+ dui+ vi+ dvi)p−1, assim ˜g = ˜gi, i = 1, 2, ..., m . Entretanto, p(ui+ dui+

vi+ dvi)p−1 pode resultar em um número imaginário, para corrigir esse problema, devemos

fazer ˜gi = p(ui+ βdui+ vi+ βdvi)p−1, e β é calculado como em (3.10).

Nesse sistema de equações temos o seguinte resíduo:

R1 = (˜g − zu− dzu+ y + dy) − (dy + Gdu + Gdv − dzu+ g − zu+ y)

⇒ R1 = ˜g − zu− dzu+ y + dy − dy − Gdu − Gdv + dzu− g + zu− y

⇒ R1 = ˜g − G(du + dv) − g.

Quarto sistema de equações do sistema (3.12): ˜

g − (zv+ dzv) − (y + dy) = 0,

onde ˜gi = p(ui+ βdui+ vi+ βdvi)p−1, e β é calculado como em (3.10).

Nesse sistema de equações temos o seguinte resíduo:

R2 = (˜g − zv− dzv − y − dy) − (−dy + Gdu + Gdv − dzv + g − zv − y)

⇒ R2 = ˜g − zv− dzv − y − dy + dy − Gdu − Gdv + dzv− g + zv+ y

⇒ R2 = ˜g − G(du + dv) − g = R1.

Quinto sistema de equações do sistema (3.12):

(U + dU )(Zu+ dZu)e = µe,

onde U = diag(u), dU = diag(du), Zu = diag(zu), dZu = diag(dzu) e e = [1, 1, ..., 1]t.

Nesse sistema de equações temos o seguinte resíduo:

R3 = (U Zue + U dZue + dU Zue + dU dZue − µe) − (Zudu + U dzu+ U Zue − µe)

Referências

Documentos relacionados

O objetivo deste trabalho foi analisar e descrever as características anatômicas e de trocas gasosas foliares de Trembleya parviflora em ambientes de Cerrado e campo

E diversas são as possibilidades para o desenvolvimento da sensibilidade, para a construção do pensamento matemático, possibilitando um fazer pedagógico, durante o qual a

Castells (2011), apresenta algumas características da internet que incluem a penetrabilidade, a flexibilidade e a descentralização multifacetada que contribui, não só para o

Em confirmação da hipótese inicialmente formulada, foi possível verificar neste experimento, a existência de comportamentos morfológicos, fisiológicos e bioquímicos

An approach towards overall supply chain efficiency, A future oriented solution and analysis in inbound process, Graduate Business School, Goteborg University, Logistics and

Método : Directrizes do Teste OECD 404 Resultado : Não provoca irritação da pele. Metassilicato

solo comprometido (formigueiro, fossa antiga, dificuldade de escavação, locais desnivelados). Uma vez que definido o local de implantação da tecnologia, é possível iniciar

Houve um aumento significativo da velocidade sistólica máxima e velocidade diastólica final na artéria oftálmica após a administração do citrato de sildenafil (p&lt;0,001)..