estudodonÚmerodecondiÇÃopara ...repositorio.unicamp.br/bitstream/reposip/322428/1/castro...kelly...

148
UNIVERSIDADE ESTADUAL DE CAMPINAS Instituto de Matemática, Estatística e Computação Científica CECILIA ORELLANA CASTRO ESTUDO DO NÚMERO DE CONDIÇÃO PARA APRIMORAR O CÁLCULO DA BASE DO PRECONDICIONADOR SEPARADOR NO MÉTODO DE PONTOS INTERIORES Campinas-SP 2017

Upload: others

Post on 22-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

UNIVERSIDADE ESTADUAL DECAMPINAS

Instituto de Matemática, Estatística eComputação Científica

CECILIA ORELLANA CASTRO

ESTUDO DO NÚMERO DE CONDIÇÃO PARAAPRIMORAR O CÁLCULO DA BASE DOPRECONDICIONADOR SEPARADOR NO

MÉTODO DE PONTOS INTERIORES

Campinas-SP2017

Page 2: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Cecilia Orellana Castro

ESTUDO DO NÚMERO DE CONDIÇÃO PARAAPRIMORAR O CÁLCULO DA BASE DO

PRECONDICIONADOR SEPARADOR NO MÉTODO DEPONTOS INTERIORES

Tese apresentada ao Instituto de Matemática,Estatística e Computação Científica daUniversidade Estadual de Campinas como partedos requisitos exigidos para a obtenção do títulode Doutor em Matemática Aplicada.

Orientador: Aurelio Ribeiro Leite de Oliveira

O arquivo digital corresponde à versãofinal da Tese defendida pelo alunoCecilia Orellana Castro e orientadapelo Prof. Dr. Aurelio Ribeiro Leite deOliveira.

Campinas-SP2017

Page 3: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Agência(s) de fomento e nº(s) de processo(s): CNPq, 141088/2014-1; CAPES

Ficha catalográficaUniversidade Estadual de Campinas

Biblioteca do Instituto de Matemática, Estatística e Computação CientíficaMaria Fabiana Bezerra Muller - CRB 8/6162

Orellana Castro, Cecilia, 1987- Or3e OreEstudo do número de condição para aprimorar o cálculo da base do

precondicionador separador / Cecilia Orellana Castro. – Campinas, SP : [s.n.],2017.

OreOrientador: Aurelio Ribeiro Leite de Oliveira. OreTese (doutorado) – Universidade Estadual de Campinas, Instituto de

Matemática, Estatística e Computação Científica.

Ore1. Programação linear. 2. Pré-condicionadores. 3. Método preditor-corretor.

4. Métodos de pontos interiores. 5. Métodos iterativos (Matemática). 6.Métodos do gradiente conjugado. I. Oliveira, Aurelio Ribeiro Leite de,1962-. II.Universidade Estadual de Campinas. Instituto de Matemática, Estatística eComputação Científica. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: Study of the condition number to improve the computation thesplitting preconditioner's basePalavras-chave em inglês:Linear programmingPreconditionersPredictor-corrector methodsInterior-point methodsIterative methods (Mathematics)Conjugate gradient methodsÁrea de concentração: Matemática AplicadaTitulação: Doutora em Matemática AplicadaBanca examinadora:Oliveira, Aurelio Ribeiro LeiteKelly Cristina PoldiChristiano Lyra FilhoAdilson Elias XavierJosé Federico Viscaino GonzálesData de defesa: 15-03-2017Programa de Pós-Graduação: Matemática Aplicada

Powered by TCPDF (www.tcpdf.org)

Page 4: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Tese de Doutorado defendida em 15 de março de 2017 e aprovada

pela banca examinadora composta pelos Profs. Drs.

Prof(a). Dr(a). AURELIO RIBEIRO LEITE DE OLIVEIRA

Prof(a). Dr(a). KELLY CRISTINA POLDI

Prof(a). Dr(a). CHRISTIANO LYRA FILHO

Prof(a). Dr(a). ADILSON ELIAS XAVIER

Prof(a). Dr(a). JOSÉ FEDERICO VIZCAINO GONZÁLEZ

A Ata da defesa com as respectivas assinaturas dos membros

encontra-se no processo de vida acadêmica do(a) aluno(a).

Page 5: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Dedico este trabalho para os homens da minha vida, Manolo, Alfonso e Tolito.

Page 6: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Agradecimentos

A Deus, por sempre guiar os meus passos.

Ao meu parceiro perfeito nesta vida, meu Manolo.

Aos meus adorados pais Rina e Alfonso, pelas orações, pela confiança e esse grande amor queme tornou quem sou hoje.

Aos meus amados torcedores, meus pequenos Noelia, Eunice, Vladimir e Reina.

Ao meu orientador, professor Dr. Aurelio Ribeiro Leite de Oliveira, pela confiança, paciência,apoio e esse amável sorriso que sempre tem a oferecer.

À Dra. Marta Velazco pela colaboração e valiosas sugestões.

Aos meus queridos padrinhos e melhores amigos Mirelle e Lucivanio, pelo carinho e amizadesincera.

Aos meus amigos Jorge Melli e Ilma Cambui pelo grande carinho e apoio que me ofereceram.

À Banca Examinadora, Dra. Kelly Poldi, Dr. Adilson Elias Xavier, Dr. José Federico VizcaínoGonzález e Dr. Christiano Lyra, pela paciência, críticas e sugestões.

À Eliana, Tânia, Lívia e Ronaldo por estarem sempre a disposição para solucionar as questõesburocráticas.

À CAPES e o CNPq pelo imprescindível suporte financeiro.

Ao Brasil, país de pessoas maravilhosas que sempre me acolheram com os braços abertos.

Page 7: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

ResumoO precondicionador Separador foi desenvolvido especialmente para reduzir o mal condicionamentodos sistemas lineares oriundos das últimas iterações dos métodos de Pontos Interiores. Elenecessita de uma base que é uma submatriz não singular da matriz de restrições do problema,esta base depende fortemente da iteração corrente do método de Pontos Interiores pois induzuma ordenação das colunas da matriz de restrições que pode ser aproveitada para reduzir onúmero de condição do sistema precondicionado. Portanto, a eficiência deste precondicionadordepende de uma escolha adequada desta base. Propõem-se novos critérios para a escolha da baseamparados em resultados teóricos que estudam o número de condição do sistema precondicionado.Adicionalmente, dado que o cálculo da base requer um alto custo computacional e uso de memória,uma vez que suas colunas são obtidas por meio de uma fatoração LU retangular, procura-seuma base com colunas esparsas. Outra maneira de acelerar o cálculo da base numa iteração dométodo de Pontos Interiores é aproveitar algumas colunas da iteração anterior. Em uma primeiraabordagem é feita uma ordenação das colunas de tal maneira que o número de condição damatriz precondicionada seja reduzido, além disso, foi possível mostrar que com esta ordenação, onúmero de condição é uniformemente limitado por uma quantidade que independe da iteração dométodo de Pontos Interiores. Uma segunda abordagem usa a ordenação da primeira abordagem,porém acrescenta um critério adicional, uma reordenação segundo a esparsidade das colunasque irão formar a base. Em uma terceira abordagem, propõe-se uma ordenação das colunascombinando estes dois requisitos simultaneamente; bom condicionamento e esparsidade para abase. Nestes casos é necessário um balanço entre esparsidade e bom condicionamento, para isso,apresentam-se resultados teóricos que permitem um controle sobre o equilíbrio entre estes doisrequisitos. Finalmente, apresenta-se uma proposta de reciclagem das colunas básicas de umaiteração para serem utilizadas na seguinte. Neste trabalho, abordam-se problemas de programaçãolinear de grande porte usando o método preditor-corretor de Mehrotra. O precondicionamentodos sistemas lineares para encontrar a direção é feito em duas fases: na primeira fase, usa-se oprecondicionador Fatoração Controlada de Cholesky proposto por Campos (1995), na segundafase, o precondicionador Separador. O critério de mudança de fase atualmente utilizado foisutilmente modificado, acrescentou-se um indicador que permite saber se o precondicionadorSeparador obterá um bom desempenho baseado nas diferenças abruptas que apresentam oselementos da matriz diagonal 𝐷, particularmente nas últimas iterações do método de PontosInteriores. Uma implementação destas novas abordagens e uma comparação com a versãoatualmente utilizada, mostraram resultados competitivos.

Palavras-chave: Programação linear. Método de pontos interiores. Precondicionador separador.Número de condição. Método dos gradientes conjugados precondicionado.

Page 8: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

AbstractThe Splitting preconditioner has been specially developed to reduce the ill conditioning of linearsystems from the latest Interior Point methods iterations. It needs a basis which is a non-singularsubmatrix of the constraint matrix, this basis strongly depends on the current iteration of theInterior Point method because it induces an ordering of the constraint matrix columns that canbe used to reduce the condition number of the preconditioned system, therefore, its efficiencydepends on a suitable choice of this basis. We proposed new approaches for choosing the basissupported by theoretical results that study the condition number of the preconditioned system.Additionally, finding the basis requieres a high computational cost and memory usage, since itscolumns are obtained through a rectangular LU factorization, a base with sparse columns issearched. Another way to speed up the computation basis of the Interior Point method iterationis to use some columns from the previous iteration. A first approach is an ordering to find basiccolumns such that the condition number of the preconditioned matrix is reduced, moreover,it is possible to show that this condition number is uniformly bounded by an amount that isindependent of the Interior Point method iteration. A second approach uses the ordering ofthe first approach, but adds an additional criterion, a reordering according to the constraintmatrix sparsity. In a third approach, it is proposed a ordering of columns of the constraintmatrix by joining these both requirements simultaneously; well conditioning and sparsity for thebasis. In these cases, a balance between sparsity and well conditioning is necessary, for this wepresent theoretical results that allow control over the balance between these both requirements.Finally, a last approach, we use a recycle basic column from one iteration to be used in thenext iteration. In this work, large linear programming problems are solved using the Mehrotra’spredictor-corrector method. Preconditioning of the linear systems to find the search direction isdone in two phases: the first phase, we use the Controlled Cholesky Factorization preconditionerby Campos (1995), in the second phase, the Splitting preconditioner. The change of phasecriterion currently used was subtly modified by the addition of an indicator that shows whetherthe Splitting preconditioner is ready to have a well performance based on the sharp differences onthe elements of the diagonal matrix 𝐷, particularly in the last Interior Point method iterations.An implementation of these new approaches and a comparison with the version currently used,showed competitive results.

Keywords: Linear programming. Interior point method. Splitting preconditioner. Conditionnumber. Preconditioned conjugate gradient method.

Page 9: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Lista de ilustrações

Figura 1 – Colunas de uma matriz dividida em grupos. . . . . . . . . . . . . . . . . . . 70Figura 2 – Colunas ordenadas de acordo com a esparsidade dentro de cada grupo. . . . 71Figura 3 – Perfil de desempenho para o total de iterações do MPI . . . . . . . . . . . . 106Figura 4 – Perfil de desempenho do tempo de processamento usado para resolver o

problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Figura 5 – Perfil de desempenho para o método dos GCP . . . . . . . . . . . . . . . . 108Figura 6 – Perfil de desempenho para o tempo do cálculo da base do PS . . . . . . . . 109Figura 7 – Perfil de desempenho para número de colunas encontradas antes do primeiro

reinício da fatoração LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Figura 8 – Perfil de desempenho para total de iterações do MPI usando reciclagem de

colunas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Figura 9 – Perfil de desempenho para o tempo de processamento para resolver os

problemas usando reciclagem de colunas básicas . . . . . . . . . . . . . . . 121Figura 10 – Perfil de desempenho para as iterações do método dos GCP usando reciclagem

de colunas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Figura 11 – Perfil de desempenho para o tempo de cálculo da base do PS usando reciclagem

de colunas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Figura 12 – Perfil de desempenho para número de colunas encontradas antes do primeiro

reinício da fatoração LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Page 10: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Lista de tabelas

Tabela 1 – Preenchimento do precondicionador FCC(𝜂) . . . . . . . . . . . . . . . . . . 47Tabela 2 – Dados dos problemas pré-processados pelo PCx. . . . . . . . . . . . . . . . . 90Tabela 3 – Dados da troca de fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Tabela 4 – Total de iterações do MPI . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Tabela 5 – Tempo de processamento para resolver o problema . . . . . . . . . . . . . . 97Tabela 6 – Iteracões do método GCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Tabela 7 – Dados da base do PS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Tabela 8 – Tempo e Iterações do MPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Tabela 9 – Iteracões do método GCP e Nro. de bases calculadas . . . . . . . . . . . . . 113Tabela 10 – Dados da base do PS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Tabela 11 – Problema els19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Tabela 12 – Problema ste36a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Page 11: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Lista de abreviaturas e siglas

D Formulação Dual de um problema de programação linear

FCC Fatoração Controlada de Cholesky

GC Gradientes Conjugados

GCP Gradientes Conjugados Precondicionado

KKT Karush-Kunh-Tucker

LI Linearmente Independente

LU Fatoração LU de uma matriz

MPI Método de Pontos Interiores

P Formulação Primal de um problema de programação linear

PCM Preditor-Corretor de Mehrotra

PL Problema de Programação Linear

PS Precondicionador Separador

Page 12: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Lista de símbolos

𝑥𝑗 denota a 𝑗-ésima componente do vetor 𝑥.

𝐴𝑗 denota a 𝑗-ésima coluna da matriz 𝐴.

𝑑𝑗 denota a 𝑗-ésima componente na diagonal de uma matriz diagonal 𝐷.

𝑒 vetor de todas as componentes iguais a um.

𝑥 > 0 indica que todas as componentes do vetor 𝑥 são positivas.

𝑥 ≥ 0 indica que todas as componentes do vetor 𝑥 são não negativas.

𝐴𝑇 transposta da matriz 𝐴.

𝐴−1 inversa da matriz 𝐴.

nnz(𝐴) número de elementos não nulos da matriz 𝐴.

nnz(𝐴𝑗) número de elementos não nulos da coluna 𝐴𝑗 da matriz 𝐴.

𝐼𝑛 matriz identidade de dimensão 𝑛.

𝜆𝑚𝑎𝑥(A) maior autovalor da matriz 𝐴.

𝜆𝑚𝑖𝑛(A) menor autovalor da matriz 𝐴.

‖·‖𝐹 norma de Frobenius de uma matriz.

‖‖𝑝 norma 𝑝 de uma matriz ou vetor.

‖·‖ norma euclidiana vetorial ou matricial.

|𝐸| cardinalidade do conjunto 𝐸.

𝜅𝑝(𝐴) número de condição da matriz 𝐴 segundo a norma 𝑝.

𝜅(𝐴) número de condição da matriz 𝐴 segundo a norma matricial euclidiana (norma2).

M𝑚×𝑛(R) espaço vetorial das matrizes de ordem 𝑚× 𝑛 com entradas reais.

R𝑛+ conjunto dos vetores 𝑥 pertencentes a R𝑛 que satisfazem 𝑥 ≥ 0.

R𝑛++ conjunto dos vetores 𝑥 pertencentes a R𝑛 que satisfazem 𝑥 > 0.

Page 13: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

⇒ símbolo lógico implica.

⇔ símbolo lógico se e somente se.

>> a desigualdade 𝑎 >> 𝑏 significa que a é muito maior que b.

𝑋 = diag p𝑥q matriz diagonal com as componentes do vetor 𝑥 ∈ R𝑛 na diagonal.

𝑢𝒮 ∈ R|𝒮| subvetor de 𝑢 ∈ R𝑛 cujas componentes têm índices pertencentes a 𝒮 ∈{1, . . . 𝑛}, com |𝒮|≤ 𝑛.

𝐴𝒮 submatriz de 𝐴 tem colunas cujos índices pertencem a 𝒮 ∈ {1, . . . 𝑛}, com|𝒮|≤ 𝑛.

Page 14: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1 Objetivos e contribuições deste trabalho . . . . . . . . . . . . . . . . . . . 171.2 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 MÉTODO PRIMAL-DUAL DE PONTOS INTERIORES . . . . . . . . . 192.1 Programação linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Método de pontos interiores primal-dual . . . . . . . . . . . . . . . . . . . 262.2.1 Trajetória central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.2 Resumo do método de pontos interiores primal-dual . . . . . . . . . . . . . . . . 312.2.3 Método preditor-corretor de Mehrotra . . . . . . . . . . . . . . . . . . . . . . . 322.3 Cálculo da direção de busca . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 PRECONDICIONAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . 413.1 Métodos iterativos precondicionados . . . . . . . . . . . . . . . . . . . . . 423.1.1 Método dos gradientes conjugados precondicionado . . . . . . . . . . . . . . . . 433.2 Precondicionador Fatoracão Controlada de Cholesky . . . . . . . . . . . . 46

4 PRECONDICIONADOR SEPARADOR . . . . . . . . . . . . . . . . . . . 494.1 Precondicionador Separador para o Sistema Aumentado . . . . . . . . . . 494.1.1 Primeira alternativa para encontrar a direção de busca . . . . . . . . . . . . . . 524.1.2 Segunda alternativa para encontrar a direção de busca . . . . . . . . . . . . . . 534.2 Precondicionador Separador para o sistema de Equações Normais . . . . 534.2.1 Terceira alternativa para encontrar a direção de busca . . . . . . . . . . . . . . . 544.3 Análise espectral da matriz precondicionada pelo precondicionador

Separador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4 Precondicionamento híbrido . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4.1 Mudança de fase no precondicionamento híbrido . . . . . . . . . . . . . . . . . 57

5 NOVAS ABORDAGENS PARA ENCONTRAR A BASE DOPRECONDICIONADOR SEPARADOR . . . . . . . . . . . . . . . . . . . 60

5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.2 Abordagem 𝑃𝑆1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.3 Abordagem 𝑃𝑆2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.4 Abordagem 𝑃𝑆3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.4.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Page 15: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

5.4.2 A ordenação nesta abordagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.4.3 Novo critério de mudança de fase . . . . . . . . . . . . . . . . . . . . . . . . . 825.5 Reciclagem de colunas básicas . . . . . . . . . . . . . . . . . . . . . . . . . 845.6 Resumo das novas propostas . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6 RESULTADOS NUMÉRICOS . . . . . . . . . . . . . . . . . . . . . . . . . 896.1 Problemas testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.2 Experimentos computacionais . . . . . . . . . . . . . . . . . . . . . . . . . 926.3 Análise dos resultados numéricos . . . . . . . . . . . . . . . . . . . . . . . . 1056.4 Resultados numéricos usando a reciclagem de colunas básicas . . . . . . 1106.5 Análise dos resultados numéricos usando a reciclagem de colunas básicas 118

7 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247.1 Perspetivas futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

APÊNDICES 130

APÊNDICE A – MÉTODO DOS GRADIENTES CONJUGADOS . . . . 131A.1 Método dos gradientes conjugados . . . . . . . . . . . . . . . . . . . . . . 131

APÊNDICE B – O PCX . . . . . . . . . . . . . . . . . . . . . . . . . . . 140B.1 O PCx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140B.1.1 Técnicas de preprocessamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 140B.1.2 Técnica de scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141B.1.3 A formulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142B.1.4 Critérios de parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

APÊNDICE C – PERFIS DE DESEMPENHO . . . . . . . . . . . . . . . 146C.1 Perfis de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Page 16: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

16

1 Introdução

Os Métodos de Pontos Interiores (MPI) do tipo primal-dual tornaram-se uma importanteferramenta para resolver problemas de programação linear de grande porte devido a suaspropriedades teóricas e computacionais, destacando entre estas, sua complexidade polinomial eo fato de que tanto a factibililidade quanto a otimalidade podem ser obtidas progressivamente.A fase I que determina um ponto inicial factível é simples.

O maior esforço computacional no MPI é o cálculo da direção de busca, esta direção é a soluçãode sistemas lineares que embora apresentem um alto grau de esparsidade, nas últimas iteraçõesdo MPI, tornam-se muito mal condicionados devido à condição de complementariedade de umproblema de otimização. A direção de busca é obtida de duas formulações muito conhecidas;o Sistema Aumentado e o Sistema de Equações Normais cuja matriz é o complemento deSchur da matriz do Sistema Aumentado. Foi provado em Gondzio (2012b) que o número decondição do Sistema Aumentado e do Sistema de Equações Normais sem precondicionamento éda ordem 𝒪(𝜇−1) e 𝒪(𝜇−2) respectivamente, onde 𝜇 denota o gap de dualidade do problemade programação linear. Assim, o estudo de implementações eficientes que acelerem as últimasiterações do método de Pontos Interiores é uma interessante linha de pesquisa.

Com o objetivo de evitar armazenamento excessivo e cálculos que possam dificultar acapacidade de resolver problemas de grande porte, são usados métodos iterativos adequadamenteprecondicionados, pois desta maneira são necessários apenas produtos do tipo matriz-vetor.Em Oliveira e Sorensen (2005) mostrou-se que, dado um precondicionador para o Sistema deEquações Normais, é possível construir um precondicionador para o Sistema Aumentado, mas arecíproca não necessariamente é verdadeira. Este resultado aumenta o interesse no estudo deprecondicionadores para o Sistema de Equações Normais.

Um precondicionador com estrutura esparsa e que proporcione uma redução significativa donúmero de condição determina o custo das operações de álgebra linear e, por conseguinte,determina a eficiência de um determinado método, por esta razão o precondicionamento é feitoem duas fases: na primeira fase, usa-se o precondicionador Fatoração Controlada de Cholesky(FCC) proposto por Campos (1995); na segunda fase, o Precondicionador Separador (PS)proposto por Oliveira e Sorensen (2005).

Os autores do PS, e posteriormente os seus colaboradores Velazco et al. (2010), fizeramordenações baseadas em heurísticas, algumas delas bem sucedidas, porém ainda existemproblemas não resolvidos e outros cuja solução demanda muito tempo computacional, istoacontece principalmente por duas razões: a escolha das colunas linearmente independentes

Page 17: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 1. Introdução 17

da base passa por uma fatoração LU computacionalmente cara ou a base escolhida nãofornece um precondicionador que diminua consideravelmente o número de condição do sistemaprecondicionado.

1.1 Objetivos e contribuições deste trabalhoO objetivo deste trabalho é fazer um estudo do número de condição das matrizes precondicionadaspelo precondicionador Separador e, a partir desta informação, ordenar as colunas da matrizde restrições do problema para construir uma base que, além de ser o mais esparsa possível,forneça um precondicionador eficiente.

Os resultados teóricos dos autores apresentados na Proposição 5.2.1 e no Teorema 5.2.2 sãoa base da primeira proposta denotada por 𝑃𝑆1. O Lema 5.3.1 e o Teorema 5.3.2 justificam asegunda proposta: 𝑃𝑆2. A terceira proposta denotada por 𝑃𝑆3, é baseada no Teorema 5.4.1.Finalmente, propomos uma reciclagem de colunas básicas, isto é, calcular uma base resgatando,parcial ou totalmente, a base da iteração anterior. Esta reciclagem pode ser implementadas emtodas as abordagens, neste trabalho, foi implementada nas abordagens 𝑃𝑆1 e 𝑃𝑆𝑀 , onde 𝑃𝑆𝑀

denota a abordagem proposta em Velazco et al. (2010).

Outra proposta deste trabalho é usar os elementos da diagonal da matriz 𝐷 para acrescentaruma condição na mudança de fase proposta por Velazco et al. (2011). Os autores de Velazco etal. (2011) visam aproveitar o precondicionador FCC durante a maior quantidade de iteraçõesdo MPI possível, eles fazem a mudança de fase quando o preenchimento deste precondicionadorsupera um limite permitido dado por um valor 𝜂max, veja a Seção 4.4.1. Ou seja, a mudança defase é baseada nas desvantagens de um precondicionador FCC denso, porém nós observamos queem vários problemas o precondicionador Separador está pronto para ter um bom desempenhoantes de atingido o preenchimento máximo permitido. Assim, foi acrescentada uma condiçãoadicional na mudança de fase que melhorou consideravelmente o tempo computacional de algunsdos problemas testados.

1.2 Organização do textoEste trabalho está dividido em sete capítulos. No Capítulo 2 apresentam-se os aspectos maisimportantes de programação linear usados para o desenvolvimento da teoria do MPI primal-dualenfatizando no método Preditor-Corretor de Mehrotra (PCM). No Capítulo 3 apresenta-se oprecondicionamento de sistemas lineares e os métodos iterativos precondicionados destancandoo método dos Gradientes Conjugados Precondicionado (GCP). O Precondicionador Separador(PS) apresenta-se no Capítulo 4 assim com um estudo do número de condição da matriz

Page 18: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 1. Introdução 18

precondicionada pelo PS. No Capítulo 5 apresentam-se as contribuições deste trabalho, asordenações propostas para encontrar a base do PS, assim como a nova proposta de mudançade fase para o precondicionamento híbrido, usando os elementos da matriz diagonal 𝐷 queaparece tanto no Sistema Aumentado como no Sistema de Equações Normais. Finamente nestecapítulo apresenta-se uma abordagem que recicla colunas básicas de uma iteração do MPIna seguinte com o objetivo de acelerar o cálculo da base. No Capítulo 6 apresentam-se os osexperimentos numéricos realizados assim como uma análise dos resultados obtidos. As conclusõese trabalhos que futuramente poderão ser realizados apresentam-se no Capítulo 7. Finalizando,apresentam-se três apêndices: O método dos Gradientes Conjugados (GC), uma introdução aoPCx e uma descrição dos perfis de desempenho usados no Capítulo 6 para avaliar os resultadoscomputacionais.

Page 19: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

19

2 Método primal-dual de pontos interiores

Em 1984, Karmarkar fez uma importante contribuição ao campo da Programação Linear (PL),Karmarkar (1984), ele apresentou um algoritmo com complexidade polinomial conhecido comoo Método de Pontos Interiores (MPI). Embora uma iteração do método de Karmarkar seja caracomputacionalmente, a otimalidade é alcançada após um número relativamente pequeno deiterações, o que torna o algoritmo computacionalmente atrativo. A prova de Karmarkar sobreo resultado da complexidade do pior caso foi bastante complicada, Gondzio (2012a), porém oesforço de numerosos pesquisadores conseguiu melhorias e esclarecimentos da teoria.

Em Gill et al. (1986), provou-se que o método de Karmarkar e o método da função barreirade Newton projetado, são equivalentes. O interesse crescente no papel das funções de barreirana teoria dos métodos de pontos interiores tem atraído a atenção da comunidade parainúmeras características vantajosas das funções de barreira logarítmica. Em Kojima et al.(1988) apresentou-se o método prima-dual de pontos interiores para PL baseado no método deKarmarkar.

Atualmente é amplamente aceito que o método primal-dual infactível é o MPI mais eficiente,este método é apresentado na Seção 2.2 deste capítulo. Iniciamos este capítulo apresentandoaspectos e resultados teóricos de um problema de PL.

2.1 Programação linearNesta seção, baseados em Bertsimas e Tsitsiklis (1997), abordam-se alguns aspectos da teoriade Programação Linear (PL) enfatizando as propriedades que relacionam as formulações padrãoprimal (P) e dual (D) dadas por:

(P)

⎧⎪⎪⎪⎨⎪⎪⎪⎩min 𝑐𝑇 𝑥

s. a. 𝐴𝑥 = 𝑏

𝑥 ≥ 0(D)

⎧⎪⎪⎪⎨⎪⎪⎪⎩max 𝑏𝑇 𝑦

s. a. 𝐴𝑇 𝑦 + 𝑧 = 𝑐

𝑧 ≥ 0, 𝑦 ∈ R𝑚

, (2.1.1)

onde 𝐴 ∈ M𝑚×𝑛(R) é a matriz de restrições do problema, 𝑐,𝑥,𝑧 ∈ R𝑛 e 𝑏 ∈ R𝑚. Se um vetor𝑥 pertence ao conjunto 𝒫 = {𝑥 : 𝐴𝑥 = 𝑏, 𝑥 ≥ 0}, então 𝑥 é chamado ponto primal factível.Analogamente, um vetor (𝑦, 𝑧) que pertence ao conjunto 𝒟 = {(𝑦, 𝑧) : 𝐴𝑇 𝑦 + 𝑧 = 𝑐, 𝑧 ≥ 0}é chamado ponto dual factível . Ressaltamos que qualquer formulação primal ou dual de umproblema de PL é equivalente à formulação padrão dada em (2.1.1), no seguinte sentido.

Page 20: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 20

Definição 2.1.1. Dois problemas de otimização

(P1)

⎧⎨⎩ min 𝐹 (𝑥)s. a. 𝑥 ∈ 𝒫1

(P2)

⎧⎨⎩ min 𝐺(𝑦)s. a. 𝑦 ∈ 𝒫2

,

são ditos equivalentes se para cada ponto 𝑥 ∈ 𝒫1, existe um ponto 𝑦 ∈ 𝒫2 tal que 𝐺(𝑦) = 𝐹 (𝑥),e para qualquer 𝑦 ∈ 𝒫2 existe 𝑥 ∈ 𝒫1 tal que 𝐹 (𝑥) = 𝐺(𝑦).

Assim, se (P1) e (P2) são equivalentes, tem-se que (P1) possui solução ótima com valor ótimo 𝛼

se e somente se (P2) possui solução ótima com valor ótimo 𝛼.

O problema de otimização (P1) (respectivamente (P2)) é dito ilimitado se para todo 𝛿 ∈ R existe𝑥 ∈ 𝒫1 (respectivamente 𝑦 ∈ 𝒫2 ) tal que 𝐹 (𝑥) < 𝛿 (respectivamente 𝐺(𝑦) < 𝛿). Além disso,o problema de otimização (P1) (respectivamente (P2)) é dito infactível se o conjunto 𝒫1 = ∅(𝒫2 = ∅).

No sentido da definição (2.1.1), se (P1) e (P2) são problemas equivalentes, tem-se que (P1) éilimitado se, e somente se, (P2) é ilimitado. Além disso, (P1) é um problema infactível se, esomente se, (P2) é um problema infactível.

A teoria da dualidade estabelece a relação existente entre os problemas primal (𝑃 ) e dual (𝐷),para começar apresenta-se o teorema fraco de dualidade.

Teorema 2.1. [𝐹𝑟𝑎𝑐𝑜 𝑑𝑒 𝐷𝑢𝑎𝑙𝑖𝑑𝑎𝑑𝑒]

Se 𝑥 é um ponto primal factível e (𝑦, 𝑧) é um ponto dual factível, então

𝑏𝑇 𝑦 ≤ 𝑐𝑇 𝑥.

A prova deste teorema no caso da formulação padrão dos problemas (𝑃 ) e (𝐷) é simples. Observeque 𝑏𝑇 𝑦 = (𝐴𝑥)𝑇 𝑦 = 𝑥𝑇 𝐴𝑇 𝑦 = 𝑥𝑇 (𝑐− 𝑧) = 𝑥𝑇 𝑐− 𝑥𝑇 𝑧 ≤ 𝑐𝑇 𝑥, pois 𝑥𝑇 𝑧 ≥ 0. Apesar de bastantesimples, este resultado já permite algumas conclusões sobre a relação entre os problemas primale dual.

Corolário 2.1.2. Se o problema primal (P) tem conjunto de pontos factíveis ilimitado, então oproblema dual (D) é infactível. Analogamente, se o problema dual (D) tem conjunto de pontosfactíveis ilimitado, então o problema primal (P) é infactível.

Demonstração. Suponha, por contradição, que o problema dual (D) é factível, ou seja existe𝑦 ∈ 𝒟, logo pelo teorema fraco da dualidade,

𝑏𝑇 𝑦 ≤ 𝑐𝑇 𝑥, para todo 𝑥 ∈ 𝒫 . (2.1.2)

Page 21: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 21

Por outro lado, por hipótese, 𝒫 é ilimitado, isto é, para todo 𝛿 ∈ R existe 𝑥 ∈ 𝒫 tal que 𝑐𝑇 𝑥 < 𝛿.Se, em particular, 𝛿 := 𝑏𝑇 𝑦, então:

existe 𝑥 ∈ 𝒫 , tal que 𝑐𝑇 𝑥 < 𝑏𝑇 𝑦, (2.1.3)

logo, de (2.1.2) e (2.1.19) tem-se uma contradição. Portanto, o problema dual (D) é infactível.

A prova da segunda parte do corolário é análoga, suponha que o problema primal (P) é factível,isto é, existe �� ∈ 𝒫 , logo pelo teorema fraco da dualidade,

𝑏𝑇 𝑦 ≤ 𝑐𝑇 ��, para todo 𝑦 ∈ 𝒟. (2.1.4)

Por hipótese, o problema dual 𝒟 é ilimitado, isto é, para todo 𝜖 ∈ R existe 𝑦 ∈ 𝒟 tal que𝜖 < 𝑏𝑇 𝑦, em particular, se 𝜖 := 𝑐𝑇 ��,

existe 𝑦 ∈ 𝒟, tal que 𝑐𝑇 �� < 𝑏𝑇 𝑦, (2.1.5)

de (2.1.4) e (2.1.5) tem-se uma contradição. Portanto, o problema primal (P) é infactível.

Corolário 2.1.3. Sejam 𝑥 um ponto primal factível e (𝑦, 𝑧) um ponto dual factível que satisfazem𝑏𝑇 𝑦 = 𝑐𝑇 𝑥, então 𝑥 e (𝑦, 𝑧) são soluções ótimas de seus respectivos problemas.

Demonstração. Seja 𝑤 ∈ 𝒫 um ponto primal factível arbitrário, pelo teorema fraco da Dualidadetem-se:

𝑏𝑇 𝑦 ≤ 𝑐𝑇 𝑤. (2.1.6)

Além disso, por hipótese 𝑐𝑇 𝑥 = 𝑏𝑇 𝑦, logo por (2.1.6) tem-se que 𝑐𝑇 𝑥 ≤ 𝑐𝑇 𝑤 para todo 𝑤 ∈ 𝒫,isto é, 𝑥 é solução ótima do problema primal.

Por outro lado, seja (𝑢, 𝑣) ∈ 𝒟 um ponto factível dual arbitrário, logo pelo teorema fraco dadualidade tem-se:

𝑏𝑇 𝑢 ≤ 𝑐𝑇 𝑥. (2.1.7)

Por outro lado, por hipótese 𝑐𝑇 𝑥 = 𝑏𝑇 𝑦, logo pela desigualdade (2.1.7) tem-se 𝑏𝑇 𝑦 ≥ 𝑏𝑇 𝑢.Portanto, (𝑦, 𝑧) é solução ótima do problema dual.

A seguir, enunciamos o teorema forte da dualidade cuja demonstração mais conhecida é feitausando a teoria do método Simplex para programação linear. Existe outra prova mais geral emGoldfarb e Todd (1989) baseada no Lema de Farkas.

Teorema 2.2. [𝑇𝑒𝑜𝑟𝑒𝑚𝑎 𝐹𝑜𝑟𝑡𝑒 𝑑𝑎 𝐷𝑢𝑎𝑙𝑖𝑑𝑎𝑑𝑒]

Se um problema de programação linear possui uma solução ótima então seu dual também possuisolução ótima e os valores ótimos dos dois problemas são iguais.

Page 22: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 22

Outro teorema importante na teoria de otimização é o Teorema da Complementariedade,apresenta-se este teorema para o caso de PL.

Teorema 2.3. [𝐶𝑜𝑚𝑝𝑙𝑒𝑚𝑒𝑛𝑡𝑎𝑟𝑖𝑒𝑑𝑎𝑑𝑒]

Considere os problemas (P) e (D) dados em (2.1.1) e sejam 𝑥 um ponto factível primal e(𝑦, 𝑧) um ponto dual factível . Então 𝑥 e (𝑦, 𝑧) são soluções ótimas dos problemas (P) e (D)respectivamente, se e somente se, 𝑧𝑖𝑥𝑖 = 0 para todo 𝑖 = 1, . . . , 𝑛.

Demonstração. (⇒) Suponha que 𝑥 e (𝑦, 𝑧) sejam soluções ótimas de (P) e (D) respectivamente.Pelo teorema forte da dualidade, veja Teorema 2.2, os valores ótimos de ambos os problemassão iguais, isto é, 𝑐𝑇 𝑥 = 𝑏𝑇 𝑦, logo

𝑥𝑇 𝑧 = 𝑥𝑇 (𝑐− 𝐴𝑇 𝑦) = 𝑥𝑇 𝑐− 𝑥𝑇 𝐴𝑇 𝑦 = 𝑥𝑇 𝑐− 𝑏𝑇 𝑦 = 𝑐𝑇 𝑥− 𝑏𝑇 𝑦 = 0. (2.1.8)

Além disso, dado que 𝑥 ≥ 0 e 𝑧 ≥ 0, para cada 𝑖 = 1, . . . 𝑛, 𝑥𝑖𝑧𝑖 ≥ 0, usando este fato e aequação (2.1.8) tem-se que

𝑛∑𝑖=1

𝑥𝑖𝑧𝑖 = 𝑥𝑇 𝑧 = 0, implica em que 𝑥𝑖𝑧𝑖 = 0 para cada 𝑖 = 1, . . . 𝑛.

(⇐) Suponha que 𝑥 ∈ 𝒫 e (𝑦, 𝑧) ∈ 𝒟 sejam tais que 𝑥𝑇 𝑧 = 0. Pela equação (2.1.8) tem-seque 𝑐𝑇 𝑥 = 𝑏𝑇 𝑥. Usando o Corolário 2.1.3, 𝑥 e (𝑦, 𝑧) são soluções ótimas dos seus respectivosproblemas.

Um problema de PL é um caso particular de um problema de programação convexa, neste caso,uma solução local é também uma solução global, Beck (2014). Para apresentar este resultado edesenvolver a teoria do Método de Pontos Interiores (MPI) primal-dual, apresentam-se definiçõese resultados importantes.

Considere o problema de otimização geral:

min 𝑓(𝑢)s. a. ℎ(𝑢) = 0𝑚

𝑔(𝑢) ≤ 0𝑝,

(2.1.9)

onde 𝑢 ∈ R𝑛 e as funções 𝑓 ,ℎ𝑖,𝑔𝑗 são diferenciáveis para 𝑖 = 1, . . . 𝑚, 𝑗 = 1, . . . , 𝑝 , sendoℎ = (ℎ1, ℎ2, . . . , ℎ𝑚), 𝑔 = (𝑔1, 𝑔2, . . . , 𝑔𝑝).

Uma solução ótima local do problema dado em (2.1.9) é definida a seguir.

Definição 2.1.4. [𝑆𝑜𝑙𝑢çã𝑜 ó𝑡𝑖𝑚𝑎 𝑙𝑜𝑐𝑎𝑙]

Seja 𝑥* um ponto factível do problema (2.1.9), isto é, 𝑥* ∈ 𝒮∩𝒢 onde 𝒮 = {𝑥 ∈ R𝑛 : ℎ(𝑥) = 0𝑚}e 𝒢 = {𝑥 ∈ R𝑛 : 𝑔(𝑥) ≤ 0𝑝}. O ponto 𝑥* é chamado solução ótima local de (2.1.9) se existe umescalar 𝛿 > 0 tal que 𝑓(𝑥*) ≤ 𝑓(𝑥) para todo 𝑥 com ‖𝑥− 𝑥*‖< 𝛿.

Page 23: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 23

Definição 2.1.5. [𝐷𝑖𝑟𝑒çã𝑜 𝑓𝑎𝑐𝑡í𝑣𝑒𝑙]

Um vetor 𝑑 ∈ R𝑛 é uma direção factível no ponto 𝑥, onde 𝑥 ∈ 𝒮 ∩ 𝒢, se existe �� ∈ R++ tal que𝑥 + 𝛼𝑑 ∈ 𝒮 ∩ 𝒢 para todo 𝛼 ∈ [0, ��].

Definição 2.1.6. [𝑃𝑜𝑛𝑡𝑜 𝑟𝑒𝑔𝑢𝑙𝑎𝑟]

Um ponto 𝑥* ∈ 𝒮 ∩ 𝒢 é um ponto regular se o conjunto

{Oℎ𝑗(𝑥*) : 𝑗 = 1, . . . , 𝑚} ∪ {O𝑔𝑖(𝑥*) : 𝑖 ∈ ℐ(𝑥*)}

é linearmente independente, onde ℐ(𝑥*) = {𝑖 : 𝑔𝑖(𝑥*) = 0}.

Teorema 2.4. [𝐶𝑜𝑛𝑑𝑖çõ𝑒𝑠 𝑑𝑒 𝐾𝑎𝑟𝑢𝑠ℎ−𝐾𝑢ℎ𝑛− 𝑇𝑢𝑐𝑘𝑒𝑟 (𝐾𝐾𝑇 )]

Se o vetor 𝑥* é um ponto regular e solução local de (2.1.9), então existem vetores 𝑦* ∈ R𝑚 e𝑧* ∈ R𝑝

+ tais que:

O𝑥ℓ(𝑥*, 𝑦*, 𝑧*) = 0𝑛, (2.1.10)

𝑧*𝑖 𝑔𝑖(𝑥*) = 0 para 𝑖 = 1, . . . , 𝑝, (2.1.11)

onde ℓ(𝑥, 𝑦, 𝑧) = 𝑓(𝑥) +𝑚∑

𝑗=1𝑦𝑗ℎ𝑗(𝑥) +

𝑝∑𝑖=1

𝑧𝑖𝑔𝑖(𝑥).

Uma prova deste famoso teorema pode ser encontrada em Brinkhuis e Tikhomirov (2011).

Definição 2.1.7. [𝑃𝑟𝑜𝑏𝑙𝑒𝑚𝑎 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎çã𝑜 𝑐𝑜𝑛𝑣𝑒𝑥𝑎]

O problema de programação dado em (2.1.9) é chamado de problema de programação convexase 𝑓 é uma função convexa, as funções componentes de ℎ são afins, isto é, funções do tipo𝑎𝑇 𝑥 + 𝑏𝑖 com 𝑎 ∈ R𝑛 e 𝑏𝑖 ∈ R, e as funções componentes de 𝑔 são convexas. Neste caso, oconjunto de pontos factíveis 𝒮 ∩ 𝒢 é um conjunto convexo, onde 𝒮 = {𝑥 ∈ R𝑛 : ℎ(𝑥) = 0𝑚} e𝒢 = {𝑥 ∈ R𝑛 : 𝑔(𝑥) ≤ 0𝑝} .

Teorema 2.5. [𝑆𝑢𝑓𝑖𝑐𝑖ê𝑛𝑐𝑖𝑎 𝑑𝑎𝑠 𝑐𝑜𝑛𝑑𝑖çõ𝑒𝑠 𝐾𝐾𝑇 ]

No problema (2.1.9) assuma que:

∙ ℎ𝑗, 𝑗 = 1, . . . 𝑚 são afins (𝒮 é convexo);

∙ 𝑔𝑖, 𝑖 = 1, . . . 𝑝 são convexas (𝒢 é convexo);

∙ 𝑓 é convexa;

Page 24: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 24

isto é, o problema (2.1.9) é convexo. Se 𝑥* ∈ 𝒮 ∩ 𝒢 é um ponto regular e satisfaz as condiçõesKKT dadas em (2.1.10) e (2.1.11), então 𝑥* é um mínimo global de 𝑓 em 𝒮 ∩𝒢, onde 𝒮 = {𝑥 ∈R𝑛 : ℎ(𝑥) = 0𝑚} e 𝒢 = {𝑥 ∈ R𝑛 : 𝑔(𝑥) ≤ 0𝑝}.

Demonstração. Dado que ℎ𝑖 é uma função afim, considere ℎ𝑖(𝑥) = 𝑎𝑖𝑥− 𝑏𝑖, onde 𝑎𝑖 ∈ R1×𝑛 e𝑏𝑖 ∈ R para 𝑖 = 1, . . . , 𝑚.

Para 𝑑 ∈ R𝑛, uma direção factível em 𝑥*, sabe-se que existe 𝛼 > 0 tal que:

0 = ℎ𝑖(𝑥* + 𝛼𝑑) = 𝑎𝑖(𝑥* + 𝛼𝑑)− 𝑏𝑖 = (𝑎𝑖𝑥* − 𝑏𝑖) + 𝛼𝑎𝑖𝑑 = 𝛼𝑎𝑖𝑑 para 𝑖 = 1, . . . , 𝑚,

isto implica que:𝑎𝑖𝑑 = 0, para 𝑖 = 1, 2, . . . 𝑚. (2.1.12)

Além disso, 𝑔𝑖(𝑥* + 𝛼𝑑) ≤ 0 para todo 𝑖 = 1, . . . 𝑝, particularmente para 𝑖 ∈ ℐ(𝑥*) ondeℐ(𝑥*) = {𝑖 : 𝑔𝑖(𝑥*) = 0}.

Fazendo a expansão em série de Taylor da função 𝑔 no ponto 𝑥* tem-se: 𝑔𝑖(𝑥*) + 𝛼∇𝑔𝑖(𝑥*)𝑇 𝑑 +𝒪(𝛼) ≤ 0, em particular, para 𝑖 ∈ ℐ(𝑥*) e 𝛼 ≈ 0 tem-se:

∇𝑔𝑖(𝑥*)𝑇 𝑑 ≤ 0. (2.1.13)

Multiplicando à igualdade O𝑥ℓ(𝑥*, 𝑦*, 𝑧*) = 0𝑛 dada em (2.1.10) por 𝑑 tem-se:

∇𝑓(𝑥*)𝑇 𝑑 +𝑚∑

𝑖=1𝑦*

𝑖 𝑎𝑖𝑑 +𝑝∑

𝑗=1𝑧*

𝑗∇𝑔𝑗(𝑥*)𝑇 𝑑 = 0.

Usando a equação (2.1.12) tem-se:

∇𝑓(𝑥*)𝑇 𝑑 = −𝑝∑

𝑗=1𝑧*

𝑗∇𝑔𝑗(𝑥*)𝑇 𝑑 = −∑

𝑗∈ℐ(𝑥*)𝑧*

𝑗∇𝑔𝑗(𝑥*)𝑇 𝑑−∑

𝑗 /∈ℐ(𝑥*)𝑧*

𝑗∇𝑔𝑗(𝑥*)𝑇 𝑑. (2.1.14)

Para 𝑗 ∈ ℐ(𝑥*), por (2.1.13) tem-se que:

−∑

𝑗∈ℐ(𝑥*)𝑧*

𝑗∇𝑔𝑗(𝑥*)𝑇 𝑑 ≥ 0. (2.1.15)

Para 𝑗 /∈ ℐ(𝑥*), 𝑔𝑗(𝑥*) < 0, logo por (2.1.11) tem-se que:

𝑧*𝑗 = 0. (2.1.16)

Usando (2.1.15) e (2.1.16) em (2.1.14) tem-se:

∇𝑓(𝑥*)𝑇 𝑑 ≥ 0. (2.1.17)

Page 25: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 25

Como 𝑓 é convexa em 𝒮 ∩ 𝒢,

𝑓(𝑥) ≥ 𝑓(𝑥*) +∇𝑓(𝑥*)𝑇 (𝑥− 𝑥*), para todo 𝑥 ∈ 𝒮 ∩ 𝒢. (2.1.18)

Observe que 𝑥− 𝑥* é uma direção factível em 𝑥* pois 𝑥* + (𝑥− 𝑥*) = 𝑥 ∈ 𝒮 ∩ 𝒢, logo usando(2.1.17) tem-se:

∇𝑓(𝑥*)𝑇 (𝑥− 𝑥*) ≥ 0. (2.1.19)

Substituindo (2.1.19) em (2.1.18), 𝑓(𝑥) ≥ 𝑓(𝑥*) para todo 𝑥 ∈ 𝒮 ∩ 𝒢, isto é, 𝑥* é um mínimolocal de 𝑓 em 𝒮 ∩ 𝒢.

O Teorema 2.5 pode ser aplicado ao problema de programação linear (P) apresentado na equação(2.1.1) pois 𝑓(𝑥) = 𝑐𝑇 𝑥 e 𝑔(𝑥) = −𝑥 são funções convexas e ℎ(𝑥) = 𝑏− 𝐴𝑥 é uma função afim.Além disso, todo ponto factível primal 𝑥 é regular desde que a matriz de restrições 𝐴 sejaconsiderada de posto completo.

Um ponto 𝑥* primal factível satisfaz as condições KKT dadas em (2.1.10) e (2.1.11) se existem𝑦* ∈ R𝑚 e 𝑧* ∈ R𝑛

+, tais que:O𝑥ℓ(𝑥*, 𝑦*, 𝑧*) = 0𝑛, (2.1.20)

𝑧*𝑖 𝑥*

𝑖 = 0 para 𝑖 = 1, . . . , 𝑛, (2.1.21)

onde ℓ(𝑥, 𝑦, 𝑧) = 𝑐𝑇 𝑥 +𝑚∑

𝑗=1𝑦𝑗(𝑏𝑗 − 𝑎𝑇

𝑗 𝑥)−𝑛∑

𝑖=1𝑧𝑖𝑥𝑖 e O𝑥ℓ(𝑥, 𝑦, 𝑧) é dado por:

O𝑥ℓ(𝑥, 𝑦, 𝑧) = 𝑐−𝑚∑

𝑗=1𝑦𝑗𝑎𝑗 − 𝑧 = 𝑐− 𝐴𝑇 𝑦 − 𝑧,

onde 𝑎𝑇𝑗 é a 𝑗-ésima linha de 𝐴.

Em outras palavras, 𝑥* satisfaz as condições KKT se:

1. 𝐴𝑥* = 𝑏, 𝑥* ≥ 0, além disso, existem 𝑦* ∈ R𝑚, 𝑧* ∈ R𝑛+ tal que:

2. 𝐴𝑇 𝑦* + 𝑧* = 𝑐,

3. 𝑧*𝑖 𝑥*

𝑖 = 0 para 𝑖 = 1, . . . , 𝑛.

Os vetores 𝑦* ∈ R𝑚 e 𝑧* ∈ R𝑛+ são chamados multiplicadores de Lagrange. Observe que (𝑦*, 𝑧*)

é um ponto factível dual e a condição dada em 3 é chamada condição de complementariedade.O vetor (𝑥*, 𝑦*, 𝑧*) que satisfaz as condições 1, 2 e 3 é chamado solução ótima primal-dual.

Pelos Teoremas 2.4 e 2.5, as condições KKT fornecem condições suficientes e necessárias paraencontrar uma solução ótima 𝑥* local do problema primal (P) e uma solução ótima local (𝑦*, 𝑧*)do problema dual (D).

Page 26: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 26

Por outro lado, em problemas de programação convexa, toda solução local é também soluçãoglobal como veremos no seguinte teorema.

Teorema 2.6. Suponha que ⎧⎪⎪⎪⎨⎪⎪⎪⎩min 𝑓(𝑢)s. a. ℎ(𝑢) = 0𝑚

𝑔(𝑢) ≤ 0𝑝

, (2.1.22)

com 𝑢 ∈ R𝑛, ℎ = (ℎ1, ℎ2, . . . , ℎ𝑚) e 𝑔 = (𝑔1, 𝑔2, . . . , 𝑔𝑝), sendo 𝑓 , ℎ𝑖, 𝑔𝑗 funções diferenciáveispara 𝑖 = 1, . . . 𝑚, 𝑗 = 1, . . . , 𝑝, seja um problema de programação convexa, veja definição dadaem 2.1.7. O vetor 𝑢* é um ótimo local de (2.1.22) se, e somente se, 𝑢* é um ótimo globalde (2.1.22), isto é 𝑓(𝑢*) ≤ 𝑓(𝑢) para todo 𝑢 ∈ 𝒮 ∩ 𝒢, onde 𝒮 = {𝑥 ∈ R𝑛 : ℎ(𝑥) = 0𝑚} e𝒢 = {𝑥 ∈ R𝑛 : 𝑔(𝑥) ≤ 0𝑝} .

Pelo Teorema 2.6 temos que (𝑥*, 𝑦*, 𝑧*) é solução ótima global de um problema de programaçãoconvexa, particularmente de um problema programação linear se, e somente se, as condições𝐾𝐾𝑇 são satisfeitas. Na próxima seção veremos como os métodos de pontos interiores aplicam ométodo de Newton ligeiramente modificado nestas condições para encontrar a direção de busca.

2.2 Método de pontos interiores primal-dualEsta seção tem por objetivo apresentar o Método de Pontos Interiores (MPI) primal-dualaplicado ao problema de Programação Linear (PL), particularmente apresentam-se os métodosseguidores de caminho. A teoria do MPI primal-dual para a formulação padrão do PL (2.1.1)pode ser encontrada em Wright (1997). Nesta seção é apresentada esta teoria para o problema deprogramação linear canalizado. As referências usadas nesta seção são Wright (1997) e Gondzio(2012a).

Considere o par primal-dual do problema de programação linear canalizado.

(PC)

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

min 𝑐𝑇 𝑥

s. a. 𝐴𝑥 = 𝑏

𝑥 + 𝑠 = 𝑢

𝑥, 𝑠 ≥ 0

(DC)

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

max 𝑏𝑇 𝑦 − 𝑢𝑇 𝑤

s. a. 𝐴𝑇 𝑦 − 𝑤 + 𝑧 = 𝑐

𝑤, 𝑧 ≥ 0𝑦 ∈ R𝑚

, (2.2.1)

onde 𝑥, 𝑠, 𝑤, 𝑧 ∈ R𝑛 e 𝐴 é uma matriz de tamanho 𝑚× 𝑛 considerada de posto completo. Osconjuntos

𝒫𝐶 = {(𝑥, 𝑠) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝑥, 𝑠 ≥ 0},

𝒟𝐶 = {(𝑦, 𝑤, 𝑧) : 𝐴𝑇 𝑦 − 𝑤 + 𝑧 = 𝑐, 𝑤, 𝑧 ≥ 0 } e

Page 27: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 27

ℱ𝐶 = {(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝐴𝑇 𝑦 − 𝑤 + 𝑧 = 𝑐, 𝑥, 𝑠, 𝑤, 𝑧 ≥ 0}

são chamados conjuntos de pontos primal, dual e primal-dual factíveis, respectivamente, dosproblemas apresentados em (2.2.1). Além disso, os conjuntos

𝒫𝑜𝐶 = {(𝑥, 𝑠) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝑥, 𝑠 > 0},

𝒟𝑜𝐶 = {(𝑦, 𝑤, 𝑧) : 𝐴𝑇 𝑦 − 𝑤 + 𝑧 = 𝑐, 𝑤, 𝑧 > 0 } e

ℱ𝑜𝐶 = {(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝐴𝑇 𝑦 − 𝑤 + 𝑧 = 𝑐, 𝑥, 𝑠, 𝑤, 𝑧 > 0} (2.2.2)

são chamados conjuntos de pontos estritamente primal, dual e primal-dual factíveis,respectivamente.

De acordo com o Teorema 2.5, um ponto primal factível (𝑥*, 𝑠*) é solução de (𝑃𝐶) se existem𝑦* ∈ R𝑚 e 𝑤*, 𝑧* ∈ R𝑛

+ tais que:

𝐴𝑇 𝑦* − 𝑤* + 𝑧* =𝑐 𝑤*, 𝑧* ≥ 0;

𝑥*𝑖 𝑧

*𝑖 =0 para 𝑖 = 1, . . . , 𝑛,

𝑤*𝑖 𝑠*

𝑖 =0 para 𝑖 = 1, . . . , 𝑛,

ou equivalentemente, (𝑥*, 𝑠*) é solução ótima de (𝑃𝐶) se existem 𝑦* ∈ R𝑚 e 𝑤*, 𝑧* ∈ R𝑛+ tais

que:

𝐴𝑥* =𝑏 𝑥* ≥ 0; (2.2.3)

𝑥* + 𝑠* =𝑢 𝑠* ≥ 0; (2.2.4)

𝐴𝑇 𝑦* − 𝑤* + 𝑧* =𝑐 𝑤* ≥ 0 𝑧* ≥ 0; (2.2.5)

𝑋*𝑍*𝑒 =0; (2.2.6)

𝑊 *𝑆*𝑒 =0; (2.2.7)

onde 𝑋* = diag(𝑥*1, 𝑥*

2, . . . 𝑥*𝑛), 𝑍* = diag(𝑧*

1 , 𝑧*2 , . . . 𝑧*

𝑛), 𝑊 * = diag(𝑤*1, 𝑤*

2, . . . 𝑤*𝑛) e 𝑆* =

diag(𝑠*1, 𝑠*

2, . . . 𝑠*𝑛). Observe que (𝑦*, 𝑤*, 𝑧*) é solução ótima do problema dual (𝐷𝐶).

Similarmente a outros métodos iterativos de otimização, o MPI primal-dual requer doisingredientes básicos: um procedimento para determinar a direção de busca e o tamanho depasso. A direção de busca 𝑑 = (Δ𝑥, Δ𝑠, Δ𝑦, Δ𝑤, Δ𝑧) é obtida usando o método de Newtonligeiramente modificado nas equações (2.2.3), (2.2.4), (2.2.5), (2.2.6) e (2.2.7). O tamanho depasso 𝛼𝑘 numa iteração 𝑘 é obtido de tal maneira que

(𝑥𝑘+1, 𝑠𝑘+1, 𝑤𝑘+1, 𝑧𝑘+1) = (𝑥𝑘, 𝑠𝑘, 𝑤𝑘, 𝑧𝑘) + 𝛼𝑘(Δ𝑥𝑘, Δ𝑠𝑘, Δ𝑤𝑘, Δ𝑧𝑘) > 0.

Page 28: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 28

A seguir apresentamos de maneira detalhada como é obtida a direção de busca. O MPI primal-dualestá intimamente relacionado com os métodos de barreira desenvolvidos por Fiacco e McCormickpara problemas de programação não linear no final da década de 60, Wright (1997).

Se na formulação primal (𝑃𝐶), dada em (2.2.1), é aplicada a penalização barreira logarítmicanas restrições de não negatividade, tem-se o problema:

min 𝑐𝑇 𝑥− 𝜇

ˆ

𝑛∑𝑖=1

log 𝑥𝑖 +𝑛∑

𝑖=1log 𝑠𝑖

˙

s. a. 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝑥, 𝑠 > 0. (2.2.8)

onde 𝜇 > 0. Além disso, a função𝑛∑

𝑖=1log 𝑥𝑖 +

𝑛∑𝑖=1

log 𝑠𝑖

é conhecida como o termo barreira. Observe que o domínio desta função é o conjunto de pontosestritamente factíveis 𝒫𝒞

0 = {(𝑥, 𝑠) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝑥, 𝑠 > 0}. Além disso, (2.2.8) é umproblema convexo.

O parâmetro 𝜇 controla a relação entre o termo de barreira e a função objetivo do problema(𝑃𝐶), isto é, se 𝜇 é pequeno é dada menos prioridade ao termo de barreira e portanto maiorprioridade à função objetivo, 𝑐𝑇 𝑥. Em geral, para começar o MPI primal-dual, é considerado 𝜇

grande com o objetivo de que 𝑥 e 𝑠 sejam positivos, depois, 𝜇 é gradualmente reduzido para darprioridade à minimização da função objetivo, 𝑐𝑇 𝑥.

Dado que o problema em (2.2.8) é convexo, pelo Teorema 2.5, as condições de otimalidade deprimeira ordem ou condições KKT, são suficientes e necessárias para encontrar uma soluçãoótima. Para tal objetivo, considere o lagrangeano ℓ do problema (2.2.8) e suas derivadas parciais,

ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑐𝑇 𝑥− 𝜇𝑛∑

𝑖=1log 𝑥𝑖 − 𝜇

𝑛∑𝑖=1

log 𝑠𝑖 + 𝑦𝑇 (𝑏− 𝐴𝑥) + 𝑤𝑇 (𝑥 + 𝑠− 𝑢), (2.2.9)

∙ ∇𝑥ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑐− 𝜇𝑋−1𝑒− 𝐴𝑇 𝑦 + 𝑤;

∙ ∇𝑠ℓ(𝑥, 𝑠, 𝑦, 𝑤) = −𝜇𝑆−1𝑒 + 𝑤;

∙ ∇𝑦ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑏− 𝐴𝑥;

∙ ∇𝑤ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑥 + 𝑠− 𝑢;

onde 𝑋−1 = diag(1/𝑥1, . . . , 1/𝑥𝑛), 𝑆−1 = diag(1/𝑠1, . . . , 1/𝑠𝑛), e 𝑒𝑇 = (1, . . . , 1) ∈ R𝑛.

Se 𝑧 ∈ R𝑛 é definida como 𝑧 = 𝜇𝑋−1𝑒, o gradiente do lagrangeano ℓ dado em (2.2.9), denotadopor ∇ℓ = (∇𝑥ℓ,∇𝑠ℓ,∇𝑦ℓ,∇𝑦ℓ) tem as seguintes componentes:

Page 29: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 29

∙ ∇𝑥ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑐− 𝑧 − 𝐴𝑇 𝑦 + 𝑤;

∙ ∇𝑠ℓ(𝑥, 𝑠, 𝑦, 𝑤) = −𝜇𝑆−1𝑒 + 𝑤;

∙ ∇𝑦ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑏− 𝐴𝑥;

∙ ∇𝑤ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑥 + 𝑠− 𝑢.

Para 𝜇 > 0, pelos Teoremas 2.4 e 2.5, (𝑥*, 𝑠*) = (𝑥*(𝜇), 𝑠*(𝜇)) é solução ótima do problema dadoem (2.2.8) se, e somente se, existem 𝑦* = 𝑦*(𝜇) ∈ R𝑚, 𝑧* = 𝑧*(𝜇) ∈ R𝑛

++ e 𝑤* = 𝑤*(𝜇) ∈ R𝑛++

tais que satisfazem:∇ℓ(𝑥, 𝑠, 𝑦, 𝑧, 𝑤) = 0,

𝑧 = 𝜇𝑋−1𝑒 ou 𝑋𝑍𝑒 = 𝜇𝑒.

Mais precisamente, (𝑥*, 𝑠*) = (𝑥*(𝜇), 𝑠*(𝜇)) é solução ótima do problema dado em (2.2.8) se, esomente se, existem 𝑦* = 𝑦*(𝜇) ∈ R𝑚, 𝑧* = 𝑧*(𝜇) ∈ R𝑛

++ e 𝑤* = 𝑤*(𝜇) ∈ R𝑛++ satisfazendo as

seguintes equações:

𝐴𝑥 =𝑏, 𝑥 > 0; (2.2.10)

𝑥 + 𝑠 =𝑢, 𝑠 > 0; (2.2.11)

𝐴𝑇 𝑦 − 𝑤 + 𝑧 =𝑐, 𝑤, 𝑧 > 0; (2.2.12)

𝑋𝑍𝑒 =𝜇𝑒; (2.2.13)

𝑊𝑆𝑒 =𝜇𝑒; (2.2.14)

onde 𝑆 = diag(𝑠1, . . . , 𝑠𝑛), 𝑊 = diag(𝑤1, . . . , 𝑤𝑛), 𝑋 = diag(𝑥1, . . . , 𝑥𝑛), e 𝑍 = diag(𝑧1, . . . , 𝑧𝑛).

Para cada 𝜇 > 0 existe um único ponto (𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)) que satisfaz as cincoequações (2.2.10)-(2.2.14), mais precisamente temos o seguinte teorema.

Teorema 2.7. Suponha que o conjunto de pontos primal-dual estritamente factíveis dado porℱ𝑜

𝐶 = {(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝐴𝑇 𝑦−𝑤 + 𝑧 = 𝑐, 𝑥, 𝑠, 𝑤, 𝑧 > 0} seja não vazio, entãopara cada 𝜇 > 0 existe uma única solução do sistema de equações dadas em (2.2.10)-(2.2.14).

Uma prova deste resultado pode ser encontrada em Wright (1997). Este teorema permite afirmara existência de uma curva ou trajetória 𝜇→ (𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)) definida implicitamentepelas equações (2.2.10)-(2.2.14). Um estudo mais detalhado desta curva é apresentado na próximaseção.

Page 30: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 30

2.2.1 Trajetória central

A Trajetória Central 𝒞 é uma curva de pontos estritamente factíveis, isto é uma curva de pontospertencentes a ℱ𝒞

0 = {(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝐴𝑇 𝑦 − 𝑤 + 𝑧 = 𝑐, 𝑥, 𝑠, 𝑤, 𝑧 > 0}.

Esta curva é parametrizada por:

𝒞 : R++ → R2𝑛++ × R𝑚 × R2𝑛

++ com 𝜇 ↦→ (𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)),

onde (𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)) é obtida implicitamente do sistema de equações(2.2.10)-(2.2.14). A existência e unicidade desta correspondência é garantida pelo Teorema2.7. Assim, definimos a Trajetória Central como o conjunto 𝒞 = {(𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)) :𝜇 > 0}.

O MPI primal-dual seguidor de caminho segue a Trajetória Central na direção decrescente de 𝜇.Observe que se 𝜇 ≈ 0, então (𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)) ≈ (𝑥*, 𝑠*, 𝑦*, 𝑤*, 𝑧*) pois o sistema deequações em (2.2.10)-(2.2.14) é contínuo.

Usa-se a Trajetória Central para chegar em uma solução ótima (𝑥*, 𝑠*, 𝑦*, 𝑤*, 𝑧*) pois seaplicarmos um método iterativo para resolver o sistema dado pelas condições KKT do problema(𝑃𝐶), isto é,

𝐴𝑥 =𝑏; (2.2.15)

𝑥 + 𝑠 =𝑢; (2.2.16)

𝐴𝑇 𝑦 − 𝑤 + 𝑧 =𝑐; (2.2.17)

𝑋𝑍𝑒 =0; (2.2.18)

𝑊𝑆𝑒 =0; (2.2.19)

𝑥, 𝑠 ≥ 0; (2.2.20)

𝑤, 𝑧 ≥ 0, (2.2.21)

geralmente acontece que são encontrados vetores (𝑥, 𝑠, 𝑦, 𝑤, 𝑧) que satisfazem (2.2.15)-(2.2.19),porém pode acontecer que estes vetores saiam precocemente do ortante positivo, estas soluçõessão chamadas de soluções falsas.

A Trajetória Central guia até uma solução ótima ao longo de um percurso que fica longe desoluções falsas, mantendo todos os produtos 𝑥𝑖𝑧𝑖 e 𝑠𝑖𝑤𝑖 estritamente positivos e os reduz até zerocom a mesma taxa. Então, ao invés de resolver o sistema dado pelas condições de otimalidadeKKT de (𝑃𝐶), resolve-se o sistema dado pelas equações (2.2.10)-(2.2.14) para diferentes valorespositivos 𝜇, com 𝜇 decrescente.

O sistema de equações (2.2.10)- (2.2.14) usado para encontrar pontos da Trajetória Central énão linear pois as aplicações dadas em (2.2.13) e (2.2.14) são não lineares, porém as equações

Page 31: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 31

em (2.2.10), (2.2.11) e (2.2.12) são lineares. Assim, uma aproximação de primeira ordem forneceuma boa aproximação de um ponto da Trajetória Central.

Considere a aplicação 𝐹 : R2𝑛+ × R𝑚 × R2𝑛

+ −→ R4𝑛+𝑚 dada por:

𝐹 p𝑥, 𝑠, 𝑦, 𝑤, 𝑧q𝑇 =

`

𝐴𝑥− 𝑏, 𝑥 + 𝑠− 𝑢, 𝐴𝑇 𝑦 + 𝑧 − 𝑤 − 𝑐, 𝑋𝑍𝑒− 𝜇𝑒, 𝑆𝑊𝑒− 𝜇𝑒˘𝑇

,

a aproximação de primeira ordem de 𝐹 num ponto �� = (𝑥, 𝑠, 𝑦, 𝑤, 𝑧)𝑇 é dado por:

𝐹 (𝑋) = 𝐹 (��) + 𝐽(��)(𝑋 − ��) para 𝑋 ≈ ��,

onde 𝐽(��) é o Jacobiano de 𝐹 no ponto ��.

Resolve-se 𝐹 (��) + 𝐽(��)𝑑 = 0 para encontrar a direção de busca 𝑑 = pΔ𝑥, Δ𝑠, Δ𝑦, Δ𝑤, Δ𝑧q𝑇

no ponto ��, isto implica resolver o seguinte sistema de equações;

¨

˚

˚

˚

˚

˚

˚

˝

𝐴 0 0 0 0𝐼𝑛 𝐼𝑛 0 0 00 0 𝐴𝑇 −𝐼𝑛 𝐼𝑛

𝑍 0 0 0 𝑋

0 𝑊 0 𝑆 0

˛

¨

˚

˚

˚

˚

˚

˚

˝

Δ𝑥

Δ𝑠

Δ𝑦

Δ𝑤

Δ𝑧

˛

=

¨

˚

˚

˚

˚

˚

˚

˝

𝑟𝑏

𝑟𝑢

𝑟𝑐

𝑟1

𝑟2

˛

, (2.2.22)

onde 𝑟𝑏 = 𝑏− 𝐴𝑥, 𝑟𝑢 = 𝑢− 𝑥− 𝑠, 𝑟𝑐 = 𝑐 + 𝑤 − 𝑧 − 𝐴𝑇 𝑦, 𝑟1 = 𝜇𝑒−𝑋𝑍𝑒, 𝑟2 = 𝜇𝑒− 𝑆𝑊𝑒.Além disso, as matrizes 𝑋, 𝑆, 𝑍 e 𝑊 são matrizes diagonais dadas por: 𝑋 = diag(𝑥1, . . . , 𝑥𝑛),𝑍 = diag(𝑧1, . . . , 𝑧𝑛), 𝑆 = diag(𝑠1, . . . , 𝑠𝑛), 𝑊 = diag(𝑤1, . . . , 𝑤𝑛) e 𝑒𝑇 = (1, . . . , 1) ∈ R𝑛.

Para reduzir a condição de complementariedade, as diferentes variantes do MPI primal-dualseguidor de trajetória modificam o sistema (2.2.22) fazendo

𝑟1 = 𝜎𝜇𝑒−𝑋𝑍𝑒 e 𝑟2 = 𝜎𝜇𝑒− 𝑆𝑊𝑒, (2.2.23)

onde 𝜎 ∈ [0, 1] é chamado parâmetro de centragem.

2.2.2 Resumo do método de pontos interiores primal-dual

Embora os primeiros MPIs primal-dual trabalhassem com sequências de pontos factíveis,atualmente é comum trabalhar com pontos infactíveis, exige-se apenas que cada ponto dasequência (𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘) seja um ponto interior, isto é, (𝑥𝑘, 𝑠𝑘, 𝑤𝑘, 𝑧𝑘) > 0.

Os MPIs primal-dual com pontos infactíveis encontrados na literatura baseiam-se na seguinteestrutura:

Dado (𝑥0, 𝑠0, 𝑦0, 𝑤0, 𝑧0) sendo 𝑥0 > 0, 𝑧0 > 0, 𝑤0 > 0 e 𝑠0 > 0,

Para 𝑘 = 0, 1, 2, . . .

Page 32: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 32

1. Calcule 𝜇𝑘 = (𝑥𝑘)𝑇 𝑧𝑘 + (𝑠𝑘)𝑇 𝑤𝑘

2𝑛e escolha 𝜎𝑘 ∈ [0, 1];

2. Resolva o sistema de equações (2.2.22) para encontrar a direção de busca

𝑑𝑘 = (Δ𝑥𝑘, Δ𝑠𝑘, Δ𝑦𝑘, Δ𝑤𝑘, Δ𝑧𝑘),

usando 𝜇𝑘 e 𝜎𝑘 do passo 1;

3. Calcule o comprimento de passo 𝛼𝑘 = min{1, 𝜏 𝑘𝜌𝑘

𝑥, 𝜏 𝑘𝜌𝑘𝑧 , 𝜏 𝑘𝜌𝑘

𝑠 , 𝜏 𝑘𝜌𝑘𝑤

}onde 𝜏 𝑘 ∈ p0, 1q,

𝜌𝑘𝑥 = −1

min𝑖

´

Δ𝑥𝑘𝑖

𝑥𝑘𝑖

¯ , 𝜌𝑘𝑧 = −1

min𝑖

´

Δ𝑧𝑘𝑖

𝑧𝑘𝑖

¯ , 𝜌𝑘𝑠 = −1

min𝑖

´

Δ𝑠𝑘𝑖

𝑠𝑘𝑖

¯ , e 𝜌𝑘𝑤 = −1

min𝑖

´

Δ𝑤𝑘𝑖

𝑤𝑘𝑖

¯ ;

4. Calcule o novo ponto`

𝑥𝑘+1, 𝑠𝑘+1, 𝑦𝑘+1, 𝑤𝑘+1, 𝑧𝑘+1˘ =`

𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘˘

+ 𝛼𝑘`

Δ𝑥𝑘, Δ𝑠𝑘, Δ𝑦𝑘, Δ𝑤𝑘, Δ𝑧𝑘˘

;

Fim para

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

‖𝑏− 𝐴𝑥𝑘‖‖𝑏‖+1 ≤ 𝜖,

‖𝑢− 𝑥𝑘 − 𝑠𝑘‖‖𝑢‖+1 ≤ 𝜖,

‖𝑐− 𝐴𝑇 𝑦𝑘 − 𝑧𝑘 + 𝑤𝑘‖‖𝑐‖+1 ≤ 𝜖,

|𝑐𝑇 𝑥𝑘 − 𝑏𝑇 𝑦𝑘 + 𝑢𝑇 𝑤𝑘||𝑐𝑇 𝑥𝑘|+|𝑏𝑇 𝑦𝑘 − 𝑏𝑇 𝑤𝑘|+1 ≤ 𝜖, (2.2.24)

onde usualmente 𝜖 = 10−8.

Entre as variantes do MPI primal-dual seguidor de caminho, destaca-se o métodoPreditor-Corretor de Mehrotra (PCM), veja Mehrotra (1992), por ser uma aproximação desegunda ordem das condições de otimalidade de (2.2.8), Wright (1997). Na seguinte seção,apresenta-se uma descrição do método PCM.

2.2.3 Método preditor-corretor de Mehrotra

Atualmente, muitos softwares tais como o BPMPD, CPLEX/Barrier, HOPDM, LIPSOL, PCx,entre outros, usam uma implementação baseada neste método. O método de Mehrotra seguea estrutura apresentada na Seção 2.2.2. Sua principal característica é que a direção de buscaconsiste de duas componentes:

∙ Uma direção afim-escala ou preditora que consiste em um passo na direção de Newtonpuro. Esta direção é obtida fazendo 𝜎 = 0 em (2.2.23) e (2.2.22).

Page 33: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 33

∙ Uma direção corretora e de centragem, que tenta compensar a não linearidade da direçãopreditora com uma escolha adaptativa do parâmetro de centragem 𝜎.

Suponha que`

𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘˘

com`

𝑥𝑘, 𝑠𝑘, 𝑤𝑘, 𝑧𝑘˘

> 0 seja o ponto da iteração 𝑘. O cálculoda direção afim ou preditora 𝑑𝑎𝑓

𝑘 = (Δ𝑥𝑎𝑓 , Δ𝑠𝑎𝑓 , Δ𝑦𝑎𝑓 , Δ𝑤𝑎𝑓 , Δ𝑧𝑎𝑓)𝑇 em`

𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘˘

éobtido do seguinte sistema de equações lineares:

¨

˚

˚

˚

˚

˚

˚

˝

𝐴 0 0 0 0𝐼𝑛 𝐼𝑛 0 0 00 0 𝐴𝑇 −𝐼𝑛 𝐼𝑛

𝑍𝑘 0 0 0 𝑋𝑘

0 𝑊 𝑘 0 𝑆𝑘 0

˛

¨

˚

˚

˚

˚

˚

˚

˝

Δ𝑥𝑎𝑓

Δ𝑠𝑎𝑓

Δ𝑦𝑎𝑓

Δ𝑤𝑎𝑓

Δ𝑧𝑎𝑓

˛

=

¨

˚

˚

˚

˚

˚

˚

˝

𝑟𝑘𝑏

𝑟𝑘𝑢

𝑟𝑘𝑐

−𝑋𝑘𝑍𝑘𝑒

−𝑆𝑘𝑊 𝑘𝑒

˛

. (2.2.25)

onde 𝑟𝑘𝑏 = 𝑏−𝐴𝑥𝑘, 𝑟𝑘

𝑢 = 𝑢−𝑥𝑘− 𝑠𝑘, 𝑟𝑘𝑐 = 𝑐 + 𝑤𝑘− 𝑧𝑘−𝐴𝑇 𝑦𝑘, 𝑋𝑘 = diag(𝑥𝑘), 𝑍𝑘 = diag(𝑧𝑘),

𝑆 = diag(𝑠𝑘), 𝑊 = diag(𝑤𝑘) e 𝑒𝑇 = (1, . . . , 1) ∈ R𝑛.

O comprimento de passo nesta direção é dado por:

𝛼𝑎𝑓𝑥 = argmax{𝛼 ∈ (0, 1] : 𝑥𝑘 + 𝛼Δ𝑥𝑎𝑓 > 0}; (2.2.26)

𝛼𝑎𝑓𝑠 = argmax{𝛼 ∈ (0, 1] : 𝑠𝑘 + 𝛼Δ𝑠𝑎𝑓 > 0}; (2.2.27)

𝛼𝑎𝑓𝑧 = argmax{𝛼 ∈ (0, 1] : 𝑧𝑘 + 𝛼Δ𝑧𝑎𝑓 > 0}; (2.2.28)

𝛼𝑎𝑓𝑤 = argmax{𝛼 ∈ (0, 1] : 𝑤𝑘 + 𝛼Δ𝑤𝑎𝑓 > 0}. (2.2.29)

Para medir a eficiência do passo na direção preditora, é calculada a medida de dualidade afim𝜇𝑎𝑓 dada por:

𝜇𝑘𝑎𝑓 = (𝑥 + 𝛼𝑎𝑓

𝑥 Δ𝑥𝑎𝑓 )𝑇 (𝑧 + 𝛼𝑎𝑓𝑧 Δ𝑧𝑎𝑓 ) + (𝑠 + 𝛼𝑎𝑓

𝑠 Δ𝑠𝑎𝑓 )𝑇 (𝑤 + 𝛼𝑎𝑓𝑤 Δ𝑤𝑎𝑓 )

2𝑛. (2.2.30)

Usando 𝜇𝑘 =`

(𝑥𝑘)𝑇 𝑧𝑘 + (𝑠𝑘)𝑇 𝑤𝑘˘

/2𝑛 e 𝜇𝑎𝑓 , o cálculo do parâmetro de centragem 𝜎𝑘 paraencontrar a direção preditora e de centragem, é feito considerando duas situações:

∙ Se 𝜇𝑘𝑎𝑓 << 𝜇𝑘, então a direção preditora é uma boa direção de busca pois permite uma

redução significativa da medida de dualidade permanecendo interior, neste caso, não seránecessária uma centragem muito grande, isto é, 𝜎𝑘 ≈ 0.

∙ Se 𝜇𝑘𝑎𝑓 ≈ 𝜇𝑘, então a direção preditora fez um pequeno progresso na redução da medida

de dualidade, logo é preciso fazer uma centragem maior (mais perto da trajetória central)com o objetivo de que o ponto da iteração 𝑘 + 1 esteja numa melhor posição para atingirum maior decréscimo da medida de dualidade na iteração seguinte.

Page 34: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 34

Mehrotra sugere uma heurística bem sucedida para encontrar o parâmetro de centragem 𝜎𝑘 daiteração 𝑘 dada por:

𝜎𝑘 =ˆ

𝜇𝑘𝑎𝑓

𝜇𝑘

˙3

, (2.2.31)

é claro que se 𝜇𝑘𝑎𝑓 << 𝜇𝑘, então 𝜎𝑘 ≈ 0, por outro lado, se 𝜇𝑘

𝑎𝑓 ≈ 𝜇𝑘, então 𝜎𝑘 ≈ 1.

Suponha um passo otimista na direção preditora, isto é, 𝛼𝑎𝑓𝑥 = 𝛼𝑎𝑓

𝑠 = 𝛼𝑎𝑓𝑦 = 𝛼𝑎𝑓

𝑧 = 𝛼𝑎𝑓𝑤 = 1,

então usando o sistema em (2.2.25) tem-se:

𝑟𝑘+1𝑏 = 𝑏− 𝐴𝑥𝑘+1 = 𝑏− 𝐴(𝑥𝑘 + Δ𝑥𝑎𝑓 ) = 𝑟𝑘

𝑏 − 𝐴Δ𝑥𝑎𝑓 = 𝑟𝑘𝑏 − 𝑟𝑘

𝑏 = 0;

𝑟𝑘+1𝑢 = 𝑢− 𝑥𝑘+1 − 𝑠𝑘+1 = 𝑢− (𝑥𝑘 + Δ𝑥𝑎𝑓 )− (𝑠𝑘 + Δ𝑠𝑎𝑓 ) = 𝑟𝑘

𝑢 − (Δ𝑥𝑎𝑓 + Δ𝑠𝑎𝑓 ) = 𝑟𝑘𝑢 − 𝑟𝑘

𝑢 = 0;

𝑟𝑘+1𝑐 = 𝐴𝑇 𝑦𝑘+1 + 𝑧𝑘+1 − 𝑤𝑘+1 − 𝑐 = 𝐴𝑇 (𝑦𝑘 + Δ𝑦𝑎𝑓 ) + (𝑧𝑘 + Δ𝑧𝑎𝑓 )− (𝑤𝑘 + Δ𝑤𝑎𝑓 )

= 𝑟𝑘𝑐 + 𝐴𝑇 Δ𝑦𝑎𝑓 + Δ𝑧𝑎𝑓 −Δ𝑤𝑎𝑓 = 𝑟𝑘

𝑐 − 𝑟𝑘𝑐 = 0,

(2.2.32)ou seja, a factibilidade é atingida em apenas um passo, porém as folgas complementares:

(𝑥𝑖 + Δ𝑥𝑎𝑓𝑖 )(𝑧𝑖 + Δ𝑧𝑎𝑓

𝑖 ) = 𝑥𝑖𝑧𝑖 + 𝑥𝑖Δ𝑧𝑎𝑓𝑖 + 𝑧𝑖Δ𝑥𝑎𝑓

𝑖 + Δ𝑥𝑎𝑓𝑖 Δ𝑧𝑎𝑓

𝑖 = Δ𝑥𝑎𝑓𝑖 Δ𝑧𝑎𝑓

𝑖 ;

(𝑠𝑖 + Δ𝑠𝑎𝑓𝑖 )(𝑤𝑖 + Δ𝑤𝑎𝑓

𝑖 ) = 𝑠𝑖𝑤𝑖 + 𝑠𝑖Δ𝑤𝑎𝑓𝑖 + 𝑤𝑖Δ𝑠𝑎𝑓

𝑖 + Δ𝑠𝑎𝑓𝑖 Δ𝑤𝑎𝑓

𝑖 = Δ𝑠𝑎𝑓𝑖 Δ𝑤𝑎𝑓

𝑖 ,(2.2.33)

não são nulas, isto é, a otimalidade não é atingida pois o passo de Newton puro é apenas umaaproximação linear de primeira ordem das condições de otimalidade.

A direção corretora e de centragem tenta compensar este erro, para isso surge a ideia natural decriar uma direção que faça com que Δ𝑥𝑎𝑓

𝑖 Δ𝑧𝑎𝑓𝑖 = 0 e Δ𝑠𝑎𝑓

𝑖 Δ𝑤𝑎𝑓𝑖 = 0, porém existe o risco de que

os produtos (𝑥𝑖 +Δ𝑥𝑎𝑓𝑖 )(𝑧𝑖 +Δ𝑧𝑎𝑓

𝑖 ) e (𝑠𝑖 +Δ𝑠𝑎𝑓𝑖 )(𝑤𝑖 +Δ𝑤𝑎𝑓

𝑖 ) se aproximem de zero com diferentestaxas de convergência. Assim, usa-se o parâmetro de centragem 𝜎𝑘 definido em (2.2.31) poisdepende da medida de dualidade e da posição do ponto da iteração corrente no ortante positivo.Logo, a direção corretora e de centragem denotada por 𝑑𝑐𝑐

𝑘 = (Δ𝑥𝑐𝑐, Δ𝑠𝑐𝑐, Δ𝑦𝑐𝑐, Δ𝑤𝑐𝑐, Δ𝑧𝑐𝑐), visaobter:

Δ𝑥𝑎𝑓𝑖 Δ𝑧𝑎𝑓

𝑖 = 𝜎𝑘𝜇𝑘 e Δ𝑠𝑎𝑓𝑖 Δ𝑤𝑎𝑓

𝑖 = 𝜎𝑘𝜇𝑘 para todo 𝑖 = 1, . . . , 𝑛. (2.2.34)

Logo de (2.2.33) e (2.2.34), esta direção faz com que

(𝑥𝑖 + Δ𝑥𝑎𝑓𝑖 )(𝑧𝑖 + Δ𝑧𝑎𝑓

𝑖 ) = 𝜎𝑘𝜇𝑘 e (𝑠𝑖 + Δ𝑠𝑎𝑓𝑖 )(𝑤𝑖 + Δ𝑤𝑎𝑓

𝑖 ) = 𝜎𝑘𝜇𝑘.

Usando (2.2.32) e (2.2.34), a direção corretora e de centragem é obtida pelo seguinte sistema de

Page 35: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 35

equações lineares:

¨

˚

˚

˚

˚

˚

˚

˝

𝐴 0 0 0 0𝐼𝑛 𝐼𝑛 0 0 00 0 𝐴𝑇 −𝐼𝑛 𝐼𝑛

𝑍𝑘 0 0 0 𝑋𝑘

0 𝑊 𝑘 0 𝑆𝑘 0

˛

¨

˚

˚

˚

˚

˚

˚

˝

Δ𝑥𝑐𝑐

Δ𝑠𝑐𝑐

Δ𝑦𝑐𝑐

Δ𝑤𝑐𝑐

Δ𝑧𝑐𝑐

˛

=

¨

˚

˚

˚

˚

˚

˚

˝

000

𝜎𝑘𝜇𝑘𝑒−Δ𝑋𝑎𝑓Δ𝑍𝑎𝑓𝑒

𝜎𝑘𝜇𝑘𝑒−Δ𝑆𝑎𝑓Δ𝑊 𝑎𝑓𝑒

˛

, (2.2.35)

onde Δ𝑋𝑎𝑓 , Δ𝑆𝑎𝑓 , Δ𝑊 𝑎𝑓 e Δ𝑍𝑎𝑓 são matrizes diagonais dadas por: Δ𝑋𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑥𝑎𝑓),Δ𝑆𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑠𝑎𝑓 ), Δ𝑊 𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑤𝑎𝑓 ) e Δ𝑍𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑧𝑎𝑓 ).

Finalmente a direção de busca do método PCM é obtida pela soma 𝑑𝑘 = 𝑑𝑎𝑓𝑘 + 𝑑𝑐𝑐

𝑘 , isto é:

(Δ𝑥𝑘, Δ𝑠𝑘, Δ𝑦𝑘, Δ𝑤𝑘, Δ𝑧𝑘)𝑇 = (Δ𝑥𝑎𝑓 , Δ𝑠𝑎𝑓 , Δ𝑦𝑎𝑓 , Δ𝑤𝑎𝑓 , Δ𝑧𝑎𝑓 )𝑇 +(Δ𝑥𝑐𝑐, Δ𝑠𝑐𝑐, Δ𝑦𝑐𝑐, Δ𝑤𝑐𝑐, Δ𝑧𝑐𝑐)𝑇 ,

veja Wright (1997). Assim, encontrar a direção de busca usando o método PCM implica resolverdois sistemas lineares em cada iteração do MPI primal-dual.

Terminamos esta seção apresentando o MPI primal-dual na sua variante PCM.

Dado (𝑥0, 𝑠0, 𝑦0, 𝑤0, 𝑧0) sendo 𝑥0 > 0, 𝑧0 > 0, 𝑤0 > 0 e 𝑠0 > 0,

Para 𝑘 = 0, 1, 2, . . .

1. Calcule 𝜇𝑘 = (𝑥𝑘)𝑇 𝑧𝑘 + (𝑠𝑘)𝑇 𝑤𝑘

2𝑛e escolha 𝜎𝑘 ∈ [0, 1];

2. Calcule a direção afim ou preditora 𝑑𝑎𝑓𝑘 do sistema (2.2.25);

3. Calcule 𝛼𝑎𝑓𝑥 , 𝛼𝑎𝑓

𝑠 , 𝛼𝑎𝑓𝑧 e 𝛼𝑎𝑓

𝑤 de acordo com (2.2.26), (2.2.27), (2.2.28) e (2.2.29);

4. Calcule 𝜇𝑎𝑓 de acordo com (2.2.30);

5. Calcule o parâmetro de centragem 𝜎𝑘 de acordo com (2.2.31);

6. Calcule a direção corretora e de centragem 𝑑𝑐𝑐𝑘 do sistema (2.2.35);

7. Obtenha a direção de descida 𝑑𝑘 = 𝑑𝑎𝑓𝑘 + 𝑑𝑐𝑐

𝑘 = (Δ𝑥𝑘 Δ𝑠𝑘 Δ𝑦𝑘 Δ𝑤𝑘 Δ𝑧𝑘)𝑇 ;

8. Calcule o comprimento de passo 𝛼𝑘 = min{1, 𝜏 𝑘𝜌𝑘

𝑥, 𝜏 𝑘𝜌𝑘𝑧 , 𝜏 𝑘𝜌𝑘

𝑠 , 𝜏 𝑘𝜌𝑘𝑤

}onde 𝜏 𝑘 ∈ p0, 1q,

𝜌𝑘𝑥 = −1

min𝑖

´

Δ𝑥𝑘𝑖

𝑥𝑘𝑖

¯ , 𝜌𝑘𝑧 = −1

min𝑖

´

Δ𝑧𝑘𝑖

𝑧𝑘𝑖

¯ , 𝜌𝑘𝑠 = −1

min𝑖

´

Δ𝑠𝑘𝑖

𝑠𝑘𝑖

¯ , e 𝜌𝑘𝑤 = −1

min𝑖

´

Δ𝑤𝑘𝑖

𝑤𝑘𝑖

¯ ;

9. Calcule o novo ponto`

𝑥𝑘+1, 𝑠𝑘+1, 𝑦𝑘+1, 𝑤𝑘+1, 𝑧𝑘+1˘ =`

𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘˘

+ 𝛼𝑘`

Δ𝑥𝑘, Δ𝑠𝑘, Δ𝑦𝑘, Δ𝑤𝑘, Δ𝑧𝑘˘

;

Page 36: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 36

Fim para

O critério de convergência é baseado nas condições de otimalidade relativas dadas em (2.2.24).

2.3 Cálculo da direção de buscaA cada iteração do MPI primal-dual é necessário resolver um ou dois sistemas lineares paraencontrar a direção de busca ou direção de descida. A escolha do método para resolver estessistemas é de grande importância para o desempenho do MPI prinal-dual, pois esta tarefa é aque demanda a maior parte do tempo total de processamento. Em Gondzio (1996) afirma-seque o cálculo da direção de busca demanda de 60% até 90% do tempo total de processamento.

Nesta seção veremos que as principais estratégias de solução envolvem duas formulações distintas:a primeira delas apresenta uma matriz simétrica e indefinida e a segunda formulação apresentauma matriz simétrica e definida positiva. Apresentamos o desenvolvimento teórico para encontrara direção de busca usando o método Preditor-Corretor de Mehrotra (PCM).

Para obter a direção de busca no método PCM, devemos resolver dois sistemas, o sistema (2.2.25)para obter a direção preditora ou afim e o sistema (2.2.35) para obter a direção corretora e decentragem. Ambos os sistemas têm a mesma matriz mudando apenas o lado direito. Observeque o lado direito do sistema (2.2.35) precisa da direção preditora, logo é necessário resolverdois sistemas mesmo que eles tenham a mesma matriz.

O sistema de equações apresentado em (2.2.25) é reduzido a duas formulações muito usadasno cálculo da direção de busca. A primeira delas é conhecida como Sistema Aumentado, estesistema é obtido da seguinte maneira. Da segunda, quarta e quinta equação do sistema (2.2.25)obtém-se:

Δ𝑠𝑎𝑓 = 𝑟𝑘𝑢 −Δ𝑥𝑎𝑓 ; (2.3.1)

Δ𝑧𝑎𝑓 = (𝑋𝑘)−1(−𝑋𝑘𝑍𝑘𝑒− 𝑍𝑘Δ𝑥𝑎𝑓 ) = −𝑍𝑘𝑒− (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑎𝑓 ; (2.3.2)

Δ𝑤𝑎𝑓 = (𝑆𝑘)−1(−𝑆𝑘𝑊 𝑘𝑒−𝑊 𝑘Δ𝑠𝑎𝑓 ) = −𝑊 𝑘𝑒− (𝑆𝑘)−1𝑊 𝑘Δ𝑠𝑎𝑓 , (2.3.3)

substituindo (2.3.1), (2.3.2) e (2.3.3) na terceira equação do sistema (2.2.25) tem-se:

𝐴𝑇 Δ𝑦𝑎𝑓 −Δ𝑤𝑎𝑓 + Δ𝑧𝑎𝑓 = 𝑟𝑘𝑐

𝐴𝑇 Δ𝑦𝑎𝑓 − (−𝑊 𝑘𝑒− (𝑆𝑘)−1𝑊 𝑘Δ𝑠𝑎𝑓 ) + (−𝑍𝑘𝑒− (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑎𝑓 ) = 𝑟𝑘𝑐

𝐴𝑇 Δ𝑦𝑎𝑓 + 𝑊 𝑘𝑒 + (𝑆𝑘)−1𝑊 𝑘Δ𝑠𝑎𝑓 − 𝑍𝑘𝑒− (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑎𝑓 = 𝑟𝑘𝑐

𝐴𝑇 Δ𝑦𝑎𝑓 + 𝑊 𝑘𝑒 + (𝑆𝑘)−1𝑊 𝑘(𝑟𝑘𝑢 −Δ𝑥𝑎𝑓 )− 𝑍𝑘𝑒− (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑎𝑓 = 𝑟𝑘

𝑐 ,

(2.3.4)

Page 37: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 37

reescrevendo (2.3.4) tem-se:

𝐴𝑇 Δ𝑦𝑎𝑓 −`

(𝑋𝑘)−1𝑍𝑘 + (𝑆𝑘)−1𝑊 𝑘)˘

Δ𝑥𝑎𝑓 = 𝑟𝑘𝑐 − (𝑆𝑘)−1𝑊 𝑘𝑟𝑘

𝑢 + 𝑍𝑘𝑒−𝑊 𝑘𝑒. (2.3.5)

Usando a primeira equação do sistema (2.2.25) e (2.3.5) tem-se o Sistema Aumentado:

˜

−(𝐷𝑘)−1 𝐴𝑇

𝐴 0

¸˜

Δ𝑥𝑎𝑓

Δ𝑦𝑎𝑓

¸

𝑟𝑎𝑓

ℎ𝑎𝑓

¸

, (2.3.6)

sendo 𝑟𝑎𝑓 = 𝑟𝑘𝑐 − (𝑆𝑘)−1𝑊 𝑘𝑟𝑘

𝑢 + 𝑍𝑘𝑒−𝑊 𝑘𝑒, ℎ𝑎𝑓 = 𝑟𝑘𝑏 e (𝐷𝑘)−1 é a matriz diagonal dada por:

(𝐷𝑘)−1 = (𝑋𝑘)−1𝑍𝑘 + (𝑆𝑘)−1𝑊 𝑘. (2.3.7)

A matriz do Sistema Aumentado dado em (2.3.6) é simétrica e indefinida de tamanho 𝑛 + 𝑚.De fato, em Rusten e Winther (1992) foi mostrado que a matriz do Sistema Aumentado tem 𝑚

autovalores positivos e 𝑛 autovalores negativos.

Uma vez que Δ𝑥𝑎𝑓 e Δ𝑦𝑎𝑓 são obtidos de (2.3.6), as componentes Δ𝑠𝑎𝑓 , Δ𝑧𝑎𝑓 e Δ𝑤𝑎𝑓 sãoobtidas de (2.3.1), (2.3.2) e (2.3.3).

A segunda formulação para encontrar a direção de busca é conhecida como Sistema de EquaçõesNormais, este sistema é obtido isolando Δ𝑥𝑎𝑓 da primeira equação do sistema (2.3.6) esubstituindo este vetor na segunda equação deste sistema. Dado que

Δ𝑥𝑎𝑓 = −𝐷𝑘(𝑟𝑎𝑓 − 𝐴𝑇 Δ𝑦𝑎𝑓 ), (2.3.8)

o Sistema de Equações Normais na 𝑘-ésima iteração do MPI é dado por:

𝐴𝐷𝑘𝐴𝑇 Δ𝑦𝑎𝑓 = ℎ𝑎𝑓 + 𝐴𝐷𝑘𝑟𝑎𝑓 . (2.3.9)

O nome deve-se à semelhança com as equações normais para o problema dos quadrados mínimosno caso em que ℎ𝑎𝑓 = 0 e matriz de coeficientes é (𝐷𝑘)1/2𝐴𝑇 . A matriz do sistema (2.3.9) ésimétrica e definida positiva de tamanho 𝑚.

No caso em que a direção preditora ou afim seja obtida usando o Sistema de Equações Normaisdada em (2.3.9), após obter Δ𝑦𝑎𝑓 , o vetor Δ𝑥𝑎𝑓 é obtido de (2.3.8), e as componentes Δ𝑠𝑎𝑓 ,Δ𝑧𝑎𝑓 e Δ𝑤𝑎𝑓 são obtidas de (2.3.1), (2.3.2) e (2.3.3) como no caso do Sistema Aumentado.

Após obter a direção preditora ou afim, 𝑑𝑎𝑓𝑘 = (Δ𝑥𝑎𝑓 Δ𝑠𝑎𝑓 Δ𝑦𝑎𝑓 Δ𝑤𝑎𝑓 Δ𝑧𝑎𝑓)𝑇 , seja usando o

Sistema Aumentado ou pelo Sistema de Equações Normais, a direção corretora e de centragem𝑑𝑐𝑐

𝑘 é encontrada da seguinte maneira:

Usa-se o vetor 𝑑𝑎𝑓𝑘 para obter o lado direito do sistema (2.2.35), isto é, para construir Δ𝑋𝑎𝑓 =

𝑑𝑖𝑎𝑔(Δ𝑥𝑎𝑓), Δ𝑍𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑧𝑎𝑓), Δ𝑆𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑠𝑎𝑓) e Δ𝑊 𝑎𝑓 = 𝑑𝑖𝑎𝑔(Δ𝑤𝑎𝑓). Da segunda,quarta e quinta equações do sistema (2.2.35) obtém-se:

Page 38: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 38

Δ𝑠𝑐𝑐 = −Δ𝑥𝑐𝑐; (2.3.10)

Δ𝑧𝑐𝑐 = (𝑋𝑘)−1(𝜎𝑘𝜇𝑘𝑒−Δ𝑋𝑎𝑓Δ𝑍𝑎𝑓𝑒− 𝑍𝑘Δ𝑥𝑐𝑐); (2.3.11)

Δ𝑤𝑐𝑐 = (𝑆𝑘)−1(𝜎𝑘𝜇𝑘𝑒−Δ𝑆𝑎𝑓Δ𝑊 𝑎𝑓𝑒−𝑊 𝑘Δ𝑠𝑐𝑐). (2.3.12)

Substituindo (2.3.10), (2.3.11) e (2.3.12) na terceira equação do sistema (2.2.35) tem-se:

𝐴𝑇 Δ𝑦𝑐𝑐 −Δ𝑤𝑐𝑐 + Δ𝑧𝑐𝑐 = 0

𝐴𝑇 Δ𝑦𝑐𝑐 −`

𝜎𝑘𝜇𝑘(𝑆𝑘)−1𝑒− (𝑆𝑘)−1Δ𝑆𝑎𝑓Δ𝑊 𝑎𝑓𝑒− (𝑆𝑘)−1𝑊 𝑘Δ𝑠𝑐𝑐˘

+`

𝜎𝑘𝜇𝑘(𝑋𝑘)−1𝑒− (𝑋𝑘)−1Δ𝑋𝑎𝑓Δ𝑍𝑎𝑓𝑒− (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑐𝑐˘

= 0

𝐴𝑇 Δ𝑦𝑐𝑐 + (𝑆𝑘)−1𝑊 𝑘Δ𝑠𝑎𝑓 − (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑐𝑐 = 𝑟𝑐𝑐

𝐴𝑇 Δ𝑦𝑐𝑐 − (𝑆𝑘)−1𝑊 𝑘Δ𝑥𝑐𝑐 − (𝑋𝑘)−1𝑍𝑘Δ𝑥𝑐𝑐 = 𝑟𝑐𝑐

𝐴𝑇 Δ𝑦𝑐𝑐 −`

(𝑋𝑘)−1𝑍𝑘 + (𝑆𝑘)−1𝑊 𝑘˘

Δ𝑥𝑐𝑐 = 𝑟𝑐𝑐,

logo,𝐴𝑇 Δ𝑦𝑐𝑐 − (𝐷𝑘)−1Δ𝑥𝑐𝑐 = 𝑟𝑐𝑐, (2.3.13)

onde

𝑟𝑐𝑐 = 𝜎𝑘𝜇𝑘((𝑆𝑘)−1 − (𝑋𝑘)−1)𝑒− (𝑆𝑘)−1Δ𝑆𝑎𝑓Δ𝑊 𝑎𝑓𝑒 + (𝑋𝑘)−1Δ𝑋𝑎𝑓Δ𝑍𝑎𝑓𝑒

𝑟𝑐𝑐 = 𝜎𝑘𝜇𝑘`

(𝑠𝑘)−1 − (𝑥𝑘)−1˘− (𝑆𝑘)−1Δ𝑆𝑎𝑓Δ𝑤𝑎𝑓 + (𝑋𝑘)−1Δ𝑋𝑎𝑓Δ𝑧𝑎𝑓 ,

e (𝐷𝑘)−1 é a matriz diagonal dada em (2.3.7).

Finalmente, usando (2.3.13) e a primeira equação do sistema (2.2.35) tem-se:

˜

−(𝐷𝑘)−1 𝐴𝑇

𝐴 0

¸˜

Δ𝑥𝑐𝑐

Δ𝑦𝑐𝑐

¸

𝑟𝑐𝑐

0

¸

, (2.3.14)

Uma vez obtidos Δ𝑥𝑐𝑐 e Δ𝑦𝑐𝑐 resolvendo o Sistema Aumentado dado em (2.3.14), as componentesΔ𝑠𝑐𝑐, Δ𝑧𝑐𝑐 e Δ𝑤𝑐𝑐 da direção corretora e de centragem 𝑑𝑐𝑐

𝑘 = (Δ𝑥𝑐𝑐 Δ𝑠𝑐𝑐 Δ𝑦𝑐𝑐 Δ𝑤𝑐𝑐 Δ𝑧𝑐𝑐)𝑇 ,são obtidas das equações (2.3.10), (2.3.11) e (2.3.12).

A direção corretora e de centragem 𝑑𝑐𝑐𝑘 também pode ser obtida do Sistema de Equações Normais.

Isolando Δ𝑥𝑐𝑐 da primeira equação do sistema (2.3.14) tem-se:

Δ𝑥𝑐𝑐 = −𝐷𝑘(𝑟𝑐𝑐 − 𝐴𝑇 Δ𝑦𝑐𝑐), (2.3.15)

substituindo (2.3.15) na segunda equação do sistema (2.3.14) obtém-se:

𝐴𝐷𝑘𝐴𝑇 Δ𝑦𝑐𝑐 = 𝐴𝐷𝑘𝑟𝑐𝑐. (2.3.16)

Page 39: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 39

Neste caso, após obter Δ𝑦𝑐𝑐 do Sistema de Equações Normais (2.3.16), Δ𝑥𝑐𝑐 é obtido de (2.3.15).Já as componentes Δ𝑠𝑐𝑐, Δ𝑧𝑐𝑐 e Δ𝑤𝑐𝑐 são obtidas de (2.3.10), (2.3.11) e (2.3.12) como nocaso do Sistema Aumentado.

Finalmente, a direção de descida 𝑑𝑘 na 𝑘-ésima iteração do MPI primal-dual segundo a varianteconhecida como o método PCM é dada por: 𝑑𝑘 = 𝑑𝑎𝑓

𝑘 + 𝑑𝑐𝑐𝑘 .

Ao invés de calcular 𝑑𝑎𝑓𝑘 e 𝑑𝑐𝑐

𝑘 de maneira separada e depois somá-las para obter 𝑑𝑘, na prática,após obter a direção afim ou preditora 𝑑𝑎𝑓

𝑘 , se resolvermos o sistema linear:

¨

˚

˚

˚

˚

˚

˚

˝

𝐴 0 0 0 0𝐼𝑛 𝐼𝑛 0 0 00 0 𝐴𝑇 −𝐼𝑛 𝐼𝑛

𝑍𝑘 0 0 0 𝑋𝑘

0 𝑊 𝑘 0 𝑆𝑘 0

˛

¨

˚

˚

˚

˚

˚

˚

˝

Δ𝑥

Δ𝑠

Δ𝑦

Δ𝑤

Δ𝑧

˛

=

¨

˚

˚

˚

˚

˚

˚

˝

𝑟𝑘𝑏

𝑟𝑘𝑢

𝑟𝑘𝑐

𝜎𝑘𝜇𝑘𝑒−Δ𝑋𝑎𝑓Δ𝑍𝑎𝑓𝑒−𝑋𝑘𝑍𝑘𝑒

𝜎𝑘𝜇𝑘𝑒−Δ𝑆𝑎𝑓Δ𝑊 𝑎𝑓𝑒− 𝑆𝑘𝑊 𝑘𝑒

˛

, (2.3.17)

que é a soma dos sistemas (2.2.25) e (2.2.35), tem-se que a solução de (2.3.17) é 𝑑𝑘.

Quando se abordam problemas de grande porte, mesmo problemas esparsos, uma resoluçãodireta dos Sistemas Aumentado ou de Equações Normais demanda muito uso de memóriatornando a abordagem direta pouco eficiente.

No caso do Sistema de Equações Normais, geralmente a matriz 𝐴𝐷𝐴𝑇 é densa mesmo 𝐴 sendoesparsa. Observe que usando o produto externo de matrizes:

𝐴𝐷𝐴𝑇 =𝑛∑

𝑖=1𝑑𝑖𝐴𝑖(𝐴𝑖)𝑇 =

𝑛∑𝑖=1

ˆ

𝑧𝑖

𝑥𝑖

+ 𝑤𝑖

𝑠𝑖

˙−1

𝐴𝑖(𝐴𝑖)𝑇 ,

é suficiente que uma coluna 𝐴𝑖 seja densa para que a matriz 𝐴𝐷𝐴𝑇 perca esparsidade. Porémtambém existem problemas nos quais a matriz 𝐴𝐷𝐴𝑇 é mais esparsa que 𝐴. Para evitar produtosdo tipo matriz por matriz, são usados métodos iterativos pois apenas são necessários produtosdo tipo matriz por vetor.

Por outro lado, um bom precondicionamento dos sistemas (2.3.6) ou (2.3.9) acelerará aconvergência dos métodos iterativos pois é conhecido que estes métodos são muito sensíveis aonúmero de condição da matriz do sistema linear.

Observe que os autovalores 𝜆 de 𝐴𝐷𝐴𝑇 satisfazem 𝜆 ≤𝑛∑

𝑖=1𝑑𝑖 ‖ 𝐴𝑖 ‖, onde ‖𝐴𝑖‖ é a norma

euclidiana da i-ésima coluna de 𝐴, logo, os autovalores estão limitados superiormente porquantidades que podem se tornar muito grandes nas últimas iterações do MPI primal-dual. Maisprecisamente, em Gondzio (2012b) foi demonstrado que se todas as iterações estão na seguintevizinhança de pontos infactíveis

𝑁𝛽 ={

(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) ∈ ℱ | 𝛽𝜇 ≤ 𝑥𝑗𝑧𝑗, 𝑠𝑗𝑤𝑗 ≤1𝛽

𝜇

},

Page 40: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 2. Método primal-dual de pontos interiores 40

onde

ℱ =

⎧⎪⎪⎪⎨⎪⎪⎪⎩‖𝑏− 𝐴𝑥‖≤ 𝛽𝑏𝜇‖𝑏− 𝐴𝑥0‖ ,

(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) | ‖𝑢− 𝑥− 𝑠‖≤ 𝛽𝑢𝜇‖𝑢− 𝑥0 − 𝑠0‖ ,

‖𝑐− 𝐴𝑇 𝑦 − 𝑧 + 𝑤‖≤ 𝛽𝑐𝜇‖𝑐− 𝐴𝑇 𝑦0 − 𝑧0 + 𝑤0‖

⎫⎪⎪⎪⎬⎪⎪⎪⎭ ,

com 𝛽, 𝛽𝑏, 𝛽𝑢, 𝛽𝑐 ∈ p0, 1q, então o número de condição 𝜅 da matriz do Sistema de EquaçõesNormais na 𝑘-ésima iteração do MPI primal-dual satisfaz:

𝜅(𝐴𝐷𝑘𝐴𝑇 ) ≤ 𝜅2(𝐴)𝒪(𝜇−2𝑘 ). (2.3.18)

Além disso, se

𝜅𝑎𝑢𝑚 = 𝜅

˜

−(𝐷𝑘)−1 𝐴𝑇

𝐴 0

¸

, (2.3.19)

então 𝜅𝑎𝑢𝑚 ≈ 𝒪(𝜇−2𝑘 ) no caso em que o problema de PL é degenerado e no caso não degenerado

𝜅𝑎𝑢𝑚 ≈ 𝒪(𝜇−1𝑘 ).

Após estas observações, o cálculo da direção de busca neste trabalho é feito usando métodositerativos adequadamente precondicionados, particularmente nas últimas iterações do MPIprimal-dual.

Page 41: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

41

3 Precondicionamento

Em (BENZI, 2002), afirma-se que é amplamente reconhecido que o precondicionamento éo ingrediente mais crítico no desenvolvimento de implementações eficientes para problemasdesafiadores na computação científica, e que a importância do precondicionamento está destinadaa aumentar ainda mais. Neste trabalho, a convergência do Método de Pontos Interiores (MPI)primal-dual, depende fortemente de um adequado precondicionador que permita resolver demaneira eficiênte, os sistemas lineares necessários para encontrar a direção de busca.

O termo precondicionamento refere-se às transformações realizadas em um sistema linear parareduzir o número de condicionamento da matriz de coeficientes. A convergência de um métodoiterativo requer que a matriz de coeficientes apresente o menor número de condição possível.Caso contrário, é aconselhável que o sistema seja preparado ou precondicionado antes de sersolucionado e consequentemente a convergência do método iterativo melhore sua eficiênciacomputacional.

Precondicionar um sistema linear 𝐴𝑥 = 𝑏 significa transformá-lo em outro sistema linear commelhor número de condição cuja solução seja facilmente relacionada com 𝑥, isto é, 𝑥 deve serobtido com um baixo custo computacional a partir da solução do sistema precondicionado. Oprecondicionamento pode ser aplicado pela esquerda, direita e por ambos os lados:

1. 𝑃𝐴𝑦 = 𝑃𝑏; 𝑥 = 𝑦;

2. 𝐴𝑃𝑦 = 𝑏; 𝑥 = 𝑃𝑦;

3. 𝑃𝐴𝑃 𝑇 𝑧 = 𝑃𝑏; 𝑥 = 𝑃 𝑇 𝑧.

A matriz 𝑃 é chamada de precondicionador ou matriz precondicionadora. Observe que asmatrizes precondicionadas pela esquerda 𝑃𝐴 e direita 𝐴𝑃 são matrizes equivalentes pois𝑃 −1(𝑃𝐴)𝑃 = 𝐴𝑃 , logo ambas têm o mesmo espectro.

Vimos em (2.3.18) e (2.3.19) que o número de condição das matrizes dos Sistemas Aumentado ede Equações Normais pode se tornar grande, particularmente, nas últimas iterações do MPIprimal-dual. Esta característica dificulta o processo iterativo usado para encontrar a soluçãodestes sistemas lineares levando a uma convergência lenta, ou até mesmo à falha do processo,logo, é necessário desenvolver estratégias que atenuem, ou eliminem, estas dificuldades.

Neste trabalho usa-se o precondicionamento por ambos os lados. Trata-se de uma abordagemhíbrida, que na primeira fase usa o precondicionador Fatoracão Controlada de Cholesky (FCC),este precondicionador é uma versão melhorada da fatoração de Cholesky incompleta que controla

Page 42: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 42

os preenchimentos durante o processo de fatoração, veja a Seção 3.2. O precondicionador FCC,aplicado à matriz do Sistema de Equações Normais, tem produzido bons resultados nas primeirasiterações do MPI; nas últimas iterações torna-se menos eficiente, devido ao mau condicionamentoda matriz 𝐴𝐷𝐴𝑇 e ao fato de que um uso excessivo de memória é necessário, particularmenteem problemas de grande porte. Na segunda fase, o Precondicionador Separador (PS) apresentaum melhor desempenho, pois trata-se de um precondicionador desenvolvido especialmente paramelhorar o mau condicionamento dos sistemas de equações oriundos das últimas iterações doMPI. Esta abordagem híbrida foi proposta por Bocanegra et al. (2007), posteriormente, foramapresentadas heurísticas para aprimorar esta abordagem, veja Velazco et al. (2011).

Neste trabalho, usamos o método dos Gradientes Conjugados (GC), no Apêndice A.1apresentamos este método baseado em Kelley (1995), veja também a Seção 3.1.1 para umadescrição do método dos Gradientes Conjugado Precondicionado (GCP).

3.1 Métodos iterativos precondicionadosO número de condição de uma matriz 𝐴 não singular relativa à norma ‖ ‖ é definido como:

𝜅(𝐴) =‖ 𝐴 ‖‖ 𝐴−1 ‖,

em particular, se 𝑝 ≥ 1, define-se ‖ 𝑥 ‖𝑝=ˆ

𝑛∑𝑖=1

𝑥𝑝𝑖

˙1𝑝

, logo ‖𝐴‖𝑝= max𝑥

‖𝐴𝑥‖𝑝

‖𝑥‖𝑝

. Neste caso, o

número de condição é denotado por 𝜅𝑝.

Diz-se que 𝜅(𝐴) é infinito se a matriz 𝐴 é singular.

Suponha que estamos interessados em resolver o sistema linear 𝐴𝑥 = 𝑏, se 𝐴 for não singular,define-se 𝑥* = 𝐴−1𝑏. Dado que o cálculo de 𝐴−1 é caro computacionalmente, usam-se métodositerativos para aproximar 𝑥*. A maioria dos métodos iterativos terminam quando o resíduorelativo:

‖𝑟𝑘‖‖𝑟0‖

< 𝜏, (3.1.1)

onde 𝑟𝑘 = 𝑏−𝐴𝑥𝑘 e 𝑥𝑘 é o 𝑘-ésimo ponto do método iterativo e 𝜏 é a tolerância pré-estabelecida.

O erro 𝑒𝑘 = 𝑥𝑘 − 𝑥* pode ser relacionado com o resíduo relativo ‖𝑟𝑘‖‖𝑟0‖

e o 𝜅(𝐴) de acordo com o

seguinte lema que pode ser encontrado em Kelley (1995).

Lema 3.1. Sejam 𝑏, 𝑥𝑘, 𝑥0 ∈ R𝑛, 𝐴 uma matriz não singular de tamanho 𝑛 e 𝑥* = 𝐴−1𝑏,então:

‖𝑒𝑘‖‖𝑒0‖

≤ 𝜅(𝐴)‖𝑟𝑘‖‖𝑟0‖

.

Demonstração. Observe que:

𝑟𝑘 = 𝑏− 𝐴𝑥𝑘 = 𝐴𝑥* − 𝐴𝑥𝑘 = 𝐴(𝑥* − 𝑥𝑘) = −𝐴𝑒𝑘, (3.1.2)

Page 43: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 43

logo, usando (3.1.2), tem-se:

‖𝑒𝑘‖= ‖𝐴−1𝐴𝑒𝑘‖≤ ‖𝐴−1‖‖𝐴𝑒𝑘‖= ‖𝐴−1‖‖𝑟𝑘‖ (3.1.3)

e‖𝑟0‖= ‖𝐴𝑒0‖≤ ‖𝐴‖‖𝑒0‖. (3.1.4)

Assim, de (3.1.3) e (3.1.4) obtém-se:

‖𝑒𝑘‖‖𝑒0‖

≤ ‖𝐴−1‖‖𝑟𝑘‖‖‖𝑒0‖

≤ ‖𝐴−1‖‖𝐴‖‖𝑟𝑘‖‖𝑟0‖

= 𝜅(𝐴)‖𝑟𝑘‖‖𝑟0‖

.

Pelo Lema 3.1, observa-se que a norma do erro 𝑒𝑘 depende não apenas do resíduo relativo,depende também do número de condição 𝜅(𝐴).

O critério de parada dado em (3.1.1) depende da solução inicial e pode resultar num trabalhodesnecessário quando a iteração inicial é boa e um resultado ruim quando a solução inicial estálonge da solução 𝑥*. Por esse motivo, o critério de parada mais usado é ‖𝑟𝑘‖

‖𝑏‖. Observe que

𝑟0 = 𝑏 quando 𝑥0 = 0.

Como foi mencionado anteriormente neste trabalho, os sistemas lineares para encontrar a direçãode busca são resolvidos usando o método iterativo Gradientes Conjugados. No Apêndice A.1apresenta-se uma descrição deste método e na seção seguinte é apresentado o método dosgradientes conjugados precondicionado.

3.1.1 Método dos gradientes conjugados precondicionado

Como foi visto no Apêndice A.1, o desempenho método dos Gradientes Conjugados (GC) pararesolver o sistema:

𝐴𝑥 = 𝑏, (3.1.5)

depende do número de condição 𝜅(𝐴). Mais precisamente, de acordo a (A.1.43), se 𝜅2(𝐴) ≈ 1então o método dos GC converge em uma iteração. Por outro lado, se o número de condição damatriz 𝐴, 𝜅(𝐴) se afasta muito de 1, a convergência torna-se lenta. Para tratar este problema,ao invés de resolver o sistema (3.1.5), resolve-se um sistema alternativo, a saber, um sistemaprecondicionado:

𝑃𝐴𝑃 𝑇 𝑦 = 𝑃𝑏, (3.1.6)

onde 𝑃 é uma matriz não singular chamada de precondicionador.

Observe que se �� é solução de (3.1.6) então 𝑥 = 𝑃 𝑇 �� é solução de (3.1.5), de fato, da igualdade𝑃𝐴𝑥 = 𝑃𝐴(𝑃 𝑇 ��) = 𝑃𝑏, tem-se 𝐴𝑥 = 𝑏 pois 𝑃 é não singular. Espera-se que 𝜅(𝑃𝐴𝑃 𝑇 ) seja

Page 44: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 44

melhor do que 𝜅(𝐴). Além disso, que o precondicionador 𝑃 seja computacionalmente barato deser obtido.

Assim, se 𝐴 = 𝑃𝐴𝑃 𝑇 , �� = 𝑃 −𝑇 𝑥 e �� = 𝑃𝑏, vamos resolver o seguinte sistema

𝐴�� = ��. (3.1.7)

Se aplicarmos o Algoritmo 8 do método dos Gradientes Conjugados (GC), que pode serencontrado no Apêndice A.1, para resolver o sistema (3.1.7), tem-se:

Algoritmo 1: Método dos Gradientes Conjugados (GC) para resolver 𝐴�� = ��

Entrada: A matriz 𝐴, o vetor 𝑏 e um ponto inicial ��0. A tolerância 𝜖 = 10−8.

Saída: A solução ��* do sistema 𝐴�� = ��

1 início2 Defina 𝑟0 = ��− 𝐴��0; 𝑑0 = 𝑟0

3 para 𝑘 = 0, 1, . . . até convergir faça

4 ��𝑘 = 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 (𝑃𝐴𝑃 𝑇 )𝑑𝑘

5 ��𝑘+1 = ��𝑘 + ��𝑘𝑑𝑘

6 𝑟𝑘+1 = 𝑟𝑘 − ��𝑘(𝑃𝐴𝑃 𝑇 )𝑑𝑘

7 se 𝑟𝑇𝑘+1𝑟𝑘+1

‖��‖< 𝜖 então

8 Saída com ��* = ��𝑘+1

9 fim

10 𝛽𝑘 = 𝑟𝑇𝑘+1𝑟𝑘+1

𝑟𝑇𝑘 𝑟𝑘

11 𝑑𝑘+1 = 𝑟𝑘+1 + 𝛽𝑘𝑑𝑘

12 fim13 fim

Se no Algoritmo 1 definimos

𝑟𝑘 := 𝑃𝑟𝑘, 𝑑𝑘 := 𝑃 −𝑇 𝑑𝑘, ��𝑘 = 𝑃 −𝑇 𝑥𝑘, 𝑀 := 𝑃 𝑇 𝑃, e 𝑧𝑘 := 𝑀𝑟𝑘, (3.1.8)

observamos que:

∙ 𝑟0 = ��− 𝐴��0 = 𝑃𝑏− 𝑃𝐴𝑃 𝑇 (𝑃 −𝑇 𝑥0) = 𝑃 (𝑏− 𝐴𝑥0) = 𝑃𝑟0.

∙ 𝑑0 = 𝑟0 implica que 𝑑0 = 𝑃 𝑇 𝑃𝑟0, daí 𝑑0 = 𝑀𝑟0. Além disso, 𝑧0 = 𝑀𝑟0.

∙ ��𝑘 = 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 (𝑃𝐴𝑃 𝑇 )𝑑𝑘

= 𝑟𝑇𝑘 𝑃 𝑇 𝑃𝑟𝑘

𝑑𝑇𝑘 𝑃 −1(𝑃𝐴𝑃 𝑇 )𝑃 −𝑇 𝑑𝑘

= 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

.

Page 45: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 45

∙ ��𝑘+1 = ��𝑘 + 𝜆𝑘𝑑𝑘 se, e somente se, 𝑃 −𝑇 𝑥𝑘+1 = 𝑃 −𝑇 𝑥𝑘 + ��𝑘𝑃 −𝑇 𝑑𝑘 se, e somente se,𝑥𝑘+1 = 𝑥𝑘 + ��𝑘𝑑𝑘.

∙ 𝑟𝑘+1 = 𝑟𝑘 − 𝜆𝑘(𝑃𝐴𝑃 𝑇 )𝑑𝑘 se, e somente se, 𝑃𝑟𝑘+1 = 𝑃𝑟𝑘 − 𝜆𝑘(𝑃𝐴𝑃 𝑇 )𝑃 −𝑇 𝑑𝑘 se, e somentese, 𝑟𝑘+1 = 𝑟𝑘 − 𝜆𝑘𝐴𝑑𝑘.

∙ 𝛽𝑘 = 𝑟𝑇𝑘+1𝑟𝑘+1

𝑟𝑇𝑘 𝑟𝑘

= 𝑟𝑇𝑘+1(𝑃 𝑇 𝑃 )𝑟𝑘+1

𝑟𝑇𝑘 (𝑃 𝑇 𝑃 )𝑟𝑘

= 𝑟𝑇𝑘+1𝑀𝑟𝑘+1

𝑟𝑇𝑘 𝑀𝑟𝑘

= 𝑟𝑇𝑘+1𝑧𝑘+1

𝑟𝑇𝑘 𝑧𝑘

.

∙ 𝑑𝑘+1 = 𝑟𝑘+1 + 𝛽𝑘𝑑𝑘 se, e somente se, 𝑃 −𝑇 𝑑𝑘 = 𝑃𝑟𝑘+1 + 𝛽𝑘𝑃 −𝑇 𝑑𝑘 se, e somente se,𝑑𝑘 = 𝑃 𝑇 𝑃𝑟𝑘+1 + 𝛽𝑘𝑑𝑘 se, e somente se, 𝑑𝑘 = 𝑧𝑘+1 + 𝛽𝑘𝑑𝑘.

Usamos estas relações para obter o algoritmo do método dos Gradientes ConjugadosPrecondicionado (MGC) descrito no Algoritmo 2.

Algoritmo 2: Método dos Gradientes Conjugados Precondicionado (GCP) para resolver𝐴𝑥 = 𝑏

Entrada: A matriz 𝐴, o vetor 𝑏 e um ponto inicial 𝑥0. A tolerância 𝜖 = 10−8.

Saída: A solução 𝑥* do sistema 𝐴𝑥 = 𝑏

1 início2 Defina 𝑟0 = 𝑏− 𝐴𝑥0; 𝑧0 = 𝑀𝑟0;3 𝑑0 = 𝑟0

4 para 𝑘 = 0, 1, . . . até convergir faça

5 ��𝑘 = 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

6 𝑥𝑘+1 = 𝑥𝑘 + ��𝑘𝑑𝑘

7 𝑟𝑘+1 = 𝑟𝑘 − ��𝑘𝐴𝑑𝑘

8 𝑧𝑘+1 = 𝑀𝑟𝑘+1;

9 se 𝑟𝑇𝑘+1𝑧𝑘+1

‖𝑏‖< 𝜖 então

10 Saída com 𝑥* = 𝑥𝑘+1

11 fim

12 𝛽𝑘 = 𝑟𝑇𝑘+1𝑧𝑘+1

𝑟𝑇𝑘 𝑧𝑘

13 𝑑𝑘+1 = 𝑧𝑘+1 + 𝛽𝑘𝑑𝑘

14 fim15 fim

Observe que o precondicionador aparece apenas na linha 8 do Algoritmo 2.

Page 46: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 46

3.2 Precondicionador Fatoracão Controlada de CholeskyO precondicionador Fatoração Controlada de Cholesky (FCC) foi proposto como uma variação dafatoração incompleta de Cholesky, veja Campos (1995). Neste trabalho tal fatoração é aplicadana matriz 𝐴𝐷𝐴𝑇 do Sistema de Equações Normais, veja (2.3.9), pois ela é simétrica e positivadefinida.

Considere a fatoração de Cholesky e a fatoração incompleta de Cholesky da matriz 𝐴𝐷𝐴𝑇 , istoé:

𝐿𝐿𝑇 = 𝐴𝐷𝐴𝑇 = ����𝑇 + 𝑅,

onde 𝐿 é o fator de Cholesky, �� é a matriz da fatoração incompleta e 𝑅 é a matriz resíduo.Definindo a matriz 𝐸 como sendo a diferença 𝐿− ��, tem-se:

��−1p𝐴𝐷𝐴𝑇

q��−𝑇 = (��−1𝐿)(��−1𝐿)𝑇 = (𝐼𝑚 + ��−1𝐸)(𝐼𝑚 + ��−1𝐸)𝑇 , (3.2.1)

quando a matriz �� se aproxima de 𝐿, a matriz 𝐸 se aproxima da matriz nula. Logo, pela equação(3.2.1), a matriz ��−1

p𝐴𝐷𝐴𝑇q��−𝑇 se aproxima da matriz identidade 𝐼𝑚.

Além disso, em Duff e Meurant (1989) mostrou-se que o número de iterações do método dosGradientes Conjugados está diretamente relacionado com a norma de Frobenius de 𝑅. Observeque a matriz 𝑅 pode ser escrita da seguinte maneira:

𝑅 =𝐿𝐿𝑇 − ����𝑇 (3.2.2)

=𝐿𝐿𝑇 − 𝐿��𝑇 + 𝐿��𝑇 − ����𝑇 (3.2.3)

=𝐿`

𝐿𝑇 − ��𝑇˘

+`

𝐿− ��˘

��𝑇 (3.2.4)

=𝐿𝐸𝑇 + 𝐸��𝑇 , (3.2.5)

da equação (3.2.5), notamos que se ‖𝐸‖𝐹 se aproxima de zero, então ‖𝑅‖𝐹 se aproxima de zero.Assim, o precondicionador FCC é construído com base na minimização da norma de Frobeniusda matriz 𝐸.

Considere o seguinte problema:minimizar ‖𝐸‖2

F , (3.2.6)

se para cada 𝑗 = 1, . . . , 𝑚, define-se 𝑐𝑗 =𝑚∑

𝑖=1|ℓ𝑖𝑗 − ℓ𝑖𝑗|2, resolver o problema dado em (3.2.6) é

equivalente a resolver o seguinte problema:

minimizar𝑚∑

𝑗=1𝑐𝑗 (3.2.7)

Page 47: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 47

ou

minimizar𝑚∑

𝑗=1

˜

𝑡𝑗+𝜂∑𝑘=1|ℓ𝑖𝑘𝑗 − ℓ𝑖𝑘𝑗|2+

𝑚∑𝑘=𝑡𝑗+𝜂+1

|ℓ𝑖𝑘𝑗|2¸

loooooooooooooooooooooomoooooooooooooooooooooon

𝑐𝑗

, (3.2.8)

onde 𝑡𝑗 representa o número de componentes não nulas abaixo da diagonal da 𝑗-ésima coluna damatriz 𝐴𝐷𝐴𝑇 e 𝜂 representa o número de componentes extras permitidas por coluna. Observa-seque o primeiro somatório contém todas as 𝑡𝑗 + 𝜂 componentes não nulas da 𝑗-ésima coluna de ��

e o segundo somatório contém apenas as entradas restantes do fator completo 𝐿 pois a matriz�� não tem componentes não nulas nessas linhas.

A seguinte heurística é usada para resolver o problema (3.2.6):

∙ Aumenta-se o fator 𝜂, pois desta forma 𝑐𝑗 decresce já que primeira soma em (3.2.8) contémmais elementos.

∙ Para cada 𝜂, escolhem-se os maiores 𝑡𝑗 + 𝜂 elementos de �� em valor absoluto.

∙ Uma coluna do precondicionador é calculada por vez sendo armazenados os maioreselementos em valor absoluto, isto com o objetivo de obter uma melhor aproximação dofator completo.

As principais características do precondicionador FCC são:

∙ Escolha das entradas do precondicionador pelo valor. A FCC não considera o padrão deesparsidade da matriz original.

∙ Pode-se considerar o precondicionador FCC como uma generalização do método propostopor Jones e Plassmann (1995) que escolhe um número fixo de elementos não nulos emcada linha ou coluna.

∙ O FCC é um precondicionador versátil pois o parâmetro 𝜂 pode variar de −𝑚 até 𝑚, vejaa tabela a seguir:

Tabela 1 – Preenchimento do precondicionador FCC(𝜂)

𝜂 𝑚𝑎𝑡𝑟𝑖𝑧 Armazenamento

−𝑚 diag(𝐴𝐷𝐴𝑇 ) 12 menor que nnz(𝐴𝐷𝐴𝑇 )

0 �� igual a nnz(𝐴𝐷𝐴𝑇 )𝑚 𝐿 maior que nnz(𝐴𝐷𝐴𝑇 )

∙ Armazenamento previsível. Cada uma das matrizes é armazenada em três vetores: umvetor de inteiros de dimensão 𝑚 + 1 para os ponteiros das colunas, um vetor de inteiros de

Page 48: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 3. Precondicionamento 48

dimensão 𝑚 para os índices das linhas, finalmente, um vetor real de dimensão 𝑚 para oselementos.

∙ A implementação do FCC não está livre da presença de pivôs muito pequenos ounão positivos durante o processo da fatoração. Para evitar isto, é feito um incrementoexponencial quando ocorre uma falha, veja Bocanegra et al. (2007) e Heredia e Oliveira(2015).

O desempenho do precondicionador FCC depende dos valores 𝜂 inicial e final denotados por 𝜂0

e 𝜂max respectivamente. Estes valores determinam o preenchimento inicial e o preenchimentomáximo permitido em cada coluna deste precondicionador. Na iteração inicial, o número deentradas não nulas permitidas em cada coluna 𝜂0 depende da esparsidade do problema a serresolvido, assim 𝜂0 é dado pela seguinte relação:

𝜂0 =

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩− |𝐴𝐷𝐴𝑇 |

𝑚, se |𝐴𝐷𝐴𝑇 |

𝑚> 10,

|𝐴𝐷𝐴𝑇 |𝑚

, caso contrário.

(3.2.9)

Ou seja, de acordo com (3.2.9), 𝜂0 < 0 se a matriz 𝐴𝐷𝐴𝑇 for relativamente cheia e 0 ≤ 𝜂0 < 10se a matriz 𝐴𝐷𝐴𝑇 for esparsa. Com respeito a 𝜂max ainda estudam-se valores fixos para todosos problemas ou valores para 𝜂max que dependam dos dados do problema de PL.

Page 49: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

49

4 Precondicionador Separador

Existem dois tipos de precondicionadores. O primeiro tipo são chamados precondicionadoresgerais, construídos a partir de fatorações incompletas da matriz do sistema linear ou aproximaçõesesparsas da matriz inversa deste sistema. O segundo tipo são os precondicionadores maisespecíficos, construídos explorando detalhes do problema como a estrutura, geometria epropriedades dos coeficientes. O Precondicionador Separador (PS) proposto em Oliveira eSorensen (2005) é um precondicionador do segundo tipo. O principal objetivo do PS é reduzir omau condicionamento dos sistemas lineares oriundos das últimas iterações do Método de PontosInteriores (MPI) primal-dual.

A construção do PS baseia-se na condição de complementariedade de um problema deProgramação Linear (PL). No caso de um problema de PL canalizado, estas condições são:

𝑥𝑖𝑧𝑖 = 0 e 𝑠𝑖𝑤𝑖 = 0, para todo 𝑖 = 1, . . . , 𝑛. (4.0.1)

Em cada iteração do MPI primal-dual define-se uma matriz diagonal 𝐷𝑘, esta matriz aparecetanto no Sistema Aumentado, veja (2.3.6), quanto no Sistema de Equações Normais, veja (2.3.9).As componentes desta matriz são:

𝑑𝑘𝑖 =

`

𝑧𝑘𝑖 (𝑥𝑘

𝑖 )−1 + 𝑤𝑘𝑖 (𝑠𝑘

𝑖 )−1˘−1, para 𝑖 = 1, . . . 𝑛, (4.0.2)

assim, em cada iteração do MPI primal-dual a matriz 𝐷𝑘 se altera, particularmente, quando ométodo está próximo a uma solução ótima, pela não negatividade das variáveis:

𝑥𝑘 = (𝑥𝑘1, 𝑥𝑘

2, . . . , 𝑥𝑘𝑛),

𝑠𝑘 = (𝑠𝑘1, 𝑠𝑘

2, . . . , 𝑠𝑘𝑛),

𝑤𝑘 = (𝑤𝑘1 , 𝑤𝑘

2 , . . . , 𝑤𝑘𝑛),

𝑧𝑘 = (𝑧𝑘1 , 𝑧𝑘

2 , . . . , 𝑧𝑘𝑛),

existem índices 𝑖 ∈ {1, . . . 𝑛} tais que 𝑑𝑘𝑖 → 0 ou 𝑑𝑘

𝑖 →∞. Esta característica é a motivação daconstrução do PS e a justificativa do sucesso dele nas últimas iterações do MPI primal-dualcomo será explicado mais adiante.

4.1 Precondicionador Separador para o Sistema AumentadoNeste seção, apresenta-se a construção do PS para o problema de PL canalizado apresentadoem (2.2.1) na Seção (2.2).

Page 50: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 50

Para evitar uma notação muito carregada, denota-se por 𝐷 à matriz diagonal de 𝐷𝑘 da 𝑘-ésimaiteração do MPI primal-dual, assim como suas componentes 𝑑𝑘

𝑖 são denotadas por 𝑑𝑖 para𝑖 = 1, . . . 𝑛.

Dado que a matriz de 𝐴 é de posto completo, existe uma matriz de permutação 𝑃 𝑛 de ordem 𝑛

tal que:

𝐴 = [𝐵, 𝑁 ]𝑃 𝑛 e 𝑃 𝑛𝐷−1(𝑃 𝑛)𝑇 =˜

𝐷−1𝐵 00 𝐷−1

𝑁

¸

, (4.1.1)

sendo 𝐵 uma matriz não singular de tamanho 𝑚. A matriz 𝑁 é uma submatriz de 𝐴 formadapelas colunas que não pertencem a 𝐵, logo 𝑁 é uma matriz de tamanho 𝑚 × (𝑛 − 𝑚). Jáas matrizes 𝐷𝐵 e 𝐷𝑁 são matrizes diagonais de dimensões 𝑚 × 𝑚 e (𝑛 − 𝑚) × (𝑛 − 𝑚),respectivamente, onde 𝑑𝑖 ∈ 𝑑𝑖𝑎𝑔(𝐷𝐵), se 𝑖 ∈ {𝑗 : 𝐴𝑗 ∈ 𝐵} e 𝑑𝑖 ∈ 𝑑𝑖𝑎𝑔(𝐷𝑁 ), se 𝑖 ∈ {𝑗 : 𝐴𝑗 ∈ 𝑁}.

O PS para a matriz do Sistema Aumentado é uma matriz de tamanho (𝑛 + 𝑚)× (𝑛 + 𝑚) dadapor:

𝑃𝒜 =˜

𝐷1/2 𝐺

𝐻 0

¸

, (4.1.2)

onde 𝐻 = [𝐼𝑚 0𝑚×𝑛−𝑚]𝑃 𝑛 e 𝐺 = 𝐻𝑇 𝐷−1/2𝐵 𝐵−1.

Precondicionando o Sistema Aumentado por ambos os lados pela matriz 𝑃𝒜 tem-se:

𝑃𝒜

˜

−𝐷−1 𝐴𝑇

𝐴 0

¸

𝑃 𝑇𝒜 =

˜

−𝐼𝑛 + 𝐷1/2𝐴𝑇 𝐺𝑇 + 𝐺𝐴𝐷1/2 00 −𝐷−1

𝐵

¸

. (4.1.3)

Ao invés de resolver o Sistema Aumentado:˜

−𝐷−1 𝐴𝑇

𝐴 0

¸˜

Δ𝑥

Δ𝑦

¸

𝑟

¸

, (4.1.4)

resolve-se o seguinte sistema linear:«

𝑃𝒜

˜

−𝐷−1 𝐴𝑇

𝐴 0

¸

𝑃 𝑇𝒜

ff

𝑃 −𝑇𝒜

˜

Δ𝑥

Δ𝑦

¸

= 𝑃𝒜

˜

𝑟

¸

, (4.1.5)

ou equivalentemente,˜

−𝐼𝑛 + 𝐷1/2𝐴𝑇 𝐺𝑇 + 𝐺𝐴𝐷1/2 00 −𝐷−1

𝐵

¸˜

𝑑𝑥

𝑑𝑦

¸

𝐷1/2𝑟 + 𝐺ℎ

𝐻𝑟

¸

, (4.1.6)

onde˜

Δ𝑥

Δ𝑦

¸

= 𝑃 𝑇𝒜

˜

𝑑𝑥

𝑑𝑦

¸

. (4.1.7)

Page 51: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 51

A componente 𝑑𝑦 é obtida facilmente da segunda equação do sistema (4.1.6), isto é,

𝑑𝑦 = −𝐷𝐵𝐻𝑟. (4.1.8)

Por outro lado, se 𝐶 = −𝐼𝑛 + 𝐷1/2𝐴𝑇 𝐺𝑇 + 𝐺𝐴𝐷1/2 então 𝑑𝑥 pode ser obtido do sistema:

𝐶𝑑𝑥 = 𝐷1/2𝑟 + 𝐺ℎ. (4.1.9)

No entanto, esta matriz 𝐶 de ordem 𝑛 pode ser reduzida a duas matrizes simétricas e definidaspositivas de tamanho 𝑚 e 𝑛−𝑚 dadas por (4.1.10) e (4.1.11) respectivamente:

𝐼𝑚 +´

𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

¯´

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵

¯

(4.1.10)

𝐼𝑛−𝑚 +´

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵

¯´

𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

¯

. (4.1.11)

Para ver isto, lembre que 𝑃 𝑛 = (𝑃 𝑛)−1 = (𝑃 𝑛)𝑇 pois 𝑃 𝑛 é uma matriz de permutação. Alémdisso, suponha que:

𝑃 𝑛𝑑𝑥 =˜

𝑑𝑥1

𝑑𝑥2

¸

e 𝑃 𝑛𝑟 =˜

𝑟1

𝑟2

¸

. (4.1.12)

Então, ao invés de resolver o sistema dado em (4.1.9) resolve-se o seguinte sistema linear:

𝑃 𝑛𝐶(𝑃 𝑛)𝑇 (𝑃 𝑛)−𝑇 𝑑𝑥 = 𝑃 𝑛(𝐷1/2𝑟 + 𝐺ℎ),

ou equivalentemente

𝑃 𝑛𝐶(𝑃 𝑛)𝑇

˜

𝑑𝑥1

𝑑𝑥2

¸

= 𝑃 𝑛(𝐷1/2𝑟 + 𝐺ℎ). (4.1.13)

Observe que o lado direito do sistema dado em (4.1.13) é dado por:

𝑃 𝑛`

𝐷1/2𝑟 + 𝐺ℎ˘

= 𝑃 𝑛𝐷1/2𝑟 + 𝑃 𝑛𝐻𝑇 𝐷−1/2𝐵 𝐵−1ℎ

= 𝑃 𝑛𝐷1/2(𝑃 𝑛)𝑇

˜

𝑟1

𝑟2

¸

+ 𝑃 𝑛(𝑃 𝑛)𝑇

˜

𝐼𝑚

𝑂𝑛−𝑚×𝑚

¸

𝐷−1/2𝐵 𝐵−1ℎ

𝐷1/2𝐵 00 𝐷

1/2𝑁

¸˜

𝑟1

𝑟2

¸

𝐷−1/2𝐵 𝐵−1ℎ

0

¸

𝐷1/2𝐵 𝑟1

𝐷1/2𝑁 𝑟2

¸

𝐷−1/2𝐵 𝐵−1ℎ

0

¸

𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1ℎ

𝐷1/2𝑁 𝑟2

¸

,

Page 52: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 52

ou seja,

𝑃 𝑛`

𝐷1/2𝑟 + 𝐺ℎ˘

𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1ℎ

𝐷1/2𝑁 𝑟2

¸

. (4.1.14)

Além disso, a matriz do sistema dado em (4.1.13) é:

𝑃 𝑛𝐶(𝑃 𝑛)𝑇 = 𝑃 𝑛(−𝐼𝑛 + 𝐷1/2𝐴𝑇 𝐺𝑇 + 𝐺𝐴𝐷1/2)(𝑃 𝑛)𝑇

= −𝐼𝑛 + 𝑃 𝑛𝐷1/2𝐴𝑇 𝐵−𝑇 𝐷−1/2𝐵 𝐻(𝑃 𝑛)𝑇 + 𝑃 𝑛𝐻𝑇 𝐷

−1/2𝐵 𝐵−1𝐴𝐷1/2(𝑃 𝑛)𝑇

= −𝐼𝑛 + (𝑃 𝑛𝐷1/2(𝑃 𝑛)𝑇 )(𝑃 𝑛𝐴𝑇 )𝐵−𝑇 𝐷−1/2𝐵 𝐻(𝑃 𝑛)𝑇

+ 𝑃 𝑛𝐻𝑇 𝐷−1/2𝐵 𝐵−1𝐴(𝑃 𝑛)𝑇 𝑃 𝑛𝐷1/2(𝑃 𝑛)𝑇

= −𝐼𝑛 +˜

𝐷1/2𝐵 00 𝐷

1/2𝑁

¸˜

𝐵𝑇

𝑁𝑇

¸

𝐵−𝑇 𝐷−1/2𝐵 (𝐼𝑚 0)

𝐼𝑚

0

¸

𝐷−1/2𝐵 𝐵−1(𝐵 𝑁)

˜

𝐷1/2𝐵 00 𝐷

1/2𝑁

¸

= −𝐼𝑛 +˜

𝐼𝑚

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵

¸

(𝐼𝑚 0) +˜

𝐼𝑚

0

¸

(𝐼𝑚 𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁 )

−𝐼𝑚 00 −𝐼𝑛−𝑚

¸

𝐼𝑚 0𝐷

1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵 0

¸

𝐼𝑚 𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

0 0

¸

𝐼𝑚 𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵 −𝐼𝑛−𝑚

¸

,

assim:

𝑃 𝑛𝐶(𝑃 𝑛)𝑇 =˜

𝐼𝑚 𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵 −𝐼𝑛−𝑚

¸

. (4.1.15)

Substituindo (4.1.15) e (4.1.14) em (4.1.13), tem-se:

˜

𝐼𝑚 𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵 −𝐼𝑛−𝑚

¸˜

𝑑𝑥1

𝑑𝑥2

¸

𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1ℎ

𝐷1/2𝑁 𝑟2

¸

. (4.1.16)

Para encontrar 𝑑𝑥1 e 𝑑𝑥2 existem duas alternativas descritas nas próximas subseções.

4.1.1 Primeira alternativa para encontrar a direção de busca

No sistema (4.1.16) a primeira equação é denotada por 𝐹1 assim como a segunda equação édenotada por 𝐹2. Adicionalmente, define-se W := 𝐷

−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁 .

Se realizamos a operação 𝐹1 = 𝐹1 +´

𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

¯

𝐹2 no sistema (4.1.16) tem-se:˜

𝐼𝑚 + WW𝑇 0W𝑇 −𝐼𝑛−𝑚

¸˜

𝑑𝑥1

𝑑𝑥2

¸

𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1ℎ + 𝐷

−1/2𝐵 𝐵−1𝑁𝐷𝑁𝑟2

𝐷1/2𝑁 𝑟2

¸

. (4.1.17)

Page 53: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 53

Da primeira equação de (4.1.17) obtém-se 𝑑𝑥1 resolvendo o seguinte sistema:

(𝐼𝑚 + WW𝑇 )𝑑𝑥1 = 𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1(ℎ + 𝑁𝐷𝑁𝑟2). (4.1.18)

Após obter 𝑑𝑥1, da segunda equação de (4.1.17), tem-se:

𝑑𝑥2 = 𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵 𝑑𝑥1 −𝐷

1/2𝑁 𝑟2.

4.1.2 Segunda alternativa para encontrar a direção de busca

Se no sistema (4.1.16) realiza-se a operação 𝐹2 = 𝐹2 −´

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵

¯

𝐹1, tem-se:

˜

𝐼𝑚 W0 −W𝑇 W− 𝐼𝑛−𝑚

¸˜

𝑑𝑥1

𝑑𝑥2

¸

𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1ℎ

𝐷1/2𝑁 𝑟2 −𝐷

1/2𝑁 𝑁𝑇 𝐵−𝑇 (𝑟1 + 𝐷−1

𝐵 𝐵−1ℎ)

¸

. (4.1.19)

Da segunda equação de (4.1.19) obtém-se 𝑑𝑥2 resolvendo o seguinte sistema:

(𝐼𝑛−𝑚 + W𝑇 W)𝑑𝑥2 = 𝐷1/2𝑁 (𝑁𝑇 𝐵−𝑇 𝑟1 + 𝑁𝑇 𝐵−𝑇 𝐷−1

𝐵 ℎ)− 𝑟2. (4.1.20)

Após obter 𝑑𝑥2, da primeira equação de (4.1.19), tem-se:

𝑑𝑥1 = 𝐷1/2𝐵 𝑟1 + 𝐷

−1/2𝐵 𝐵−1ℎ−𝐷

−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁 𝑑𝑥2.

O vetor 𝑑𝑥 é obtido tanto da Alternativa 1 quanto da Alternativa 2 usando (4.1.12). Já avariável 𝑑𝑦 é obtida de (4.1.8). Logo, a direção de busca Δ𝑋 = (Δ𝑥, Δ𝑠, Δ𝑦, Δ𝑤, Δ𝑧)𝑇 é obtidada seguinte maneira: (Δ𝑥, Δ𝑦)𝑇 é calculado usando (4.1.7). Por outro lado, os vetores Δ𝑠, Δ𝑧 eΔ𝑤 são obtidos de

Δ𝑠 = 𝑟𝑢 −Δ𝑥; (4.1.21)

Δ𝑧 = 𝑋−1(−𝑋𝑍𝑒− 𝑍Δ𝑥) = −𝑍𝑒−𝑋−1𝑍Δ𝑥; (4.1.22)

Δ𝑤 = 𝑆−1(−𝑆𝑊𝑒−𝑊Δ𝑠) = −𝑊𝑒− 𝑆−1𝑊Δ. (4.1.23)

Experimentos numéricos usando o sistema linear (4.1.20) estudado na segunda alternativa, foramfeitos na dissertação de mestrado Silva (2016).

4.2 Precondicionador Separador para o sistema de Equações NormaisO Precondicionador Separador (PS) também pode ser obtido e aplicado diretamente ao Sistemade Equações Normais. Chamamos a esta outra maneira de encontrar a direção de busca comoTerceira Alternativa.

Page 54: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 54

4.2.1 Terceira alternativa para encontrar a direção de busca

Foi visto em (4.2.1) que existe uma matriz de permutação 𝑃 𝑛 de tamanho 𝑛 tal que:

𝐴 = [𝐵, 𝑁 ]𝑃 𝑛 e 𝑃 𝑛𝐷(𝑃 𝑛)𝑇 =˜

𝐷𝐵 00 𝐷𝑁

¸

. (4.2.1)

Logo é possível reescrever a matriz do Sistema de Equações Normais como:

𝐴𝐷𝐴𝑇 = [𝐵 𝑁 ]𝑃 𝑛(𝑃 𝑛)𝑇

˜

𝐷𝐵 00 𝐷𝑁

¸

𝑃 𝑛𝑃 𝑇𝑛

˜

𝐵𝑇

𝑁𝑇

¸

= 𝐵𝐷𝐵𝐵𝑇 + 𝑁𝐷𝑁𝑁𝑇 .

Após a permutação das colunas de 𝐴 e a permutação de linhas e colunas de 𝐷 causada pelamatriz 𝑃 𝑛, o PS para o Sistema de Equações Normais:

𝐴𝐷𝐴𝑇 Δ𝑦 = ℎ + 𝐴𝐷𝑟, (4.2.2)

é dado por:𝑃A = 𝐷

−1/2𝐵 𝐵−1. (4.2.3)

Precondicionando o sistema dado em (4.2.2) por ambos os lados usando o precondicionadordado em (4.2.3) obtém-se:

𝑃A(𝐴𝐷𝐴𝑇 )𝑃 𝑇A‰

𝑃 −𝑇A Δ𝑦 = 𝑃A pℎ + 𝐴𝐷𝑟q (4.2.4)

𝐼𝑚 +´

𝐷−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁

¯´

𝐷1/2𝑁 𝑁𝑇 𝐵−𝑇 𝐷

−1/2𝐵

¯

𝑑𝑦 = 𝐷−1/2𝐵 𝐵−1

pℎ + 𝐴𝐷𝑟q (4.2.5)

𝐼𝑚 + WW𝑇 𝑑𝑦 = 𝐷−1/2𝐵 𝐵−1

pℎ + 𝐴𝐷𝑟q , (4.2.6)

onde 𝑑𝑦 = 𝑃 −𝑇A Δ𝑦 e W := 𝐷

−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁 . Uma vez obtida 𝑑𝑦 do sistema (4.2.6), tem-se

Δ𝑦 = 𝑃 𝑇A𝑑𝑦. Além disso, Δ𝑥 é dado por: Δ𝑥 = 𝐷(𝐴𝑇 Δ𝑦 − ℎ), já as direções Δ𝑠, Δ𝑧 e Δ𝑤 são

obtidas de (4.1.21), (4.1.22) e (4.1.23) respectivamente, como no caso do Sistema Aumentado.

4.3 Análise espectral da matriz precondicionada pelo precondicionadorSeparador

Como foi visto na seção anterior, a direção de busca Δ𝑋 = (Δ𝑥, Δ𝑠, Δ𝑦, Δ𝑤, Δ𝑧) usandoo Precondicionador Separador pode ser obtida resolvendo um dos três sistemas lineares:(4.1.18),(4.1.20) ou (4.2.6). Lembramos que as matrizes dos sistemas (4.1.18) e (4.2.6) sãoiguais e têm dimensão 𝑚 enquanto a matriz do sistema (4.1.20) é de dimensão 𝑛−𝑚. Nos trêscasos trata-se de matrizes simétricas e definidas positivas. Estas resultados a seguir, a Proposição

Page 55: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 55

4.3.1 e o Corolário 4.1 que se encontram em Castro e Oliveira (2016), permitem afirmar que asmatrizes dos sistemas lineares dados em (4.1.18), (4.1.20) e (4.2.6), têm o mesmo conjunto deautovalores embora não sejam da mesma dimensão.

Proposição 4.3.1. Seja 𝑊 uma matriz de tamanho 𝑚× (𝑛−𝑚), então as matrizes 𝐼𝑚 +𝑊𝑊 𝑇

e 𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 têm o mesmo espectro.

Demonstração. Suponha que (𝜆, 𝑥) seja um autopar de 𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 , então (𝜆, 𝑊𝑥) é umautopar da matriz 𝐼𝑚 + 𝑊𝑊 𝑇 pois

`

𝐼𝑚 + 𝑊𝑊 𝑇˘

𝑊𝑥 = 𝑊`

𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊˘

𝑥 = 𝑊 (𝜆𝑥) = 𝜆(𝑊𝑥).

Por outro lado, se (𝛼, 𝑦) é um autopar de 𝐼𝑚 + 𝑊𝑊 𝑇 então (𝛼, 𝑊 𝑇 𝑦) é um autopar da matriz𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 pois

`

𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊˘

𝑊 𝑇 𝑦 = 𝑊 𝑇`

𝐼𝑚 + 𝑊𝑊 𝑇˘

𝑦 = 𝑊 𝑇 (𝛼𝑦) = 𝛼(𝑊 𝑇 𝑦).

Corolário 4.1. Se 𝜅(𝐴) denota o número de condição de uma matriz arbitrária 𝐴, então:

𝜅(𝐼𝑚 + 𝑊𝑊 𝑇 ) = 𝜅(𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 ),

onde 𝑊 é uma matriz de tamanho 𝑚× (𝑛−𝑚).

Demonstração. Suponha que 𝜆max e 𝜆min sejam o maior e o menor autovalor da matriz 𝐼𝑚+𝑊𝑊 𝑇 ,pela Proposição 4.3.1 𝜆max e 𝜆min também são o maior e menor autovalor de 𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊.

Dado que as matrizes 𝐼𝑚 + 𝑊𝑊 𝑇 e 𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 são simétricas, os seus autovalores são reais,mais ainda, o número de condição é dado por 𝜅 = 𝜆max

𝜆min.

O Corolário 4.1 diz que o número de condição das matrizes usadas para encontrar a direção debusca, seja usando a Primeira alternativa 4.1.1, Segunda alternativa 4.1.2 ou Terceira alternativa4.2.1, é igual em todos os casos.

Observa-se que 𝜆min ≥ 1, pois se (𝜆, 𝑣) é um autopar de 𝐼𝑚 + 𝑊𝑊 𝑇 , então 𝑣 + 𝑊𝑊 𝑇 𝑣 = 𝜆𝑣.

Multiplicando pela esquerda por 𝑣𝑇 , tem-se ‖𝑣‖2+‖𝑊 𝑇 𝑣‖2= |𝜆|‖𝑣‖2. Logo,

|𝜆|= 1 + ‖𝑊𝑇 𝑣‖2

‖𝑣‖2 ≥ 1. (4.3.1)

Assim, os autovalores de 𝐼𝑚 + 𝑊𝑊 𝑇 ou 𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 estão limitados inferiormente pelo 1. Opróximo resultado é usado para estudar o maior autovalor da matriz 𝐼𝑚 + 𝑊𝑊 𝑇 .

Page 56: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 56

Proposição 4.3.2. Os autovalores 𝜆 da matriz 𝐼𝑚 + 𝑊𝑊 𝑇 são da forma 𝜆 = 1 + 𝛼 onde 𝛼 éum autovalor de 𝑊𝑊 𝑇 .

Demonstração. Suponha que (𝜆, 𝑣) seja um autopar de 𝐼𝑚 + 𝑊𝑊 𝑇 , isto é 𝑣 + 𝑊𝑊 𝑇 𝑣 = 𝜆𝑣.

Daí 𝑊𝑊 𝑇 𝑣 = (𝜆− 1)𝑣, isto é (𝛼, 𝑣) é um autopar de 𝑊𝑊 𝑇 , onde 𝛼 = 𝜆− 1.

A proposição a seguir é um resultado muito conhecido da Álgebra Linear cuja demonstraçãopode ser encontrada em Golub e Loan (1996)

Proposição 4.3.3. Suponha que 𝐴 ∈ C𝑚×𝑛, então

‖𝐴‖=

⎧⎨⎩ 𝛼max, se 𝐴 = 𝐴𝑇

𝜎𝑚𝑎𝑥, se 𝐴 = 𝐴𝑇,

onde

∙ 𝛼max é o maior autovalor de 𝐴 em módulo, e

∙ 𝜎max é o maior valor singular de 𝐴, sendo 𝜎max =a

𝛼max(𝐴𝑇 𝐴).

Pela proposição 4.3.2, tem-se que:

𝜆max = 1 + 𝛼max (4.3.2)

onde 𝛼max é o maior autovalor de 𝑊𝑊 𝑇 . Além disso, pela proposição 4.3.3, fazendo 𝐴 = 𝑊 𝑇

vemos que 𝑊 = 𝑊 𝑇 , logo ‖𝑊 𝑇‖= 𝜎max =a

𝛼max(𝑊𝑊 𝑇 ), isto é, 𝛼max(𝑊𝑊 𝑇 ) = ‖𝑊 𝑇‖2, ouequivalentemente:

𝛼max = ‖𝑊 𝑇‖2. (4.3.3)

Logo, por (4.3.2) e (4.3.3) tem-se 𝜆max = 1 + ‖𝑊 𝑇‖2 e portanto, se 𝜅 = 𝜅(𝐼𝑚 + 𝑊𝑊 𝑇 ) =𝜅(𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊 ), tem-se:

𝜅 = 𝜆max

𝜆min≤ 𝜆max = 1 + ‖𝑊 𝑇‖2≤ 1 + ‖𝑊 𝑇‖2

𝐹 = 1 + ‖𝑊‖2𝐹 . (4.3.4)

Na Seção 3.1 foi visto que o desempenho do método Gradientes Conjugados depende do númerode condição da matriz do sistema linear a ser resolvido. Por (4.3.4), no caso dos sistemasprecondicionados pelo PS dados em (4.1.18), (4.1.20) ou (4.2.6), o desempenho do métodoGradientes Conjugados depende da norma da matriz 𝑊 := 𝐷

−1/2𝐵 𝐵−1𝑁𝐷

1/2𝑁 . Observe que 𝑊

depende fortemente da matriz de permutação 𝑃 𝑛, veja as equações dadas em (4.2.1). Logo, onúmero de condição 𝜅 depende de 𝑃 𝑛.

Para determinar a matriz de permutação 𝑃 𝑛 de tamanho 𝑛, é preciso uma permutação 𝜙 ∈ 𝒮𝑛,onde 𝒮𝑛 é o conjunto de permutações de {1, . . . 𝑛} chamado Grupo Simétrico. Para cada

Page 57: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 57

permutação 𝜙 existe uma correspondência 𝜙 ↦→ 𝑃𝜙, onde 𝑃𝜙 é uma matriz de permutação comcomponentes:

(𝑃𝜙)𝑖𝑗 = (𝛿𝜙(𝑖),𝑗) para 𝑖, 𝑗 = 1, . . . 𝑛,

isto é, na i-ésima linha da matriz 𝑃𝜙, a 𝜙(𝑖)-ésima entrada é 1 e todas as demais são 0.

Veremos no próximo capítulo propostas para determinar a permutação de índices 𝜙, e a partirdela a matriz de permutação 𝑃 𝑛 = 𝑃𝜙.

4.4 Precondicionamento híbridoA estratégia de precondicionamento híbrido num método iterativo consiste na combinação dedois ou mais precondicionadores com o objetivo de melhorar sua eficiência.

No caso dos sistemas oriundos do MPI primal-dual, isto é, o Sistema Aumentado e o Sistemade Equações Normais, vimos que a matriz 𝐷𝑘 é a única matriz que se altera nestes sistemas,porém as componentes desta matriz:

𝑑𝑘𝑖 =

`

𝑧𝑘𝑖 (𝑥𝑘

𝑖 )−1 + 𝑤𝑘𝑖 (𝑠𝑘

𝑖 )−1˘−1 para 𝑖 = 1, . . . 𝑛, (4.4.1)

se alteram rapidamente durante as iterações do MPI primal-dual, particularmente nas iteraçõesfinais. Estas grandes alterações fazem com que as matrizes do Sistema Aumentado e do Sistemade Equações Normais se tornem altamente mal condicionadas. Por esta razão é difícil encontraruma estratégia de precondicionamento que produza bom desempenho durante todas as iterações.

Precondicionadores baseados em fatorações incompletas mostram-se eficientes nas primeirasiterações e se deterioram nas últimas. Por outro lado, o PS apresenta melhores resultados nasiterações finais.

Neste trabalho usa-se a abordagem híbrida proposta em Bocanegra et al. (2007), esta propostaconsiste de duas fases chamadas de fase 𝐼 e fase 𝐼𝐼. Na primeira delas, o precondicionadoré construído usando a Fatoração Controlada de Cholesky (FCC), veja a Seção 3.2. Após amudança de fase ser identificada, o precondicionador usado é o PS, descrito neste capítulo.

4.4.1 Mudança de fase no precondicionamento híbrido

O critério de mudança de fase é essencial para melhorar a eficiência numa abordagem híbrida.Na abordagem proposta em Bocanegra et al. (2007), o critério de mudança de fase propostoexige as seguintes condições:

∙ O gap inicial ou medida de dualidade é reduzido em 10−6 e o número de iterações no métododos Gradientes Conjugados Precondicionado (GCP) numa iteração do MPI primal-dual é

Page 58: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 58

maior que 𝑚/4. Isto indica que o processo de otimização está muito avançado e este é umbom momento de mudança de precondicionador.

∙ O número de iterações do método GCP na solução do sistema linear é maior do que 𝑚/2,isto indica que o precondicionador FCC não tem mais um bom desempenho.

∙ O número de falhas que aparecem na diagonal durante o processo de construção doprecondicionador FCC supera 10, isto significa que o dito precondicionador foi recalculadomais de 10 vezes.

Se nenhuma dessas condições é satisfeita então o parâmetro 𝜂 é aumentado em 10 e o MPIprimal-dual continua com o precondicionador FCC.

Recentemente foi estudada uma aproximação do número de condição da matriz do Sistema deEquações Normais precondicionada pelo FCC para determinar novos critérios de mudança defase. Fizeram-se aproximações deste número de condição usando valores de Ritz, veja Bartmeyer(2016).

Por outro lado, no artigo Velazco et al. (2011) observou-se que a mudança de fase proposta emBocanegra et al. (2007) não era satisfatória. Em todos os problemas testados a mudança defase é realizada longe da solução ótima e portanto o MPI primal-dual não atinge a convergênciaou apresenta uma convergência lenta. Foi verificado que resultados mais coerentes são obtidosquando o precondicionador FCC é usado na maior quantidade possível de iterações do MPIprimal-dual. Assim a heurística de mudança de fase proposta neste artigo é dada pela seguintecondição:

Se o número de iterações do método GPC em uma iteração do MPI primal-dual é maior que𝑚/6, então deve-se verificar se 𝜂 atingiu um valor máximo 𝜂max. Se 𝜂 > 𝜂max a mudança de faseé realizada, senão, 𝜂 é aumentado em 10 e o processo continua com o precondicionador FCC. Se𝑛𝑔 denota o número iterações do método GPC numa iteração do MPI primal-dual, o critério demudança de fase proposta em Velazco et al. (2011) é dado por:

se 𝑛𝑔 ≥ 𝑚/6 entãose 𝜂 ≤ 𝜂max então

𝜂 = 𝜂 + 10;

senãoMudança de fase

fim

fim

Para valores razoáveis de 𝜂, o cálculo do precondicionador FCC é computacionalmente barato erequer menos memória que o PS, porém em boa parte dos problemas, o FCC não apresenta

Page 59: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 4. Precondicionador Separador 59

um bom desempenho próximo de uma solução ótima. Foi visto na Seção 3.2 que o desempenhodo precondicionador FCC depende dos valores 𝜂 inicial e final denotados por 𝜂0 e 𝜂max,

respectivamente. Uma heurística para encontrar 𝜂0 é dada em (3.2.9). Por outro lado, testesnuméricos mostraram que 𝜂max = 10 apresenta um bom desempenho.

Neste trabalho, inicialmente adotamos o critério de mudança de fase proposto em Velazco et al.(2011), porém observamos que é possível acrescentar uma condição que verifica se o PS está ounão apto para ter um bom desempenho. Os detalhes desta nova mudança de fase são descritosna Seção 5.4.3 do próximo capítulo.

Page 60: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

60

5 Novas abordagens para encontrar a base doprecondicionador separador

5.1 IntroduçãoNeste capítulo são apresentadas as contribuições deste trabalho. Propõem-se três novasordenações para determinar a base do Precondicionador Separador (PS), amparadosem resultados teóricos que estudam o número de condição do sistema precondicionado.Adicionalmente, propomos um novo critério de mudança de fase da abordagem híbrida deprecondicionamento que combina o precondicionador Fatoração Controlada de Cholesky (FCC)e o PS. Finalmente, apresentamos uma nova abordagem que trata da reciclagem de algumascolunas básicas do PS em uma iteração do Método de Pontos Interiores (MPI) para seremutilizadas na seguinte.

A construção do PS baseia-se no comportamento não crescente da condição decomplementariedade. No caso de um problema de PL canalizado, veja (2.2.1), se (𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘)é o ponto da 𝑘-ésima iteração do MPI primal-dual, sendo:

𝑥𝑘 =(𝑥𝑘1, 𝑥𝑘

2, . . . , 𝑥𝑘𝑛),

𝑠𝑘 =(𝑠𝑘1, 𝑠𝑘

2, . . . , 𝑠𝑘𝑛),

𝑦𝑘 =(𝑦𝑘1 , 𝑦𝑘

2 , . . . , 𝑦𝑘𝑚),

𝑤𝑘 =(𝑤𝑘1 , 𝑤𝑘

2 , . . . , 𝑤𝑘𝑛),

𝑧𝑘 =(𝑧𝑘1 , 𝑧𝑘

2 , . . . , 𝑧𝑘𝑛),

nas iterações iniciais deste método, os produtos 𝑥𝑘𝑖 𝑧𝑘

𝑖 e 𝑠𝑘𝑖 𝑤𝑘

𝑖 são quantidades grandes e diminuematé atingir a solução ótima (𝑥*, 𝑠*, 𝑦*, 𝑤*, 𝑧*). Isto é, se a 𝑘-ésima iteração está próxima daiteração final, tem-se:

𝑥𝑘𝑖 𝑧𝑘

𝑖 ≈ 𝑥*𝑖 𝑧

*𝑖 = 0 e 𝑠𝑘

𝑖 𝑤𝑘𝑖 ≈ 𝑠*

𝑖 𝑤*𝑖 = 0. (5.1.1)

As componentes do ponto da 𝑘-ésima iteração, (𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘), formam a diagonal da matriz𝐷𝑘 que aparece tanto na matriz do sistema Aumentado (2.3.6) quanto na matriz do sistema deEquações Normais (2.3.9), isto é, as componentes da matriz 𝐷𝑘 são:

𝑑𝑘𝑖 =

`

𝑧𝑘𝑖 (𝑥𝑘

𝑖 )−1 + 𝑤𝑘𝑖 (𝑠𝑘

𝑖 )−1˘−1 para 𝑖 = 1, . . . 𝑛. (5.1.2)

Logo, pelas equações (5.1.1), (5.1.2) e pela não negatividade das variáveis 𝑥𝑘, 𝑧𝑘, 𝑠𝑘 e 𝑤𝑘, paracada 𝑖 ∈ {1, . . . , 𝑛} tem-se:

𝑑𝑘𝑖 → 0 ou 𝑑𝑘

𝑖 →∞, (5.1.3)

Page 61: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 61

esta característica é a motivação da construção do PS e a justificativa do seu sucesso nas últimasiterações do MPI primal-dual.

Em cada iteração do MPI primal-dual é possível fazer uma ordenação não crescente:

𝑑𝑘𝜎(1) ≥ 𝑑𝑘

𝜎(2) ≥ . . . ≥ 𝑑𝑘𝜎(𝑚) ≥ . . . ≥ 𝑑𝑘

𝜎(𝑛), (5.1.4)

onde 𝜎 é uma permutação de {1, . . . 𝑛}. Esta permutação é alterada de iteração a iteração, naprimeira iteração os valores de 𝑑𝑖 não são muito discrepantes, já nas últimas iterações, aparecemdiferenças abruptas nestes valores.

Sabe-se que para cada permutação 𝜎 ∈ 𝒮𝑛, onde 𝒮𝑛 é conhecido como Grupo Simétrico, existeuma correspondência 𝜎 ↦→ 𝑃𝜎, onde 𝑃𝜎 é uma matriz de permutação com componentes:

(𝑃𝜎)𝑖𝑗 = (𝛿𝜎(𝑖),𝑗) para 𝑖, 𝑗 = 1, . . . 𝑛, (5.1.5)

isto é, na i-ésima linha da matriz 𝑃𝜎, a 𝜎(𝑖)-ésima entrada é 1 e todas as demais são 0.

De agora em diante, para simplificar a notação, denotamos 𝐷𝑘 e 𝑑𝑘𝑖 por simplesmente 𝐷 e 𝑑𝑖.

Suponha que as matrizes 𝐴 e 𝐷 sejam reordenadas da seguinte maneira:

𝐴 = [𝐴ℬ, 𝐴𝒩 ]𝑃𝜎 e 𝑃𝜎𝐷(𝑃𝜎)𝑇 =˜

𝐷ℬ 00 𝐷𝒩

¸

, (5.1.6)

onde 𝐷ℬ é uma matriz diagonal de dimensão 𝑚 × 𝑚 com entradas 𝑑𝑖 : 𝑖 ∈ ℬ ={𝜎(1), 𝜎(2), . . . , 𝜎(𝑚)} e 𝐷𝒩 é uma matriz diagonal de dimensão (𝑛 − 𝑚) × (𝑛 − 𝑚) comentradas 𝑑𝑖 : 𝑖 ∈ 𝒩 = {𝜎(𝑚 + 1), 𝜎(𝑚 + 2), . . . , 𝜎(𝑛)}. Além disso, 𝐴ℬ e 𝐴𝒩 são matrizes dedimensão 𝑚×𝑚 e 𝑚× 𝑛−𝑚 cujas colunas têm índices pertencentes a ℬ e 𝒩 , respectivamente.Chamamos os conjuntos ℬ e 𝒩 de conjuntos de índices básicos e não básicos, respectivamente.

Nas Seções 4.1 e 4.2 apresentou-se o PS para o Sistema Aumentado:

𝑃𝒜 =˜

𝐷1/2 𝐺

𝐻 0

¸

, (5.1.7)

onde 𝐻 = [𝐼𝑚 0𝑚×𝑛−𝑚]𝑃 𝑛 e 𝐺 = 𝐻𝑇 𝐷−1/2𝐵 𝐵−1, e o PS para o Sistema de Equações Normais:

𝑃A = 𝐷−1/2𝐵 𝐵−1. (5.1.8)

Ambos os precondicionadores, dados em (5.1.7) e (5.1.8), dependem de uma matriz de permutação𝑃 𝑛 de tamanho 𝑛 a qual é tal que 𝐵 é uma matriz não singular. Se a matriz de permutação 𝑃𝜎

definida em (5.1.5), for tal que 𝐴ℬ é não singular, então podemos fazer 𝑃 𝑛 = 𝑃𝜎, logo, 𝐵 = 𝐴ℬ,𝐷𝐵 = 𝐷ℬ, 𝑁 = 𝐴𝒩 e 𝐷𝑁 = 𝐷𝒩 . E, de acordo com as Seções 4.1.1, 4.1.2 e 4.2.1, as matrizestanto do Sistema Aumentado quanto do Sistema de Equações Normais precondicionado pelo PSsão:

𝐼𝑚 +´

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩

¯´

𝐷1/2𝒩 𝐴𝑇

𝒩 𝐴−𝑇ℬ 𝐷

−1/2ℬ

¯

= 𝐼𝑚 + WW𝑇 (5.1.9)

Page 62: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 62

e𝐼𝑛−𝑚 +

´

𝐷1/2𝒩 𝐴𝑇

𝒩 𝐴−𝑇ℬ 𝐷

−1/2ℬ

¯´

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩

¯

= 𝐼𝑛−𝑚 + W𝑇 W, (5.1.10)

onde W = 𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩 .

Lembrando que os conjuntos ℬ e 𝒩 contêm os índices que correspondem aos maiores e menores𝑑𝑗 respectivamente, observamos que uma situação ideal aconteceria se 𝐷

−1/2ℬ → 0 e 𝐷

1/2𝒩 → 0

implicando que W→ 0 e, portanto, 𝐼𝑚+WW𝑇 ≈ 𝐼𝑚 e 𝐼𝑛−𝑚+W𝑇 W ≈ 𝐼𝑛−𝑚. Logo, as matrizesprecondicionadas pelo PS dadas em (5.1.9) e (5.1.10) terão número de condição próximo a 1.

Mas esta situação tem baixa probabilidade pelas seguintes razões:

1. Nada garante que 𝐴ℬ tenha colunas linearmente independentes.

2. Mesmo supondo que 𝐴ℬ seja uma matriz não singular, nem todo 𝑑𝑗 com 𝑗 ∈ ℬ é um valorgrande. De fato, próximo a uma solução ótima existem pelo menos 𝑛−𝑚 valores próximosde zero, isto implica que no máximo existirão 𝑚 valores não pequenos.

A tarefa de determinar uma boa base é muito importante, pois o PS tem a interessantepropriedade de utilizar a matriz 𝐵 = 𝐴ℬ em algumas iterações além da iteração na qual foicalculada, em consequência o cálculo do precondicionador exige pouco esforço computacionalem algumas iterações do MPI primal-dual. A mudança da base 𝐵 é determinada pelo númerode iterações do método GCP usadas para resolver o sistema linear precondicionado.

No artigo Monteiro et al. (2004), propõe-se uma matriz 𝐵 com colunas linearmente independentesda matriz 𝐴 ordenadas de acordo a uma ordem não crescente dos elementos da matriz diagonal𝐷 que aparece no Sistema de Equações Normais, com este critério de ordenação os autoresmostraram que o número de condição da matriz precondicionada pelo PS independe da iteraçãodo MPI primal-dual. A matriz 𝐵 foi denominada pelos autores como Base de peso máximo.

Recentemente, Milan et al. (2015) propuseram uma extensão do trabalho de Monteiro et al.(2004) e apresentaram um resultado teórico que usa a ordenação não crescente dos elementos damatriz 𝐷 porém acrescentaram uma reordenação em grupos procurando aproveitar a esparsidadeda matriz de restrições do problema. A matriz 𝐵 obtida nesse artigo foi denominada pelosautores como Base do bloco de peso máximo.

O desempenho dessa nova base 𝐵 depende de uma escolha adequada de grupos. Na tese dedoutorado de Casacio (2015) foi apresentada uma proposta de ordenação decrescente doselementos ‖𝐴𝐷𝑒𝑗‖ e testes numéricos mostraram que uma escolha de

?𝑚/4 grupos foi eficiente.

Baseados nos trabalhos mencionados acima e nas abordagens já feitas em Velazco et al. (2011),foi realizado um estudo teórico do condicionamento oferecido pelo PS e são apresentadas trêspropostas que visam melhorar o número de condição assim como evitar preenchimentos excessivos

Page 63: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 63

na fatoração LU da matriz 𝐴 feita para obter colunas linearmente independentes que irão aformar a matriz base 𝐵 = 𝐴ℬ.

5.2 Abordagem 𝑃𝑆1

A primeira abordagem está descrita no Algoritmo 3. A ordenação das colunas proposta baseia-sena Proposição 5.2.1. Este resultado surgiu a partir de uma análise espectral da matriz 𝐴𝐷𝐴𝑇

precondicionada pelo PS. Define-se ℎ𝑗 = 𝑑1/2𝑗 ‖𝐴𝑗‖ para cada 𝑗 = 1, . . . , 𝑛 e usando o fato de

que a matriz 𝐴 tem posto completo, propõe-se o seguinte algoritmo.

Algoritmo 3: Algoritmo para encontrar o conjunto de índices básicos ℬ e não básicos 𝒩Entrada: A matriz de restrições 𝐴 ∈ R𝑚×𝑛 de posto 𝑚 e a matriz diagonal 𝐷.

Saída: Os conjuntos de índices básicos ℬ = {𝑖1, 𝑖2, . . . 𝑖𝑚} e não básicos𝒩 = {1, . . . , 𝑛}∖ℬ.

1 início2 Calcule ℎ𝑗 = 𝑑

1/2𝑗 ‖𝐴𝑗‖ para cada 𝑗 = 1, . . . , 𝑛;

3 Obter a permutação 𝜎 do conjunto {1, . . . , 𝑛} tal que: ℎ𝜎(1) ≥ ℎ𝜎(2) ≥ . . . ≥ ℎ𝜎(𝑛);4 Defina ℬ = ∅, ℓ = 1, 𝑘 = 0;5 enquanto |ℬ|< 𝑚 faça6 se 𝐴𝜎(ℓ) é linearmente independente ao conjunto {𝐴𝑗 : 𝑗 ∈ ℬ} então7 ℬ = ℬ ∪ {𝜎(ℓ)}, 𝑘 = 𝑘 + 1, 𝑖𝑘 = 𝜎(ℓ);8 fim9 Faça ℓ = ℓ + 1;

10 fim11 fim

Após obter o conjunto de índices básicos ℬ e não básicos 𝒩 , a submatriz 𝐴ℬ é chamada de basee denotada por 𝐵 = 𝐴ℬ; além disso, denota-se 𝑁 = 𝐴𝒩 .

A detecção de colunas linearmente independentes às outras previamente encontradas é feitaatravés de uma fatoração LU da matriz 𝐴, um pivô nulo ou muito pequeno indica que a respectivacoluna é linearmente dependente às colunas já obtidas, neste caso, a referida coluna é eliminadae a fatoração continua com a coluna candidata seguinte. Uma cuidadosa implementação deveser feita, pois dado que o conjunto de colunas linearmente independentes é desconhecido antesda fatoração LU esta pode gerar muito preenchimento. A técnica usada pelos autores, Oliveira eSorensen (2005), para tratar este problema é interromper a fatoração para reordenar as colunaslinearmente independentes já encontradas das mais esparsas às menos esparsas e, dessa maneira,reiniciar a fatoração até encontrar as 𝑚 colunas linearmente independentes.

Ressaltamos que em geral a fatoração LU gera muito preenchimento pois a ordenação que

Page 64: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 64

procura um melhor número de condição não necessariamente coincide com alguma ordenaçãoque reduz o preenchimento, tal como a ordenação de grau mínimo. Porém, uma vez encontradosos índices básicos ℬ e não básicos 𝒩 , uma nova fatoração LU eficiente e esparsa da matriz 𝐴ℬ érealizada, veja Ghidini et al. (2014).

Uma alternativa apresentada em Suñagua e Oliveira (2016) obtém a base para o PS usando afatoração retangular LU da matriz 𝐷1/2𝐴𝑇 , tal fatoração é feita pelo UMFPACK que é umaimplementação com pivoteamento parcial com tolerância. O pacote computacional UMFPACK(Unsymmetric-pattern multifrontal method for sparse LU factorization) foi desenvolvido porDavis e Duff (1997), e, aprimorado em Davis (2004).

A escolha da ordem não crescente dos valores ℎ𝑗 = 𝑑1/2𝑗 ‖𝐴𝑗‖, para 𝑗 = 1, . . . 𝑛, no Algoritmo 3,

é inspirada pela análise feita na Seção 4.3, nessa Seção, na Proposição 4.3.1, mostramos que seW é uma matriz de dimensão 𝑚× 𝑛−𝑚 então as matrizes 𝐼𝑚 + WW𝑇 e 𝐼𝑛−𝑚 + W𝑇 W têm omesmo conjunto de autovalores mesmo sendo matrizes de diferentes dimensões. Além disso, se(𝜆, 𝑣) é um autopar de 𝐼 + WW𝑇 , então:

|𝜆|= 1 + ‖W𝑇 𝑣‖2

‖𝑣‖2 ≥ 1, (5.2.1)

daí, se 𝜆min e 𝜆max denotam o menor e maior autovalor de 𝐼𝑚 + WW𝑇 ou 𝐼𝑛−𝑚 + W𝑇 W, então𝜆min ≥ 1. Por outro lado, na Proposição 4.3.2 vimos que

𝜆max = 1 + 𝛼max, (5.2.2)

onde 𝛼max é o maior autovalor de WW𝑇 .

De acordo com (4.1.6) 𝛼max = ‖W𝑇‖2, logo a igualdade (5.2.2) sugere uma ordenação dascolunas da matriz 𝐴 de tal maneira que a norma ‖W𝑇‖ seja a mínima possível. Lembramos queW = 𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩 .

Pela relação ‖W𝑇‖≤ ‖W𝑇‖𝐹≤?

𝑚‖W𝑇‖, ao invés de usar a norma matricial euclidiana ‖W𝑇‖,usamos a norma de Frobenius ‖W𝑇‖𝐹 = ‖W‖𝐹 pois dessa maneira podemos ter um controlesobre a escolha das colunas da matriz 𝐴 de restrições do problema de programação linear.

Proposição 5.2.1. Para 𝑖 = 1, 2, . . . 𝑛, defina ℎ𝑖 = 𝑑1/2𝑖 ‖𝐴𝑖‖, onde 𝐴𝑖 é a 𝑖-ésima coluna da

matriz 𝐴 de restrições do problema de programação linear. Se os conjuntos de índices ℬ e 𝒩são obtidos pelo Algoritmo 3, então ‖W‖𝐹 é minimizada, onde W = 𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩 .

Demonstração. Da desigualdade ‖W‖𝐹≤ ‖𝐷−1/2ℬ 𝐴−1

ℬ ‖𝐹‖𝐴𝒩 𝐷1/2𝒩 ‖𝐹 , observa-se que minimizar

‖𝐷−1/2ℬ 𝐴−1

ℬ ‖𝐹 e ‖𝐴𝒩 𝐷1/2𝒩 ‖𝐹 implica na minimização de ‖W‖𝐹 .

De ‖𝐴ℬ𝐷1/2ℬ ‖𝐹≥

1‖𝐷−1/2

ℬ 𝐴−1ℬ ‖𝐹

, pode-se concluir que:

maximizar ‖𝐴ℬ𝐷1/2ℬ ‖𝐹 implica maximizar 1

‖𝐷−1/2ℬ 𝐴−1

ℬ ‖𝐹

, (5.2.3)

Page 65: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 65

além disso,

maximizar 1‖𝐷−1/2

ℬ 𝐴−1ℬ ‖𝐹

é equivalente a minimizar ‖𝐷−1/2ℬ 𝐴−1

ℬ ‖𝐹 . (5.2.4)

Ou seja, de (5.2.3) e (5.2.4), conclui-se que;

maximizar ‖𝐴ℬ𝐷1/2ℬ ‖𝐹 implica minimizar ‖𝐷−1/2

ℬ 𝐴−1ℬ ‖𝐹 . (5.2.5)

De acordo com a seguinte equação:

‖𝐴𝐷1/2‖2𝐹 =‖𝐴ℬ𝐷

1/2ℬ ‖2

𝐹 +‖𝐴𝒩 𝐷1/2𝒩 ‖2

𝐹

=

¨

˚

˚

˝

∑𝜎(𝑖)∈ℬ

𝑑𝜎(𝑖)‖𝐴𝜎(𝑖)‖2loooooomoooooon

ℎ2𝜎(𝑖)

˛

+

¨

˚

˚

˝

∑𝜎(𝑖)∈𝒩

𝑑𝜎(𝑖)‖𝐴𝜎(𝑖)‖2loooooomoooooon

ℎ2𝜎(𝑖)

˛

=∑

𝜎(𝑖)∈ℬℎ2

𝜎(𝑖) +∑

𝜎(𝑖)∈𝒩ℎ2

𝜎(𝑖),

(5.2.6)

observa-se que para maximizar ‖𝐴ℬ𝐷1/2ℬ ‖𝐹 , os índices 𝜎(𝑖) ∈ ℬ devem corresponder aos maiores

valores de ℎ𝜎(𝑖). Logo, pela relação dada em (5.2.5), esta escolha minimiza a norma ‖𝐷−1/2ℬ 𝐴−1

ℬ ‖𝐹 .

Por outro lado, para minimizar ‖𝐴𝒩 𝐷1/2𝒩 ‖𝐹 , a partir de (5.2.6) é imediato que os índices

𝜎(𝑖) ∈ 𝒩 devem corresponder aos menores valores de ℎ𝜎(𝑖).

Observação: Suponha que ℬ = {𝑖1, 𝑖2, . . . , 𝑖𝑚} e 𝒩 = {𝑗1, 𝑗2, . . . 𝑗𝑛−𝑚}, logo,

W =𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩

=

¨

˚

˚

˚

˚

˝

𝑑−1/2𝑖1 0 . . . 00 𝑑

−1/2𝑖2 . . . 0

... ... . . . 00 0 . . . 𝑠 𝑑

−1/2𝑖𝑚

˛

¨

˚

˚

˚

˚

˝

𝐹𝑖1

𝐹𝑖2...

𝐹𝑖𝑚

˛

´

𝐴𝑗1 𝐴𝑗2 . . . 𝐴𝑗𝑛−𝑚

¯

¨

˚

˚

˚

˚

˝

𝑑1/2𝑗1 0 . . . 00 𝑑

1/2𝑗2 . . . 0

... ... . . . 00 0 . . . 𝑠 𝑑

1/2𝑗𝑛−𝑚

˛

=

¨

˚

˚

˚

˚

˝

𝑑−1/2𝑖1 𝐹𝑖1

𝑑−1/2𝑖2 𝐹21

...𝑑

−1/2𝑖𝑚

𝐹𝑖𝑚

˛

´

𝑑1/2𝑗1 𝐴𝑗1 𝑑

1/2𝑗2 𝐴𝑗2 . . . 𝑑

1/2𝑗𝑚

𝐴𝑗𝑚

¯

=

¨

˚

˚

˚

˚

˝

𝑑−1/2𝑖1 𝑑

1/2𝑗1 𝐹 𝑇

𝑖1 𝐴𝑗1 𝑑−1/2𝑖1 𝑑

1/2𝑗2 𝐹 𝑇

𝑖1 𝐴𝑗2 . . . 𝑑−1/2𝑖1 𝑑

1/2𝑗𝑛−𝑚

𝐹 𝑇𝑖1 𝐴𝑗𝑛−𝑚

𝑑−1/2𝑖2 𝑑

1/2𝑗1 𝐹 𝑇

𝑖2 𝐴𝑗1 𝑑−1/2𝑖2 𝑑

1/2𝑗2 𝐹 𝑇

𝑖2 𝐴𝑗2 . . . 𝑑−1/2𝑖2 𝑑

1/2𝑗𝑛−𝑚

𝐹 𝑇𝑖2 𝐴𝑗𝑛−𝑚

... ... . . ....

𝑑−1/2𝑖𝑚

𝑑1/2𝑗1 𝐹 𝑇

𝑖𝑚𝐴𝑗1 𝑑

−1/2𝑖𝑚

𝑑1/2𝑗2 𝐹 𝑇

𝑖𝑚𝐴𝑗2 . . . 𝑑

−1/2𝑖𝑚

𝑑1/2𝑗𝑛−𝑚

𝐹 𝑇𝑖𝑚

𝐴𝑗𝑛−𝑚

˛

Page 66: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 66

onde 𝐹𝑖1 , 𝐹𝑖2 , . . . , 𝐹𝑖𝑚 são linhas da matriz 𝐴−1ℬ . Assim,

‖W‖2𝐹 =

𝑛−𝑚∑𝑘=1

𝑑𝑗𝑘

˜

𝑚∑ℓ=1

𝑑−1𝑖ℓ

(𝐹 𝑇𝑖ℓ

𝐴𝑗𝑘)2

¸

=𝑛−𝑚∑𝑘=1

𝑚∑ℓ=1

𝑑𝑗𝑘𝑑−1

𝑖ℓ(𝐹 𝑇

𝑖ℓ𝐴𝑗𝑘

)2. (5.2.7)

Usando a desigualdade de Schwarz em (5.2.7), tem-se:

‖W‖2𝐹≤

𝑛−𝑚∑𝑘=1

𝑚∑ℓ=1

𝑑𝑗𝑘𝑑−1

𝑖ℓ‖𝐹𝑖ℓ‖2‖𝐴𝑗𝑘

‖2, (5.2.8)

logo,

‖W‖2𝐹 ≤

𝑚∑ℓ=1

(𝑑−1𝑖ℓ‖𝐹𝑖ℓ‖2)

𝑛−𝑚∑𝑘=1

(𝑑𝑗𝑘‖𝐴𝑗𝑘‖2)

=𝑚∑

ℓ=1(𝑑−1/2

𝑖ℓ‖𝐹𝑖ℓ‖)2

𝑛−𝑚∑𝑘=1

(𝑑1/2𝑗𝑘‖𝐴𝑗𝑘‖

loooomoooon

ℎ𝑗𝑘

)2

=𝑚∑

ℓ=1(𝑑−1/2

𝑖ℓ‖𝐴𝑖ℓ‖−1

loooooomoooooon

ℎ−1𝑖ℓ

‖𝐴𝑖ℓ‖‖𝐹𝑖ℓ

‖)2𝑛−𝑚∑𝑘=1

ℎ𝑗𝑘

2

=𝑚∑

ℓ=1(‖𝐴𝑖ℓ

‖‖𝐹𝑖ℓ‖)2ℎ−2

𝑖ℓ

𝑛−𝑚∑𝑘=1

ℎ𝑗𝑘

2.

(5.2.9)

Dado que a matriz 𝐴−1ℬ não é calculada na prática, na desigualdade (5.2.9) não sabemos o valor

das normas das linhas 𝐹𝑖ℓpara ℓ = 1, . . . , 𝑚. Porém, a desigualdade (5.2.9) confirma a escolha

dos valores ℎ𝑖 = 𝑑1/2𝑖 ‖𝐴𝑖‖ para 𝑖 = 1, . . . , 𝑛 pois se 𝑖ℓ : ℓ = 1, . . . , 𝑚 corresponde aos maiores

valores de ℎ𝑖 e 𝑗𝑘 : 𝑘 = 1, . . . , 𝑛−𝑚 corresponde aos menores valores de ℎ𝑖 então a norma deFrobenius da matriz W é minimizada.

Baseados no trabalho de Monteiro et al. (2004), no Teorema 5.2.2 demonstra-se que se o conjuntode índices básicos ℬ é dado pelo Algoritmo 3, então o número de condição 𝜅 das matrizesprecondicionadas pelo PS:

𝐼𝑚 +´

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩

¯´

𝐷1/2𝒩 𝐴𝑇

𝒩 𝐴−𝑇ℬ 𝐷

−1/2ℬ

¯

= 𝐼𝑚 + WW𝑇 (5.2.10)

e𝐼𝑛−𝑚 +

´

𝐷1/2𝒩 𝐴𝑇

𝒩 𝐴−𝑇ℬ 𝐷

−1/2ℬ

¯´

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩

¯

= 𝐼𝑛−𝑚 + W𝑇 W, (5.2.11)

é uniformemente limitado por uma quantidade que é independente da iteração do MPIprimal-dual.

Nos Teoremas 5.2.2 e 5.3.2, usamos uma hipótese que exige que as colunas da matriz derestrições do problema 𝐴, foram escaldas de tal maneira que cada uma delas tenha normaeuclidiana limitada por

?𝑚. Nos experimentos numéricos realizados neste trabalho, esta hipótese

é garantida pois o código PCx usa uma técnica Scaling apresentada no Apêndice B.1.2.

Page 67: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 67

Para simplificar a notação na demonstração do Teorema 5.2.2, considera-se 𝜎 = 𝑖𝑑 no Algoritmo 3,onde 𝑖𝑑 é a permutação identidade.

Teorema 5.2.2. Suponha que os índices básicos ℬ e não básicos 𝒩 sejam obtidos peloAlgoritmo 3 e que a matriz 𝐴 tem cada coluna com norma euclidiana limitada por

?𝑚.

Então:

1. 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖= 1 para 𝑗 ∈ ℬ,

2. 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖≤?

𝑚‖𝐴−1ℬ ‖ para 𝑗 ∈ {1, . . . , 𝑛}∖ℬ.

Além disso, se 𝐾 = max{1,?

𝑚‖𝐴−1ℬ ‖}, então:

𝜅`

𝐼𝑚 + WW𝑇˘

= 𝜅`

𝐼𝑛−𝑚 + W𝑇 W˘

≤ 𝑛𝐾2. (5.2.12)

Demonstração. 1. Se 𝑗 ∈ ℬ, então 𝐴−1ℬ 𝐴𝑗 = 𝑒𝑗 onde 𝑒𝑗 é o 𝑗-ésimo vetor canônico de R𝑚.

Logo,

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖= 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝑒𝑗‖= 𝑑

1/2𝑗 ‖𝑑

−1/2𝑗 𝑒𝑗‖= 𝑑

1/2𝑗 𝑑

−1/2𝑗 ‖𝑒𝑗‖= 1. (5.2.13)

2. Se 𝑗 /∈ ℬ são considerados dois casos:

Caso 2.1. A coluna 𝐴𝑗 não foi considerada para entrar na base de acordo ao Algoritmo 3.Neste caso, 𝑗 > 𝑖𝑘, para todo índice básico ℬ = {𝑖1, . . . 𝑖𝑚}, logo,

ℎ𝑖𝑘≥ ℎ𝑗, para todo 𝑖𝑘 ∈ ℬ. (5.2.14)

Seja 𝑑1/2𝑜 = min{𝑑1/2

𝑖𝑘: 𝑖𝑘 ∈ ℬ}, então se ℎ𝑜 = 𝑑1/2

𝑜 ‖𝐴𝑜‖ tem-se que:

ℎ𝑜 ≥ ℎ𝑖𝑚 . (5.2.15)

Usando (5.2.14) e (5.2.15), tem-se ℎ𝑜 ≥ ℎ𝑗, logo:

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ ≤𝑑

1/2𝑗 ‖𝐴𝑗‖

min{𝑑1/2𝑖𝑘

: 𝑖𝑘 ∈ ℬ}‖𝐴−1

ℬ ‖

= ℎ𝑗‖𝐴𝑜‖𝑑

1/2𝑜 ‖𝐴𝑜‖

‖𝐴−1ℬ ‖

= ℎ𝑗‖𝐴𝑜‖ℎ𝑜

‖𝐴−1ℬ ‖

≤?

𝑚‖𝐴−1ℬ ‖,

(5.2.16)

pois a matriz 𝐴 foi escalada de tal forma que todas as suas colunas têm norma euclidianalimitada por

?𝑚; em particular, ‖𝐴𝑜‖≤

?𝑚.

Page 68: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 68

Caso 2.2. A coluna 𝐴𝑗 foi candidata para ser 𝑟-ésima coluna de 𝐴ℬ, porém 𝐴𝑗 é linearmentedependente das colunas 𝐴𝑖1 , 𝐴𝑖2 , . . . , 𝐴𝑖𝑟−1 , isto é,

𝐴𝑗 = 𝑢1𝐴𝑖1 + 𝑢2𝐴𝑖2 + . . . + 𝑢𝑟−1𝐴𝑖𝑟−1 ,

ou equivalentemente, 𝐴𝑗 = 𝐴ℬ[𝑢, 0]𝑇 , sendo 𝑢 ∈ R𝑟−1.

Observe que:ℎ𝑖𝑘≥ ℎ𝑗, para 𝑘 = 1, . . . , 𝑟 − 1. (5.2.17)

Além disso, ‖𝑢‖= ‖𝐴−1ℬ 𝐴𝑗‖. Seja 𝑑1/2

𝑜 = min{𝑑1/2𝑖1 , . . . , 𝑑

1/2𝑖𝑟−1}, então se ℎ𝑜 = 𝑑1/2

𝑜 ‖𝐴𝑜‖tem-se que:

ℎ𝑜 ≥ ℎ𝑏𝑟−1 . (5.2.18)

Usando (5.2.17) e (5.2.18), tem-se ℎ𝑜 ≥ ℎ𝑗, logo;

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ = 𝑑1/2𝑗

˜

𝑟−1∑𝑘=1

𝑑−1𝑖𝑘

𝑢2𝑘

¸1/2

≤ 𝑑1/2𝑗 max{𝑑−1/2

𝑖1 , . . . , 𝑑−1/2𝑖𝑟−1 }‖𝑢‖

≤𝑑

1/2𝑗 ‖𝐴𝑗‖‖𝐴𝑜‖𝑑

1/2𝑜 ‖𝐴𝑜‖

‖𝐴−1ℬ ‖

= ℎ𝑗

ℎ𝑜

‖𝐴𝑜‖‖𝐴−1ℬ ‖

≤?

𝑚‖𝐴−1ℬ ‖.

(5.2.19)

Assim, de (5.2.13), (5.2.16) e (5.2.19) tem-se que

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖≤ 𝐾 para todo 𝑗 = 1, . . . , 𝑛.

Logo, ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2𝐹 =

𝑛∑𝑗=1

𝑑𝑗‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖2≤ 𝑛𝐾2 e, portanto:

‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖≤ ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖𝐹≤?

𝑛𝐾. (5.2.20)

Seja 𝜆max = 𝜆max`

𝐼𝑚 + WW𝑇˘

= 𝜆max`

𝐼𝑛−𝑚 + W𝑇 W˘

, logo

𝜆max = 𝜆max

𝐼𝑚 +´

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩

¯´

𝐷1/2𝒩 𝐴𝑇

𝒩 𝐴−𝑇ℬ 𝐷

−1/2ℬ

¯ı

= 𝜆max

𝐼𝑚 + 𝐷−1/2ℬ 𝐴−1

ℬ`

𝐴𝒩 𝐷𝒩 𝐴𝑇𝒩˘

𝐴−𝑇ℬ 𝐷

−1/2ℬ

ı

= 𝜆max

𝐷−1/2ℬ 𝐴−1

ℬ`

𝐴ℬ𝐷ℬ𝐴𝑇ℬ + 𝐴𝒩 𝐷𝒩 𝐴𝑇

𝒩˘

𝐴−𝑇ℬ 𝐷

−1/2ℬ

ı

= 𝜆max

𝐷−1/2ℬ 𝐴−1

ℬ`

𝐴𝐷𝐴𝑇˘

𝐴−𝑇ℬ 𝐷

−1/2ℬ

ı

= 𝜆max

”´

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2¯´

𝐷1/2𝐴𝑇 𝐴−𝑇ℬ 𝐷

−1/2ℬ

¯ı

= ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2.

(5.2.21)

Page 69: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 69

Finalmente, de (5.2.20) e (5.2.21), tem-se: 𝜆max ≤ 𝑛𝐾2.

Por outro lado, vimos em (5.2.1) que 𝜆min ≥ 1 e, por conseguinte, 𝜅 = 𝜆max

𝜆min≤ 𝑛𝐾2.

Pela Proposição 5.2.1, a abordagem 𝑃𝑆1 procura minimizar o número de condição 𝜅. Além disso,no Teorema 5.2.2 foi provado que este número é limitado por uma quantidade que dependeapenas dos dados do problema de programação linear e não da iteração do MPI primal-dualcomo acontece quando os sistemas lineares usados para encontrar a direção de busca não sãoprecondicionados.

5.3 Abordagem 𝑃𝑆2

Esta abordagem usa a ordenação não crescente dos valores ℎ𝑖 = 𝑑1/2𝑖 ‖𝐴𝑖‖ dada na primeira

abordagem 𝑃𝑆1 com um critério adicional, uma reordenação dentro de grupos de acordo coma esparsidade da matriz 𝐴. Esta abordagem baseia-se no trabalho de Milan et al. (2015),neste artigo estuda-se uma extensão do trabalho de Monteiro et al. (2004). Uma adaptação doTeorema 2 de Milan et al. (2015) é apresentada no Teorema 5.3.2, este teorema é a justificativateórica da abordagem 𝑃𝑆2. Adicionalmente, observou-se que neste caso é necessário um balançoentre esparsidade e bom condicionamento, para isso, apresenta-se um resultado teórico, veja aProposição 5.3.3, que permite um equilíbrio entre estes dois requisitos.

Suponha que após uma permutação de índices, tem-se: ℎ1 ≥ ℎ2 ≥ . . . ≥ ℎ𝑛, separe os elementosℎ1, ℎ2, . . . , ℎ𝑛 em 𝑘 grupos 𝐺1, 𝐺2, . . . , 𝐺𝑘 da seguinte maneira:

ℎ1 ≥ ℎ2 ≥ ℎ3,≥ . . .looooooooooomooooooooooon

𝐺1

ℎℓ ≥ ℎℓ+1 . . .loooooomoooooon

𝐺2

≥ . . . ≥ ℎ𝑖−1 ≥ ℎ𝑖 ≥ . . . ≥ ℎ𝑚loooooooooooomoooooooooooon

𝐺𝑝

≥ ℎ𝑚+1 ≥ . . . . . . ≥ ℎ𝑛−1 ≥ ℎ𝑛,looooooooomooooooooon

𝐺𝑘

isto é, para cada 𝑝 = 1 . . . , 𝑘 − 1, a desigualdade seguinte é satisfeita.

min{ℎ𝑖 : ℎ𝑖 ∈ 𝐺𝑝} ≥ max{ℎ𝑖 : ℎ𝑖 ∈ 𝐺𝑝+1} . (5.3.1)

É claro que com a condição dada em (5.3.1) existem muitas maneiras de obter grupos 𝐺𝑝 comdiferentes cardinalidades. O Teorema 5.3.2 é válido para qualquer escolha destes grupos desdeque satisfaçam a condição dada em (5.3.1). Nossa contribuição nesta abordagem é justamenteuma escolha adequada destes grupos, veja o Algoritmo 5 e a Proposição 5.3.3.

Para cada 𝑖 = 1, . . . 𝑘, denota-se por 𝑛𝑖 = |𝐺𝑖| e 𝐽𝑖 = {𝑗 : ℎ𝑗 ∈ 𝐺𝑖} a cardinalidade e o conjuntode índices de cada grupo 𝐺𝑖, respectivamente. Além disso, ordenam-se as colunas da matriz derestrições do problema de Programação Linear (PL) 𝐴, de tal forma que:

𝐴𝑖 com 𝑖 ∈ 𝐽𝑡 precede às colunas 𝐴𝑖 com 𝑖 ∈ 𝐽ℓ quando 𝑡 ≤ ℓ.

Page 70: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 70

Veja a Figura 1 a seguir.

∗ 0 0 0 ∗ 0 0 0 0 0 0 ∗ 0 0 0 0 0 0 0 ∗ 0 0 0 ∗ 0 0 0

0 0 ∗ 0 0 ∗ 0 0 0 0 ∗ 0 0 0 0 ∗ 0 0 0 0 0 ∗ 0 ∗ 0 0 0

0 0 0 0 0 ∗ ∗ 0 0 ∗ 0 0 0 0 0 ∗ 0 0 ∗ ∗ 0 0 0 0 0 0 ∗

0 0 0 ∗ ∗ 0 0 0 0 0 0 0 0 0 ∗ 0 0 0 0 0 ∗ 0 ∗ ∗ 0 ∗ 0

0 ∗ ∗ 0 ∗ ∗ 0 0 0 0 0 0 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 0 0 ∗

0 0 0 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 0 ∗ 0 0 0 ∗ 0 0 0 0 0 0

∗ 0 0 0 0 0 ∗ 0 0 ∗ 0 ∗ 0 ∗ 0 0 0 0 0 ∗ 0 ∗ 0 0 0 0 ∗

0 0 ∗ 0 ∗ 0 0 0 0 0 0 0 0 0 0 0 ∗ 0 ∗ 0 ∗ 0 0 0 0 0 0

0 0 0 0 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 ∗ 0 ∗ 0 0 0 0 0 0 0 0

0 0 0 0 ∗ ∗ 0 0 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 ∗ 0 0 0 0 0 0

0 0 0 0 ∗ 0 0 0 0 ∗ 0 0 0 0 0 0 0 0 0 ∗ 0 ∗ 0 0 0 0 ∗

0 0 0 0 0 ∗ 0 0 0 0 0 0 0 0 0 ∗ 0 ∗ 0 ∗ 0 0 0 ∗ 0 0 0

0 0 ∗ 0 ∗ 0 0 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 ∗ 0 ∗ 0 0 ∗ 0 ∗

Ai : i ∈ J1 Ai : i ∈ J2 Ai : i ∈ J3 Ai : i ∈ J4 Ai : i ∈ J5 Ai : i ∈ J6

Figura 1 – Colunas de uma matriz dividida em grupos.

A ordem das colunas dentro de cada grupo {𝐴𝑗 : 𝑗 ∈ 𝐽𝑡} pode ser arbitrária. Neste trabalhoé adotado um critério que dá prioridade às colunas mais esparsas usando o método Heapsort,veja Bentley (2000), com o objetivo de que a fatoração LU encontre colunas linearmenteindependentes com menor preenchimento possível. Assim, para cada 𝑡 = 1, . . . , 𝑘 é feita umapermutação do conjunto de índices 𝐽𝑡 para obter 𝜎𝑡 e desta maneira obtermos os grupos decolunas {𝐴𝑗 : 𝑗 ∈ 𝜎𝑡}, veja a Figura 2.

Page 71: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 71

0 ∗ 0 0 0 0 0 ∗ 0 0 0 ∗ 0 0 0 0 0 0 0 0 0 0 ∗ 0 0 ∗ 0

0 0 ∗ 0 0 0 ∗ 0 ∗ 0 0 0 0 0 0 ∗ 0 0 0 0 0 ∗ 0 0 0 ∗ 0

0 0 0 0 0 ∗ ∗ 0 0 0 0 0 ∗ 0 0 ∗ 0 0 ∗ 0 0 0 ∗ 0 0 0 ∗

0 0 0 ∗ 0 0 0 ∗ 0 0 0 0 0 ∗ 0 0 ∗ 0 0 0 ∗ 0 0 ∗ 0 ∗ 0

∗ 0 ∗ 0 0 0 ∗ ∗ 0 0 0 0 0 0 ∗ 0 0 0 0 ∗ 0 0 0 0 0 0 ∗

0 0 0 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 0 0 0 0 ∗ ∗ 0 0 0 0 0 0

0 ∗ 0 0 0 ∗ 0 0 0 0 0 ∗ ∗ 0 ∗ 0 0 0 0 0 0 ∗ ∗ 0 0 0 ∗

0 0 ∗ 0 0 0 0 ∗ 0 0 0 0 0 0 0 0 0 0 ∗ ∗ ∗ 0 0 0 0 0 0

0 0 0 0 0 0 ∗ 0 0 0 ∗ 0 0 0 0 0 0 0 ∗ ∗ 0 0 0 0 0 0 0

0 0 0 0 0 0 ∗ ∗ 0 ∗ 0 0 ∗ 0 0 0 0 0 0 0 ∗ 0 0 0 0 0 0

0 0 0 0 0 0 0 ∗ 0 0 0 0 ∗ 0 0 0 0 0 0 0 0 ∗ ∗ 0 0 0 ∗

0 0 0 0 0 0 ∗ 0 0 0 0 0 0 0 0 ∗ 0 ∗ 0 0 0 0 ∗ 0 0 ∗ 0

0 0 ∗ 0 0 0 0 ∗ 0 0 ∗ ∗ 0 0 0 0 0 0 0 0 0 ∗ ∗ 0 ∗ 0 ∗

Ai : i ∈ σ1 Ai : i ∈ σ2 Ai : i ∈ σ3 Ai : i ∈ σ4 Ai : i ∈ σ4 Ai : i ∈ σ4

Figura 2 – Colunas ordenadas de acordo com a esparsidade dentro de cada grupo.

O Algoritmo 4 descreve os passos desta nova abordagem.

Algoritmo 4: Encontrar os índices básicos do PS usando gruposEntrada: A matriz de restrições 𝐴 de posto 𝑚 e a matriz diagonal 𝐷.Saída: Os conjuntos de índices básicos ℬ = {𝑖1, 𝑖2, . . . , 𝑖𝑚} e não básicos

𝒩 = {1, . . . , 𝑛}∖ℬ.1 início2 Para 𝑖 = 1, . . . , 𝑛, calcule ℎ𝑖 = 𝑑

1/2𝑖 ‖𝐴𝑖‖ e reordene estes valores tal que:

ℎ1 ≥ ℎ2 ≥ · · · ≥ ℎ𝑚 ≥ · · · ≥ ℎ𝑛

3 Separe ℎ1, ℎ2, . . . , ℎ𝑛 em grupos 𝐺1, 𝐺2, . . . 𝐺𝑘 com a condição:min{ℎ𝑖 : ℎ𝑖 ∈ 𝐺𝑗} ≥ max{ℎ𝑖 : ℎ𝑖 ∈ 𝐺𝑗+1} , para 𝑗 = 1, . . . 𝑘 − 1

4 Defina 𝐽𝑖 = {𝑗 : ℎ𝑗 ∈ 𝐺𝑖} e 𝑛𝑖 = |𝐺𝑖|, para 𝑖 = 1 . . . , 𝑘

5 Para cada 𝑖 = 1, . . . , 𝑘, reordene {𝐴𝑗 : 𝑗 ∈ 𝐽𝑖} dando prioridade às colunas maisesparsas e armazene a permutação 𝜎𝑖 de 𝐽𝑖

6 Considere a permutação 𝜎 = p𝜎1, 𝜎2, . . . , 𝜎𝑘q de {1, . . . , 𝑛}7 Defina ℬ = ∅, ℓ = 1, 𝑘 = 08 enquanto |ℬ|< 𝑚 faça9 se 𝐴𝜎(ℓ) é linearmente independente a {𝐴𝑗 : 𝑗 ∈ ℬ} então

10 ℬ = ℬ ∪ {𝜎(ℓ)}, 𝑘 = 𝑘 + 1, 𝑖𝑘 = 𝜎(ℓ)11 fim12 ℓ = ℓ + 113 fim14 fim

Page 72: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 72

No Algoritmo 4, obtém-se os índices básicos ℬ = {𝑖1, 𝑖2, . . . , 𝑖𝑚} e não básicos 𝒩 ={1, 2, . . . , 𝑛}∖ℬ. Além disso, como no caso da primeira abordagem 𝑃𝑆1, 𝐷ℬ é uma matrizdiagonal de dimensão 𝑚×𝑚 com entradas 𝑑𝑖 : 𝑖 ∈ ℬ e 𝐷𝒩 é uma matriz diagonal de dimensão(𝑛−𝑚)× (𝑛−𝑚) com entradas 𝑑𝑖 : 𝑖 ∈ 𝒩 , assim como, 𝐴ℬ e 𝐴𝒩 são matrizes de dimensão𝑚×𝑚 e 𝑚× 𝑛−𝑚 cujas colunas têm índices pertencentes a ℬ e 𝒩 , respectivamente.

O seguinte lema permite uma prova do Teorema 5.3.2 que é o fundamento teórico da nossasegunda proposta.

Lema 5.3.1. Suponha que os conjuntos de índices ℬ e 𝒩 foram obtidos pelo Algoritmo 4 eque a matriz 𝐴 é escalada de tal forma que cada coluna tenha norma euclidiana limitada por?

𝑚. Se 𝑖𝑚 ∈ 𝐽𝑝, com 1 ≤ 𝑝 ≤ 𝑘, defina 𝐶(𝑝) = max{𝑐1, . . . , 𝑐𝑝} onde

𝑐𝑖 = max{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}min{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}

, 𝑖 = 1, . . . 𝑝,

então:

1. 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖≤?

𝑚‖𝐴−1ℬ ‖ para 𝑗 ∈ ℬ ∪ 𝐽𝑝+1 ∪ . . . ∪ 𝐽𝑘;

2. 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖≤ 𝐶(𝑝)?

𝑚‖𝐴−1ℬ ‖ para 𝑗 ∈ {1, . . . , 𝑛}∖pℬ ∪ 𝐽𝑝+1 ∪ . . . ∪ 𝐽𝑘q.

Demonstração. 1. Se 𝑗 ∈ ℬ, então 𝐴−1ℬ 𝐴𝑗 = 𝑒𝑗 , onde 𝑒𝑗 é 𝑗-ésimo vetor canônico de R𝑚, logo

𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝑗 = 𝑑−1/2𝑗 𝑒𝑗, assim:

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖= 1. (5.3.2)

Por outro lado, se 𝑗 ∈ 𝐽𝑝+1 ∪ . . . ∪ 𝐽𝑘, então temos que:

ℎ𝑖ℓ> ℎ𝑗 para todo 𝑖ℓ ∈ ℬ. (5.3.3)

Seja 𝑑1/2𝑜 = min{𝑑1/2

𝑖ℓ: 𝑖ℓ ∈ ℬ}, então se ℎ𝑜 = 𝑑1/2

𝑜 ‖𝐴𝑜‖ tem-se que:

ℎ𝑜 ≥ ℎ𝑖𝑚 . (5.3.4)

Usando (5.3.3) e (5.3.4) tem-se ℎ𝑜 ≥ ℎ𝑗. Logo,

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ ≤𝑑

1/2𝑗 ‖𝐴𝑗‖

min{𝑑1/2𝑖ℓ

: 𝑖ℓ ∈ ℬ}‖𝐴−1

ℬ ‖

= ℎ𝑗‖𝐴𝑜‖𝑑

1/2𝑜 ‖𝐴𝑜‖

‖𝐴−1ℬ ‖

≤ ℎ𝑗

ℎ𝑜

?𝑚‖𝐴−1

ℬ ‖

≤?

𝑚‖𝐴−1ℬ ‖.

Page 73: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 73

2. Se 𝑗 ∈ {1, . . . 𝑛}∖pℬ ∪ 𝐽𝑝+1 ∪ . . . ∪ 𝐽𝑘q , dado que 𝑗 /∈ ℬ, então 𝑗 = 𝑖𝑚, assim sãoconsiderados dois casos:

Caso 2.1. 𝑗 > 𝑖𝑚, neste caso 𝑗 ∈ 𝐽𝑝.

Dado que 𝑖𝑚 ∈ 𝐽𝑝, observa-se que ℎ𝑖𝑚 ≥ min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑝}. Por outro lado, suponha que𝑑1/2

𝑜 = min{𝑑1/2𝑖ℓ

: 𝑖ℓ ∈ ℬ} e defina ℎ𝑜 = 𝑑1/2𝑜 ‖𝐴𝑜‖, logo ℎ𝑜 ≥ ℎ𝑖𝑚 . Assim, se satisfaz que

1ℎ𝑜

≤ 1ℎ𝑖𝑚

≤ 1min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑝}

, e como consequência tem-se:

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ ≤𝑑

1/2𝑗 ‖𝐴𝑗‖

min{𝑑1/2𝑖ℓ

: 𝑖ℓ ∈ ℬ}‖𝐴−1

ℬ ‖

= ℎ𝑗‖𝐴𝑜‖𝑑

1/2𝑜 ‖𝐴𝑜‖

‖𝐴−1ℬ ‖

= ℎ𝑗

ℎ𝑜

‖𝐴𝑜‖‖𝐴−1ℬ ‖

≤ max{ℎ𝑙 : 𝑙 ∈ 𝐽𝑝}min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑝}

?𝑚‖𝐴−1

ℬ ‖

= 𝑐𝑝

?𝑚‖𝐴−1

ℬ ‖

≤ 𝐶(𝑝)?

𝑚‖𝐴−1ℬ ‖.

Caso 2.2. 𝑗 < 𝑖𝑚, neste caso, 𝑗 ∈ 𝐽𝑠 para algum 𝑠 ∈ {1, . . . , 𝑝}.

Dado que 𝑗 /∈ ℬ, de acordo com o Algoritmo 4, a coluna 𝐴𝑗 é combinação linear de 𝑟

colunas da base 𝐴𝑏1 , 𝐴𝑏2 , . . . , 𝐴𝑏𝑟 previamente detectadas, ou seja:

𝐴𝑗 = 𝑢1𝐴𝑖1 + 𝑢2𝐴𝑖2 + . . . + 𝑢𝑟𝐴𝑖𝑟 .

Matricialmente,

𝐴𝑗 = 𝐴ℬ

˜

𝑢

0

¸

, 𝑢 ∈ R𝑟 ou 𝐴−1ℬ 𝐴𝑗 =

˜

𝑢

0

¸

.

Neste caso, para todo ℓ = 1, . . . , 𝑟, é satisfeita ℎ𝑖ℓ≥ ℎ𝑗. Em particular, ℎ𝑖𝑟 ≥ ℎ𝑗, isto é,

𝑖𝑟 ∈ 𝐽𝑡, onde 1 ≤ 𝑡 ≤ 𝑠. Assim:

ℎ𝑖𝑟 ≥ min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑡} ≥ min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑠}. (5.3.5)

Seja 𝑑1/2𝑜 = min{𝑑1/2

𝑖ℓ: ℓ = 1, . . . , 𝑟}, se ℎ𝑜 = 𝑑1/2

𝑜 ‖𝐴𝑜‖, então

ℎ𝑜 ≥ ℎ𝑖𝑟 , (5.3.6)

portanto, usando (5.3.5) e (5.3.6), tem-se:

1ℎ𝑜

≤ 1ℎ𝑖𝑟

≤ 1min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑠}

.

Page 74: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 74

Assim, dado que ‖𝑢‖= ‖𝐴−1ℬ 𝐴𝑗‖ tem-se:

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ = 𝑑1/2𝑗

˜

𝑟∑ℓ=1

𝑑−1𝑖ℓ

𝑢2ℓ

¸1/2

≤ 𝑑1/2𝑗 max{𝑑−1/2

𝑖1 , . . . , 𝑑−1/2𝑖𝑟}‖𝑢‖

≤𝑑

1/2𝑗 ‖𝐴𝑗‖‖𝐴𝑜‖𝑑

1/2𝑜 ‖𝐴𝑜‖

‖𝐴−1ℬ ‖

≤ ℎ𝑗

ℎ𝑜

?𝑚‖𝐴−1

ℬ ‖

≤ max{ℎ𝑙 : 𝑙 ∈ 𝐽𝑠}min{ℎ𝑙 : 𝑙 ∈ 𝐽𝑠}

?𝑚‖𝐴−1

ℬ ‖

= 𝑐𝑠

?𝑚‖𝐴−1

ℬ ‖

≤ 𝐶(𝑝)?

𝑚‖𝐴−1ℬ ‖.

No teorema a seguir apresenta-se uma justificativa do limitante superior da matrizprecondicionada pelo PS usando esta abordagem 𝑃𝑆2. Assim como na abordagem anterior, 𝜅

denotará o número de condição de 𝐼𝑚 + WW𝑇 ou 𝐼𝑛−𝑚 + W𝑇 W, isto é, 𝜅 = 𝜅`

𝐼𝑚 + WW𝑇˘

=𝜅`

𝐼𝑛−𝑚 + W𝑇 W˘

. Este Teorema está baseado no Lema 5.3.1.

Teorema 5.3.2. Suponha que os índices básicos ℬ e não básicos 𝒩 sejam obtidos peloAlgoritmo 4 e que a matriz 𝐴 é escalada de tal forma que cada coluna tenha norma euclidianalimitada por

?𝑚. Se 𝐶 = max{𝑐1, 𝑐2, . . . , 𝑐𝑘}, onde 𝑐𝑖 = max{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}

min{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}, 𝑖 = 1, . . . 𝑘 e

𝐾 = max{1,?

𝑚‖𝐴−1ℬ ‖}. Então:

𝜅 ≤ 𝐶2𝑛𝐾2.

Demonstração. Dado 1 ≤ 𝑝 ≤ 𝑘, tem-se que 𝐶 ≥ 𝐶(𝑝) ≥ 1, assim de acordo com o Lema 5.3.1,para todo 𝑗 ∈ {1, . . . , 𝑛} se satisfaz: 𝑑

1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖≤ 𝐶𝐾, logo:

‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2𝐹 =

𝑛∑𝑗=1

𝑑𝑗‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖2≤ 𝑛𝐶2𝐾2.

Dado que ‖.‖≤ ‖.‖𝐹 , tem-se:

‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2≤ ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2𝐹≤ 𝑛𝐶2𝐾2. (5.3.7)

Por (5.3.7) e pela equação (5.2.21), tem-se 𝜆max ≤ 𝑛𝐶2𝐾2. Além disso, desde que 𝜆min ≥ 1,

conclui-se que 𝜅 = 𝜆max

𝜆min≤ 𝑛𝐶2𝐾2.

Page 75: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 75

Observe que se 𝑘 = 𝑛 no Teorema 5.3.2, 𝐶 = 1, isto acontece porque nesse caso cada grupo temcardinalidade 1 e daí 𝑐𝑖 = 1 para todo 𝑖 = 1, . . . , 𝑘. Logo, este teorema pode ser consideradouma generalização do Teorema 5.2.2 da abordagem 𝑃𝑆1.

Para evitar que o limitante superior do número de condição que aparece no Teorema 5.3.2 setorne um número muito grande procuram-se grupos tais que 𝐶 possa ser controlado. Para talobjetivo, considere o seguinte exemplo:

Exemplo 1. Suponha 𝑛 = 10 então consideramos a ordenação não crescente dos ℎ𝑖 = 𝑑1/2𝑖 ‖𝐴𝑖‖:

ℎ𝜎(1) ≥ ℎ𝜎(2) ≥ ℎ𝜎(3) ≥ ℎ𝜎(4) ≥ ℎ𝜎(5) ≥ ℎ𝜎(6) ≥ ℎ𝜎(7) ≥ ℎ𝜎(8) ≥ ℎ𝜎(9) ≥ ℎ𝜎(10),

onde 𝜎 : {1, 2, . . . , 10} → {1, 2, . . . , 10}. Para simplificar a notação vamos considerar 𝜎 = 𝑖𝑑,

logo tem-se,ℎ1 ≥ ℎ2 ≥ ℎ3 ≥ ℎ4 ≥ ℎ5 ≥ ℎ6 ≥ ℎ7 ≥ ℎ8 ≥ ℎ9 ≥ ℎ10.

Definimos os quocientes consecutivos 𝑞𝑖 = ℎ𝑖

ℎ𝑖+1, para 𝑖 = 1 . . . , 9. Note que 𝑞𝑖 ≥ 1.

Suponha que 𝑞4 = ℎ4

ℎ5> 1, 005, 𝑞7 > 1, 005 e 𝑞𝑖 ≤ 1, 005 para 𝑖 = 4 e 𝑖 = 7, então propomos os

seguintes grupos:

𝐺1 = {ℎ1, ℎ2, ℎ3, ℎ4}, 𝐺2 = {ℎ5, ℎ6, ℎ7} e 𝐺3 = {ℎ8, ℎ9, ℎ10}.

Observe que usamos os maiores quocientes 𝑞𝑖 para determinar os grupos. Por exemplo, fizemosa escolha do grupo 𝐺1 desta maneira pois se acrescentarmos ℎ5, isto é, se consideramos𝐺′

1 = {ℎ1, ℎ2, ℎ3, ℎ4, ℎ5}, temos que:

𝑐′1 = ℎ1

ℎ5= ℎ1

ℎ2

ℎ2

ℎ3

ℎ3

ℎ4looomooon

𝑐1

ℎ4

ℎ5loomoon

𝑞4

> 𝑐1,

lembre que o quociente 𝑞4 é um dos maiores e faz com que 𝑐′1 > 𝑐1.

Por outro lado, observamos que se 𝐺1 for substituído por 𝐺′′1 = {ℎ1, ℎ2, ℎ3}, então:

𝑐1 = ℎ1

ℎ4= ℎ1

ℎ2

ℎ2

ℎ3loomoon

𝑐′′1

ℎ3

ℎ4loomoon

𝑞3

> 𝑐′′1,

embora 𝑐1 > 𝑐′′1 pois 𝑞3 > 1, observamos que 𝑐1 não será muito maior que 𝑐′′

1 pois 𝑞3 foi consideradomenor que 1, 005. Além disso, para maior cardinalidade dos conjuntos 𝐺𝑖 corresponde maiorliberdade para reordenar as colunas de 𝐴 dentro de cada grupo.

Por outro lado, observe que 𝑐1 ≤ 1, 0053, pois

𝑐1 = ℎ1

ℎ4= ℎ1

ℎ2

ℎ2

ℎ3

ℎ3

ℎ4= 𝑞1𝑞2𝑞3 ≤ (1, 005)(1, 005)(1, 005) ≤ (1, 005)3.

Page 76: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 76

Além disso, 𝑐2 = ℎ5

ℎ7= 𝑞5𝑞6 ≤ (1, 005)2 e 𝑐3 = ℎ8

ℎ10= 𝑞8𝑞9 ≤ (1, 005)2, logo, neste exemplo

𝐶 = max{𝑐1, 𝑐2, 𝑐3} = 𝑐1 ≤ (1, 005)3, (5.3.8)

onde o expoente 3 de 1, 005 em (5.3.8) deve-se à maior cardinalidade dos grupos, neste caso,deve-se à cardinalidade de 𝐺1.

Este exemplo sugere separar em grupos diferentes aos ℎ′𝑖𝑠 consecutivos correspondentes aos

maiores valores de 𝑞𝑖. Considere o caso geral, suponha que 𝑞𝛿1 , 𝑞𝛿2 , . . . , 𝑞𝛿𝑘, sejam os maiores

quocientes 𝑞𝑖 = ℎ𝑖

ℎ𝑖+1, onde 𝑖 = 1, . . . 𝑛−1. Por exemplo, vamos supor que 𝑞𝛿𝑖

> 𝐿 para 𝑖 = 1, . . . 𝑘

e 𝑞𝑖 ≤ 𝐿, para 𝑖 ∈ {1, 2, . . . , 𝑛}∖{𝛿1, 𝛿2, . . . , 𝛿𝑘}. Definimos 𝛿0 = 1 e para 𝑖 = 1, . . . , 𝑘 temos osconjuntos de índices 𝐽𝑖 = {𝛿𝑖−1 ≤ ℓ ≤ 𝛿𝑖}, logo consideramos os seguintes grupos:

𝐺𝑖 = {ℎℓ : ℓ ∈ 𝐽𝑖, } para 𝑖 = 1, . . . , 𝑘. Além disso 𝑛𝑖 = |𝐺𝑖|.

Assim:𝑐𝑖 = ℎ𝛿𝑖−1

ℎ𝛿𝑖

= ℎ𝛿𝑖−1

ℎ𝛿𝑖−1+1loomoon

≤𝐿

ℎ𝛿(𝑖−1)+1

ℎ𝛿(𝑖−1)+2looomooon

≤𝐿

ℎ𝛿𝑖−1+2

ℎ𝛿𝑖−1+3loomoon

≤𝐿

. . .ℎ𝛿𝑖−1

ℎ𝛿𝑖loomoon

≤𝐿

≤ 𝐿𝑛𝑖−1 . (5.3.9)

A vantagem da separação em grupos 𝐺𝑖 sugerida pelos quocientes 𝑞𝑖 que superam um valor 𝐿

próximo de 1, é o fato de permitir um controle sobre o valor de 𝐶 que aparece no Teorema 5.3.2.

Para ver isto, suponha que 𝐶 > 1 seja um valor fixado, define-se 𝑀𝐶 = 1 + ln 𝐶

ln 𝐿. Se 𝑛𝑖 ≤𝑀𝐶 ,

então, usando (5.3.9), tem-se:

𝑐𝑖 ≤ 𝐿𝑛𝑖−1 ≤ 𝐿𝑀��−1 = 𝐿ln ��ln 𝐿 = 𝐶 . (5.3.10)

Dado que no Teorema 5.3.2, 𝐶 = max{𝑐1, 𝑐2, . . . 𝑐𝑘}, pela desigualdade dada em (5.3.10) temosque 𝐶 ≤ 𝐶, logo 𝜅 ≤ 𝑛𝐶2𝐾2 ≤ 𝑛𝐶2𝐾2. Observe que este limitante 𝐶 não depende da quantidade𝑘 de grupos 𝐺𝑖 : 𝑖 = 1, . . . , 𝑘 e sim da cardinalidade de cada um destes grupos. Resumimos estasobservações na Proposição 5.3.3 que é apresentada mais adiante.

A seguir, apresenta-se um algoritmo para encontrar conjuntos de índices 𝐽𝑖 para determinar os

Page 77: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 77

grupos 𝐺𝑖 = {ℎ𝑖 : 𝑖 ∈ 𝐽𝑖} para 𝑖 = 1, . . . , 𝑘 tal que 𝑛𝑖 = |𝐺𝑖|≤𝑀𝐶 .

Algoritmo 5: Determinar conjuntos de índices 𝐽𝑖.Entrada: A matriz de restrições 𝐴 de posto 𝑚, a matriz diagonal 𝐷, os parâmetros

𝐶 > 1 e 𝐿 > 1.Saída: Os conjuntos de índices 𝐽𝑖.

1 Calcule 𝑀𝐶 = 1 + ln 𝐶

ln 𝐿e ℎ𝑖 = 𝑑

1/2𝑖 ‖𝐴𝑖‖, 𝑖 = 1, . . . 𝑛;

2 Ordene os ℎ𝑖 tal que: ℎ𝜎(1) ≥ ℎ𝜎(2) ≥ · · · ≥ ℎ𝜎(𝑚) ≥ · · · ≥ ℎ𝜎(𝑛);3 𝐼 r0s = 0, 𝑟 = 1;4 para 𝑖← 1 até 𝑛− 1 faça5 𝑞𝑖 = ℎ𝜎(𝑖)/ℎ𝜎(𝑖+1);6 se 𝑞𝑖 > 𝐿 então7 𝑇 [𝑟] = 𝑖− 𝐼[𝑟 − 1];8 se 𝑇 [𝑟] ≤𝑀𝐶 então9 𝐼[𝑟] = 𝑖;

10 𝐽𝑟 = {𝑗 : 𝐼[𝑟 − 1] < 𝑗 ≤ 𝐼[𝑟]};11 𝑟 = 𝑟 + 1;12 senão13 𝑡 = 𝑇 [𝑟]/𝑀𝐶 , 𝑐 = 0;14 para ℓ← 𝑟 até 𝑟 + 𝑡− 1 faça15 𝐼[ℓ] = 𝐼[𝑟 − 1] + p𝑐 + 1q 𝑀𝐶 ;16 𝐽ℓ = {𝑗 : 𝐼[ℓ− 1] < 𝑗 ≤ 𝐼[ℓ]}, 𝑐 = 𝑐 + 1;17 fim18 𝐼[𝑟 + 𝑡] = 𝑖;19 𝐽𝑟+𝑡 = {𝑗 : 𝐼[ℓ] < 𝑗 ≤ 𝐼[𝑟 + 𝑡]}, 𝑟 = 𝑟 + 𝑡 + 1;20 fim21 fim22 fim

No Algoritmo 5, usa-se o vetor 𝐼 para armazenar os índices limitantes de cada grupo e o vetor 𝑇

para determinar o tamanho de cada um deles. O limitante de cada grupo é dado pela condição𝑞𝑖 > 𝐿 desde que o referido grupo tenha cardinalidade menor do que 𝑀𝐶 . Caso contrário,na estrutura de controle para (interna) dividi-se tal grupo em subgrupos com cardinalidadesmenores do que 𝑀𝐶 . Fizemos esta escolha porque o limitante 𝐶 não depende quantidade degrupos 𝐺𝑖 e sim da cardinalidade de cada um deles. Além disso, observamos que se 𝐽𝑖 ⊂ 𝐽𝑖,então 𝑐𝑖 ≤ 𝑐𝑖, onde:

𝑐𝑖 = 𝑚𝑎𝑥{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}𝑚𝑖𝑛{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}

e 𝑐𝑖 = 𝑚𝑎𝑥{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}𝑚𝑖𝑛{ℎ𝑗 : 𝑗 ∈ 𝐽𝑖}

,

Page 78: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 78

ou seja, ainda existe o controle sobre 𝐶.

Observe também que 𝑀𝐶 := 1 + ln 𝐶

ln 𝐿é diretamente proporcional ao valor e 𝐶, isto é, quanto

maior valor de 𝐶, maior quantidade de elementos 𝑀𝐶 em cada grupo 𝐽𝑖, isso por sua vez implicamaior liberdade para o reordenamento de acordo com a esparsidade das colunas de 𝐴.

Proposição 5.3.3. Considere os parâmetros 𝐶 > 1 e 𝐿 > 1, suponha que os conjuntos deíndices 𝐽𝑖 para 𝑖 = 1, . . . , 𝑘 foram obtidos pelo Algoritmo 5. Então:

𝜅 ≤ 𝑛𝐶2𝐾2.

Demonstração. De acordo ao Algoritmo 5, para 𝑖 = 1, . . . , 𝑘 a cardinalidade de cada conjunto

de índices 𝐽𝑖 = {𝑗 : 𝐼[𝑖− 1] < 𝑗 ≤ 𝐼[𝑖]} é no máximo 𝑀𝐶 , onde 𝑀𝐶 = 1 + ln 𝐶

ln 𝐿. Por outro lado,

dado que 𝑐𝑖 = max {ℎ𝑗 : 𝑗 ∈ 𝐽𝑖} /min {ℎ𝑗 : 𝑗 ∈ 𝐽𝑖} tem-se que

𝑐𝑖 = ℎ𝐼[𝑖−1]+1

ℎ𝐼[𝑖]= ℎ𝐼[𝑖−1]+1

ℎ𝐼[𝑖−1]+2

ℎ𝐼[𝑖−1]+2

ℎ𝐼[𝑖−1]+3

ℎ𝐼[𝑖−1]+3

ℎ𝐼[𝑖−1]+4. . .

ℎ𝐼[𝑖]−1

ℎ𝐼[𝑖]loooooooooooooooooooooomoooooooooooooooooooooon

𝑀��−1 produtos menores o iguais a L

≤ 𝐿𝑀��−1 = 𝐿ln ��ln 𝐿 = 𝐶.

Logo, 𝐶 := max {𝑐1, 𝑐2, . . . , 𝑐𝑘} ≤ 𝐶. Pelo Teorema 5.3.2, 𝜅 ≤ 𝑛𝐶2𝐾2, assim:

𝜅 ≤ 𝐶2𝑛𝐾2.

Como esta escolha de grupos o limitante 𝐶 é um dado de entrada, é claro que os valores de 𝐶

devem ser pequenos para obter um bom precondicionamento. Por exemplo se 𝐿 = 1, 005 e𝐶 = 4, a cardinalidade máxima de cada grupo é 𝑀𝐶 = 277. Testes numéricos mostraram quevalores de 𝐶 superiores a 5 acarretam muitas iterações do método dos GCP.

5.4 Abordagem 𝑃𝑆3

5.4.1 Motivação

Em Oliveira e Sorensen (2005), é proposta uma ordenação de colunas básicas do PrecondicionadorSeparador (PS) considerando uma ordem crescente das normas ‖𝐴𝐷−1𝑒𝑗‖1, para todo 𝑗 =1, . . . , 𝑛. Esta abordagem foi melhorada em Velazco et al. (2011), onde foi considerada uma ordemcrescente de normas ‖𝐴𝐷−1𝑒𝑗‖ para todo 𝑗 = 1, . . . , 𝑛. Portanto, uma questão interessante éinvestigar o motivo que faz uma abordagem melhor que a outra. Para responder essa interrogaçãosão feitas as comparações em ordem não crescente com o objetivo de associar estas ordenações,com os resultados teóricos já obtidos. Além disso, é feita uma comparação com a abordagem𝑃𝑆1 que trabalha com uma ordem não crescente de ℎ𝑗 = 𝑑

1/2𝑗 ‖𝐴𝑗‖ para 𝑗 = 1, . . . , 𝑛.

Page 79: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 79

A ordem proposta em Oliveira e Sorensen (2005) é denotada por 𝑃𝑆𝐴, a proposta de Velazcoet al. (2011) é denotada por 𝑃𝑆𝑀 .

Abordagem 𝑃𝑆𝐴;

𝑑1

‖𝐴1‖1≥ 𝑑2

‖𝐴2‖1≥ . . . ≥ 𝑑𝑚

‖𝐴𝑚‖1≥ . . . ≥ 𝑑𝑛

‖𝐴𝑛‖1.

Abordagem 𝑃𝑆𝑀 ;

𝑑1

‖𝐴1‖≥ 𝑑2

‖𝐴2‖≥ . . . ≥ 𝑑𝑚

‖𝐴𝑚‖≥ . . . ≥ 𝑑𝑛

‖𝐴𝑛‖.

Abordagem 𝑃𝑆1;

𝑑1/21 ‖𝐴𝑗‖≥ 𝑑

1/22 ‖𝐴2‖≥ . . . ≥ 𝑑1/2

𝑚 ‖𝐴𝑚‖≥ . . . ≥ 𝑑1/2𝑛 ‖𝐴𝑛‖.

Nas ordenações apresentadas pode-se observar a influência tanto dos elementos da diagonalda matriz 𝐷 quanto da norma das colunas da matriz 𝐴. No código 𝑃𝐶𝑥, que é utilizado paraos testes computacionais, veja Czyzyk et al. (1996) e o Apêndice B.1, a matriz de restrições𝐴, foi escalada de tal forma que ‖𝐴𝑗‖≤

?𝑚, assim, o maior peso é dado pelos elementos da

matriz 𝐷. É importante destacar que o objetivo é minimizar 𝜆max = 𝜆max`

𝐼𝑚 + WW𝑇˘

=𝜆max

`

𝐼𝑛−𝑚 + W𝑇 W˘

. Pela equação dada em (5.2.21), temos que:

𝜆max = ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2=𝑛∑

𝑖=1𝑑𝑗‖𝐷−1/2

ℬ 𝐴−1ℬ 𝐴𝑗‖2,

o fato de que a norma-2 esteja relacionada com o cálculo do maior autovalor de uma matrizpode ser uma explicação do melhor desempenho do 𝑃𝑆𝑀 quando comparado com 𝑃𝑆𝐴.

Como foi mencionado, a estratégia para encontrar os índices básicos ℬ que irão determinar abase 𝐵 = 𝐴ℬ do PS pode demandar um preenchimento excessivo, principalmente em problemasde grande porte. Na abordagem 𝑃𝑆1 não foi considerado nenhum critério de esparsidade, apenasprocurou-se o bom condicionamento. Já na abordagem 𝑃𝑆2, após um ordenamento que procuraum bom condicionamento é permitida uma reordenação de acordo com esparsidade das colunasde 𝐴 dentro de grupos.

5.4.2 A ordenação nesta abordagem

A partir das observações apresentadas na seção anterior, surge a ideia de criar uma ordenaçãoque considere simultaneamente bom condicionamento e esparsidade. Para isso denote como

𝑛𝑛𝑧(𝐴𝑗)= número de elementos não nulos na coluna 𝐴𝑗 , para 𝑗 = 1, . . . , 𝑛, defina 𝑘𝑗 =𝑑

1/2𝑗

𝑛𝑛𝑧(𝐴𝑗)e faça uma ordenação não crescente dos 𝑘𝑗, ou seja, considere a ordenação;

Page 80: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 80

𝑘𝜎(1) ≥ 𝑘𝜎(2) ≥ . . . ≥ 𝑘𝜎(𝑚) ≥ . . . ≥ 𝑘𝜎(𝑛),

isto é,𝑑

1/2𝜎(1)

𝑛𝑛𝑧(𝐴𝜎(1))≥

𝑑1/2𝜎(2)

𝑛𝑛𝑧(𝐴𝜎(2))≥ . . . ≥

𝑑1/2𝜎(𝑚)

𝑛𝑛𝑧(𝐴𝜎(𝑚))≥ . . . ≥

𝑑1/2𝜎(𝑛)

𝑛𝑛𝑧(𝐴𝜎(𝑛)).

Observe que 1 ≤ 𝑛𝑛𝑧(𝐴𝑗) ≤ 𝑚 para toda coluna 𝐴𝑗 de 𝐴, porém em problemas esparsos𝑛𝑛𝑧(𝐴𝑗) << 𝑚.

Suponha que duas colunas 𝐴𝑗1 e 𝐴𝑗2 satisfaçam 𝑛𝑛𝑧(𝐴𝑗1) ≤ 𝑛𝑛𝑧(𝐴𝑗2), ou seja 𝐴𝑗1 seja maisesparsa que 𝐴𝑗2 , então:

1𝑛𝑛𝑧(𝐴𝑗1) ≥

1𝑛𝑛𝑧(𝐴𝑗2) ,

isto é, na ordenação 𝑃𝑆3, se 𝑑𝑗1 ≈ 𝑑𝑗2 , a coluna 𝐴𝑗1 terá prioridade sobre a coluna 𝐴𝑗2 . Assim,enquanto os valores 𝑑

1/2𝑗 buscam bom condicionamento do PS, as quantidades 𝑛𝑛𝑧(𝐴𝑗) procuram

dar prioridade às colunas mais esparsas.

Uma implementação desta abordagem é semelhante ao Algoritmo 3 trocando os valores ℎ𝑗 por𝑘𝑗, assim o Abordagem 𝑃𝑆3 segue o Algoritmo 6 dado a seguir.

Algoritmo 6: Algoritmo para encontrar o conjunto de índices básicos ℬ e não básicos 𝒩Entrada: A matriz de restrições 𝐴 ∈ R𝑚×𝑛 de posto 𝑚 e a matriz diagonal 𝐷.

Saída: Os conjuntos de índices básicos ℬ = {𝑖1, 𝑖2, . . . 𝑖𝑚} e não básicos𝒩 = {1, . . . , 𝑛}∖ℬ.

1 início2 Calcule 𝑘𝑗 = 𝑑

1/2𝑗 /𝑛𝑛𝑧(𝐴𝑗) para cada 𝑗 = 1, . . . , 𝑛;

3 Obter a permutação 𝜎 do conjunto {1, . . . , 𝑛} tal que: ℎ𝜎(1) ≥ ℎ𝜎(2) ≥ . . . ≥ ℎ𝜎(𝑛);4 Defina ℬ = ∅, ℓ = 1, 𝑘 = 0;5 enquanto |ℬ|< 𝑚 faça6 se 𝐴𝜎(ℓ) é linearmente independente ao conjunto {𝐴𝑗 : 𝑗 ∈ ℬ} então7 ℬ = ℬ ∪ {𝜎(ℓ)}, 𝑘 = 𝑘 + 1, 𝑖𝑘 = 𝜎(ℓ);8 fim9 Faça ℓ = ℓ + 1;

10 fim11 fim

Além disso, foi possível fazer uma adaptação do Teorema 5.2.2, mostrando que a ordenação dadapelo 𝑃𝑆3 ainda satisfaz a propriedade de manter o número de condição 𝜅 = 𝜅

`

𝐼𝑚 + WW𝑇˘

=𝜅`

𝐼𝑛−𝑚 + W𝑇 W˘

independente da iteração do MPI primal-dual.

Teorema 5.4.1. Suponha que os índices básicos ℬ e não básicos𝒩 sejam obtidos pela abordagem𝑃𝑆3 apresentada no Algoritmo 6. Então:

Page 81: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 81

1. 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖= 1, para 𝑗 ∈ ℬ;

2. 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖≤ 𝑛𝑛𝑧(𝐴𝑗)‖𝐴−1ℬ 𝐴𝑗‖, para 𝑗 ∈ 𝒩 = {1, . . . , 𝑛}∖ℬ.

Além disso, se 𝑀 = max{𝑛𝑛𝑧(𝐴𝑗) : 𝑗 = 1, . . . 𝑛} então: 𝜅 ≤𝑀2‖𝐴−1ℬ 𝐴‖2

𝐹 .

Demonstração. 1. Se 𝑗 ∈ ℬ, então 𝐴−1ℬ 𝐴𝑗 = 𝑒𝑗 onde 𝑒𝑗 é o 𝑗-ésimo vetor canónico de R𝑚,

logo 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖= 𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝑒𝑗‖= 𝑑

1/2𝑗 ‖𝑑

−1/2𝑗 𝑒𝑗‖= 1.

2. Se 𝑗 /∈ ℬ são considerados dois casos:

Caso 2.1. A coluna 𝐴𝑗 não foi considerada para entrar na base de acordo com o Algoritmo6, ou seja, 𝑗 > 𝑖ℓ para todo índice básico ℬ = {𝑖1, . . . 𝑖𝑚}; assim, 𝑘𝑖ℓ

≥ 𝑘𝑗 para todo 𝑖ℓ ∈ ℬ.

Seja 𝑑1/2𝑜 = min{𝑑1/2

𝑖ℓ: 𝑖ℓ ∈ ℬ}, então se 𝑘𝑜 = 𝑑1/2

𝑜

𝑛𝑛𝑧(𝐴𝑜)tem-se que 𝑘𝑜 ≥ 𝑘𝑖𝑚 ≥ 𝑘𝑗, logo,

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ ≤𝑑

1/2𝑗 ‖𝐴−1

ℬ 𝐴𝑗‖min{𝑑1/2

𝑖ℓ: 𝑖ℓ ∈ ℬ}

=𝑑

1/2𝑗

𝑛𝑛𝑧(𝐴𝑗)𝑛𝑛𝑧(𝐴𝑗)𝑑

1/2𝑜

𝑛𝑛𝑧(𝐴𝑜)𝑛𝑛𝑧(𝐴𝑜)‖𝐴−1

ℬ 𝐴𝑗‖

= 𝑘𝑗 𝑛𝑛𝑧(𝐴𝑗)𝑘0 𝑛𝑛𝑧(𝐴0)

‖𝐴−1ℬ 𝐴𝑗‖

≤ 𝑛𝑛𝑧(𝐴𝑗)‖𝐴−1ℬ 𝐴𝑗‖.

(5.4.1)

Caso 2.2. A coluna 𝐴𝑗 foi candidata para ser 𝑟-ésima coluna de 𝐴ℬ, porém 𝐴𝑗 é linearmentedependente às colunas 𝐴𝑖1 , 𝐴𝑖2 , . . . , 𝐴𝑖𝑟−1 ; isto é, 𝐴𝑗 = 𝐴ℬ[𝑢, 0]𝑇 , para 𝑢 ∈ R𝑟−1.

Observe que 𝑘𝑖ℓ≥ 𝑘𝑗 para ℓ = 1, . . . , 𝑟 − 1. Além disso, ‖𝑢‖= ‖𝐴−1

ℬ 𝐴𝑗‖.

Seja 𝑑1/2𝑜 = min{𝑑1/2

𝑖1 , . . . , 𝑑12𝑖𝑟−1}, então se 𝑘𝑜 = 𝑑1/2

𝑜

𝑛𝑛𝑧(𝐴𝑜)tem-se que 𝑘𝑜 ≥ 𝑘𝑖𝑟−1 ≥ 𝑘𝑗 , logo,

𝑑1/2𝑗 ‖𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖ = 𝑑1/2𝑗

˜

𝑟−1∑ℓ=1

𝑑−1𝑖ℓ

𝑢2ℓ

¸1/2

≤ 𝑑1/2𝑗 max{𝑑−1/2

𝑖1 , . . . , 𝑑−1/2𝑖𝑟−1 }‖𝑢‖

=𝑑

1/2𝑗

min{𝑑−1/2𝑖1 , . . . , 𝑑

−1/2𝑖𝑟−1 }

‖𝑢‖

=𝑑

1/2𝑗

𝑑1/2𝑜

‖𝑢‖

= 𝑘𝑗 𝑛𝑛𝑧(𝐴𝑗)𝑘0 𝑛𝑛𝑧(𝐴0)

‖𝐴−1ℬ 𝐴𝑗‖

≤ 𝑛𝑛𝑧(𝐴𝑗)‖𝐴−1ℬ 𝐴𝑗‖.

(5.4.2)

Page 82: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 82

Logo, usando (5.4.1) e (5.4.2) temos que:

‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2𝐹 =

𝑛∑𝑗=1

𝑑𝑗‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝑗‖2

≤𝑛∑

𝑗=1𝑛𝑛𝑧(𝐴𝑗)2‖𝐴−1

ℬ 𝐴𝑗‖2

≤𝑀2𝑛∑

𝑗=1‖𝐴−1

ℬ 𝐴𝑗‖2

= 𝑀2‖𝐴−1ℬ 𝐴‖2

𝐹 .

(5.4.3)

Pela equação (5.2.21), temos que 𝜆max = ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2, onde 𝜆max é o maior autovalordas matrizes precondicionadas pelo PS, 𝐼𝑚 + 𝑊𝑊 𝑇 e 𝐼𝑛−𝑚 + 𝑊 𝑇 𝑊.

Finalmente, usando a desigualdade matricial ‖.‖≤ ‖.‖𝐹 e (5.4.3), temos que:

𝜆max = ‖𝐷−1/2ℬ 𝐴−1

ℬ 𝐴𝐷1/2‖2≤𝑀2‖𝐴−1ℬ 𝐴‖2

𝐹 .

Dado que 𝜆min ≥ 1, tem-se:

𝜅 = 𝜆max

𝜆𝑚𝑖𝑛

≤𝑀2‖𝐴−1ℬ 𝐴‖2

𝐹 .

No Teorema 5.4.1 observa-se que 𝑀 << 𝑚 quando os problemas de programação linear têmmatriz de restrições 𝐴 esparsa, ou seja o limitante superior do número de condição da matriz doSistema de Equações Normais precondicionada pelo 𝑃𝑆3 é uma quantidade similar aos limitantesdos Teoremas 5.2.2 e 5.3.2. Nos experimentos computacionais observou-se que o sucesso nocálculo das colunas básicas depende da esparsidade delas, pois desta maneira o preenchimentofeito pela fatoração LU será reduzido.

5.4.3 Novo critério de mudança de fase

A mudança de fase proposta em Velazco et al. (2011) visa aproveitar o precondicionador FCCna maior quantidade de iterações do MPI prima-dual possível, assim a mudança de fase é feitaquando o preenchimento deste precondicionador supera um limite permitido dado por um valor𝜂max. Ou seja, a mudança de fase baseia-se nas desvantagens de um precondicionador FCCdenso, porém foi observado que em vários problemas o precondicionador PS está apto paraobter um bom desempenho antes do FCC atingir o 𝜂max, assim foi acrescentada uma condiçãoadicional na mudança de fase que melhorou consideravelmente o tempo computacional em boaparte dos problemas testados.

Page 83: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 83

Suponha que o MPI primal-dual esteja na 𝑘-ésima iteração. Vimos que a matriz 𝐷𝑘 é a únicamatriz que se altera nos sistemas lineares a serem resolvidos, porém estas alterações são abruptas,particularmente próximo a uma solução ótima. Para ver isto, suponha que (𝑥*, 𝑠*, 𝑦*, 𝑤*, 𝑧*)seja uma solução ótima, então, o gap de dualidade nesta solução ótima é:

𝑥*𝑖 𝑧

*𝑖 = 0 e 𝑠*

𝑖 𝑤*𝑖 = 0, para 𝑖 = 1, . . . , 𝑛.

Se o ponto (𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘) da 𝑘-ésima iteração do MPI primal-dual está próximo à soluçãoótima (𝑥*, 𝑠*, 𝑦*, 𝑤*, 𝑧*), pela continuidade da função

𝑓 : R2 → R, dada por 𝑓(𝑥1, 𝑥2) = 𝑥1𝑥2,

tem-se que:

𝑥𝑘𝑖 𝑧𝑘

𝑖 ≈ 𝑥*𝑖 𝑧

*𝑖 = 0 e 𝑠𝑘

𝑖 𝑤𝑘𝑖 ≈ 𝑠*

𝑖 𝑤*𝑖 = 0. (5.4.4)

Por outro lado, as componentes da matriz 𝐷𝑘 são:

𝑑𝑘𝑖 =

`

𝑧𝑘𝑖 (𝑥𝑘

𝑖 )−1 + 𝑤𝑘𝑖 (𝑠𝑘

𝑖 )−1˘−1, para 𝑖 = 1, . . . 𝑛, (5.4.5)

logo, pelas equações (5.4.4) e (5.4.5), para cada 𝑖 ∈ {1, . . . , 𝑛} tem-se:

𝑑𝑘𝑖 → 0 ou 𝑑𝑘

𝑖 →∞. (5.4.6)

Vimos na Seção 4.3, mais precisamente em (4.3.4) que o número de condição 𝜅 dos sistemasprecondicionados pelo PS dependem da norma da matriz W, onde W := (𝐷𝑘

𝐵)−1/2𝐵−1𝑁(𝐷𝑘𝑁 )1/2.

Por (4.3.4), 𝜅→ 1 se, e somente se, ‖W‖−→ 0, se, e somente se, W −→ 𝑂𝑚×(𝑛−𝑚).

Além disso, por (5.4.6) tem-se que W −→ 𝑂𝑚×(𝑛−𝑚) se, e somente se,

𝑑𝑘𝑖 −→∞ então 𝑑𝑘

𝑖 ∈ 𝑑𝑖𝑎𝑔(𝐷𝑘𝐵)

𝑑𝑘𝑖 −→ 0 então 𝑑𝑘

𝑖 ∈ 𝑑𝑖𝑎𝑔(𝐷𝑘𝑁).

Lembramos que a dimensão das matrizes diagonais 𝐷𝑘𝐵 e 𝐷𝑘

𝑁 são 𝑚×𝑚 e (𝑛−𝑚)× (𝑛−𝑚),respectivamente, além disso, nada garante que existam exatamente 𝑚 componentes da matrizdiagonal 𝐷𝑘 tais que 𝑑𝑘

𝑖 −→ ∞ ou 𝑛 −𝑚 componentes de 𝐷𝑘 tais que 𝑑𝑘𝑖 −→ 0. No entanto,

diferenças cada vez mais abruptas entre estas componentes da diagonal de 𝐷𝑘 fazem com que‖W‖≈ 0.

A condição acrescentada utiliza os elementos da matriz diagonal 𝐷𝑘 e considera uma ordenaçãonão crescente deles:

𝑑𝑘𝜎(1) ≥ 𝑑𝑘

𝜎(2) ≥ . . . ≥ 𝑑𝑘𝜎(𝑚) ≥ . . . ≥ 𝑑𝑘

𝜎(𝑛),

Page 84: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 84

onde 𝜎 é uma permutação do conjunto {1, 2 . . . , 𝑛}. Além disso, define-se

𝛿 = 𝑠1 − 𝑠2, onde 𝑠1 =𝑚∑

𝑖=1𝑑𝑘

𝜎(𝑖) e 𝑠2 =𝑛∑

𝑖=𝑚+1𝑑𝑘

𝜎(𝑖). (5.4.7)

A mudança de fase proposta é a seguinte: Se o número de iterações do método de GCP numaiteração do MPI primal-dual é maior que 𝑚/5, então verifica-se se 𝜂 ≤ 𝜂max e 𝛿 < 1.5× 106, ouseja, verifica-se que o FCC ainda não requer muita memória e o PS ainda não está apto parater um bom desempenho pois a matriz 𝐷𝑘 não apresenta diferenças abruptas nos elementosda sua diagonal. Se a condição for verdadeira, 𝜂 é aumentado em 10. Caso contrário, isto é, se𝜂 > 𝜂max ou 𝛿 ≥ 1.5× 106, a mudança fase é realizada. A nova mudança de fase é:

se 𝑛𝑔 ≥ 𝑚/5 entãose 𝜂 ≤ 𝜂max e 𝛿 < 1.5× 106 então

𝜂 = 𝜂 + 10;

senãoMudança de fase

fim

fim

onde 𝑛𝑔 denota o número de iterações do método dos GCP.

5.5 Reciclagem de colunas básicasSuponha que na iteração 𝑘 do MPI primal-dual foram calculados os índices básicos ℬ𝑘 ={𝑖𝑘

1, 𝑖𝑘2, . . . , 𝑖𝑘

𝑚} e não básicos 𝒩 𝑘 = {1, . . . , 𝑛}∖ℬ𝑘 para formar a permutação 𝜙 ∈ 𝒮𝑛 dada por𝜙 = (ℬ𝑘,𝒩 𝑘) e a sua correspondente matriz de permutação 𝜙 ↦→ 𝑃𝜙 dada por:

𝑃𝜙 = (𝛿𝜙(𝑖),𝑗), para 𝑖, 𝑗 = 1, . . . 𝑛,

isto é, na 𝑖-ésima linha de 𝑃𝜙 a 𝜙(𝑖)-ésima entrada é 1 e as outras são 0. Como foi explicado naSeção 5.1, esta matriz de permutação 𝑃𝜙 é usada para reordenar as matrizes 𝐴 e 𝐷𝑘.

Ora, suponha que estamos na iteração 𝑘 + 1 do MPI primal-dual, como foi mencionado na Seção2.3, a única matriz que muda nos sistemas a serem resolvidos é a matriz diagonal 𝐷𝑘+1. Oselementos da diagonal 𝐷𝑘 e 𝐷𝑘+1 são:

𝑑𝑘𝑖 =

ˆ

𝑧𝑘𝑖

𝑥𝑘𝑖

+ 𝑤𝑘𝑖

𝑠𝑘𝑖

˙−1

e 𝑑𝑘+1𝑖 =

ˆ

𝑧𝑘𝑖 + 𝛼𝑘

𝐷Δ𝑠𝑘𝑖

𝑥𝑘𝑖 + 𝛼𝑘

𝑃 Δ𝑥𝑘𝑖

+ 𝑤𝑘𝑖 + 𝛼𝑘

𝐷Δ𝑤𝑘𝑖

𝑠𝑘𝑖 + 𝛼𝑘

𝑃 Δ𝑠𝑘𝑖

˙−1

, (5.5.1)

sendo 𝛼𝑘𝑃 , 𝛼𝑘

𝐷 e 𝑑𝑘 =`

Δ𝑥𝑘, Δ𝑠𝑘, Δ𝑦𝑘, Δ𝑤𝑘, Δ𝑧𝑘˘𝑇 o comprimento de passo primal,dual e a

direção de busca na iteração 𝑘 do MPI primal-dual respectivamente, onde:

Page 85: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 85

Δ𝑥𝑘 =(Δ𝑥𝑘1, Δ𝑥𝑘

2, . . . , Δ𝑥𝑘𝑛),

Δ𝑠𝑘 =(Δ𝑠𝑘1, Δ𝑠𝑘

2, . . . , Δ𝑠𝑘𝑛),

Δ𝑦𝑘 =(Δ𝑦𝑘1 , Δ𝑦𝑘

2 , . . . , Δ𝑦𝑘𝑚),

Δ𝑤𝑘 =(Δ𝑤𝑘1 , Δ𝑤𝑘

2 , . . . , Δ𝑤𝑘𝑛),

Δ𝑧𝑘 =(Δ𝑧𝑘1 , Δ𝑧𝑘

2 , . . . , Δ𝑧𝑘𝑛).

Se considerarmos as ordenações não crescentes:

𝑑𝑘𝜎(1) ≥ 𝑑𝑘

𝜎(2) ≥ . . . ≥ 𝑑𝑘𝜎(𝑚) ≥ . . . ≥ 𝑑𝑘

𝜎(𝑛), (5.5.2)

𝑑𝑘+1𝜌(1) ≥ 𝑑𝑘+1

𝜌(2) ≥ . . . ≥ 𝑑𝑘+1𝜌(𝑚) ≥ . . . ≥ 𝑑𝑘+1

𝜌(𝑛), (5.5.3)

pelas definições dadas em (5.5.1), observamos que as permutações 𝜎 e 𝜌 em (5.5.2) e (5.5.3),são diferentes. Similarmente 𝜎 e 𝜌 serão diferentes se considerarmos as ordens não crescentesde ℎ𝑖 = 𝑑

1/2𝑖 ‖𝐴𝑖‖ para 𝑖 = 1, . . . , 𝑛 das abordagens 𝑃𝑆1 e 𝑃𝑆2 e a ordem não crescente de

𝑘𝑖 = 𝑑1/2𝑖 /𝑛𝑛𝑧(𝐴𝑖) da abordagem 𝑃𝑆3.

Dado que 𝜎 e 𝜌 são diferentes, é claro que os índices básicos ℬ𝑘+1 = {𝑖𝑘+11 , 𝑖𝑘+1

2 , . . . 𝑖𝑘+1𝑚 } da

iteração 𝑘 + 1 são diferentes dos índices básicos ℬ𝑘 = {𝑖𝑘1, 𝑖𝑘

2, . . . 𝑖𝑘𝑚} da iteração 𝑘 do MPI

primal-dual. Porém, nos experimentos numéricos, observou-se que se usarmos ℬ𝑘 nas iterações𝑘 + 1, 𝑘 + 2, . . . , o Precondicionador Separador tem ainda um bom desempenho, o cálculo dosnovos índices básicos ℬℓ = {𝑖ℓ

1, 𝑖ℓ2, . . . 𝑖ℓ

𝑚}, onde ℓ > 𝑘, é feito quando o número de iterações dométodo dos Gradientes Conjugados Precondicionado (GCP) é maior do que 𝑚/8 onde 𝑚 é onúmero de linhas da matriz de restrições 𝐴.

Se na iteração 𝑘 + 1 do MPI primal-dual, o PS usando os índices básicos ℬ𝑘 tem um bomdesempenho isto deve-se ao fato que ℬ𝑘+1 e ℬ𝑘 têm uma grande quantidade de índices emcomum, isto pode acontecer também com ℬ𝑘+2, ℬ𝑘+3, . . . ,ℬℓ, porém os índices básicos comunsreduzem, isto é:

|ℬ𝑘 ∩ ℬ𝑘+1|≥ |ℬ𝑘 ∩ ℬ𝑘+2|≥ . . . ≥ |ℬ𝑘 ∩ ℬℓ|, (5.5.4)

este fato faz com que o número 𝑛𝑔 de iterações do método dos GCP aumente. Assim, se naiteração ℓ do MPI primal-dual, 𝑛𝑔 > 𝑚/8, os índices básicos ℬℓ são calculados. Observamos distoque o Precondicionador Separador nas iterações 𝑘 + 1, 𝑘 + 2, . . . ℓ− 1 fica computacionalmentemais barato para se calcular. Além disso, dado que alguns índices básicos se mantém de umaiteração para outra, observa-se que uma alternativa interessante é reciclar as colunas boas doPrecondicionador Separador da iteração 𝑘 no Precondicionador Separador da iteração ℓ.

Page 86: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 86

Suponha que ℓ, 𝑘 ∈ Z com ℓ > 𝑘, e que ℬ𝑘 seja o conjunto de índices básicos da iteração 𝑘 doMPI primal-dual. Apresenta-se o seguinte algoritmo cujo objetivo é reciclar algumas colunasbásicas da iteração 𝑘 do MPI primal-dual baseados no fato de um subconjunto de um conjuntode colunas linearmente independentes é um subconjunto de colunas linearmente independentes.

Algoritmo 7: Algoritmo para encontrar o conjunto de índices básicos ℬℓ reciclando colunasde ℬ𝑘.

Entrada: A matriz 𝐴 ∈ R𝑚×𝑛, a matriz diagonal 𝐷ℓ da iteração ℓ do MPI e o conjuntode índices básicos da iteração 𝑘, ℬ𝑘 =

{𝑖𝑘1, 𝑖𝑘

2, . . . 𝑖𝑘𝑚

}, onde ℓ > 𝑘.

Saída: Os conjuntos de índices básicos ℬℓ = {𝑖ℓ1, 𝑖ℓ

2, . . . 𝑖ℓ𝑚} e não básicos

𝒩 ℓ = {1, . . . , 𝑛}∖ℬℓ.1 início2 Calcule ℎℓ

𝑖 = (𝑑ℓ𝑖)1/2‖𝐴𝑖‖ para 𝑖 = 1, . . . , 𝑛;

3 Obter a permutação 𝜎 do conjunto {1, . . . , 𝑛} tal que: ℎℓ𝜎(1) ≥ ℎℓ

𝜎(2) ≥ . . . ≥ ℎℓ𝜎(𝑛);

4 Defina ℬℓ = ∅, 𝑠 = 0, 𝑗 = 0;5 para l=1:m faça6 se 𝜎(𝑙) ∈ ℬ𝑘 e ℎℓ

𝜎(𝑙) ≥ ℎ𝑘𝜎(𝑙) então

7 ℬℓ = ℬℓ ∪ {𝜎(𝑙)}, 𝑠 = 𝑠 + 1, 𝑖ℓ𝑠 = 𝜎(𝑙)

8 senão9 𝑗 = 𝑗 + 1, 𝐹 [𝑗] = 𝜎(𝑙);

10 fim11 fim12 para l=m+1:n faça13 𝐹 [𝑗] = 𝜎(𝑙), 𝑗 = 𝑗 + 1;14 fim15 𝑙 = 116 enquanto |ℬℓ|< 𝑚 faça17 se 𝐴𝐹 [𝑙] é linearmente independente a {𝐴𝑗 : 𝑗 ∈ ℬℓ} então18 ℬℓ = ℬℓ ∪ {𝐹 [𝑙]}, 𝑠 = 𝑠 + 1, 𝑖ℓ

𝑠 = 𝐹 [𝑙];19 fim20 Faça 𝑙 = 𝑙 + 1;21 fim22 fim

No Algoritmo 7 observamos que na iteração ℓ do MPI primal-dual, é feita a ordenação doselementos ℎℓ

𝑖 = (𝑑ℓ𝑖)1/2‖𝐴𝑖‖, para 𝑖 = 1, . . . , 𝑛; como foi feito na abordagem 𝑃𝑆1 da Seção

5.2. A partir desta ordenação, na linha 6 do Algoritmo 7, testa-se se os primeiros 𝑚 índicesda permutação 𝜎 que pertencem a ℬ𝑘 e ℎℓ

𝜎(𝑙) ≥ ℎ𝑘𝜎(𝑙). A primeira condição permite considerar

Page 87: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 87

apenas colunas linearmente independentes e, a segunda condição garante que ℎℓ𝜎(𝑙) seja ainda

uma quantidade grande. Caso estas duas condições sejam satisfeitas, ℬℓ ganha um novo índicebásico. Caso contrário, os índices 𝜎(𝑙) são armazenados nas primeiras posições do vetor 𝐹 ,veja a linha 9 do Algoritmo 7. Na linha 13 do Algoritmo 7 os índices 𝜎(𝑙) : 𝑙 = 𝑚 + 1 : 𝑛 sãoarmazenados no vetor 𝐹. Se no loop enquanto da linha 16, |ℬℓ|< 𝑚, usa-se o vetor 𝐹 paracompletar a cardinalidade 𝑚 do conjunto ℬℓ, veja a linha 17 deste algoritmo. Testes numéricosusando o Algoritmo 7 são apresentados na Seção 6.4.

A seguir apresentamos uma tabela que resume as propostas apresentadas junto com os resultadosteóricos de cada abordagem.

Page 88: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 5. Novas abordagens para encontrar a base do precondicionador separador 88

5.6 Resumo das novas propostas

Abordagem Características

𝑃𝑆1 ∙ Abordagem que minimiza 𝜅 = 𝜅(𝑃𝐴(𝐴𝐷𝐴𝑇 )𝑃 𝑇𝐴 ) ;

∙ Se 𝐾 = max{1,?

𝑚‖𝐵−1‖}, então:

𝜅 ≤ 𝑛𝐾2 .

∙ O limitante de 𝜅 não depende da iteração do MPI.𝑃𝑆2 ∙ Usa-se grupos de colunas para reordená-las de acordo com a

sua esparsidade;

∙ Provou-se 𝜅 ≤ 𝐶2𝑛𝐾2.

Neste caso, 𝐶 depende da matriz 𝐷;

∙ Dado 𝐿 > 1, 𝐶 > 1, mostrou-se que existe uma escolha degrupos de colunas tal que: 𝜅 ≤ 𝐶2𝑛𝐾2.

Neste caso, 𝐶 não depende da matriz 𝐷, ou seja, não dependeda iteração do MPI.

𝑃𝑆3 ∙ Ordenação que combina simultaneamente bomcondicionamento e esparsidade.

∙ Provou-se𝜅 ≤𝑀2‖𝐴−1

ℬ 𝐴‖2𝐹 ,

onde 𝑀 = max{𝑛𝑛𝑧(𝐴𝑗) : 𝑗 = 1, . . . 𝑛}.

∙ O limitante de 𝜅 não depende da iteração do MPI.𝑃𝑆1𝑟𝑒 Proposta que combina a abordagem 𝑃𝑆1

e a reciclagem de colunas de uma iteraçãodo MPI na seguinte.

Page 89: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

89

6 Resultados numéricos

Neste capítulo são apresentados os resultados computacionais das abordagens propostas noCapítulo 5.

Inicialmente as abordagens comparadas são:

𝑃𝑆𝑀 : Abordagem proposta em Velazco et al. (2011).

𝑃𝑆1 : Abordagem apresentada na Seção 5.2.

𝑃𝑆2 : Abordagem apresentada na Seção 5.3.

𝑃𝑆3 : Abordagem apresentada na Seção 5.4.

Posteriormente, para testar a abordagem que recicla colunas básicas de uma iteração do MPIna seguinte, veja a Seção 5.5, são comparadas as abordagens 𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒, e as abordagens𝑃𝑆1 e 𝑃𝑆1𝑟𝑒, onde

𝑃𝑆𝑀𝑟𝑒 : Abordagem que combina 𝑃𝑆𝑀 e a reciclagem de colunas.

𝑃𝑆1𝑟𝑒 : Abordagem que combina 𝑃𝑆1 e a reciclagem de colunas.

Em todas as abordagens a base 𝐵 = 𝐴ℬ do PS muda quando 8𝑛𝑔 ≥ 𝑚, onde 𝑛𝑔 denota o númerode iterações do método dos Gradientes Conjugados Precondicionado (GCP) numa iteração doMPI primal-dual.

Os experimentos numéricos foram realizados utilizando o código PCx, veja Czyzyk et al. (1996)e o Apêndice B.1. O método direto usado para a solução dos sistemas lineares é substituído pelométodo dos GCP. O precondicionamento usa uma Abordagem Híbrida proposta em Bocanegraet al. (2007), veja a Seção 4.4. A troca de fases proposta em Velazco et al. (2011) é mantidapara a abordagem 𝑃𝑆𝑀 , e 𝑃𝑆𝑀𝑟𝑒 já a troca de fases proposta na Seção 5.4.3 é usada nas novasabordagens 𝑃𝑆1, 𝑃𝑆2, 𝑃𝑆3 e 𝑃𝑆1𝑟𝑒.

O PCx é implementado em C com exceção das rotinas correspondentes ao precondicionadorFatoração Controlada de Cholesky (FCC) que está implementado em Fortran. Todos os testesforam realizados em um microcomputador com processador Intel i7 com 16 Gb de memóriaRAM, em ambiente Linux usando os compiladores gcc 4.8 e gfortran 77.

6.1 Problemas testesOs problemas utilizados nos testes computacionais são de domínio público extraídos dasbibliotecas KENNIGTON, NETLIB, QAP e MÉSZÁROS. Foi feita uma seleção de 56 problemas

Page 90: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 90

com o número de linhas ou colunas da matriz 𝐴 maiores do que 1000. Dado que neste trabalhoestamos usando uma Abordagem Híbrida de duas fases, sendo que na Fase I o precondicionadorFCC é usado e na Fase II o Precondicionador Separador (PS), os problemas selecionadosnecessariamente realizam a troca de fases em alguma das abordagens comparadas. Observamosque devido à condição de troca de fase, problemas de grande porte como os do tipo pds, osa,entre outros não são considerados pois foram resolvidos apenas usando o precondicionador FCC.

Na Tabela 2 apresentam-se informações tais como o número de linhas, o número de colunas damatriz 𝐴 de restrições do problema de Programação Linear (PL). Na quarta coluna desta tabelaapresenta-se os valores de 𝑀 para cada problema abordado, onde 𝑀 é definido no Teorema5.4.1. Na quinta coluna apresenta-se o valor de 𝜂0 proposto em Bocanegra et al. (2007) e descritona equação (3.2.9) deste trabalho. Na sexta coluna apresenta-se o valor ótimo do problemade PL obtidos usando o código de PCx. Os dados se referem aos problemas pré-processados,veja a Seção B.1.1 do Apêndice B.1. O símbolo ** indica que o problema não foi resolvido pornenhuma abordagem.

Tabela 2 – Dados dos problemas pré-processados pelo PCx.

Problema Linhas Colunas M 𝜂0 Valor ótimo

cre-a 2989 6692 14 7 2, 35954070𝑒 + 07cre-b 5328 36382 14 −18 2, 31296399𝑒 + 07cre-c 2370 5412 13 7 2, 52751161𝑒 + 07cre-d 4094 28601 13 −18 2, 44549698𝑒 + 07ex01 235 1556 22 −34 1, 96670182𝑒 + 02ex02 227 1548 20 −34 −6, 64343618𝑒 + 02ex05 832 7805 25 −41 1, 11550353𝑒 + 02ex06 825 7798 23 −39 −1, 34690618 + 04ex09 1821 18184 26 −39 1, 14460816 + 0225fv47 788 1843 21 −14 5, 50184589𝑒 + 03ken11 9964 16740 3 3 −6, 97238227𝑒 + 09ken13 22365 36561 3 3 −1, 025732948𝑒 + 10ken18 78538 128434 3 3 −5, 22170243𝑒 + 10ste36a 27683 131076 63 −56 −4, 241774751𝑒 + 10ste36b 27683 131076 63 −56 **ste36c 27683 131076 63 −56 −3, 43540052𝑒 + 07els19 4350 13186 34 −31 −1, 01016105𝑒 + 08degen3 1501 2604 49 −34 −9, 872940𝑒 + 02

Continuação no início da próxima página

Page 91: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 91

Tabela 2 – Dados dos problemas pré-processados pelo PCx.

Problema Linhas Colunas M 𝜂0 Valor ótimo

chr25a 8149 15325 30 −30 −4, 65146982𝑒 + 04chr22b 5587 10417 26 −27 −4, 03216730 + 04scr15 2234 6210 25 −26 −1, 71524061𝑒 + 05scr20 5079 15980 31 −32 −3, 83154224𝑒 + 05rou20 7359 37640 39 −48 −1, 18091929𝑒 + 06maros 655 1437 17 −12 −5, 80637437𝑒 + 04cycle 1420 2773 27 −48 −5, 22639302𝑒 + 00bnl2 1964 4008 8 7 1, 81123654𝑒 + 03scfxm3 915 1704 19 9 5, 49012546𝑒 + 04ganges 1113 1510 13 7 −1, 09585736𝑒 + 05nug05 148 225 8 6 5, 00000000𝑒 + 01nug05-3rd 1208 1425 9 −10 5, 00000000𝑒 + 01nug06 280 486 10 8 8, 60000000𝑒 + 01nug06-3rd 3972 4686 12 −13 **nug07 602 931 11 −10 1, 48000000𝑒 + 02nug07-3rd 8594 12691 13 −16 **nug08 742 1632 14 −12 2, 03500000𝑒 + 02nug12 2794 8856 22 −20 5, 22894351𝑒 + 02nug12m 2794 8856 22 −20 5, 22894351𝑒 + 02nug15 5698 22275 28 −26 1, 04099404𝑒 + 03nug15m 5698 22275 28 −26 1, 04099404𝑒 + 03qap8 742 1632 14 −12 2, 03500000𝑒 + 02qap12 2794 8856 23 −21 1, 04099404𝑒 + 03qap15 5698 22275 29 −27 1, 04099404𝑒 + 03stocfor2 1980 2868 10 6 −3, 90244085𝑒 + 04stocfor3 15362 22228 18 6 −3, 99767839𝑒 + 04nesm 654 2922 10 7 1, 40760366𝑒 + 07BL 5729 12462 17 6 2, 26273251𝑒 + 07NL 6665 14680 15 7 1, 22926401𝑒 + 06aircraft 3754 7517 751 −378 1, 56704235𝑒 + 03slp-tsk 2861 3347 887 −1247 2, 98953660𝑒 + 01baxter_mat 23871 30122 46 −22 −9, 76897300𝑒 + 06dbic1 34205 174457 38 −31 −9, 76897300𝑒 + 06

Continuação no início da próxima página

Page 92: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 92

Tabela 2 – Dados dos problemas pré-processados pelo PCx.

Problema Linhas Colunas M 𝜂0 Valor ótimo

lpl1 34037 89383 16 5 6, 71974855𝑒 + 10nsir2 4450 10054 235 −53 −2, 71755935𝑒 + 07nw14 73 123409 11 −26 6, 18440000𝑒 + 04pcb3000 3852 7532 28 −11 1, 37416421𝑒 + 05seymour 4827 6082 273 −126 4, 03846474𝑒 + 02

6.2 Experimentos computacionaisPara avaliar as ordenações propostas para a base do PS observamos que pelo fato desteprecondicionador ser usado apenas na segunda fase, o desempenho dele depende da iteraçãodo MPI na que é acionado, ou seja depende dos parâmetros usados para a troca de fase. Estesvalores são: 𝜂0 e 𝜂𝑓 . Todas as abordagens usam o valor de 𝜂0 proposto em Bocanegra et al.(2007) e apresentado na Tabela 2 o valor 𝜂𝑓 , isto é, o último valor de 𝜂 antes da troca de fases,depende do critério de troca de fases adotado. Para as abordagens 𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒 é mantida atroca de fases proposta em Velazco et al. (2010), veja a Seção 4.4.1. Já a troca de fases propostana Seção 5.4.3 é usada nas novas abordagens 𝑃𝑆1, 𝑃𝑆2, 𝑃𝑆3 e 𝑃𝑆1𝑟𝑒. Na Tabela 3 apresenta-seeste valor. Em todas as abordagens o valor de 𝜂max definido na Seção 5.4.3 é 10.

Por outro lado, dado que a nova troca de fases depende de um parâmetro adicional 𝛿 definidoem (5.4.7) este valor também é apresentado na Tabela 3. Finalmente, nesta mesma tabelaapresenta-se It. Tr. que denota a iteração do MPI na que a troca de fases é realizada.

Tabela 3 – Dados da troca de fase

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝐼𝑡.𝑇 𝑟. 𝜂𝑓 𝛿 𝐼𝑡.𝑇 𝑟. 𝜂𝑓 𝛿

cre-a 23 17 2, 47𝑒 + 07 22 7 6, 26𝑒 + 06cre-b 39 12 1, 08𝑒 + 08 38 −8 7, 61𝑒 + 07cre-c 23 17 1, 51𝑒 + 06 23 17 1, 51𝑒 + 06cre-d 38 12 1, 02𝑒 + 08 38 2 5, 46𝑒 + 07ex01 11 16 2, 32𝑒 + 06 2 −24 6, 63𝑒 + 06ex02 13 16 1, 39𝑒 + 05 5 −24 8, 9𝑒 + 06ex05 19 19 2, 08𝑒 + 09 8 −31 1, 12𝑒 + 09

Continuação no início da próxima página

Page 93: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 93

Tabela 3 – Dados da troca de fase

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝐼𝑡.𝑇 𝑟. 𝜂𝑓 𝛿 𝐼𝑡.𝑇 𝑟. 𝜂𝑓 𝛿

ex06 17 11 2, 63𝑒 + 06 8 −39 1, 30𝑒 + 07ex09 20 11 3, 27𝑒 + 10 7 −39 1, 44𝑒 + 1125fv47 17 16 3, 37𝑒 + 09 12 −4 3, 89𝑒 + 07ken11 s.t. 13 1, 82𝑒 + 10 20 3 1, 20𝑒 + 07ken13 26 13 4, 22𝑒 + 08 25 3 2, 17𝑒 + 08ken18 31 13 1, 60𝑒 + 09 30 3 1, 59𝑒 + 09ste36a 26 14 8, 02𝑒 + 05 26 14 8, 54𝑒 + 05ste36b 24 14 5, 34𝑒 + 04 25 14 8, 95𝑒 + 04ste36c 24 14 6, 93𝑒 + 02 25 14 1, 12𝑒 + 03els19 14 19 1, 44𝑒 + 00 14 19 1, 44𝑒 + 00degen3 7 16 5, 23𝑒 + 04 8 16 1, 06𝑒 + 05chr22b 14 13 1, 85𝑒 + 03 16 13 4, 20𝑒 + 03chr25a 14 10 3, 20𝑒 + 03 15 10 6, 95𝑒 + 03scr15 10 14 8, 63𝑒 + 01 11 14 8, 63𝑒 + 02scr20 15 18 3, 83𝑒 + 03 15 18 3, 83𝑒 + 03rou20 11 12 2, 27𝑒 + 02 12 12 5, 33𝑒 + 03maros 9 18 3, 45𝑒 + 07 8 8 1, 56𝑒 + 07cycle 10 16 1, 05𝑒 + 09 6 −4 3, 72𝑒 + 07bnl2 35 17 2, 21𝑒 + 20 26 7 9, 21𝑒 + 16scfxm3 11 19 1, 55𝑒 + 08 9 9 1, 31𝑒 + 07ganges 13 17 8, 5𝑒 + 14 12 7 1, 88𝑒 + 15nug05 2 16 1, 07𝑒 + 01 3 16 4, 36𝑒 + 01nug05-3rd 3 10 1, 00𝑒 + 02 3 10 1, 00𝑒 + 02nug06 3 18 7, 65𝑒 + 01 4 18 2, 33𝑒 + 02nug06-3rd 4 17 8, 62𝑒 + 02 4 17 8, 62𝑒 + 02nug07 4 10 8, 36𝑒 + 01 4 10 8, 36𝑒 + 01nug07-3rd 4 17 5, 55𝑒 + 02 4 14 5, 55𝑒 + 02nug08 5 18 3, 57𝑒 + 02 5 18 3, 57𝑒 + 02nug12 7 10 1, 82𝑒 + 03 7 10 1, 86𝑒 + 03nug12m 7 10 1, 86𝑒 + 03 7 10 1, 86𝑒 + 03nug15 7 14 1, 08𝑒 + 03 8 14 1, 96𝑒 + 03nug15m 7 14 1, 08𝑒 + 03 8 14 1, 96𝑒 + 03

Continuação no início da próxima página

Page 94: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 94

Tabela 3 – Dados da troca de fase

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝐼𝑡.𝑇 𝑟. 𝜂𝑓 𝛿 𝐼𝑡.𝑇 𝑟. 𝜂𝑓 𝛿

qap8 4 18 2, 05𝑒 + 01 4 18 8, 65𝑒 + 01qap12 5 19 3, 26𝑒 + 02 5 19 3, 26𝑒 + 02qap15 6 13 6, 36𝑒 + 02 6 13 5, 36𝑒 + 02stocfor2 15 16 7, 59𝑒 + 06 13 6 3, 68𝑒 + 06stocfor3 21 6 2, 45𝑒 + 08 21 6 2, 45𝑒 + 08nesm 6 17 1, 05𝑒 + 06 6 17 1, 03𝑒 + 06BL 31 16 3, 82𝑒 + 13 30 6 1, 19𝑒 + 13NL 36 17 2, 03𝑒 + 18 35 7 6, 22𝑒 + 17aircraft s.t. −78 2, 30𝑒 + 08 9 −378 2, 24𝑒 + 08slp-tsk s.t. −1087 9, 63𝑒 + 13 11 −1247 7, 41𝑒 + 08baxter_mat s.t. 18 2, 09𝑒 + 21 17 −22 4, 11𝑒 + 10dbic1 s.t. −1 9, 48𝑒 + 18 51 −31 2, 47𝑒 + 15lpl1 65 15 2, 13𝑒 + 04 65 15 2, 13𝑒 + 04nsir2 s.t. −13 5, 06𝑒 + 15 30 −23 1, 63𝑒 + 10nw14 37 14 1, 58𝑒 + 02 41 14 3, 40𝑒 + 02pcb3000 21 19 3, 19𝑒 + 05 21 19 3, 19𝑒 + 05seymour s.t. 14 3, 37𝑒 + 12 11 −126 9, 64𝑒 + 06

s.t. Não houve mudança de fase.

Para comparar a eficiência das abordagens propostas, nas Tabelas 4 e 5 apresentam-se o númerototal de iterações do MPI e o tempo em segundos usado para resolver cada problema.

Tabela 4 – Total de iterações do MPI

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

cre-a 27 27 27 27cre-b 43 43 43 43cre-c 27 27 27 27cre-d 42 42 42 42ex01 28 28 28 28ex02 ** 37 ** **ex05 39 38 39 39

Continuação no início da próxima página

Page 95: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 95

Tabela 4 – Total de iterações do MPI

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

ex06 ** ** ** **ex09 ** 59 ** 4525fv47 31 27 ** 28ken11 23 22 22 22ken13 29 29 29 29ken18 41 41 41 40ste36a 38 38 37 **ste36b ** ** ** **ste36c ** 41 41 43els19 31 31 31 31degen3 16 16 16 16chr22b 29 29 29 29chr25a 28 29 29 29scr15 24 24 24 24scr20 ** 21 21 21rou20 24 24 24 24maros 40 21 20 20cycle ** ** ** 23bnl2 51 37 37 37scfxm3 20 22 24 20ganges 18 17 17 17nug05 ** ** 6 **nug05-3rd ** 6 6 **nug06 6 6 6 6nug06-3rd ** ** ** **nug07 11 11 11 **nug07-3rd ** ** ** **nug08 9 9 9 9nug12 20 20 20 20nug12m 20 20 20 20nug15 23 23 ** **nug15m 23 23 ** **qap8 10 9 9 10

Continuação no início da próxima página

Page 96: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 96

Tabela 4 – Total de iterações do MPI

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

qap12 20 20 20 20qap15 24 23 ** 29stocfor2 21 21 21 21stocfor3 32 32 32 32nesm 31 31 31 31BL 38 ** ** 38NL 41 41 41 41aircraft ** 13 13 13slp-tsk ** 25 25 25baxter_mat ** 33 33 **dbic1 58 54 53 54lpl1 73 73 73 73nsir2 34 32 34 32nw14 47 46 46 46pcb3000 29 29 29 28seymour 24 20 20 20

** O problema não foi resolvido.

Page 97: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 97

Tabela 5 – Tempo de processamento para resolver o problema

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

cre-a 6, 89 5,41 5, 66 5, 69cre-b 54, 27 39,56 42, 20 36,87cre-c 5, 19 5, 11 5, 82 5, 36cre-d 35, 16 28,22 30, 15 28,61ex01 0, 46 0, 31 0, 32 0, 31ex02 ** 0,61 ** **ex05 5, 90 3,48 3,60 6, 11ex06 ** ** ** **ex09 ** 72, 14 ** 45,6625fv47 2, 10 1,81 ** 2, 01ken11 10, 22 9, 21 9, 76 9, 58ken13 108, 94 56,23 63, 11 55,52ken18 1296, 82 848,72 1325, 91 740,20ste36a 10436, 96 7903,34 8102,92 **ste36b ** ** ** **ste36c ** 23476,11 27362, 21 36182, 13els19 46, 74 38,21 36,79 42, 12degen3 4, 50 4, 79 4, 93 5, 24chr22b 17,69 17,89 18, 38 19, 75chr25a 36,21 45, 13 42, 86 49, 41scr15 7, 04 6, 62 6, 65 6, 58scr20 ** 59,42 63, 12 69, 76rou20 1089, 01 510,98 512,25 777, 01maros 2, 48 0,94 0,92 0,78cycle ** ** ** 3,17bnl2 3, 63 2,76 2, 90 2,64scfxm3 0,76 1, 00 1, 14 0,80ganges 0, 64 0,52 0, 65 0, 58nug05 ** ** 0,02 **nug05-3rd ** 0,67 0,71 **nug06 0, 07 0, 07 0, 08 0, 08nug06-3rd ** ** ** **

Continuação no início da próxima página

Page 98: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 98

Tabela 5 – Tempo de processamento para resolver o problema

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

nug07 0, 24 0, 24 0, 23 **nug07-3rd ** ** ** **nug08 0, 56 0, 54 0, 70 0, 53nug12 88, 78 85,15 86,12 98, 52nug12m 86, 59 85, 12 86, 71 98, 86nug15 1644, 79 1353,17 ** **nug15m 1670, 71 1351,12 ** **qap8 0, 77 0,63 0,66 0, 72qap12 92, 43 85,81 89, 23 86,77qap15 1681, 90 1151,04 ** 1926, 20stocfor2 1, 17 0, 76 0, 80 0, 84stocfor3 81, 93 78, 20 82, 48 76,04nesm 1, 66 1, 31 1, 33 0,76BL 17,82 ** ** 15,43NL 33, 71 26,25 27, 74 28, 61aircraft ** 1,51 1,51 1, 65slp-tsk ** 30,14 32, 14 35, 06baxter_mat ** 183,22 191, 86 **dbic1 2024, 93 889,75 1651, 56 960,53lpl1 3027, 39 3070, 16 2747, 61 1965,30nsir2 68,83 73, 77 80, 75 69,04nw14 8, 44 7,68 8, 76 9, 05pcb3000 48, 96 22,05 25, 57 31, 68seymour 222, 35 5,48 5,54 8, 29

** O problema não foi resolvido.

Para apresentar a Tabela 6, lembramos que o PS não é calculado em todas as iterações do MPIprimal-dual correspondentes à fases II da Abordagem Híbrida. Suponha que 𝐵 = 𝐴ℬ seja a basecalculada na iteração 𝑘 do MPI primal-dual, então como foi visto, o PS usado nesta iteração édado por:

𝑃𝑘 = (𝐷𝑘ℬ)−1/2𝐵−1,

onde 𝐷𝑘ℬ é uma matriz diagonal que depende da iteração 𝑘 do MPI primal-dual. Se nesta

iteração o número de iterações do método dos GCP para encontrar a direção de busca usandoo sistema precondicionado é menor do que 𝑚/8, então os autores do PS, Oliveira e Sorensen

Page 99: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 99

(2005) mantém estes índices básicos ℬ para a próxima iteração do MPI primal-dual, isto é, naiteração 𝑘 + 1 tem-se que o PS é dado por:

𝑃𝑘+1 = (𝐷𝑘+1ℬ )−1/2𝐵−1 .

A propriedade de manter a matriz 𝐵 da iteração 𝑘 nas iterações seguintes é uma estratégiabarata pois em alguns problemas de grande porte o cálculo da base pode demandar muitotempo computacional, porém, como o conjunto de índices básicos depende da iteração do MPIprimal-dual, os elementos da diagonal das matrizes 𝐷𝑘 e 𝐷𝑘+1 podem variar significativamente,veja a definição de 𝑑𝑘

𝑖 e 𝑑𝑘+1𝑖 na equação (5.5.1). Se 𝑑𝑘

𝑖 ≈ 𝑑𝑘+1𝑖 para uma grande quantidade de

índices básicos, então espera-se que 𝑃𝑘+1 apresente um bom desempenho, e de fato existemproblemas em que uma base é usada em duas, três ou mais iterações do MPI além da iteraçãona que foi calculada. Neste caso, observa-se que o número de iterações do método dos GCPaumenta até superar 𝑚/8 e nesse caso uma nova base é calculada. É nessa iteração de mudançade base que são aplicadas as novas abordagens apresentadas no Capítulo 5. Assim, na Tabela 6apresentam-se:

It. GCP: Média do número de iteracões do método GCP nas iterações do MPI em que o PS écalculado.

Nro. bases: Número de bases calculadas na Fase II da Abordagem Híbrida.

Adicionalmente, como neste trabalho é usado o método Preditor-Corretor de Mehrotra (PCM),dois sistemas lineares são resolvidos a cada iteração do MPI, na Tabela 6, a quantidade antesdo símbolo ”-” corresponde ao número de iterações do método dos GCP usados para calculara direção preditora, já a quantidade que aparece depois deste símbolo corresponde ao cálculoda direção corretora. No caso dos problemas ste36b e ste36c, o símbolo * − * indica que nãohouve iterações do método dos GCP na Fase II da Abordagem Híbrida.

Page 100: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo

6.Resultados

numéricos

100Tabela 6 – Iteracões do método GCP

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜.

𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠

cre-a 23− 64 1 25− 72 2 35− 103 2 28− 84 2cre-b 33− 88 1 54− 161 2 59− 165 2 93− 145 2cre-c 31− 77 1 33− 84 1 33− 85 1 34− 84 1cre-d 32− 81 1 53− 148 1 54− 148 1 81− 240 1ex01 90− 118 17 65− 74 25 78− 87 25 80− 93 25ex02 190− 198 22 96− 154 31 152− 185 32 168− 189 32ex05 123− 181 13 92− 162 16 134− 197 19 230− 276 19ex06 355− 430 49 351− 412 59 375− 496 59 369− 512 59ex09 992− 1579 9 743− 936 49 886− 935 49 956− 1005 3625fv47 471− 486 13 516− 519 13 687− 715 4 496− 503 15ken11 s.t. s.t. 1− 17 1 8− 88 1 1− 17 1ken13 1− 10 1 1− 13 1 15− 179 1 1− 16 1ken18 2− 24 1 3− 24 1 127− 1270 1 2− 28 1ste36a 977− 1475 3 1175− 2011 4 1482− 1936 4 27682− 27682 6ste36b 17625− 17631 2 27682− 27682 2 * − * 0 27682− 27682 12ste36c * − * 0 6042− 9234 11 10651− 16124 12 13410− 24496 17els19 75− 127 4 74− 111 4 74− 111 4 207− 320 7degen3 20− 22 3 25− 26 2 25− 26 2 101− 102 3chr22b 21− 44 2 17− 43 2 19− 45 2 60− 151 2

Continuação no início da próxima página

Page 101: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo

6.Resultados

numéricos

101Tabela 6 – Iteracões do método GCP

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜.

𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠

chr25a 30− 43 3 34− 47 3 34− 50 3 183− 195 3scr15 58− 84 4 61− 86 4 61− 88 4 131− 190 6scr20 189− 352 3 194− 272 3 211− 292 2 793− 1185 6rou20 72− 99 3 63− 94 3 63− 96 3 450− 567 4maros 349− 536 26 356− 368 12 408− 423 11 266− 283 11cycle 1389− 1299 32 1371− 1226 39 1409− 1278 39 408− 412 17bnl2 102− 109 7 156− 183 6 155− 185 6 112− 130 5scfxm3 200− 206 7 180− 291 10 319− 352 14 211− 225 10ganges 31− 55 2 42− 75 3 43− 75 3 62− 106 3nug05 6− 17 3 5− 7 2 5− 10 2 19− 63 3nug05-3rd 173− 589 2 31− 31 1 56− 63 1 215− 407 3nug06 18− 20 2 17− 17 1 15− 16 1 19− 23 1nug06-3rd 1878− 1909 2 1878− 1912 2 1897− 1899 2 1941− 1945 2nug07 22− 27 3 22− 25 3 22− 23 2 27− 32 3nug07-3rd 8543− 8546 10 4349− 4910 4 8377− 8483 8 6915− 7023 4nug08 36− 37 2 35− 36 2 36− 36 2 40− 40 2nug12 276− 336 8 235− 340 8 228− 350 9 362− 451 10nug12m 315− 352 8 250− 363 8 233− 336 8 362− 451 10nug15 1683− 2120 13 1342− 1722 13 1503− 1935 14 2716− 3646 22nug15m 1683− 2120 13 1342− 1722 13 1503− 1935 14 2716− 3646 22

Continuação no início da próxima página

Page 102: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo

6.Resultados

numéricos

102Tabela 6 – Iteracões do método GCP

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜.

𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠

qap8 51− 73 50− 51 2 46− 48 2 60− 86 3qap12 313− 396 9 323− 432 9 347− 44 9 367− 456 10qap15 2272− 2520 17 1457− 1454 15 1862− 2182 18 1965− 2614 23stocfor2 8− 9 2 11− 11 2 11− 12 2 16− 16 3stocfor3 60− 73 2 64− 78 2 147− 148 3 99− 102 2nesm 227− 286 23 149− 202 25 150− 203 25 65− 85 19BL 172− 375 3 1368− 2714 16 914− 1574 16 203− 429 4NL 37− 76 2 102− 198 3 100− 211 3 133− 281 3aircraft s.t. s.t. 4− 4 1 4− 4 1 5− 5 1slp-tsk s.t. s.t. 67− 69 3 67− 68 3 55− 55 3baxter_mat s.t. s.t. 106− 143 3 102− 133 3 114− 152 3dbic1 s.t. s.t. 946− 2142 1 6706− 14926 2 886− 1999 1lpl1 220− 524 2 381− 922 3 394− 936 3 348− 813 2nsir2 s.t. s.t. 33− 1056 4 33− 1056 4 30− 392 1nw14 8− 9 5 6− 7 3 5− 7 3 5− 8 3pcb3000 71− 145 3 96− 185 3 95− 197 3 237− 530 5seymour s.t. s.t. 46− 55 3 46− 55 3 338− 363 4

s.t. Não houve mudança de fase.

Page 103: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 103

Observamos que uma vez feita a ordenação das colunas de 𝐴 dada pelas diferentes abordagensapresentadas no Capítulo 5, a detecção de colunas linearmente independentes às outraspreviamente encontradas é feita através de uma fatoração LU da matriz 𝐴. Esta fatoração podegerar muito preenchimento, nesse caso, a técnica usada pelos autores Oliveira e Sorensen (2005)para tratar este problema é interromper a fatoração para reordenar as colunas linearmenteindependentes já encontradas das mais esparsas às menos esparsas e, dessa maneira, reiniciar afatoração até encontrar as 𝑚 colunas linearmente independentes. Logo o tempo de processamentopara obter a base pode variar de uma abordagem para outra, particularmente em problemas degrande porte. Assim, na Tabela 7 apresentam-se:

Nro. col. LI: A média das colunas básicas encontradas antes do primeiro reinício da fatoraçãoLU.

T.C. base A média dos tempos de cálculo da base em todas as iterações do MPI primal-dualna que foi necessária a construção de um novo PS.

Tabela 7 – Dados da base do PS

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶.

𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒

cre-a 2732 0, 09 2786 0, 05 2794 0, 06 2809 0, 06cre-b 5064 1, 12 5120 0, 50 5152 1, 43 5152 0, 39cre-c 2188 0, 04 2013 0, 01 2230 0, 03 2241 0, 03cre-d 3903 0, 89 3943 0, 36 3943 0, 52 3965 0, 30ex01 219 0, 00 229 0, 00 230 0, 00 233 0, 00ex02 189 0, 00 205 0, 00 208 0, 00 219 0, 00ex05 782 0, 02 816 0, 00 818 0, 00 826 0, 00ex06 764 0, 01 776 0, 01 782 0, 00 789 0, 00ex09 1703 0, 05 1767 0, 01 1791 0, 01 1806 0, 0125fv47 604 0, 015 642 0, 005 661 0, 005 658 0, 00ken11 s.t. s.t. 9943 0, 20 9945 0, 20 9942 0, 22ken13 22280 1, 38 22282 1, 11 22294 1, 10 22286 1, 11ken18 78341 23, 75 78343 18, 28 78367 19, 03 78342 19, 02ste36a 23122 2033, 21 24712 1077, 44 24718 1062, 68 25181 541, 90ste36b 22663 1271, 12 24511 1750, 14 24519 ** 25187 977, 26

Continuação no início da próxima página

Page 104: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 104

Tabela 7 – Dados da base do PS

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶.

𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒

ste36c 22926 ** 23556 1632, 91 23992 1221, 45 25043 1123, 32els19 3680 6, 55 3795 4, 48 3795 4, 05 3909 3, 02degen3 859 0, 41 875 0, 31 876 0, 36 926 0, 28chr22b 5312 0, 32 5342 0, 14 5342 0, 12 5406 0, 08chr25a 7741 0, 64 7786 0, 56 7786 0, 40 7831 0, 46scr15 1823 0, 48 1849 0, 31 1849 0, 30 1908 0, 14scr20 4149 9, 74 4312 5, 72 4313 6, 68 4423 2, 67rou20 5775 223, 02 6061 52, 33 6062 53, 06 6294 54, 30maros 475 0, 01 499 0, 00 499 0, 00 555 0, 00cycle 1276 0, 02 1292 0, 02 1295 0, 02 1331 0, 02bnl2 1789 0, 03 1803 0, 02 1803 0, 02 1821 0, 02scfxm3 754 0, 00 784 0, 00 785 0, 00 805 0, 00ganges 865 0, 01 863 0, 00 864 0, 00 864 0, 00nug05 94 0, 00 96 0, 00 96 0, 00 97 0, 00nug05-3rd 511 0, 17 514 0, 17 517 0, 12 565 0, 11nug06 159 0, 00 151 0, 00 152 0, 00 164 0, 00nug06-3rd 1504 15, 64 1507 13, 46 1506 12, 52 1519 11, 12nug07 248 0, 02 254 0, 02 247 0, 01 288 0, 00nug07-3rd 3690 346, 98 3685 311, 32 3720 323, 46 3724 314, 71nug08 414 0, 08 429 0, 08 435 0, 06 467 0, 05nug12 1825 4, 38 1835 4, 58 1887 4, 36 1910 4, 92nug12m 1825 4, 38 1835 4, 34 1836 4, 57 1910 4, 96nug15 3459 50, 21 3472 44, 93 3480 48, 47 3909 32, 40nug15m 3459 50, 20 3472 45, 21 3480 46, 54 3909 32, 40qap8 424 0, 06 436 0, 5 441 0, 05 479 0, 05qap12 1885 4, 25 1902 4, 56 1898 4, 74 2028 4, 25qap15 3537 45, 20 3563 34, 55 3601 38, 72 3987 26, 18stocfor2 1644 0, 015 1774 0, 01 1769 0, 01 1827 0, 01stocfor3 11721 2, 64 12868 1, 49 13380 1, 34 13262 1, 23nesm 495 0, 01 508 0, 01 529 0, 01 566 0, 00BL 5397 0, 23 5408 0, 21 5415 0, 18 5424 0, 18

Continuação no início da próxima página

Page 105: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 105

Tabela 7 – Dados da base do PS

Problema 𝑃𝑆𝑀 𝑃𝑆1 𝑃𝑆2 𝑃𝑆3

𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶. 𝑁𝑟𝑜. 𝑇.𝐶.

𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒 𝑐𝑜𝑙.𝐿𝐼 𝑏𝑎𝑠𝑒

NL 6337 0, 31 6367 0, 36 6361 0, 26 6396 0, 29aircraft s.t. s.t. 3377 0, 03 3377 0, 02 3721 0, 02slp-tsk s.t. s.t. 2551 0, 02 2551 0, 02 2418 0, 02baxter_mat s.t. s.t. 23683 1, 78 23684 1, 75 23730 1, 27dbic1 s.t. s.t. 32286 70, 91 30853 210, 19 33031 25, 42lpl1 26771 978, 29 26895 705, 35 26917 602, 83 26940 517, 46nsir2 s.t. s.t. 4098 0, 08 4098 0, 06 3876 0, 06nw14 49 0, 12 51 0, 10 51 0, 05 51 0, 02pcb3000 2738 2, 74 2742 2, 39 2742 2, 34 2755 2, 41seymour s.t. s.t. 4538 0, 07 4557 0, 06 4631 0, 05

s.t. Não houve mudança de fase.

6.3 Análise dos resultados numéricosPara uma análise dos resultados gerais apresentados nas tabelas da Seção 6.2 apresentam-se osperfis de desempenho, veja Dolan e Moré (2002) e o Apêndice C. O arquivo gerador dos perfisde desempenho é baseado no arquivo perf.m, disponível em < ℎ𝑡𝑡𝑝 : //𝑤𝑤𝑤.𝑚𝑐𝑠.𝑎𝑛𝑙.𝑔𝑜𝑣/∼𝑚𝑜𝑟𝑒/𝑐𝑜𝑝𝑠/> .

Como foi mencionado, o desempenho do PS depende da iteração do MPI primal-dual na qual aFase II é acionada. Dos 56 problemas testados, de acordo com a Tabela 3, nossa proposta demudança de fases quando comparada com a mudança de fases da abordagem 𝑃𝑆𝑀 proposta emVelazco et al. (2010) teve 18 problemas com mudança de fases antecipada, 12 problemas commudança de fases adiada, 19 problemas com mudança de fases mantida, além disso, 7 problemasnão fizeram mudança de fases com a abordagem 𝑃𝑆𝑀 , porém, com a proposta apresentadaneste trabalho a mudança de fases foi acionada.

Na Tabela 4, observa-se que 4 dos 56 problemas não foram resolvidos por nenhuma abordagem,os problemas ex06, ste36b, nug06-3rd e nug07-3rd. As abordagens 𝑃𝑆1 e 𝑃𝑆3 apresentaramum melhor desempenho no número total de iterações do MPI primal-dual. De fato, as abordagens𝑃𝑆1 e 𝑃𝑆3, reduziram o número total de iterações do MPI num 36% e 30% dos problemastestados, respectivamente. O perfil de desempenho do total de iterações do MPI mostrado naTabela 4, apresenta-se na Figura 3.

Page 106: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 106

0 0,2 0,4 0,6 0,8 10

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PS1

PS2

PS3

Perfil de desempenho para as iteracoes do MPI

Figura 3 – Perfil de desempenho para o total de iterações do MPI

Em relação ao tempo de processamento necessário para a solução dos problemas, apresentadona Tabela 5, observa-se no perfil de desempenho da Figura 4 que as abordagens 𝑃𝑆1 e 𝑃𝑆3

obtiveram um melhor desempenho. De fato, a abordagem 𝑃𝑆1 obteve uma redução do tempode processamento num 48% dos problemas testados, já a abordagem 𝑃𝑆3 obteve um 25% dosproblemas testados com menor tempo de processamento. Estes fatos devem-se à aceleração docálculo de base, pois apesar do aumento do número de iterações do método dos GradientesConjugados Precondicionado (GCP), este incremento foi moderado. Por outro lado, umaoportuna mudança de fases também foi importante, observe que dos 7 problemas nos quais aabordagem 𝑃𝑆𝑀 não fez troca de fase, apenas no problema nsir2 esta abordagem teve ummelhor desempenho. Os problemas ken11, aircraft, slp-tsk, baxter_mat, dbic1 e seymour,nos quais o PS é acionado de acordo a nossa proposta de mudança de fase, apresentaram umaredução do número total de iterações e do tempo de processamento do MPI primal-dual.

Page 107: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 107

0 1 2 3 4 50

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PS1

PS2

PS3

Perfil de Desempenho

Figura 4 – Perfil de desempenho do tempo de processamento usado para resolver o problema

Relativamente às iterações do método dos GCP, as melhores abordagens foram a 𝑃𝑆𝑀 e 𝑃𝑆1

como apresentado na Figura 5. A abordagem 𝑃𝑆1 baseia-se na Proposição 5.2.1 que minimizaa norma de Frobenius da matriz W onde W = 𝐷

−1/2ℬ 𝐴−1

ℬ 𝐴𝒩 𝐷1/2𝒩 , e por conseguinte tenta-se

minimizar o número da matriz de Equações Normais precondicionada pelo PS. Além disso,pelo fato de que na implementação do PCx é usada técnica de scaling, veja a Seção B.1.2do Apêndice B.1, tem-se que cada coluna 𝐴𝑖 da matriz 𝐴 de restrições do problema é tal que‖𝐴𝑖‖≤

?𝑚, logo, pelo Teorema 5.2.2 o número de condição da matriz de Equações Normais

precondicionada pelo PS independe da matriz 𝐷.

Por outro lado, era esperado que as abordagens 𝑃𝑆2 e 𝑃𝑆3 apresentassem um desempenhomais fraco em relação ao número de iterações do método dos GCP, pois nos resultados teóricos,o Teorema 5.3.2 e Teorema 5.4.1, o limitante do número de condição da matriz de EquaçõesNormais precondicionada pelo PS foi multiplicado pelos parâmetros 𝐶 e 𝑀 quando comparadocom o limitante da abordagem 𝑃𝑆1, veja Teorema 5.2.2. No entanto, na proposição 5.3.3apresenta-se uma escolha de grupos na que é possível manter um controle sobre 𝐶, nos testesnuméricos 𝐶 = 4 e e 𝐿 = 1, 005, assim, a cardinalidade máxima de cada grupo será 𝑀𝐶 = 277.

Por outro lado, na Tabela 2 apresenta-se o valor de 𝑀 para cada problema abordado. No entanto,estas abordagens dão ênfase à aceleração do cálculo da base como apresentado na Figura 6.

No perfil de desempenho do método dos GCP, veja a Figura 5, considerou-se a soma das iteraçõesdo método dos GCP correspondentes ao cálculo da direção preditora e a direção corretora

Page 108: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 108

apresentados na Tabela 6. Observamos que os problemas nos quais a abordagem 𝑃𝑆𝑀 nãofez troca de fases não foram considerados no perfil de desempenho da Tabela 6, isto é, nãoforam comparados. Na Tabela 6, denota-se por s.t. quando não houve mudança de fases e porconseguinte não houve iterações do método dos GCP na Fase II da Abordagem Híbrida. Umaobservação relativa ao número de bases calculadas é que esta quantidade não depende apenasdas iterações do método dos GCP mas também da iteração de troca de fases da AbordagemHíbrida.

0 1 2 3 4 5 60

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PS1

PS2

PS3

Perfil de Desempenho

Figura 5 – Perfil de desempenho para o método dos GCP

Com relação à Tabela 7 onde é apresentado o Nro. col. LI que denota a média do número decolunas básicas encontradas antes do primeiro reinício da fatoração LU em todas as iteraçõesdo MPI nas que o PS é construido e T.C. base que denota o média tempo usado para cálculoda base, observa-se que a melhor abordagem é 𝑃𝑆3 seguida pela abordagem 𝑃𝑆2 como eraesperado, pois nestas abordagens deu-se prioridade a colunas esparsas para formar a base.Existem diferencias notáveis enquanto ao tempo usado na construção da base em problemas degrande porte como o ste36a, ste36b e ste36c. Na Figura 6 apresenta-se o perfil de desempenhodo tempo de cálculo de base do PS.

Page 109: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 109

0 2 4 60

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PS1

PS2

PS3

Perfil de Desempenho

Figura 6 – Perfil de desempenho para o tempo do cálculo da base do PS

0 0,5 1 1,5 2 2,5 30

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PS1

PS2

PS3

Perfil de Desempenho

Figura 7 – Perfil de desempenho para número de colunas encontradas antes do primeiro reinícioda fatoração LU

Com respeito às colunas da Tabela 7 relativas ao Nro. col. LI, o perfil de desempenho daFigura 7 refere-se a 𝑚−𝑁𝑟𝑜.𝑐𝑜𝑙.𝐿𝐼, isto é, o número de colunas que faltam para completar a

Page 110: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 110

base após a primeiro reinício da fatoração LU da matriz 𝐴.

6.4 Resultados numéricos usando a reciclagem de colunas básicasComo foi visto nos resultados numéricos já apresentados, a eficiência do PS depende de umaescolha adequada dos índices básicos, isto é, os índices básicos devem

∙ fornecer um PS que apresente um número moderado de iterações do método GCP paraencontrar a direção de busca.

∙ diminuir o preenchimento na fatoração LU usada para detectar colunas linearmenteindependentes que irão formar a base, pois desta maneira o cálculo da base é acelerado.

A reciclagem de colunas proposta na Seção 5.5 tem por objetivo aproveitar algumas colunas dabase do PS numa iteração do MPI na iteração seguinte e desta maneira, acelerar o cálculo danova base.

A escolha da abordagem 𝑃𝑆1 em lugar das abordagens 𝑃𝑆2 e 𝑃𝑆3 para fazer a reciclagem decolunas é que esta abordagem tem melhor desempenho no método dos GCP, além disso, aabordagem 𝑃𝑆1 não usa nenhum critério de esparsidade na seleção das colunas.

Nesta seção comparamos as abordagens 𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒, assim como as abordagens 𝑃𝑆1 e 𝑃𝑆1𝑟𝑒,onde:

𝑃𝑆𝑀𝑟𝑒 : Abordagem que combina 𝑃𝑆𝑀 e a reciclagem de colunas.

𝑃𝑆1𝑟𝑒 : Abordagem que combina 𝑃𝑆1 e a reciclagem de colunas.

Observamos que na iteração do MPI primal-dual na qual é acionado o PS, as abordagens𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒 apresentam o mesmo desempenho, uma situação semelhante acontece com asabordagens 𝑃𝑆1 e 𝑃𝑆1𝑟𝑒. Isto acontece porque o Algoritmo 7 recicla colunas a partir de umabase já calculada, assim nos problemas onde foi necessário apenas o cálculo de uma base do PSespera-se o mesmo desempenho das abordagens com e sem reciclagem de colunas básicas.

Na Tabela 8 apresenta-se o tempo total de processamento usado para resolver o problema(Tempo), assim como o número total de Iterações (T. It.) do MPI primal-dual. As diferênciasmais notáveis foram marcadas em negrito.

Page 111: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 111

Tabela 8 – Tempo e Iterações do MPI

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

𝑇𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡. 𝑇 𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡. 𝑇 𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡. 𝑇 𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡.

cre-a 6, 89 27 6, 89 27 5, 41 27 5, 41 27cre-b 54, 27 43 54, 27 43 39, 56 43 35,72 43cre-c 5, 19 27 5, 19 27 5, 11 27 5, 11 27cre-d 35, 16 42 35, 16 42 28, 22 42 28, 22 42ex01 0, 46 28 0, 41 28 0, 31 28 0, 31 28ex02 ** ** 1,22 56 0, 61 37 0, 57 36ex05 5, 90 39 5, 33 39 3, 48 38 3, 42 37ex06 ** ** ** ** ** ** 10,72 67ex09 ** ** 31,93 37 72, 14 59 48,66 4325fv47 2,10 31 4, 22 46 1,81 27 2, 86 33ken11 10, 22 23 10, 22 23 9, 21 22 9, 21 22ken13 108, 94 29 108, 94 29 56, 23 29 56, 26 29ken18 1296, 82 41 1296, 82 41 848, 72 41 848, 72 41ste36a 10436, 96 38 7243,62 38 7903, 34 38 5628,35 37ste36b ** ** ** ** ** ** ** **ste36c ** ** ** ** 23476, 11 41 15128,23 41els19 46, 74 31 39,69 31 38, 21 31 35,07 31degen3 4, 50 16 4, 45 16 4, 79 16 4, 86 16chr22b 17, 69 29 15,59 29 17, 89 29 18, 01 29chr25a 36, 21 28 38, 03 28 45, 13 29 43,01 29scr15 7, 04 24 5,47 24 6, 62 24 6, 23 24scr20 ** ** 66,21 21 59, 42 21 58, 12 21rou20 1089, 01 24 969,46 24 510, 98 24 478,39 24maros 2, 48 40 1,02 22 0, 94 21 0, 90 21cycle ** ** ** ** ** ** ** **bnl2 3, 63 51 3, 24 51 2, 76 37 2, 65 37scfxm3 0, 76 20 0, 76 20 1,00 22 1, 20 24ganges 0, 64 18 0, 61 18 0, 52 17 0, 52 17nug05 ** ** ** ** ** ** ** **nug05-3rd ** ** ** ** 0, 67 6 0, 67 6nug06 0, 07 6 0, 07 6 0, 07 6 0, 07 6

Continuação no início da próxima página

Page 112: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 112

Tabela 8 – Tempo e Iterações do MPI

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

𝑇𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡. 𝑇 𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡. 𝑇 𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡. 𝑇 𝑒𝑚𝑝𝑜 𝑇.𝐼𝑡.

nug06-3rd ** ** ** ** ** ** ** **nug07 0, 24 11 0, 24 11 0, 24 11 0, 24 11nug07-3rd ** ** ** ** ** ** ** **nug08 0, 56 9 0, 51 9 0, 54 9 0, 61 10nug12 88, 78 20 88, 61 20 85, 15 20 83, 25 20nug12m 86, 59 20 88, 65 20 85, 12 20 85, 12 20nug15 1644, 79 23 1644, 79 23 1353, 17 23 1353, 17 23nug15m 1670, 71 23 1670, 71 23 1351, 12 23 1351, 12 23qap8 0, 77 10 0, 61 9 0, 63 9 0, 63 9qap12 92, 43 20 93, 31 20 85, 81 20 87, 51 20qap15 1681, 90 24 1681, 90 24 1151, 04 23 1151, 04 24stocfor2 1, 17 21 1, 15 21 0, 76 21 0, 76 21stocfor3 81, 93 32 79, 96 32 78, 20 32 77, 34 32nesm 1, 66 31 1, 65 31 1, 31 31 1, 22 31BL 17, 82 38 17, 80 38 ** ** ** **NL 33, 71 41 27,17 41 26, 25 41 27, 01 41aircraft ** ** ** ** 1, 51 13 1, 51 13slp-tsk ** ** ** ** 30, 14 25 32, 79 25baxter_mat ** ** ** ** 183, 22 33 186, 01 33dbic1 2024, 93 58 2024, 93 58 889, 75 54 889, 75 54lpl1 3027, 39 73 2165,52 73 3070, 16 73 2026,32 72nsir2 68, 83 32 68, 83 32 73,77 34 81, 34 36nw14 8, 44 47 7, 36 48 7, 68 46 7, 66 46pcb3000 48, 96 29 44, 98 29 22, 05 29 22, 23 29seymour 222, 35 24 222, 35 24 5, 58 20 5, 54 20

** O problema não foi resolvido.

Na Tabela 9 apresentam-se:

It. GCP: Média do número de iteracões do método GCP nas iterações do MPI em que o PS écalculado.

Nro. bases: Número de bases calculadas na Fase II da Abordagem Híbrida.

Page 113: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo

6.Resultados

numéricos

113Tabela 9 – Iteracões do método GCP e Nro. de bases calculadas

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜.

𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠

cre-a 23− 64 1 23− 64 1 25− 72 2 25− 73 2cre-b 33− 88 1 33− 88 1 54− 161 2 59− 166 2cre-c 31− 77 1 31− 77 1 33− 84 1 33− 84 1cre-d 32− 81 1 32− 81 1 53− 148 1 53− 148 1ex01 90− 118 17 91− 116 17 65− 74 25 72− 78 25ex02 190− 198 22 188− 196 43 96− 154 31 94− 151 30ex05 123− 181 14 93− 120 14 92− 162 26 107− 122 25ex06 355− 430 49 352− 421 49 351− 412 59 192− 223 59ex09 992− 1579 9 840− 871 17 743− 936 49 742− 1005 3325fv47 471− 486 13 511− 640 26 516− 519 13 689− 697 20ken11 s.t. s.t. s.t. s.t. 1− 17 1 1− 17 1ken13 1− 10 1 1− 10 1 1− 13 1 1− 13 1ken18 2− 24 1 2− 24 1 3− 24 1 3− 24 1ste36a 977− 1475 3 892− 1237 3 1175− 2011 4 1237− 2024 4ste36b 17625− 17631 2 17625− 17625 2 27682− 27682 2 27682− 27682 2ste36c * − * 0 * − * 0 6042− 9234 11 6747− 9505 10els19 75− 127 4 73− 113 4 74− 111 4 79− 120 4degen3 20− 22 3 17− 21 3 25− 26 2 25− 26 2chr22b 21− 44 2 21− 44 2 17− 43 2 19− 45 2

Continuação no início da próxima página

Page 114: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo

6.Resultados

numéricos

114Tabela 9 – Iteracões do método GCP e Nro. de bases calculadas

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜.

𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠

chr25a 30− 43 3 30− 42 3 34− 47 3 34− 49 3scr15 58− 84 4 63− 90 4 61− 86 4 63− 92 4scr20 189− 352 3 130− 230 3 194− 272 3 205− 299 3rou20 72− 99 3 72− 96 3 63− 94 3 63− 95 3maros 349− 536 26 346− 363 16 356− 368 12 335− 352 12cycle 1389− 1299 32 1382− 1275 32 1371− 1226 39 1398− 1296 39bnl2 102− 109 7 102 7 156− 183 6 155− 184 6scfxm3 200− 206 7 239− 246 7 180− 291 10 278− 282 13ganges 31− 55 2 30− 54 2 42− 75 3 43− 76 3nug05 6− 17 3 6− 17 3 5− 7 2 4− 6 2nug05-3rd 173− 589 2 173− 589 2 31− 31 1 31− 31 1nug06 18− 20 2 16− 21 2 15− 17 1 17− 17 1nug06-3rd 1878− 1909 2 1877− 1908 2 1878− 1812 2 1878− 1812 2nug07 22− 27 3 22− 27 3 22− 25 3 23− 25 3nug07-3rd 8543− 8546 10 8543− 8546 10 4349− 4910 4 4349− 4910 4nug08 36− 37 2 38− 55 2 35− 36 2 48− 73 3nug12 276− 336 8 318− 358 8 235− 340 8 242− 353 8nug12m 315− 352 8 283− 399 10 250− 363 8 231− 328 8nug15 1683− 2120 13 1683− 2120 13 1342− 1722 13 1342− 1722 13nug15m 1683− 2120 13 1683− 2120 13 1342− 1722 13 1342− 1722 13

Continuação no início da próxima página

Page 115: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo

6.Resultados

numéricos

115Tabela 9 – Iteracões do método GCP e Nro. de bases calculadas

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜. 𝐼𝑡. 𝑁𝑟𝑜.

𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠 𝐺𝐶𝑃 𝑏𝑎𝑠𝑒𝑠

qap8 51− 73 3 49− 50 2 50− 51 2 50− 50 2qap12 313− 396 9 317− 434 10 323− 432 9 331− 476 10qap15 2272− 2520 17 2272− 2520 17 1457− 1454 15 1457− 1454 15stocfor2 8− 9 2 8− 8 2 11− 11 2 13− 13 2stocfor3 60− 73 2 65− 81 2 64− 78 2 69− 81 2nesm 227− 286 23 228− 285 25 149− 202 25 143− 192 25BL 172− 375 3 172− 372 3 1368− 2714 16 1397− 2803 22NL 74− 147 2 73− 147 2 102− 198 3 103− 211 3aircraft s.t. s.t. s.t. s.t. 4− 4 1 4− 4 1slp-tsk s.t. s.t. s.t. s.t. 67− 69 3 68− 69 3baxter_mat s.t. s.t. s.t. s.t. 106− 143 3 120− 145 3dbic1 s.t. s.t. s.t. s.t. 946− 2142 1 946− 2142 1lpl1 220− 524 2 214− 522 2 381− 922 3 436− 1070 2nsir2 s.t. s.t. s.t. s.t. 33− 1056 4 22− 1109 6nw14 8− 9 5 7− 7 6 6− 7 3 6− 7 3pcb3000 71− 145 3 67− 142 3 96− 185 3 83− 179 3seymour s.t. s.t. s.t. s.t. 46− 55 3 46− 54 3

s.t. Não houve mudança de fase.

Page 116: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 116

Na Tabela 10 apresenta-se:

Nro. col. LI: A média das colunas básicas encontradas antes do primeiro reinício da fatoraçãoLU.

T.C. base A média dos tempos de cálculo base em todas as iterações do MPI primal-dual naque foi necessária a construção de um novo PS.

Tabela 10 – Dados da base do PS

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

Nro. T.C. Nro. T.C. Nro. T.C. Nro. T.C.col. LI base col. LI base col. LI base col. LI base

cre-a 2732 0, 09 2732 0, 09 2786 0, 05 2790 0, 04cre-b 5064 1, 12 5064 1, 12 5120 0, 50 5120 0, 46cre-c 2188 0, 04 2188 0, 04 2013 0, 01 2013 0, 01cre-d 3903 0, 89 3903 0, 89 3943 0, 36 3943 0, 36ex01 219 0, 00 226 0, 00 229 0, 00 232 0, 00ex02 189 0, 00 208 0, 00 205 0, 00 216 0, 00ex05 782 0, 02 824 0, 01 816 0, 00 828 0, 00ex06 764 0, 01 768 0, 01 776 0, 01 801 0, 00ex09 1703 0, 05 1791 0, 02 1767 0, 01 1806 0, 0125fv47 604 0, 015 641 0, 01 642 0, 005 649 0, 005ken11 s.t. s.t. s.t. s.t. 9943 0, 20 9943 0, 20ken13 22280 1, 38 22280 1, 38 22282 1, 11 22282 1, 11ken18 78341 23, 75 78341 23, 75 78343 18, 28 78343 18, 28ste36a 23122 2033, 21 24466 1237, 67 24712 1077, 44 25623 644, 31ste36b 22633 1271, 12 22633 1158, 17 24511 1750, 14 24511 1750, 14ste36c 22926 ** 22926 ** 24556 1632, 91 25639 989, 46els19 3680 6, 55 3864 4, 02 3795 4, 48 3907 3, 39degen3 859 0, 41 865 0, 32 875 0, 31 877 0, 30chr22b 5312 0, 32 5320 0, 17 5342 0, 14 5348 0, 13chr25a 7741 0, 64 7764 0, 62 7786 0, 56 7795 0, 44scr15 1823 0, 48 1928 0, 28 1849 0, 31 1942 0, 21scr20 4149 9, 74 4366 6, 91 4312 5, 72 4445 4, 93rou20 5775 223, 02 6003 211, 02 6061 52, 33 6259 46, 28maros 475 0, 01 531 0, 00 499 0, 00 541 0, 00

Continuação no início da próxima página

Page 117: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 117

Tabela 10 – Dados da base do PS

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

Nro. T.C. Nro. T.C. Nro. T.C. Nro. T.C.col. LI base col. LI base col. LI base col. LI base

cycle 1276 0, 02 1285 0, 01 1292 0, 02 1309 0, 02bnl2 1789 0, 03 1879 0, 02 1803 0, 02 1844 0, 02scfxm3 754 0, 00 778 0, 00 784 0, 00 796 0, 00ganges 865 0, 01 865 0, 00 863 0, 00 887 0, 00nug05 94 0, 00 94 0, 00 93 0, 00 96 0, 00nug05-3rd 511 0, 17 511 0, 17 514 0, 17 514 0, 17nug06 159 0, 00 163 0, 00 151 0, 00 151 0, 00nug06-3rd 1504 15, 64 1504 15, 01 1507 13, 46 1507 12, 46nug07 248 0, 02 248 0, 02 254 0, 02 271 0, 02nug07-3rd 3690 346, 98 3690 346, 98 3685 311, 32 3685 311, 32nug08 414 0, 08 442 0, 06 429 0, 08 469 0, 06nug12 1825 4, 38 1881 4, 12 1835 4, 58 1891 4, 01nug12m 1825 4, 38 2117 4, 09 1835 4, 34 2002 4, 02nug15 3459 50, 21 3459 50, 21 3472 44, 93 3472 44, 93nug15m 3459 50, 20 3459 50, 20 3472 45, 21 3472 45, 21qap8 424 0, 06 456 0, 05 436 0, 06 466 0, 05qap12 1885 4, 25 2208 4, 04 1902 4, 56 2192 3, 99qap15 3537 45, 20 3537 45, 20 3563 34, 55 3563 34, 55stocfor2 1644 0, 015 1690 0, 01 1774 0, 01 1774 0, 01stocfor3 11721 2, 64 12336 1, 71 12868 1, 49 13002 1, 02nesm 495 0, 01 537 0, 01 508 0, 01 558 0, 01BL 5397 0, 23 5421 0, 19 5408 0, 21 5438 0, 21NL 6337 0, 31 6359 0, 28 6367 0, 36 6369 0, 34aircraft s.t. s.t. s.t. s.t. 3377 0, 03 3377 0, 03slp-tsk s.t. s.t. s.t. s.t. 2418 0, 02 2428 0, 02baxter_mat s.t. s.t. s.t. s.t. 23683 1, 78 23688 1, 75dbic1 s.t. s.t. s.t. s.t. 32286 70, 91 32286 70, 91lpl1 26771 978, 29 26946 521,41 26895 705, 35 26996 511, 41nsir2 s.t. s.t. s.t. s.t. 4098 0, 08 4155 0, 07nw14 49 0, 12 52 0, 10 51 0, 12 51 0, 11pcb3000 2738 2, 74 2733 2, 38 2742 2, 39 2743 2, 39

Continuação no início da próxima página

Page 118: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 118

Tabela 10 – Dados da base do PS

Problema 𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒 𝑃𝑆1 𝑃𝑆1𝑟𝑒

Nro. T.C. Nro. T.C. Nro. T.C. Nro. T.C.col. LI base col. LI base col. LI base col. LI base

seymour s.t. s.t. s.t. s.t. 4538 0, 07 4540 0, 06

s.t. Não houve mudança de fase.

6.5 Análise dos resultados numéricos usando a reciclagem de colunasbásicas

Para uma análise dos resultados numéricos apresentados nas tabelas da Seção 6.4, são destacadosdois grupos de problemas; os problemas com uma o nenhuma base calculada e os problemascom pelo menos duas bases calculadas.

Na abordagem 𝑃𝑆𝑀 tem-se 14 problemas nos quais foi necessário o cálculo de apenas uma ounenhuma base, logo nestes problemas espera-se um desempenho semelhante ao das abordagens𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒, veja a Tabela 9. Similarmente, na abordagem 𝑃𝑆1 tem-se 7 problemas nos quaisfoi necessário o cálculo de apenas uma ou nenhuma base, logo nestes problemas espera-se umsimilar desempenho das abordagens 𝑃𝑆1 e 𝑃𝑆1𝑟𝑒.

Nos problemas nos quais foram calculadas pelo menos duas bases acontece um desempenhosimilar ao apresentado na Tabela 11 que mostra detalhadamente a abordagem que recicla colunasbásicas aplicada ao problema els19.

O problema els19 é resolvido usando as duas fases da Abordagem Híbrida, a mudança de fasesé feita na iteração 14 do MPI para todas as abordagens comparadas 𝑃𝑆𝑀 , 𝑃𝑆𝑀𝑟𝑒, 𝑃𝑆1 e 𝑃𝑆1𝑟𝑒.Em todas as abordagens 4 bases do PS foram calculadas, a saber nas iterações 14, 19, 24 e 28do MPI. Na Tabela 11,

It. MPI: Denota a iteração do MPI na que a base do PS é calculada.

No. Col. LI: Denota o número de colunas básicas encontradas antes do primeiro reinício dafatoração LU na iteração corrente.

T. C. base: Denota o tempo de cálculo da base para o PS na iteração corrente.

It: GCP: Denota o número de iterações do método dos GCP na iteração corrente.

Page 119: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 119

Tabela 11 – Problema els19

𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒

No. Col. LI T.C. base It. GCP No. Col. LI T.C. base It. GCPIt. MPI

14 3672 5, 21 110− 109 3672 5, 21 100− 10919 3679 5, 42 71− 69 3874 3, 44 69− 7124 3679 6, 01 72− 175 3895 3, 63 70− 11628 3689 5, 90 14− 102 3913 2, 92 43− 101

𝑃𝑆1 𝑃𝑆1𝑟𝑒

No. Col. LI T.C. base It. GCP No. Col. LI T.C. base It. GCPIt. MPI

14 3812 3, 92 113− 111 3812 3, 92 113− 11119 3765 4, 24 71− 71 3919 3, 16 72− 7424 3795 4, 47 61− 138 3938 2, 75 68− 15028 3808 4, 38 53− 127 3958 2, 98 64− 146

Tabela 12 – Problema ste36a

𝑃𝑆𝑀 𝑃𝑆𝑀𝑟𝑒

No. Col. LI T.C. base It. GCP No. Col. LI T.C. base It. GCPIt. MPI

26 23152 2004, 25 1846− 2130 23152 2004, 25 1846− 213030 23122 2002, 41 521− 1135 25072 941, 52 543− 150134 23094 2007, 41 561− 1160 25176 912, 98 259− 695

𝑃𝑆1 𝑃𝑆1𝑟𝑒

No. Col. LI T.C. base It. GCP No. Col. LI T.C. base It. GCPIt. MPI

26 24742 1012, 86 2897− 3168 24742 1012, 86 2897− 316829 24698 1068, 12 1040− 2614 25868 681, 79 1225− 296232 24712 1101, 52 730− 1411 25915 682, 84 486− 139336 24712 1037, 89 356− 853 25966 634, 87 343− 816

Quando comparadas as abordagens 𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒, observamos na Tabela 11 que na iteração14 do MPI o desempenho de ambas as abordagens é semelhante, já nas iterações 19, 24 e 28o desempenho da abordagem 𝑃𝑆𝑀𝑟𝑒 foi superior, pois um número maior de colunas foramencontradas antes do primeiro reinício da fatoração LU, assim como o tempo de cálculo debase foi reduzido, já nas iterações do método dos GCP o desempenho é semelhante em ambasas abordagens, neste problema houve uma pequena redução, já em outros problemas há umpequeno incremento, porém esta mudança é pequena.

Page 120: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 120

Com respeito à comparação das abordagens 𝑃𝑆1 e 𝑃𝑆1𝑟𝑒, na Tabela 11 é observada uma situaçãosemelhante à descrita no parágrafo anterior.

Na Tabela 8 observa-se que em relação ao número total de iterações do MPI primal-dual pararesolver os problemas, na maior parte dos problemas esta quantidade permanece inalterada,quando comparamos as abordagens 𝑃𝑆𝑀 e 𝑃𝑆𝑀𝑟𝑒 observamos que em 5 problemas: ex02,ex09, scr20, maros e qap8 a abordagem 𝑃𝑆𝑀𝑟𝑒 reduziu o número total de iterações do MPIprimal-dual, no entanto, no problema 25fv47 esta quantidade é aumentada.

Quando as abordagens 𝑃𝑆1 e 𝑃𝑆1𝑟𝑒 são comparadas observamos que em 6 problemas: ex02,ex05, ex06, ex09, ste36a e lpl1 a abordagem 𝑃𝑆1𝑟𝑒 reduziu o número total de iterações do MPIprimal-dual, no entanto, nos problemas scfxm3, nug08 e nsir2 esta quantidade é aumentada.

Na Figura 8 apresenta-se o perfil de desempenho para o número total de iterações do MPIprimal-dual. Observa-se que a reciclagem de colunas melhorou as abordagens já existentes, isto é,𝑃𝑆𝑀𝑟𝑒 teve melhor desempenho do que 𝑃𝑆𝑀 , assim como 𝑃𝑆1𝑟𝑒 apresentou melhor desempenhodo que 𝑃𝑆1.

0 0,2 0,4 0,6 0,8 10

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PSMre

PS1

PS1re

Perfil de Desempenho

Figura 8 – Perfil de desempenho para total de iterações do MPI usando reciclagem de colunasbásicas

Com respeito ao tempo de processamento para resolver os problemas, observamos que emproblemas de menor porte, quando o cálculo da base é relativamente rápido ou quando poucasbases são calculadas, a diferença de tempos usando a reciclagem de colunas é pouco perceptível.Já em problemas de maior porte, aqueles em que o cálculo da base é demorada, é possível

Page 121: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 121

perceber que o cálculo da base foi acelerado e dessa maneira o tempo total de processamento émelhorado, por exemplo no problema ste36a a reciclagem reduziu consideravelmente o tempode processamento usando tanto 𝑃𝑆𝑀𝑟𝑒 como 𝑃𝑆1𝑟𝑒. Na abordagem 𝑃𝑆1, o problema ste36creduziu o seu tempo de processamento usando 𝑃𝑆1𝑟𝑒. Na Figura 9, observa-se que a reciclagemde colunas também melhorou as abordagens já existentes, isto é, 𝑃𝑆𝑀𝑟𝑒 teve melhor desempenhodo que 𝑃𝑆𝑀 , assim como 𝑃𝑆1𝑟𝑒 apresentou melhor desempenho do que 𝑃𝑆1.

0 1 2 3 4 50

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PSMre

PS1

PS1re

Perfil de Desempenho

Figura 9 – Perfil de desempenho para o tempo de processamento para resolver os problemasusando reciclagem de colunas básicas

Com respeito ao desempenho do método dos GCP apresentado na Tabela 9, observamos que namaior parte dos problemas o desempenho das quatro abordagens é similar ao do problema els19,veja a Tabela 11. Um perfil de desempenho para as iterações do método dos GCP é apresentadona Figura 10.

Page 122: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 122

0 2 4 6 8 100

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PSMre

PS1

PS1re

Perfil de Desempenho

Figura 10 – Perfil de desempenho para as iterações do método dos GCP usando reciclagem decolunas básicas

0 2 4 6 8 100

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PSMre

PS1

PS1re

Perfil de Desempenho

Figura 11 – Perfil de desempenho para o tempo de cálculo da base do PS usando reciclagem decolunas básicas

Page 123: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 6. Resultados numéricos 123

0 1 2 3 40

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

(τ)

P((

log2(r

p,s

))≤τ

:1≤s≤ns)

PSM

PSMre

PS1

PS1re

Perfil de Desempenho

Figura 12 – Perfil de desempenho para número de colunas encontradas antes do primeiro reinícioda fatoração LU

Em relação ao número de colunas linearmente independentes encontradas antes do primeiroreinício da fatoração LU e ao tempo usado para calcular a base do PS, a proposta de reciclagemfoi superior em todos os problemas testados, as abordagens 𝑃𝑆𝑀𝑟𝑒 e 𝑃𝑆1𝑟𝑒 encontraram maiscolunas linearmente independentes antes de reiniciar a fatoração LU quando comparadas comas abordagens 𝑃𝑆𝑀 e 𝑃𝑆1, e, por conseguinte o tempo de processamento para o cálculo dabase é acelerado. Veja a Tabela 10. O perfil de desempenho para o tempo de cálculo de baseé apresentado na Figura 11. O perfil de desempenho da Figura 12 refere-se à quantidade𝑚−𝑁𝑟𝑜.𝑐𝑜𝑙.𝐿𝐼 onde 𝑚 é o número de linhas da matriz de restrições 𝐴 do PL, isto é, o tamanhoda base. Ou seja, o perfil de desempenho da Figura 12 refere-se ao número de colunas que faltampara completar a base após a primeiro reinício da fatoração LU da matriz 𝐴.

Encerramos este capítulo de análise dos testes computacionais concluindo que, embora a escolhadas abordagens 𝑃𝑆2 e 𝑃𝑆3 aceleram a construção da base, a reciclagem de colunas é tambémuma interessante alternativa pois, o número de iterações do método dos GCP é semelhante aocaso de escolha da base sem reciclagem de colunas e o tempo usado na construção da nova baseé reduzido.

Page 124: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

124

7 Conclusões

A comunidade científica que estuda os métodos de Pontos Interiores reconhece que a soluçãodos sistemas lineares para encontrar a direção de busca é a tarefa mais cara desde o ponto devista computacional. Isto deve-se principalmente à instabilidade que a matriz 𝐷 gera durante oprocesso de solução, esta matriz diagonal 𝐷 aparece tanto no Sistema Aumentado quanto noSistema de Equações Normais. O Precondicionador Separador (PS) foi desenvolvido estudandoo comportamento desta matriz e a condição de complementariedade de um problema deProgramação Linear (PL).

Neste trabalho foram propostas algumas ordenações para as colunas da matriz 𝐴 de restriçõesdo problema de PL com o objetivo de encontrar uma base eficiente para o PS, a base 𝐵 é umasubmatriz não singular de 𝐴.

De acordo com o desenvolvimento teórico, uma situação ideal é considerar um conjunto de 𝑚

colunas de 𝐴 as quais correspondem aos maiores elementos da matriz 𝐷, na prática, esta tarefaé realmente mais difícil do que parece porque estas colunas não necessariamente formam umconjunto linearmente independente. Portanto obter a base 𝐵 do PS não é um problema trivial.

A identificação de colunas linearmente independentes feita por meio de uma fatoração retangularda matriz 𝐴 pode gerar muito preenchimento, assim, além de considerar os elementos da matriz𝐷 deve-se dar prioridade a colunas esparsas para diminuir o uso de memória e acelerar o cálculoda base.

No trabalho de Velazco et al. (2010), baseadas em heurísticas, foram testadas varias ordenaçõesde colunas da matriz de restrições do problema de PL, 𝐴, para encontrar as colunas básicasdo Precondicionador Separador (PS). Nos trabalhos de Monteiro et al. (2004) e Milan et al.(2015), foram feitas ordenações das colunas da matriz 𝐴 usando os elementos da matriz diagonal𝐷, com e sem o uso de grupos de colunas, respectivamente. Além disso, nestes artigos foramapresentados resultados teóricos para as bases obtidas.

Baseados em Velazco et al. (2010), Monteiro et al. (2004) e Milan et al. (2015), temosapresentamos resultados teóricos, a Proposição 5.2.1, o Teorema 5.2.2 para a abordagem𝑃𝑆1, o Teorema 5.3.2 e a Proposição 5.3.3 para a abordagem 𝑃𝑆2 e o Teorema 5.4.1 para aabordagem 𝑃𝑆3. Em todos os casos, foi possível mostrar que o número de condição da matrizde Equações Normais precondicionada pelo PS é limitado por uma quantidade que independeda matriz 𝐷. Além disso, o critério de mudança de fases proposto em Velazco et al. (2010) foiligeiramente modificado adicionando um novo parâmetro 𝛿 baseado nos elementos da matriz 𝐷,veja (5.4.7).

Page 125: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 7. Conclusões 125

Os experimentos computacionais das abordagens 𝑃𝑆1, 𝑃𝑆2 e 𝑃𝑆3 foram comparadas com aabordagem 𝑃𝑆𝑀 proposta em Velazco et al. (2010). Os resultados dos experimentos numéricosevidenciam que em problemas de pequeno porte o cálculo da base é muito rápido em todas asabordagens, já nos problemas de médio e grande porte há diferencias perceptíveis, principalmenteem problemas mais densos.

As abordagens 𝑃𝑆𝑀 e 𝑃𝑆1 foram superiores quando comparados o número de iterações dométodo dos Gradientes Conjugados Precondicionado (GCP). A abordagem 𝑃𝑆1 é baseada naProposição 5.2.1 que minimiza a norma de W e consequentemente tenta minimizar o número decondição da matriz do Sistema de Equações Normais precondicionada pelo PS. Já as abordagens𝑃𝑆2 e 𝑃𝑆3 apresentaram um melhor tempo de cálculo de base pois dão prioridade a colunasesparsas da matriz 𝐴. Uma das principais contribuições desta tese é a Proposição 5.3.3, ondeé apresentada uma nova partição das colunas da matriz 𝐴 de tal maneira que o limitante denúmero de condição da matriz precondicionada pelo PS que aparece no Teorema 5.3.2 e notrabalho de Milan et al. (2015), não dependa da matriz 𝐷.

Por outro lado, usar o comportamento da matriz 𝐷 como indicador na troca de fases foi umaestratégia interessante pois no conjunto de problemas testes evidenciamos que 6 problemas quenão usaram o PS na abordagem 𝑃𝑆𝑀 não foram resolvidos, já com a nova troca de fase, o PSfoi acionado e os problemas foram resolvidos.

Finalmente, o interesse por economizar tempo no cálculo da base permitiu criar uma abordagemque faça uma reutilização parcial da base 𝐵 calculada numa iteração do MPI em algumas dasseguintes iterações deste método, para tal propusemos o Algoritmo 7 na Seção 5.5 deste trabalho.Denominamos esta abordagem como Reciclagem de colunas básicas. Os experimentos numéricosusando esta abordagem resultaram promissores, pois, além de acelerar o cálculo da base, onúmero de iterações do método dos GCP foi semelhante às abordagens sem reciclagem. Esteresultado mostra que a reciclagem de colunas básicas de uma iteração do MPI nas seguintesiterações, é especialmente atraente para solução de problemas de grande porte.

7.1 Perspetivas futurasTodos os resultados teóricos que estudam um limitante para o número de condição da matrizdo Sistema de Equações Normais precondicionada pelo PS apresentados nesta tese, estudam omaior autovalor desta matriz, pois o menor autovalor é maior do que 1. Uma alternativa paramelhorar este limitante seria um estudo do menor autovalor.

Os resultados teóricos da abordagem 𝑃𝑆2 que separa as colunas da matriz 𝐴 em grupossão válidos para qualquer critério de reordenamento. Neste trabalho usou-se um critério deesparsidade. Recomenda-se usar outros critérios de ordenamento dentro de cada grupo.

Page 126: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Capítulo 7. Conclusões 126

Atualmente o critério de mudança de base depende do número de iterações do método dos GCP.Seria interessante propor um novo critério de mudança de base 𝐵 considerando a variação dogap de dualidade e a variação da matriz diagonal 𝐷.

Por outro lado, podem ser estudados outros valores para o parâmetro 𝛿 usado na novo critériode troca de fases.

Com respeito à abordagem que recicla as colunas básicas proposta no Algoritmo 7. Torna-seinteressante realizar uma extensão dos resultados teóricos apresentados neste trabalho paraencontrar limitantes do número de condição fornecido por esta abordagem.

Page 127: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

127

Referências

BARTMEYER, P. M. Valores de Ritz aplicados a troca de fase do precondicionador híbrido paramétodos de pontos interiores. Dissertação (Mestrado) — Instituto de Matemática Estatística eComputação Científica, Universidade Estadual de Campinas, 2016.

BECK, Amir. Introduction to Nonlinear Optimization: Theory, Algorithms, and Applicationswith MATLAB. Philadelphia, PA, USA: Society for Industrial and Applied Mathematics, 2014.ISBN 1611973643, 9781611973648.

BENTLEY, J.L. Programming Pearls. Addison-Wesley, 2000. (ACM Press Series). ISBN9780201657883. Disponível em: <https://books.google.com.br/books?id=kse\_7qbWbjsC>.

BENZI, M. Preconditioning techniques for large linear systems: A survey. J. Comput. Phys.,Academic Press Professional, Inc., San Diego, CA, USA, v. 182, n. 2, p. 418–477, nov. 2002.ISSN 0021-9991.

BERTSIMAS, D.; TSITSIKLIS, J.N. Introduction to Linear Optimization. [S.l.]: Athena Scientific,1997. (Athena Scientific series in optimization and neural computation). ISBN 9781886529199.

BOCANEGRA, S.; CAMPOS, F. F.; OLIVEIRA, A. R. L. Using a hybrid preconditioner forsolving large-scale linear systems arising from interior point methods. computational optimizationand applications. Computational Optimization and Applications, p. 149–164, 2007.

BRINKHUIS, J.; TIKHOMIROV, V. Optimization: Insights and Applications. PrincetonUniversity Press, 2011. (Princeton Series in Applied Mathematics). ISBN 9781400829361.Disponível em: <https://books.google.com.br/books?id=\_Bf8MZSFYNwC>.

CAMPOS, F. F. Analysis of conjugate gradients-type methods for solving linear equations. Tese(Doutorado) — University of Oxford, 1995.

CASACIO, L. Aperfeiçoamento de precondicionadores para solução de sistemas lineares dosmétodos de pontos interiores. Tese (Doutorado) — Universidade Estadual de Campinas, 2015.

CASTRO, C.O.; OLIVEIRA, A. R. L. Limite uniforme para o número de condição de sistemasprecondicionados no método de pontos interiores usando o precondicionador separador. Anais doII Encontro Regional de Pesquisa Operacional do Sudeste, 2016. v. 2., p. 57–60, 2016. Disponívelem: <https://sites.google.com/site/erpo2016/home/material-pos-encontro/livro-de-resumos>.

CURTIS, A. R.; REID, J. K. On the automatic scaling of matrices for gaussian elimination.IMA Journal of Applied Mathematics, v. 10, n. 1, p. 118, 1972.

CZYZYK, J.; MEHROTRA, S.; WAGNER, M.; WRIGHT, S. J. Pcx user guide. TechnicalReport OTC 96/01, 1996.

DAVIS, T A. Algorithm 832: Umfpack v4. 3—an unsymmetric-pattern multifrontal method.ACM Transactions on Mathematical Software (TOMS), ACM, v. 30, n. 2, p. 196–199, 2004.

Page 128: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Referências 128

DAVIS, T. A.; DUFF, I. S. An unsymmetric-pattern multifrontal method for sparse lufactorization. SIAM Journal on Matrix Analysis and Applications, Society for Industrial andApplied Mathematics, v. 18, n. 1, p. 140–158, 1997.

DOLAN, E. D.; MORÉ, J. J. Benchmarking optimization software with performance profiles.Mathematical Programming, v. 91, n. 2, p. 201–213, 2002. ISSN 1436-4646.

DUFF, I. S.; MEURANT, G. A. The effect of ordering on preconditioned conjugate gradients.BIT Numerical Mathematics, Kluwer Academic Publishers, v. 29, n. 4, p. 635–657, 1989.

GHIDINI, C. T. L. S.; OLIVEIRA, A. R. L.; SORENSEN, D. C. Computing a hybridpreconditioner approach to solve the linear systems arising from interior point methods forlinear programming using the gradient conjugate method. Annals of Management Science, v. 3,p. 45–66, 2014.

GILL, P. E.; MURRAY, W.; SAUNDERS, M. A.; TOMLIN, J. A.; WRIGHT, M. H. Onprojected newton barrier methods for linear programming and an equivalence to karmarkar’sprojective method. Mathematical Programming, v. 36, n. 2, p. 183–209, 1986. ISSN 1436-4646.

GOLDFARB, D.; TODD, M. J. Chapter ii linear programming. In: Optimization. [S.l.]: Elsevier,1989, (Handbooks in Operations Research and Management Science, v. 1). p. 73 – 170.

GOLUB, G.H.; LOAN, C.F. Van. Matrix Computations. Johns Hopkins University Press, 1996.(Johns Hopkins Studies in the Mathematical Sciences). ISBN 9780801854149. Disponível em:<https://books.google.com.br/books?id=mlOa7wPX6OYC>.

GONDZIO, J. Multiple centrality corrections in a primal-dual method for linear programming.Computational Optimization and Applications, v. 6, n. 2, p. 137–156, 1996. Disponível em:<http://dx.doi.org/10.1007/BF00249643>.

GONDZIO, J. Interior point methods 25 years later. European Journal of Operational Research,Elsevier, v. 218, n. 3, p. 597–601, 2012.

GONDZIO, J. Matrix-free interior point method. Computational Optimization and Applications,Springer, v. 51, n. 2, p. 457–480, 2012.

HEREDIA, M. R.; OLIVEIRA, A. R. L. Uma nova proposta para modificar a fatoraçãocontrolada de cholesky no método dos pontos interiores. Anais do XLVII Congresso Brasileirode Pesquisa Operacional, v. 1, p. 2912–2923, 2015.

HESTENES, M. R.; STIEFEL, E. Methods of conjugate gradients for solving linear systems.Journal of research of the National Bureau of Standards, v. 49, p. 409–436, 1952.

JONES, M. T.; PLASSMANN, P. E. An improved incomplete cholesky factorization. ACMTransactions on Mathematical Software (TOMS), ACM, v. 21, n. 1, p. 5–17, 1995.

KARMARKAR, N. A new polynomial-time algorithm for linear programming. In: Proceedingsof the Sixteenth Annual ACM Symposium on Theory of Computing. New York, NY, USA: ACM,1984. (STOC ’84), p. 302–311. ISBN 0-89791-133-4.

Page 129: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Referências 129

KELLEY, C.T. Iterative Methods for Linear and Nonlinear Equations. Philadelphia, PA, USA:Society for Industrial and Applied Mathematics, 1995. (Frontiers in Applied Mathematics).ISBN 9781611970944.

KOJIMA, M.; MIZUNO, S.; YOSHISE, A. Progress in mathematical programming interior-pointand related methods. In: MEGIDDO, Nimrod (Ed.). New York, NY, USA: Springer-Verlag NewYork, Inc., 1988. cap. A Primal-dual Interior Point Algorithm for Linear Programming, p. 29–47.ISBN 0-387-96847-4.

MEHROTRA, S. On the implementation of a primal-dual interior point method. SIAM Journalon optimization, SIAM, v. 2, n. 4, p. 575–601, 1992.

MILAN, D. D.; RADE, P. L.; VERA, V. K. Sparsity preserving preconditioners for linearsystems in interior-point methods. Computational Optimization and Applications, v. 61 (3), p.557–570, 2015. DOI: 10.1007/s10589-015-9735-7.

MONTEIRO, R. DC; O’NEAL, J. W.; TSUCHIYA, T. Uniform boundedness of a preconditionednormal matrix used in interior-point methods. SIAM Journal on Optimization, SIAM, v. 15,n. 1, p. 96–100, 2004.

NG, E. G.; PEYTON, B. W. Block sparse cholesky algorithms on advanced uniprocessorcomputers. SIAM Journal on Scientific Computing, SIAM, v. 14, n. 5, p. 1034–1056, 1993.

OLIVEIRA, A. R. L.; SORENSEN, D. C. A new class of preconditioners for large-scale linearsystems from interior point methods for linear programming. Linear Algebra and its applications,Elsevier, v. 394, p. 1–24, 2005.

RUSTEN, T.; WINTHER, R. A preconditioned iterative method for saddlepoint problems.SIAM J. Matrix Anal. Appl., Society for Industrial and Applied Mathematics, Philadelphia, PA,USA, v. 13, n. 3, p. 887–904, jul. 1992. ISSN 0895-4798.

SILVA, F. R. Experimentos numéricos com um sistema linear alternativo para o precondicionadorseparador aplicado a métodos de pontos interiores. Dissertação (Mestrado) — Instituto deMatemática Estatística e Computação Científica, Universidade Estadual de Campinas, 2016.

SUÑAGUA, Porfirio; OLIVEIRA, Aurelio R. L. A new approach for finding a basis forthe splitting preconditioner for linear systems from interior point methods. ComputationalOptimization and Applications, p. 1–17, 2016.

VELAZCO, M. I.; OLIVEIRA, A. R. L.; CAMPOS, F. F. A note on hybrid preconditionersfor large-scale normal equations arising from interior-point methods. Optimization MethodsSoftware, Taylor & Francis, Inc., Bristol, PA, USA, v. 25, n. 2, p. 321–332, abr. 2010. ISSN1055-6788.

VELAZCO, M. I. F.; OLIVEIRA, A. R. L.; CAMPOS, F. F. Heuristics for implementation of ahybrid preconditioner for interior-point methods. Pesquisa Operacional, SciELO Brasil, v. 31,n. 3, p. 579–591, 2011.

WRIGHT, S.J. Primal-dual Interior-Point Methods:. [S.l.]: Society for Industrial and AppliedMathematics (SIAM, 3600 Market Street, Floor 6, Philadelphia, PA 19104), 1997. (SIAMe-books). ISBN 9781611971453.

Page 130: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

Apêndices

Page 131: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

131

APÊNDICE A – Método dos gradientesconjugados

A.1 Método dos gradientes conjugadosSuponha que 𝐴 seja uma matriz quadrada de tamanho 𝑚, simétrica e positiva definida. Oobjetivo desta seção é descrever o método dos Gradientes Conjugados (GC), trata-se de ummétodo iterativo para resolver o sistema 𝐴𝑥 = 𝑏.

Considere a função quadrática 𝑓 : R𝑚 → R definida por:

𝑓(𝑥) = 12𝑥𝑇 𝐴𝑥− 𝑏𝑇 𝑥 + 𝑐,

onde 𝑏 ∈ R𝑚 e 𝑐 ∈ R, e o problema irrestrito:⎧⎨⎩ min 𝑓(𝑥)s. a. 𝑥 ∈ R𝑚

. (A.1.1)

Um vetor 𝑥 ∈ R𝑚 que satisfaz ∇𝑓(𝑥) = 0 é um mínimo do problema dado em (A.1.1) pois∇2𝑓(𝑥) = 𝐴 > 0 para todo 𝑥 ∈ R𝑚.

Observe que ∇𝑓(𝑥) = 𝐴𝑥− 𝑏, logo

∇𝑓(𝑥) = 0 se, e somente, 𝐴𝑥 = 𝑏. (A.1.2)

Além disso, dado que 𝐴 é uma matriz positiva definida, em particular 𝐴 é não singular, logoum vetor 𝑥 que satisfaz ∇𝑓(𝑥) = 0 é solução única de 𝐴𝑥 = 𝑏. Assim, para resolver o sistemalinear 𝐴𝑥 = 𝑏, usaremos um método iterativo para resolver o problema dado em (A.1.1).

Uma forma geral de construir um método iterativo consiste em escolher, a partir de cada pontoobtido, uma direção para dar o próximo passo, é claro que a direção deve ser tal que a função 𝑓

do problema (A.1.1) decresça.

Definição A.1.1. Considere uma função 𝑓 : R𝑚 → R, um ponto 𝑥0 ∈ R𝑚 e 𝑑 um vetorde R𝑚∖{0}. O vetor 𝑑 é dito uma direção de descida de 𝑓 em 𝑥0 se existe 𝛿 > 0 tal que𝑓(𝑥0 + 𝑡𝑑) < 𝑓(𝑥0) para todo 𝑡 ∈ p0, 𝛿q .

Um algoritmo básico para minimizar uma função 𝑓 em R𝑛 é dado a seguir.

Dado 𝑥0 ∈ R𝑚,

Page 132: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 132

Faça 𝑘 = 0

Repita enquanto ∇𝑓(𝑥𝑘) = 0

1. Calcule uma direção de descida 𝑑𝑘 de 𝑓 em 𝑥𝑘

2. Calcule o comprimento de passo 𝜆𝑘 tal que 𝑓(𝑥𝑘 + 𝜆𝑘𝑑𝑘) < 𝑓(𝑥𝑘)

3. Calcule o novo ponto 𝑥𝑘+1 = 𝑥𝑘 + 𝜆𝑘𝑑𝑘

4. 𝑘 = 𝑘 + 1

Observe que ∇𝑓(𝑥𝑘) = 𝐴𝑥𝑘 − 𝑏.

Uma condição suficiente para que um vetor 𝑑 seja uma direção de descida num ponto 𝑥 é dadapelo seguinte teorema.

Teorema A.1. Se ∇𝑓(𝑥)𝑇 𝑑 < 0, então 𝑑 é uma direção de descida de 𝑓 em 𝑥.

Assim, é possível usar o Teorema A.1 para determinar o passo 1 do algoritmo acima. Emparticular 𝑑 = −∇𝑓(𝑥) é uma direção de descida de 𝑓 em 𝑥.

Por outro lado, para encontrar o comprimento de passo 𝜆𝑘 do passo 2 do algoritmo acimapode-se minimizar a função

𝑔 : R→ R dada por 𝑔(𝜆) = 𝑓(𝑥𝑘 + 𝜆𝑑𝑘). (A.1.3)

Usando a regra da cadeia, tem-se:

𝑔′(𝜆) =∇𝑓(𝑥𝑘 + 𝜆𝑑𝑘)𝑇 𝑑𝑘

=𝐴 r𝐴(𝑥𝑘 + 𝜆𝑑𝑘)− 𝑏s𝑇 𝑑𝑘

=(𝐴𝑥𝑘 − 𝑏)𝑇 𝑑𝑘 + 𝜆𝑑𝑇𝑘 𝐴𝑇 𝑑𝑘

=∇𝑓(𝑥𝑘)𝑇 𝑑𝑘 + 𝜆𝑑𝑇𝑘 𝐴𝑑𝑘.

Logo,

𝑔′(𝜆) = 0 se, e somente se, 𝜆 = −∇𝑓(𝑥𝑘)𝑇 𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

. (A.1.4)

Além disso, 𝑔′′(𝜆) = 𝑑𝑇𝑘 𝐴𝑑𝑘 > 0 pois 𝐴 é definida positiva e 𝑑𝑘 = 0. Logo 𝜆 que satisfaz (A.1.4)

minimiza 𝑔(𝜆) = 𝑓(𝑥𝑘 + 𝜆𝑑𝑘).

Para acharmos a direção de descida no método dos GC apresentam-se algumas definições eresultados.

Page 133: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 133

Definição A.1.2. Seja 𝐴 uma matriz simétrica e definida positiva. Os vetores 𝑑0, 𝑑1, . . . 𝑑𝑘 sãochamados 𝐴-conjugados se

𝑑𝑇𝑖 𝐴𝑑𝑗 = 0 para todo 𝑖, 𝑗 = 0, . . . 𝑘, 𝑖 = 𝑗.

Proposição A.1.3. Se os vetores 𝑑0, 𝑑1, . . . 𝑑𝑘 são 𝐴-conjugados, veja definição A.1.2, entãoestes vetores são linearmente independentes.

Demonstração. Considere uma combinação linear destes vetores 𝐴-conjugados, isto é,

𝛼0𝑑0 + 𝛼1𝑑1 + . . . + 𝛼𝑖𝑑𝑖 + . . . + 𝛼𝑘𝑑𝑘 = 0. (A.1.5)

Seja 𝑖 ∈ {0, 1, . . . 𝑘}, multiplicando 𝑑𝑇𝑖 𝐴 à esquerda da equação (A.1.5) tem-se

𝛼0𝑑𝑇𝑖 𝐴𝑑0 + 𝛼1𝑑

𝑇𝑖 𝐴𝑑1 + . . . + 𝛼𝑖𝑑

𝑇𝑖 𝐴𝑑𝑖 + . . . + 𝛼𝑘𝑑𝑇

𝑖 𝐴𝑑𝑘 = 0. (A.1.6)

Dado que os vetores 𝑑0, 𝑑1, . . . 𝑑𝑘 são 𝐴-conjugados, usando (A.1.6) tem-se:

𝛼𝑖𝑑𝑇𝑖 𝐴𝑑𝑖 = 0. (A.1.7)

Como a matriz 𝐴 é não singular e 𝑑𝑖 = 0, 𝐴𝑑𝑖 = 0, logo 𝑑𝑇𝑖 𝐴𝑑𝑖 = 0. Usando (A.1.7), obtém-se

𝛼𝑖 = 0. Portanto, os vetores 𝑑0, 𝑑1, . . . 𝑑𝑘 são linearmente independentes.

Teorema A.1.4. Considere o problema⎧⎪⎨⎪⎩ min 𝑓(𝑥) = 12𝑥𝑇 𝐴𝑥− 𝑏𝑇 𝑥 + 𝑐

s. a. 𝑥 ∈ R𝑚, (A.1.8)

onde 𝐴 uma matriz de tamanho 𝑚, simétrica e positiva definida, 𝑏 ∈ R𝑚 e 𝑐 ∈ R.

Sejam 𝑑0, 𝑑1, . . . , 𝑑𝑚−1 direções 𝐴-conjugadas e 𝑥0 ∈ R𝑚 um ponto inicial arbitrário.

Defina 𝑥𝑘+1 = 𝑥𝑘 + 𝜆𝑘𝑑𝑘 e 𝜆𝑘 = 𝑎𝑟𝑔𝑚𝑖𝑛𝜆𝑓(𝑥𝑘 + 𝜆𝑑𝑘) como nos passos 1 e 2 do algoritmoacima. Então:

1. 𝜆𝑘 = −∇𝑓(𝑥𝑘)𝑇 𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

;

2. ∇𝑓(𝑥𝑘)𝑇 𝑑𝑘 = 0 𝑗 = 1, . . . 𝑘 − 1;

3. 𝑥𝑚 é a solução do problema (A.1.8).

Demonstração. 1. Usamos a função 𝑔 definida em (A.1.3), logo 𝜆𝑘 = 𝑎𝑟𝑔𝑚𝑖𝑛𝜆𝑓(𝑥𝑘 + 𝜆𝑑𝑘)se, e somente se, 𝜆𝑘 é um mínimo da função 𝑔. Sabemos que se 𝜆𝑘 satisfaz

𝑔′(𝜆𝑘) = 0 e 𝑔′′(𝜆𝑘) > 0, (A.1.9)

então 𝜆𝑘 minimiza 𝑔. Pela equação (A.1.4), 𝜆𝑘 = −∇𝑓(𝑥𝑘)𝑇 𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

satisfaz 𝑔′(𝜆𝑘) = 0. Além

disso 𝑔′′(𝜆𝑘) = 𝑑𝑇𝑘 𝐴𝑑𝑘 > 0. Portanto 𝜆𝑘 satisfaz (A.1.9).

Page 134: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 134

2. Vamos provar inicialmente para 𝑗 = 𝑘 − 1. Considere a função ℎ : R → R dada porℎ(𝜆) = 𝑓(𝑥𝑘−1 +𝜆𝑑𝑘−1), pela parte 1 do Teorema A.1.4, 𝜆𝑘−1 minimiza ℎ, isto é, ℎ′(𝜆𝑘−1) =0. Como ℎ′(𝜆) = ∇𝑓(𝑥𝑘−1 + 𝜆𝑑𝑘−1)𝑇 𝑑𝑘−1 tem-se que ℎ′(𝜆𝑘−1) = 0 se, e somente se,∇𝑓(𝑥𝑘−1 + 𝜆𝑘−1𝑑𝑘−1)𝑇 𝑑𝑘−1 = 0. Dado que 𝑥𝑘 = 𝑥𝑘−1 + 𝜆𝑘−1𝑑𝑘−1 tem-se ∇𝑓(𝑥𝑘)𝑇 𝑑𝑘−1 = 0.

Na verdade, de maneira análoga é possível mostrar que:

∇𝑓(𝑥ℓ)𝑇 𝑑ℓ−1 = 0 para todo ℓ = 1, . . . 𝑚. (A.1.10)

Agora suponha que 𝑗 ∈ {1, . . . 𝑘 − 2}. Observe que:

𝑥𝑘 = 𝑥𝑗+1 + 𝜆𝑗+1𝑑𝑗+1 + 𝜆𝑗+2𝑑𝑗+2 + . . . + 𝜆𝑘−2𝑑𝑘−2 + 𝜆𝑘−1𝑑𝑘−1,

ou equivalentemente,

𝑥𝑘 = 𝑥𝑗+1 +𝑘−1∑

𝑖=𝑗+1𝜆𝑖𝑑𝑖. (A.1.11)

Assim:

∇𝑓(𝑥𝑘) = ∇𝑓

˜

𝑥𝑗+1 +𝑘−1∑

𝑖=𝑗+1𝜆𝑖𝑑𝑖

¸

(A.1.12)

= 𝐴𝑥𝑗+1 + 𝐴𝑘−1∑

𝑖=𝑗+1𝜆𝑖𝑑𝑖 − 𝑏 (A.1.13)

= ∇𝑓(𝑥𝑗+1) + 𝐴𝑘−1∑

𝑖=𝑗+1𝜆𝑖𝑑𝑖. (A.1.14)

Multiplicando a equação (A.1.14) por 𝑑𝑗, onde 𝑗 ∈ {1, . . . 𝑘 − 2} tem-se

∇𝑓(𝑥𝑘)𝑇 𝑑𝑗 = ∇𝑓(𝑥𝑗+1)𝑇 𝑑𝑗 +𝑘−1∑

𝑖=𝑗+1𝜆𝑖𝑑

𝑇𝑖 𝐴𝑑𝑗 (A.1.15)

= 0 + 0 = 0, (A.1.16)

a equação (A.1.16) é satisfeita usando equação (A.1.10) e o fato das direções 𝑑𝑖 serem𝐴-conjugadas.

3. Por 2 tem-se que ∇𝑓(𝑥𝑚) satisfaz

∇𝑓(𝑥𝑚)𝑇 𝑑𝑗 = 0 para 𝑗 = 0, 1, . . . , 𝑚− 1, (A.1.17)

logo ∇𝑓(𝑥𝑚) ∈ R𝑚 é ortogonal ao espaço 𝑠𝑝𝑎𝑛 {𝑑0, 𝑑1, . . . 𝑑𝑚−1} . Pela proposição A.1.3sabemos que 𝑑0, 𝑑1, . . . 𝑑𝑚−1 são vetores linearmente independentes, o que implica queR𝑚 = 𝑠𝑝𝑎𝑛 {𝑑0, 𝑑1, . . . 𝑑𝑚−1} . Ou seja ∇𝑓(𝑥𝑚) é ortogonal a R𝑚, daí ∇𝑓(𝑥𝑚) = 0. Assim,𝐴𝑥𝑚 = 𝑏 pois ∇𝑓(𝑥𝑚) = 𝐴𝑥𝑚 − 𝑏.

Page 135: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 135

Existem diferentes maneiras de obter direções 𝐴-conjugadas, por exemplo usando o processo deortogonalização de Gram-Schmidt pois ⟨𝐴𝑑𝑗, 𝑑𝑘⟩ = 𝑑𝑇

𝑘 𝐴𝑑𝑗 é um produto escalar. O método deGradientes Conjugados, proposto por Hestenes e Stiefel (HESTENES; STIEFEL, 1952), geraum conjunto de 𝑚 direções conjugadas e de descida para 𝑓 da seguinte maneira:

𝑑0 = −∇𝑓(𝑥0), (A.1.18)

já as direções 𝑑1, . . . , 𝑑𝑚−1 são dadas por:

𝑑𝑘+1 = −∇𝑓(𝑥𝑘+1) + 𝛽𝑘𝑑𝑘 para 𝑘 = 0, . . . , 𝑚− 2. (A.1.19)

onde 𝛽𝑘 é um escalar e deve ser escolhido de modo que 𝑑𝑇𝑘+1𝐴𝑑𝑘 = 0, ou seja,

𝑑𝑇𝑘+1𝐴𝑑𝑘 = −∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑘 + 𝛽𝑘𝑑𝑇

𝑘 𝐴𝑑𝑘 = 0, daí,

𝛽𝑘 = ∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

. (A.1.20)

Teorema A.1.5. As direções 𝑑0, 𝑑1, . . . 𝑑𝑚−1 dadas em (A.1.18) e (A.1.19) são direções𝐴-conjugadas.

Demonstração. Devemos mostrar que:

𝑑𝑇𝑘 𝐴𝑑𝑗 = 0 para 𝑘 = 𝑗 𝑘, 𝑗 = 0, 1, . . . 𝑚− 1. (A.1.21)

Podemos supor sem perda de generalidade que 𝑘 > 𝑗. A prova será feita usando indução sobre 𝑘.

∙ Base de indução: 𝑘 = 1. Neste caso, 𝑗 = 0, ou seja provaremos 𝑑𝑇1 𝐴𝑑0 = 0.

Pela definição de 𝑑1, tem-se:

𝑑1 = −∇𝑓(𝑥1) + 𝛽0𝑑0 = −∇𝑓(𝑥1) +ˆ

∇𝑓(𝑥1)𝑇 𝐴𝑑0

𝑑𝑇0 𝐴𝑑0

˙

𝑑0,

logo,

𝑑𝑇1 𝐴𝑑0 = −∇𝑓(𝑥1)𝑇 𝐴𝑑0 +

ˆ

∇𝑓(𝑥1)𝑇 𝐴𝑑0

𝑑𝑇0 𝐴𝑑0

˙

𝑑𝑇0 𝐴𝑑0 = 0. (A.1.22)

∙ Suponha que (A.1.21) é satisfeita para 𝑘. Neste caso, 𝑗 = 0, 1, . . . 𝑘 − 1.

∙ Provaremos para 𝑘 + 1. Neste caso, 𝑗 = 0, 1, . . . , 𝑘 − 1, 𝑘.

Se 𝑗 = 𝑘, pela definição de 𝛽𝑘 dada em (A.1.20), 𝑑𝑇𝑘+1𝐴𝑑𝑘 = 0.

Page 136: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 136

Para 𝑗 < 𝑘, temos que

𝑑𝑇𝑘+1𝐴𝑑𝑗 = p−∇𝑓(𝑥𝑘+1) + 𝛽𝑘𝑑𝑘q

𝑇 𝐴𝑑𝑗 (A.1.23)

= −∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑗 + 𝛽𝑘𝑑𝑇𝑘 𝐴𝑑𝑗 (A.1.24)

= −∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑗, (A.1.25)

onde 𝑑𝑇𝑘 𝐴𝑑𝑗 = 0 por hipótese de indução.

Por outro lado,

𝑑𝑗+1 = −∇𝑓(𝑥𝑗+1) + 𝛽𝑗𝑑𝑗 (A.1.26)

= −∇𝑓(𝑥𝑗 + 𝜆𝑗𝑑𝑗) + 𝛽𝑗𝑑𝑗 (A.1.27)

= − r𝐴(𝑥𝑗 + 𝜆𝑗𝑑𝑗)− 𝑏s + 𝛽𝑗𝑑𝑗 (A.1.28)

= − r∇𝑓(𝑥𝑗) + 𝜆𝑗𝐴𝑑𝑗s + 𝛽𝑗𝑑𝑗 (A.1.29)

= − r(−𝑑𝑗 + 𝛽𝑗−1𝑑𝑗−1) + 𝜆𝑗𝐴𝑑𝑗s + 𝛽𝑗𝑑𝑗 (A.1.30)

= 𝑑𝑗 − 𝛽𝑗−1𝑑𝑗−1 − 𝜆𝑗𝐴𝑑𝑗 + 𝛽𝑗𝑑𝑗. (A.1.31)

De (A.1.31) tem-se:

𝐴𝑑𝑗 = 1𝜆𝑗

p−𝛽𝑗−1𝑑𝑗−1 + (1 + 𝛽𝑗)𝑑𝑗 − 𝑑𝑗+1q . (A.1.32)

Usando (A.1.25) e (A.1.32) tem-se:

𝑑𝑇𝑘+1𝐴𝑑𝑗 =−∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑗 (A.1.33)

= 1𝜆𝑗

`

𝛽𝑗−1∇𝑓(𝑥𝑘+1)𝑇 𝑑𝑗−1 − (1 + 𝛽𝑗)∇𝑓(𝑥𝑘+1)𝑇 𝑑𝑗 +∇𝑓(𝑥𝑘+1)𝑇 𝑑𝑗+1˘

(A.1.34)

= 1𝜆𝑗

p0 + 0 + 0q = 0. (A.1.35)

A equação (A.1.35) é satisfeita pela parte 2 do Teorema A.1.4.

Teorema A.1.6. As direções 𝑑0,𝑑1,. . . , 𝑑𝑚−2 e 𝑑𝑚−1 dadas em (A.1.18) e (A.1.19) são direçõesde descida do problema dado em (A.1.1) nos pontos 𝑥0,𝑥1,. . . , 𝑥𝑚−2 e 𝑥𝑚−1 respectivamente.

Demonstração. Pelo Teorema A.1.5, as direções 𝑑0, 𝑑1, . . . 𝑑𝑚−1 são 𝐴-conjugadas, logo é satisfeitaa parte 2 do Teorema A.1.4, isto é:

∇𝑓(𝑥𝑘)𝑇 𝑑𝑗 para 𝑗 = 0, 1 . . . 𝑘 − 1. (A.1.36)

Page 137: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 137

Seja 𝑘 = 0, . . . , 𝑚− 1, então

∇𝑓(𝑥𝑘)𝑇 𝑑𝑘 = ∇𝑓(𝑥𝑘)𝑇r−∇𝑓(𝑥𝑘) + 𝛽𝑘−1𝑑𝑘−1s (A.1.37)

= −‖∇𝑓(𝑥𝑘)‖2+𝛽𝑘−1������

��:0∇𝑓(𝑥𝑘)𝑇 𝑑𝑘−1 (A.1.38)

= −‖∇𝑓(𝑥𝑘)‖2< 0, (A.1.39)

onde 𝑓(𝑥𝑘)𝑇 𝑑𝑘−1 = 0 pela equação (A.1.36). Logo pelo Teorema A.1, 𝑑𝑘 é uma direção de descidano ponto 𝑥𝑘.

Pelos teoremas que acabamos de provar, Teoremas A.1.5 e A.1.6, podemos afirmar que asequações (A.1.18), (A.1.19) e (A.1.20) determinam uma maneira de encontrar 𝑚 direções𝐴-conjugadas e de descida. Além disso, pela parte 2 do Teorema A.1.4 sabemos que 𝑥𝑚 é asolução do sistema 𝐴𝑥 = 𝑏 se o comprimento de passo for dado pela parte 1 do Teorema A.1.4.Já temos todos os ingredientes o método dos GC. Antes de apresentar este método faremosalgumas contas rápidas para apresentá-lo de maneira mais elegante.

Proposição A.1.7. Prove que para 𝑘 = 0, 1, . . . 𝑚− 1, se satisfaz:

1. 𝜆𝑘 = 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

;

2. 𝑟𝑘+1 = 𝑟𝑘 − 𝜆𝑘𝐴𝑑𝑘;

3. 𝛽𝑘 = 𝑟𝑇𝑘+1𝑟𝑘+1

𝑟𝑇𝑘 𝑟𝑘

.

Demonstração. 1. Pela parte 1 do Teorema A.1.4, 𝜆𝑘 = ∇𝑓(𝑥𝑘)𝑇 𝑟𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

, além disso,

∇𝑓(𝑥𝑘) = 𝐴𝑥𝑘 − 𝑏 = −𝑟𝑘, (A.1.40)

usando (A.1.40) temos que:

𝜆𝑘 =−∇𝑓(𝑥𝑘)𝑇 𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

=−∇𝑓(𝑥𝑘)𝑇 p−∇𝑓(𝑥𝑘) + 𝛽𝑘−1𝑑𝑘−1q

𝑑𝑇𝑘 𝐴𝑑𝑘

=∇𝑓(𝑥𝑘)𝑇∇𝑓(𝑥𝑘)− 𝛽𝑘−1������

��:0∇𝑓(𝑥𝑘)𝑇 𝑑𝑘−1

𝑑𝑇𝑘 𝐴𝑑𝑘

= 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

.

Page 138: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 138

2. 𝑟𝑘+1 = 𝑏− 𝐴𝑥𝑘+1 = 𝑏− 𝐴(𝑥𝑘 + 𝜆𝑘𝑑𝑘) = 𝑏− 𝐴𝑥𝑘 − 𝜆𝑘𝐴𝑑𝑘 = 𝑟𝑘 − 𝜆𝑘𝐴𝑑𝑘.

3. Pela parte 2 deste Teorema temos que 𝑟𝑘+1 = 𝑟𝑘 − 𝜆𝑘𝐴𝑑𝑘, ou equivalentemente:

−∇𝑓(𝑥𝑘+1) = −∇𝑓(𝑥𝑘)− 𝜆𝑘𝐴𝑑𝑘,

daí𝐴𝑑𝑘 = 1

𝜆𝑘

p∇𝑓(𝑥𝑘+1)−∇𝑓(𝑥𝑘)q , (A.1.41)

além disso, dado que 𝑑𝑘 = −∇𝑓(𝑥𝑘) + 𝛽𝑘−1𝑑𝑘−1, temos que:

∇𝑓(𝑥𝑘+1)𝑇∇𝑓(𝑥𝑘) =∇𝑓(𝑥𝑘+1)𝑇p−𝑑𝑘 + 𝛽𝑘−1𝑑𝑘−1q

=−∇𝑓(𝑥𝑘+1)𝑇 𝑑𝑘 + 𝛽𝑘−1∇𝑓(𝑥𝑘+1)𝑇 𝑑𝑘−1

=0 + 𝛽𝑘−10 = 0,

isto é:∇𝑓(𝑥𝑘+1)𝑇∇𝑓(𝑥𝑘) = 0. (A.1.42)

Pela equação (A.1.20), 𝛽𝑘 = ∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

, logo usando (A.1.41) e (A.1.42) tem-se que:

𝛽𝑘 =∇𝑓(𝑥𝑘+1)𝑇 𝐴𝑑𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

= 1𝜆𝑘

˜

∇𝑓(𝑥𝑘+1)𝑇∇𝑓(𝑥𝑘+1)−���

������

�:0∇𝑓(𝑥𝑘+1)𝑇∇𝑓(𝑥𝑘)

¸

𝑑𝑇𝑘 𝐴𝑑𝑘

= 1𝜆𝑘

𝑟𝑇𝑘+1𝑟𝑘+1

𝑑𝑇𝑘 𝐴𝑑𝑘

=𝑑𝑇𝑘 𝐴𝑑𝑘

𝑟𝑇𝑘 𝑟𝑘

𝑟𝑇𝑘+1𝑟𝑘+1

𝑑𝑇𝑘 𝐴𝑑𝑘

=𝑟𝑇𝑘+1𝑟𝑘+1

𝑟𝑇𝑘 𝑟𝑘

.

Page 139: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE A. Método dos gradientes conjugados 139

Algoritmo 8: Método Gradientes Conjugados (GC) para resolver 𝐴𝑥 = 𝑏

Entrada: A matriz 𝐴, o vetor 𝑏 e um ponto inicial 𝑥0. A tolerância 𝜖 = 10−8.

Saída: A solução 𝑥* do sistema 𝐴𝑥 = 𝑏

1 início2 𝑟0 = 𝑏− 𝐴𝑥0; 𝑑0 = 𝑟0

3 para 𝑘 = 0, 1, . . . até convergir faça

4 𝜆𝑘 = 𝑟𝑇𝑘 𝑟𝑘

𝑑𝑇𝑘 𝐴𝑑𝑘

5 𝑥𝑘+1 = 𝑥𝑘 + 𝜆𝑘𝑑𝑘

6 𝑟𝑘+1 = 𝑟𝑘 − 𝜆𝑘𝐴𝑑𝑘

7 se 𝑟𝑇𝑘+1𝑟𝑘+1

‖𝑏‖< 𝜖 então

8 Saída com 𝑥* = 𝑥𝑘+1

9 fim

10 𝛽𝑘 = 𝑟𝑇𝑘+1𝑟𝑘+1

𝑟𝑇𝑘 𝑟𝑘

11 𝑑𝑘+1 = 𝑟𝑘+1 + 𝛽𝑘𝑑𝑘

12 fim13 fim

O esforço computacional é da ordem 𝒪(2𝑚2) pois por iteração temos um produto de matriz porvetor e dois produtos internos.

O desempenho do método dos GC depende do espectro da matriz 𝐴. Em (KELLEY, 1995)demonstra-se que o ponto 𝑥𝑘 do algoritmo 8 satisfaz:

‖𝑥𝑘 − 𝑥*‖𝐴≤ 2‖𝑥0 − 𝑥*‖𝐴

«

a

𝜅2(𝐴)− 1a

𝜅2(𝐴) + 1

ff𝑘

, (A.1.43)

onde ‖𝑥‖𝐴=?

𝑥𝑇 𝐴𝑥 e 𝜅2 é o número de condição 2 da matriz 𝐴. É possível mostrar que𝜅2(𝐴) = 𝜆max

𝜆min, onde 𝜆max e 𝜆min são o maior e o menor autovalor de 𝐴.

Page 140: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

140

APÊNDICE B – O PCx

B.1 O PCxNeste apêndice apresenta-se uma descrição introdutória do código usado para resolver osproblemas testados em (6.1). Esta descrição está baseada no artigo (CZYZYK et al., 1996) ondeos autores apresentam as principais características.

O 𝑃𝐶𝑥 é uma implementação para problemas de programação linear desenvolvido peloOptimization Technology Center at Argonne National Laboratory and Northwestern Universityno ano 1996. O método implementado é o MPI primal-dual usando a variante de Mehrotraconhecida como o método preditor-corretor de Mehrotra, veja (MEHROTRA, 1992).

A implementação é feita na linguagem de programação 𝐶, porém os sistemas lineares que fornecema direção de busca foram implementados em Fortran 77. Estes sistemas são resolvidos usando umafatoração de Cholesky esparsa proposta por Ng e Peyton (NG; PEYTON, 1993). Adicionalmente,a estratégia de múltiplas correções proposta em (GONDZIO, 1996) é incorporada.

B.1.1 Técnicas de preprocessamento

Desde que alguns problemas de PL contêm informações redundantes, o PCx tem rotinas depreprocessamento que detectam estas características da entrada, produzindo geralmente, umproblema menor a ser resolvido. Entre as técnicas de preprocessamento tem-se:

∙ Deteção de infactibilidade: Verifica-se que cada limitante superior 𝑢𝑖 seja não negativopara cada 𝑖 ∈ 𝒰 dado em B.1.2. Por outro lado, verifica-se que toda linha nula da matriz𝐴 tenha o seu correspondente zero no lado direito do sistema, isto é, no vetor 𝑏.

∙ Linhas nulas: Se uma linha de matriz 𝐴 tem uma linha de zeros e o seu correspondetelado direito é zero, então ambos os lados são removidos da formulação do problema.

∙ Linhas duplicadas: Linhas da matriz 𝐴 juntamente com o seu correspondente valor novetor 𝑏 que sejam múltiplo de outra linha (juntamente com o seu correspondente valor novetor 𝑏), são removidas da formulação do problema de PL.

∙ Colunas duplicadas: Se uma coluna 𝐴𝑖 for múltipla da coluna 𝐴𝑗 e as variáveiscorrespondentes 𝑥𝑖 e 𝑥𝑗 são tais que 𝑖, 𝑗 ∈ 𝒩 na formulação B.1.2, tais colunas sãocombinadas. Neste caso a variável primal 𝑥𝑘 resultante da combinação pode ser "livre",

Page 141: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE B. O PCx 141

isto é 𝑘 ∈ ℱ ou 𝑘 ∈ 𝒩 dependendo se as colunas são múltiplos positivos ou múltiplos comsinal contrário.

∙ Colunas vazias: A variável 𝑥𝑖 correspondente é fixada em um de seus limites (inferiorou superior), dependendo do sinal do correspondente coeficiente em 𝑐. Caso o limite nãoexista, é declarado que o problema primal é ilimitado.

∙ Variáveis fixas: As variáveis cujos limites superior e inferior são iguais são fixadas paraposteriormente serem retiradas da formulação do problema de PL.

∙ Linhas únicas: As linhas que possuem uma única entrada não nula não necessitam detratamento sofisticado de dados, isto é, se a linha 𝑖 satisfaz esta condição, então 𝑥𝑖 = 𝑏𝑖/𝐴𝑖𝑗.

Logo esta variável é removida da formulação do problema de PL. Além disso, a 𝑖-ésimalinha de 𝐴 e sua correspondente variável dual serão removidas.

∙ Colunas únicas: Se 𝐴𝑖𝑗 é a única entrada não nula da 𝑗-ésima coluna de 𝐴 e 𝑥𝑗 é umavariável "livre", isto é 𝑗 ∈ ℱ , então é possível expressar 𝑥𝑗 em termos de outras variáveisrepresentadas na 𝑖-ésima linha de 𝐴 e assim eliminá-la do problema. Mesmo se não for"livre", a variável 𝑥𝑗 pode ser eliminada se seus limites são mais fracos do que aquelessugeridos pelas imagens de outros elementos representados na 𝑖-ésima linha.

∙ Linhas forçadas: Às vezes, uma restrição linear representada pela 𝑖-ésima linha de 𝐴

força todas as suas variáveis assumirem valores fixos, seja para seu limite superior ou sejapara seu limite inferior. Neste caso, as variáveis que assumem valores fixos são eliminadasassim como a 𝑖-ésima linha de 𝐴. Um exemplo seria a restrição:

10𝑥3 − 4𝑥10 + 𝑥12 = −4

sujeito às condições𝑥3 ∈ [0,∞) 𝑥10 ∈ [0, 1] 𝑥12 ∈ [0,∞).

Neste caso, tem-se que necessariamente 𝑥3 = 0, 𝑥10 = 1 e 𝑥12 = 0.

B.1.2 Técnica de scaling

Por outro lado o PCx aplica a técnica de scaling proposta em (CURTIS; REID, 1972). Estatécnica é aplicada à matriz de coeficientes 𝐴 antes de resolver o problema de PL, o scalingconsiste em reduzir o intervalo de domínio das entradas da matriz, o objetivo é reduzir o desvio

Page 142: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE B. O PCx 142

dos elementos não nulos de 1, isto é, fazer com que 𝐴𝑖𝑗 ≈ 1. Isto é feito usando a seguinte funçãoobjetivo: ∑

𝐴𝑖𝑗 =0log2|𝐴𝑖𝑗|, (B.1.1)

para encontrar os fatores de scaling, 𝜌𝑖 e 𝜉𝑗 para linhas e colunas, onde 𝑖 = 1, 2, . . . , 𝑚 e𝑗 = 1, 2, . . . , 𝑛 tais que a versão escalada de 𝐴 (cujos elementos são 𝐴𝑖𝑗/𝜌𝑖𝜉𝑗) minimizam afunção objetivo acima. O método dos gradientes conjugados se mostra muito eficaz quandoaplicado ao problema dos mínimos quadrados de encontrar os fatores 𝜌𝑖 e 𝜉𝑗, e a convergênciapara uma solução aproximada de precisão adequada é, geralmente, obtida em três ou quatroiterações.

A técnica de scaling generalmente melhora a eficiência do MPI, porém ocasionalmente resultaem um desempenho mais fraco. Ela pode ser desabilitada pelo usuário do PCx.

Observação: Neste trabalho, a técnica do scaling é habilitada. Devido ao fato de que a versãoescalada da matriz de restrições é tal que 𝐴𝑖𝑗 ≈ 1 para cada 𝐴𝑖𝑗 = 0 e cada coluna 𝐴𝑖 da matrizde restrições 𝐴 satisfaz 𝑛𝑛𝑧(𝐴𝑖) << 𝑚, nos problemas abordados nos experimentos numéricosverificou-se que ‖𝐴𝑖‖≤

?𝑚.

B.1.3 A formulação

O PCx recebe um problema usando o formato MPS (Mathematical Programming System). Esteé um arquivo texto que contém informação da matriz de restrições 𝐴, o vetor de custos 𝑐, ovetor 𝑏 de termos independentes, as orientações das desigualdades, as igualdades e o vetor 𝑢

de canalização de variáveis. Para trabalhar com o MPI primal-dual, o PCx leva estes dados naformulação geral:

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

min𝑥∈R𝑛

𝑐𝑇 𝑥

s. a. 𝐴𝑥 = 𝑏

0 ≤ 𝑥𝑖 𝑖 ∈ 𝒩𝑥𝑖 ≤ 𝑢𝑖 𝑖 ∈ 𝒰𝑥𝑖 livre 𝑖 ∈ ℱ

(B.1.2)

onde 𝒩 ∪ 𝒰 ∪ ℱ = {1, . . . , 𝑛}. A formulação dada em (B.1.2) encontra-se num formato LP.Além disso, o uso do sistema de Equações Normais para encontrar a direção de busca exige quea matriz 𝐴𝐷𝐴𝑇 seja definida positiva, para isto, a formulação dada em (B.1.2) não deve contervariáveis livres. Portanto, cada variável livre 𝑥𝑖 : 𝑖 ∈ ℱ é substituída por duas variáveis 𝑥+

𝑖 e

Page 143: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE B. O PCx 143

𝑥−𝑖 ∈ 𝒩 fazendo 𝑥𝑖 = 𝑥+

𝑖 − 𝑥−𝑖 . Após estas substituições e redefinindo a notação, tem-se:⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

min𝑥∈R𝑛

𝑐𝑇 𝑥

s. a. 𝐴𝑥 = 𝑏

0 ≤ 𝑥𝑖 ≤ 𝑢𝑖 𝑖 ∈ 𝒰0 ≤ 𝑥𝑖 𝑖 ∈ 𝒰

(B.1.3)

onde 𝒰 ∪ 𝒰 = {1, 2, . . . , 𝑛}. Se 𝑛𝑐 = |𝒰|, então pode-se reescrever (B.1.3) da seguinte maneira:⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

min 𝑐𝑇 𝑥

s. a. 𝐴𝑥 = 𝑏

𝑥𝑖 + 𝑠𝑖 = 𝑢𝑖 𝑖 ∈ 𝒰𝑥 ∈ R𝑛

+, 𝑠 ∈ R𝑛𝑐+

(B.1.4)

cuja formulação dual é dada por:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

max 𝑏𝑇 𝑦 −∑𝑖∈𝒰

𝑢𝑖𝑤𝑖

s. a. 𝐴𝑇𝑖 𝑦 − 𝑤𝑖 + 𝑧𝑖 = 𝑐𝑖 𝑖 ∈ 𝒰

𝐴𝑇𝑖 𝑦 + 𝑧𝑖 = 𝑐𝑖 𝑖 ∈ 𝒰

𝑤 ∈ R𝑛𝑐+ , 𝑧 ∈ R𝑛

+

𝑦 ∈ R𝑚

, (B.1.5)

logo, as condições de otimalidade dos problemas primal (B.1.4) e dual (B.1.5) são:

𝐴𝑇𝑖 𝑦 − 𝑤𝑖 + 𝑧𝑖 = 𝑐𝑖 𝑖 ∈ 𝒰

𝐴𝑇𝑖 𝑦 + 𝑧𝑖 = 𝑐𝑖 𝑖 ∈ 𝒰

𝐴𝑥 = 𝑏

𝑥𝑖 + 𝑠𝑖 = 𝑢𝑖 𝑖 ∈ 𝒰

𝑥𝑖𝑧𝑖 = 0 𝑖 ∈ {1, 2, . . . , 𝑛}

𝑠𝑖𝑤𝑖 = 0 𝑖 ∈ 𝒰

(𝑥, 𝑠, 𝑤, 𝑧) ≥ 0.

(B.1.6)

Além disso, a medida de dualidade é dada por:

𝜇 =∑𝑛

𝑖=1 𝑥𝑖𝑧𝑖 + ∑𝑖∈𝒰 𝑠𝑖𝑤𝑖

𝑛 + 𝑛𝑐

.

Para descrever o MPI primal-dual na sua variante preditor-corretor de Mehrotra, simplifica-se asformulações primal e dual apresentadas assumindo que todas as variáveis primais são limitadassuperiormente, isto é, 𝒰 = {1, 2, . . . , 𝑛}. Neste caso, a descrição do MPI primal-dual dado naSeção 2.2.2, assim como a descrição do método preditor-corretor de Mehrotra dado a Seção2.2.3, correspondem aos problemas apresentados em (B.1.4) e (B.1.5).

Page 144: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE B. O PCx 144

B.1.4 Critérios de parada

A implementação do PCx tem quatro critérios de terminação, eles são denominados optimal,infeasible, unknown e suboptimal, onde

∙ O critério optimal é dado por:

‖(𝑟𝑏, 𝑟𝑢)‖1 + ‖𝑏𝑇 , 𝑢𝑇‖

≤ prifeastol

‖𝑟𝑐‖1 + ‖𝑐‖ ≤ dualfeastol

|𝑐𝑇 𝑥− (𝑏𝑇 𝑦 −∑𝑖∈𝒰 𝑢𝑖𝑤𝑖)|

1 + |𝑐𝑇 𝑥|≤ optol,

onde 𝑟𝑢, 𝑟𝑏 e 𝑟𝑐 são dados em (2.2.22) com valores padrão

prifeastol = 10−8, dualfeastol = 10−8 e optol = 10−8.

Para determinar os demais critérios usa-se a função de mérito 𝜑 definida por:

𝜑(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) = ‖𝑟𝑏, 𝑟𝑢‖max p1, ‖(𝑏, 𝑢)‖q + ‖𝑟𝑐‖

max p1, ‖𝑐‖q+|𝑐𝑇 𝑥−

`

𝑏𝑇 𝑦 −∑𝑖∈𝒰 𝑢𝑖𝑤𝑖

˘

|max p1, ‖(𝑏, 𝑢)‖, ‖𝑐‖q . (B.1.7)

Dado que cada função somando da função de mérito 𝜑 é não negativa, é claro que um ponto(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) com (𝑥, 𝑠, 𝑤, 𝑧) > 0 satisfaz 𝜑(𝑥, 𝑠, 𝑦, 𝑤, 𝑧) = 0 se, e somente se, (𝑥, 𝑠, 𝑦, 𝑤, 𝑧)é solução de (B.1.4) e (B.1.5).

Em problemas de programação linear com conjunto factível não vazio, a função 𝜑 devedecrescer até atingir um número próximo de zero quando aplicado o MPI primal-dual.Os autores do PCx definem um vetor 𝜑min, cujo 𝑘-ésimo elemento é o menor valor de 𝜑

atingido até a 𝑘-ésima iteração do MPI primal-dual, isto é:

𝜑min[𝑘] := minℓ=1,...,𝑘

𝜑(𝑥ℓ, 𝑠ℓ, 𝑦ℓ, 𝑤ℓ, 𝑧ℓ), (B.1.8)

logo,

∙ o critério infeasible é dado quando a função 𝜑 tem um comportamento crescente, nestecaso, o método termina na iteração 𝑘 se

𝜑(𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘) ≥ max`

10−8, 105𝜑min[𝑘]˘

.

∙ O critério unknown é dado por:

𝜑min[𝑘 − 30] ≥ 12𝜑min[𝑘] para 𝑘 ≥ 30 ou (B.1.9)

Page 145: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE B. O PCx 145

‖(𝑟𝑘𝑏 , 𝑟𝑘

𝑢)‖1 + ‖(𝑏𝑇 , 𝑢𝑇 )‖ > prifeastol ou ‖𝑟𝑘

𝑐‖1 + ‖𝑐‖ > dualfeastol (B.1.10)

estas condições implicam que o método exibe convergência lenta, ou então a melhora namedida de dualidade não apresenta um comportamento decrescente.

∙ O critério suboptimal acontece se o número total de iterações do MPI primal-dual superaum limite permitido, o limite padrão é 100.

Page 146: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

146

APÊNDICE C – Perfis de desempenho

C.1 Perfis de desempenhoA análise da eficiência de cada uma das abordagens deste trabalho será feita usando perfis dedesempenho propostos em (DOLAN; MORÉ, 2002). Para compreender como são calculadosestes perfis e posteriormente interpretá-los, nesta seção apresentaremos brevemente as definiçõese cálculos necessários para interpretar os gráficos de perfis de desempenho que acompanharamcada tabela de resultados numéricos.

Considere os conjuntos:

𝒮 = {s: s é uma abordagens para resolver um conjunto de problemas}

𝒫 = {p: p é um problema a ser resolvido pelas abordagens}.

Além disso, define-se:

𝑛𝑠 = |𝒮| e 𝑛𝑝 = |𝒫| a cardinalidade dos conjuntos 𝒮 e 𝒫 , respectivamente.

𝑡𝑝𝑠 : tempo computacional necessário para a solução do problema 𝑝 utilizando a abordagem 𝑠.

(C.1.1)

Para cada problema 𝑝 ∈ 𝒫 , a razão de desempenho da abordagem 𝑠 ∈ 𝒮 no problema 𝑝 é dadapor:

𝑟𝑝𝑠 = 𝑡𝑝𝑠

min{𝑡𝑝𝑠 : 𝑠 ∈ 𝒮}. (C.1.2)

Observe que 1 ≤ 𝑟𝑝𝑠, além disso, se a abordagem 𝑠 falhar na resolução do problema 𝑝 entãodefine-se 𝑟𝑝𝑠 := 𝑟𝑀 . Assim, 1 ≤ 𝑟𝑝𝑠 ≤ 𝑟𝑀 .

A razão de desempenho mostra o desempenho de uma abordagem 𝑠 na solução de um determinadoproblema. Entretanto, o que se deseja é uma avaliação geral da abordagem 𝑠 sobre todo oconjunto de problemas 𝒫 , para tal define-se o perfil de desempenho da abordagem 𝑠, dado por:

𝜌𝑠(𝜏) = |{𝑝 ∈ 𝒫 : 𝑟𝑝𝑠 ≤ 𝜏}|𝑛𝑝

, (C.1.3)

onde 𝜏 ≥ 1. Observe que o perfil de desempenho é uma função 𝜌𝑠 : [1, 𝑟𝑀 ] → [0, 1] dada por𝜏 → 𝜌𝑠, onde 𝜌𝑠 é dada por (C.1.3).

Page 147: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE C. Perfis de desempenho 147

Se 𝜏 = 1 então:

𝜌𝑠(1) = |{𝑝 ∈ 𝒫 : 𝑟𝑝𝑠 ≤ 1}|𝑛𝑝

(C.1.4)

= |{𝑝 ∈ 𝒫 : 𝑡𝑝𝑠 ≤ min{𝑡𝑝𝑠 : 𝑠 ∈ 𝒮}}|𝑛𝑝

(C.1.5)

= |{𝑝 ∈ 𝒫 : 𝑡𝑝𝑠 = min{𝑡𝑝𝑠 : 𝑠 ∈ 𝒮}}|𝑛𝑝

(C.1.6)

onde a passagem da equação (C.1.5) para (C.1.6) deve-se a 𝑡𝑝𝑠 ≥ min{𝑡𝑝𝑠 : 𝑠 ∈ 𝒮}. Além disso,pela equação (C.1.6), afirmamos que 𝜌𝑠(1) é a probabilidade de que a abordagem 𝑠 supere

as demais abordagens. Por outro lado, 𝜌𝑠(𝑟𝑀) = |{𝑝 ∈ 𝒫 : 𝑟𝑝𝑠 ≤ 𝑟𝑀}|𝑛𝑝

= 𝑛𝑝

𝑛𝑝

= 1. Embora o

contradomínio da função 𝜌𝑠(𝜏) seja o intervalo fechado [0, 1], o domínio pode ser um intervalomuito grande de [1,∞) pois 𝑟𝑝𝑠 pode atingir valores grandes. Logo, para fazer o gráfico dafunção perfil de desempenho dada em (C.1.3) usa-se a função log2 pois log𝑥 ≤ 𝑥 para 𝑥 ≥ 1,

mais precisamente, substitui-se 𝜌𝑠(𝜏) por:

𝜌𝑠(𝜏) = |{𝑝 ∈ 𝒫 : log2 p𝑟𝑝𝑠q ≤ 𝜏}|𝑛𝑝

. (C.1.7)

Observe que

𝜌𝑠(0) = |{𝑝 ∈ 𝒫 : log2(𝑟𝑝𝑠) ≤ 0}|𝑛𝑝

(C.1.8)

= |{𝑝 ∈ 𝒫 : log2(𝑟𝑝𝑠) = 0}|𝑛𝑝

(C.1.9)

= | 𝑝 ∈ 𝒫 : 𝑟𝑝𝑠 = 1|𝑛𝑝

(C.1.10)

= |{𝑝 ∈ 𝒫 : 𝑡𝑝𝑠 = min{𝑡𝑝𝑠 : 𝑠 ∈ 𝒮}}|𝑛𝑝

, (C.1.11)

onde a passagem da equação (C.1.8) para (C.1.9) deve-se a que log2 p𝑟𝑝𝑠q ≥ 0 já que 𝑟𝑝𝑠 ≥ 1.

Além disso, pela equação (C.1.11), afirmamos que 𝜌𝑠(0) é a probabilidade de que a abordagem𝑠 supere as demais abordagens.

Para saber a porcentagem de problemas que a abordagem 𝑠 foi capaz de resolver dentro de umdeterminado fator 𝜏, deve-se observar 𝜌𝑠(𝜏) no gráfico do perfil de desempenho.

Para facilitar a interpretação do gráfico de vários perfis de desempenho, recomenda-se a utilizaçãode uma tabela contendo os valores extremos de cada perfil de desempenho 𝜌𝑠 relativo a cadaabordagem 𝑠.

Finalmente observamos que 𝜌𝑠 é o perfil de desempenho da abordagem 𝑠 relativa ao tempocomputacional usado para resolver um conjunto de problemas 𝒫 . Porém, se alterarmos a definição

Page 148: ESTUDODONÚMERODECONDIÇÃOPARA ...repositorio.unicamp.br/bitstream/REPOSIP/322428/1/Castro...Kelly Cristina Poldi Christiano Lyra Filho Adilson Elias Xavier José Federico Viscaino

APÊNDICE C. Perfis de desempenho 148

de 𝑡𝑝𝑠 dada em (C.1.1), por exemplo, pelo número de iterações de uma abordagem 𝑠 para resolvero problema 𝑝, então 𝜌𝑠 será a função perfil de desempenho da abordagem 𝑠 relativa ao númerode iterações que a abordagem 𝑠 necessita para resolver um conjunto de problemas 𝒫 . Isto é, 𝑡𝑝𝑠

dada em (C.1.1) pode ser definido como a característica que se deseja comparar.