• Nenhum resultado encontrado

Estudo do número de condição para aprimorar o cálculo da base do precondicionador separador no método de pontos interiores

N/A
N/A
Protected

Academic year: 2021

Share "Estudo do número de condição para aprimorar o cálculo da base do precondicionador separador no método de pontos interiores"

Copied!
148
0
0

Texto

(1)

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

(2)

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

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

Orientador: Aurelio Ribeiro Leite de Oliveira

O arquivo digital corresponde à versão

final da

Tese defendida pelo aluno

Cecilia Orellana Castro e orientada

pelo Prof. Dr. Aurelio Ribeiro Leite de

Oliveira.

Campinas-SP

2017

(3)

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

Ficha catalográfica

Universidade Estadual de Campinas

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

Orellana Castro, Cecilia,

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 e Computaçã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 the

splitting preconditioner's base

Palavras-chave em inglês:

Linear programming Preconditioners

Predictor-corrector methods Interior-point methods

Iterative methods (Mathematics) Conjugate gradient methods

Área de concentração: Matemática Aplicada Titulação: Doutora em Matemática Aplicada Banca examinadora:

Oliveira, Aurelio Ribeiro Leite Kelly Cristina Poldi

Christiano Lyra Filho Adilson Elias Xavier

José Federico Viscaino Gonzáles

Data de defesa: 15-03-2017

Programa de Pós-Graduação: Matemática Aplicada

(4)

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).

(5)
(6)

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 que me 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 amizade sincera.

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íno Gonzá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ões burocráticas.

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

(7)

Resumo

O precondicionador Separador foi desenvolvido especialmente para reduzir o mal condicionamento dos sistemas lineares oriundos das últimas iterações dos métodos de Pontos Interiores. Ele necessita 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 induz uma ordenação das colunas da matriz de restrições que pode ser aproveitada para reduzir o número de condição do sistema precondicionado. Portanto, a eficiência deste precondicionador depende de uma escolha adequada desta base. Propõem-se novos critérios para a escolha da base amparados 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-se uma base com colunas esparsas. Outra maneira de acelerar o cálculo da base numa iteração do método de Pontos Interiores é aproveitar algumas colunas da iteração anterior. Em uma primeira abordagem é feita uma ordenação das colunas de tal maneira que o número de condição da matriz precondicionada seja reduzido, além disso, foi possível mostrar que com esta ordenação, o número de condição é uniformemente limitado por uma quantidade que independe da iteração do mé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 colunas que irão formar a base. Em uma terceira abordagem, propõe-se uma ordenação das colunas combinando estes dois requisitos simultaneamente; bom condicionamento e esparsidade para a base. 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 dois requisitos. Finalmente, apresenta-se uma proposta de reciclagem das colunas básicas de uma iteração para serem utilizadas na seguinte. Neste trabalho, abordam-se problemas de programação linear de grande porte usando o método preditor-corretor de Mehrotra. O precondicionamento dos sistemas lineares para encontrar a direção é feito em duas fases: na primeira fase, usa-se o precondicionador Fatoração Controlada de Cholesky proposto por Campos (1995), na segunda fase, o precondicionador Separador. O critério de mudança de fase atualmente utilizado foi sutilmente modificado, acrescentou-se um indicador que permite saber se o precondicionador Separador obterá um bom desempenho baseado nas diferenças abruptas que apresentam os elementos da matriz diagonal 𝐷, particularmente nas últimas iterações do método de Pontos Interiores. Uma implementação destas novas abordagens e uma comparação com a versão atualmente utilizada, mostraram resultados competitivos.

Palavras-chave: Programação linear. Método de pontos interiores. Precondicionador separador.

(8)

Abstract

The Splitting preconditioner has been specially developed to reduce the ill conditioning of linear systems from the latest Interior Point methods iterations. It needs a basis which is a non-singular submatrix of the constraint matrix, this basis strongly depends on the current iteration of the Interior Point method because it induces an ordering of the constraint matrix columns that can be used to reduce the condition number of the preconditioned system, therefore, its efficiency depends on a suitable choice of this basis. We proposed new approaches for choosing the basis supported 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 its columns are obtained through a rectangular LU factorization, a base with sparse columns is searched. Another way to speed up the computation basis of the Interior Point method iteration is to use some columns from the previous iteration. A first approach is an ordering to find basic columns 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 is independent of the Interior Point method iteration. A second approach uses the ordering of the first approach, but adds an additional criterion, a reordering according to the constraint matrix sparsity. In a third approach, it is proposed a ordering of columns of the constraint matrix by joining these both requirements simultaneously; well conditioning and sparsity for the basis. In these cases, a balance between sparsity and well conditioning is necessary, for this we present 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 the next iteration. In this work, large linear programming problems are solved using the Mehrotra’s predictor-corrector method. Preconditioning of the linear systems to find the search direction is done in two phases: the first phase, we use the Controlled Cholesky Factorization preconditioner by Campos (1995), in the second phase, the Splitting preconditioner. The change of phase criterion currently used was subtly modified by the addition of an indicator that shows whether the Splitting preconditioner is ready to have a well performance based on the sharp differences on the 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. Condition

(9)

Lista de ilustrações

Figura 1 – Colunas de uma matriz dividida em grupos. . . 70

Figura 2 – Colunas ordenadas de acordo com a esparsidade dentro de cada grupo. . . . 71

Figura 3 – Perfil de desempenho para o total de iterações do MPI . . . 106

Figura 4 – Perfil de desempenho do tempo de processamento usado para resolver o problema . . . 107

Figura 5 – Perfil de desempenho para o método dos GCP . . . 108

Figura 6 – Perfil de desempenho para o tempo do cálculo da base do PS . . . 109

Figura 7 – Perfil de desempenho para número de colunas encontradas antes do primeiro reinício da fatoração LU . . . 109

Figura 8 – Perfil de desempenho para total de iterações do MPI usando reciclagem de colunas básicas . . . 120

Figura 9 – Perfil de desempenho para o tempo de processamento para resolver os problemas usando reciclagem de colunas básicas . . . 121

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

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

Figura 12 – Perfil de desempenho para número de colunas encontradas antes do primeiro reinício da fatoração LU . . . 123

(10)

Lista de tabelas

Tabela 1 – Preenchimento do precondicionador FCC(𝜂) . . . 47

Tabela 2 – Dados dos problemas pré-processados pelo PCx. . . 90

Tabela 3 – Dados da troca de fase . . . 92

Tabela 4 – Total de iterações do MPI . . . 94

Tabela 5 – Tempo de processamento para resolver o problema . . . 97

Tabela 6 – Iteracões do método GCP . . . 100

Tabela 7 – Dados da base do PS . . . 103

Tabela 8 – Tempo e Iterações do MPI . . . 111

Tabela 9 – Iteracões do método GCP e Nro. de bases calculadas . . . 113

Tabela 10 – Dados da base do PS . . . 116

Tabela 11 – Problema els19 . . . 119

(11)

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

(12)

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 (norma 2).

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

R𝑛+ conjunto dos vetores 𝑥 pertencentes a R

𝑛 que satisfazem 𝑥 ≥ 0.

(13)

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

(14)

Sumário

1 INTRODUÇÃO . . . 16

1.1 Objetivos e contribuições deste trabalho . . . 17

1.2 Organização do texto . . . 17

2 MÉTODO PRIMAL-DUAL DE PONTOS INTERIORES . . . 19

2.1 Programação linear. . . 19

2.2 Método de pontos interiores primal-dual . . . 26

2.2.1 Trajetória central . . . 30

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

2.2.3 Método preditor-corretor de Mehrotra . . . 32

2.3 Cálculo da direção de busca . . . 36

3 PRECONDICIONAMENTO . . . 41

3.1 Métodos iterativos precondicionados . . . 42

3.1.1 Método dos gradientes conjugados precondicionado . . . 43

3.2 Precondicionador Fatoracão Controlada de Cholesky . . . 46

4 PRECONDICIONADOR SEPARADOR . . . 49

4.1 Precondicionador Separador para o Sistema Aumentado . . . 49

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

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

4.2 Precondicionador Separador para o sistema de Equações Normais . . . . 53

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

4.3 Análise espectral da matriz precondicionada pelo precondicionador Separador . . . 54

4.4 Precondicionamento híbrido. . . 57

4.4.1 Mudança de fase no precondicionamento híbrido . . . 57

5 NOVAS ABORDAGENS PARA ENCONTRAR A BASE DO PRECONDICIONADOR SEPARADOR . . . 60 5.1 Introdução. . . 60 5.2 Abordagem 𝑃 𝑆1 . . . 63 5.3 Abordagem 𝑃 𝑆2 . . . 69 5.4 Abordagem 𝑃 𝑆3 . . . 78 5.4.1 Motivação. . . 78

(15)

5.4.2 A ordenação nesta abordagem . . . 79

5.4.3 Novo critério de mudança de fase . . . 82

5.5 Reciclagem de colunas básicas . . . 84

5.6 Resumo das novas propostas . . . 88

6 RESULTADOS NUMÉRICOS. . . 89

6.1 Problemas testes . . . 89

6.2 Experimentos computacionais . . . 92

6.3 Análise dos resultados numéricos. . . 105

6.4 Resultados numéricos usando a reciclagem de colunas básicas . . . 110

6.5 Análise dos resultados numéricos usando a reciclagem de colunas básicas 118 7 CONCLUSÕES . . . 124

7.1 Perspetivas futuras . . . 125

REFERÊNCIAS . . . 127

APÊNDICES

130

APÊNDICE A – MÉTODO DOS GRADIENTES CONJUGADOS . . . . 131

A.1 Método dos gradientes conjugados . . . 131

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

APÊNDICE C – PERFIS DE DESEMPENHO . . . 146

(16)

16

1 Introdução

Os Métodos de Pontos Interiores (MPI) do tipo primal-dual tornaram-se uma importante ferramenta para resolver problemas de programação linear de grande porte devido a suas propriedades teóricas e computacionais, destacando entre estas, sua complexidade polinomial e o 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ção de sistemas lineares que embora apresentem um alto grau de esparsidade, nas últimas iterações do MPI, tornam-se muito mal condicionados devido à condição de complementariedade de um problema 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 de Schur da matriz do Sistema Aumentado. Foi provado em Gondzio (2012b) que o número de condiçã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 problema de programação linear. Assim, o estudo de implementações eficientes que acelerem as últimas iteraçõ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 a capacidade de resolver problemas de grande porte, são usados métodos iterativos adequadamente precondicionados, 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 de Equações Normais, é possível construir um precondicionador para o Sistema Aumentado, mas a recíproca não necessariamente é verdadeira. Este resultado aumenta o interesse no estudo de precondicionadores para o Sistema de Equações Normais.

Um precondicionador com estrutura esparsa e que proporcione uma redução significativa do nú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 é feito em 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), fizeram ordenações baseadas em heurísticas, algumas delas bem sucedidas, porém ainda existem problemas não resolvidos e outros cuja solução demanda muito tempo computacional, isto acontece principalmente por duas razões: a escolha das colunas linearmente independentes

(17)

Capítulo 1. Introdução 17

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

1.1

Objetivos e contribuições deste trabalho

O objetivo deste trabalho é fazer um estudo do número de condição das matrizes precondicionadas pelo precondicionador Separador e, a partir desta informação, ordenar as colunas da matriz de 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ão a base da primeira proposta denotada por 𝑃 𝑆1. O Lema5.3.1 e o Teorema5.3.2 justificam a

segunda proposta: 𝑃 𝑆2. A terceira proposta denotada por 𝑃 𝑆3, é baseada no Teorema5.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 em todas 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 acrescentar uma condição na mudança de fase proposta porVelazco et al. (2011). Os autores de Velazco et al. (2011) visam aproveitar o precondicionador FCC durante a maior quantidade de iterações do MPI possível, eles fazem a mudança de fase quando o preenchimento deste precondicionador supera um limite permitido dado por um valor 𝜂max, veja a Seção4.4.1. Ou seja, a mudança de

fase é baseada nas desvantagens de um precondicionador FCC denso, porém nós observamos que em vários problemas o precondicionador Separador está pronto para ter um bom desempenho antes de atingido o preenchimento máximo permitido. Assim, foi acrescentada uma condição adicional na mudança de fase que melhorou consideravelmente o tempo computacional de alguns dos problemas testados.

1.2

Organização do texto

Este trabalho está dividido em sete capítulos. No Capítulo 2apresentam-se os aspectos mais importantes de programação linear usados para o desenvolvimento da teoria do MPI primal-dual enfatizando no método Preditor-Corretor de Mehrotra (PCM). No Capítulo 3 apresenta-se o precondicionamento de sistemas lineares e os métodos iterativos precondicionados destancando o 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

(18)

Capítulo 1. Introdução 18

precondicionada pelo PS. No Capítulo 5 apresentam-se as contribuições deste trabalho, as ordenações propostas para encontrar a base do PS, assim como a nova proposta de mudança de fase para o precondicionamento híbrido, usando os elementos da matriz diagonal 𝐷 que aparece tanto no Sistema Aumentado como no Sistema de Equações Normais. Finamente neste capítulo apresenta-se uma abordagem que recicla colunas básicas de uma iteração do MPI na seguinte com o objetivo de acelerar o cálculo da base. No Capítulo 6 apresentam-se os os experimentos numéricos realizados assim como uma análise dos resultados obtidos. As conclusões e 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 ao PCx e uma descrição dos perfis de desempenho usados no Capítulo 6para avaliar os resultados computacionais.

(19)

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 como o Método de Pontos Interiores (MPI). Embora uma iteração do método de Karmarkar seja cara computacionalmente, a otimalidade é alcançada após um número relativamente pequeno de iterações, o que torna o algoritmo computacionalmente atrativo. A prova de Karmarkar sobre o resultado da complexidade do pior caso foi bastante complicada,Gondzio (2012a), porém o esforç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 barreira de Newton projetado, são equivalentes. O interesse crescente no papel das funções de barreira na teoria dos métodos de pontos interiores tem atraído a atenção da comunidade para inú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 de Karmarkar.

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 apresentando aspectos e resultados teóricos de um problema de PL.

2.1

Programação linear

Nesta seção, baseados em Bertsimas e Tsitsiklis (1997), abordam-se alguns aspectos da teoria de Programação Linear (PL) enfatizando as propriedades que relacionam as formulações padrão primal (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 um problema de PL é equivalente à formulação padrão dada em (2.1.1), no seguinte sentido.

(20)

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, e

somente 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. Observe que 𝑏𝑇𝑦 = (𝐴𝑥)𝑇𝑦 = 𝑥𝑇𝐴𝑇𝑦 = 𝑥𝑇(𝑐 − 𝑧) = 𝑥𝑇𝑐 − 𝑥𝑇𝑧 ≤ 𝑐𝑇𝑥, pois 𝑥𝑇𝑧 ≥ 0. Apesar de bastante simples, este resultado já permite algumas conclusões sobre a relação entre os problemas primal e dual.

Corolário 2.1.2. Se o problema primal (P) tem conjunto de pontos factíveis ilimitado, então o

problema dual (D) é infactível. Analogamente, se o problema dual (D) tem conjunto de pontos factí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,

(21)

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 Dualidade tem-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 da dualidade 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 é feita usando a teoria do método Simplex para programação linear. Existe outra prova mais geral em

Goldfarb 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 possui solução ótima e os valores ótimos dos dois problemas são iguais.

(22)

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 Teorema2.2, os valores ótimos de ambos os problemas são iguais, isto é, 𝑐𝑇𝑥 = 𝑏𝑇𝑦, logo

𝑥𝑇𝑧 = 𝑥𝑇(𝑐 − 𝐴𝑇𝑦) = 𝑥𝑇𝑐 − 𝑥𝑇𝐴𝑇𝑦 = 𝑥𝑇𝑐 − 𝑏𝑇𝑦 = 𝑐𝑇𝑥 − 𝑏𝑇𝑦 = 0. (2.1.8) Além disso, dado que 𝑥 ≥ 0 e 𝑧 ≥ 0, para cada 𝑖 = 1, . . . 𝑛, 𝑥𝑖𝑧𝑖 ≥ 0, usando este fato e a

equaçã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-se que 𝑐𝑇𝑥 = 𝑏𝑇𝑥. Usando o Corolário 2.1.3, 𝑥 e (𝑦, 𝑧) são soluções ótimas dos seus respectivos problemas.

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 e desenvolver a teoria do Método de Pontos Interiores (MPI) primal-dual, apresentam-se definições e 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 um

(23)

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 convexa se 𝑓 é 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, o

conjunto 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);

(24)

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ções KKT 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:

(25)

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ínimo local de 𝑓 em 𝒮 ∩ 𝒢.

O Teorema2.5pode 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 𝐴 seja considerada 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, 2e 3 é chamado solução ótima primal-dual. Pelos Teoremas 2.4e 2.5, as condições KKT fornecem condições suficientes e necessárias para encontrar uma solução ótima 𝑥* local do problema primal (P) e uma solução ótima local (𝑦*, 𝑧*) do problema dual (D).

(26)

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ção global 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áveis

para 𝑖 = 1, . . . 𝑚, 𝑗 = 1, . . . , 𝑝, seja um problema de programação convexa, veja definição dada em 2.1.7. O vetor 𝑢* é um ótimo local de (2.1.22) se, e somente se, 𝑢* é um ótimo global de (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ção convexa, 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 o método de Newton ligeiramente modificado nestas condições para encontrar a direção de busca.

2.2

Método de pontos interiores primal-dual

Esta seção tem por objetivo apresentar o Método de Pontos Interiores (MPI) primal-dual aplicado ao problema de Programação Linear (PL), particularmente apresentam-se os métodos seguidores de caminho. A teoria do MPI primal-dual para a formulação padrão do PL (2.1.1) pode ser encontrada emWright(1997). Nesta seção é apresentada esta teoria para o problema de programaçã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. Os conjuntos

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

(27)

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, dos problemas 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 Teorema2.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 dois ingredientes básicos: um procedimento para determinar a direção de busca e o tamanho de passo. A direção de busca 𝑑 = (Δ𝑥, Δ𝑠, Δ𝑦, Δ𝑤, Δ𝑧) é obtida usando o método de Newton ligeiramente modificado nas equações (2.2.3), (2.2.4), (2.2.5), (2.2.6) e (2.2.7). O tamanho de passo 𝛼𝑘 numa iteração 𝑘 é obtido de tal maneira que

(28)

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-dual está intimamente relacionado com os métodos de barreira desenvolvidos por Fiacco e McCormick para 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ítmica

nas restrições de não negatividade, tem-se o problema:

min 𝑐𝑇𝑥 − 𝜇 ˆ 𝑛 ∑︁ 𝑖=1 log 𝑥𝑖+ 𝑛 ∑︁ 𝑖=1 log 𝑠𝑖 ˙ s. a. 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝑥, 𝑠 > 0. (2.2.8) onde 𝜇 > 0. Além disso, a função

𝑛 ∑︁ 𝑖=1 log 𝑥𝑖+ 𝑛 ∑︁ 𝑖=1 log 𝑠𝑖

é conhecida como o termo barreira. Observe que o domínio desta função é o conjunto de pontos estritamente factíveis 𝒫𝒞0 = {(𝑥, 𝑠) : 𝐴𝑥 = 𝑏, 𝑥 + 𝑠 = 𝑢, 𝑥, 𝑠 > 0}. Além disso, (2.2.8) é um

problema 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 maior

prioridade à 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 dar prioridade à minimização da função objetivo, 𝑐𝑇𝑥.

Dado que o problema em (2.2.8) é convexo, pelo Teorema 2.5, as condições de otimalidade de primeira 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,

ℓ(𝑥, 𝑠, 𝑦, 𝑤) = 𝑐𝑇𝑥 − 𝜇 𝑛 ∑︁ 𝑖=1 log 𝑥𝑖− 𝜇 𝑛 ∑︁ 𝑖=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), denotado por ∇ℓ = (∇𝑥ℓ, ∇𝑠ℓ, ∇𝑦ℓ, ∇𝑦ℓ) tem as seguintes componentes:

(29)

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

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

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

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

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

Para 𝜇 > 0, pelos Teoremas2.4e2.5, (𝑥*, 𝑠*) = (𝑥*(𝜇), 𝑠*(𝜇)) é solução ótima do problema dado em (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, e somente 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 cinco equaçõ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ão

para 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 emWright (1997). Este teorema permite afirmar a existência de uma curva ou trajetória 𝜇 → (𝑥(𝜇), 𝑠(𝜇), 𝑦(𝜇), 𝑤(𝜇), 𝑧(𝜇)) definida implicitamente pelas equações (2.2.10)-(2.2.14). Um estudo mais detalhado desta curva é apresentado na próxima seção.

(30)

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 pontos pertencentes 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 Teorema

2.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 de equações em (2.2.10)-(2.2.14) é contínuo.

Usa-se a Trajetória Central para chegar em uma solução ótima (𝑥*, 𝑠*, 𝑦*, 𝑤*, 𝑧*) pois se aplicarmos 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ções são chamadas de soluções falsas.

A Trajetória Central guia até uma solução ótima ao longo de um percurso que fica longe de soluções falsas, mantendo todos os produtos 𝑥𝑖𝑧𝑖 e 𝑠𝑖𝑤𝑖 estritamente positivos e os reduz até zero

com a mesma taxa. Então, ao invés de resolver o sistema dado pelas condições de otimalidade KKT de (𝑃𝐶), resolve-se o sistema dado pelas equações (2.2.10)-(2.2.14) para diferentes valores

positivos 𝜇, 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

(31)

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 fornece uma boa aproximação de um ponto da Trajetória Central.

Considere a aplicação 𝐹 : R2𝑛+ × R 𝑚 × R2𝑛 + −→ R 4𝑛+𝑚 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 0 0 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-dual seguidor 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 da sequência (𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘) seja um ponto interior, isto é, (𝑥𝑘, 𝑠𝑘, 𝑤𝑘, 𝑧𝑘) > 0.

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

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

(32)

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étodo Preditor-Corretor de Mehrotra (PCM), veja Mehrotra (1992), por ser uma aproximação de segunda 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 segue a estrutura apresentada na Seção 2.2.2. Sua principal característica é que a direção de busca consiste de duas componentes:

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

(33)

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ção preditora com uma escolha adaptativa do parâmetro de centragem 𝜎.

Suponha que `𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘˘ com `𝑥𝑘, 𝑠𝑘, 𝑤𝑘, 𝑧𝑘˘ > 0 seja o ponto da iteração 𝑘. O cálculo da direção afim ou preditora 𝑑𝑎𝑓𝑘 = (Δ𝑥𝑎𝑓, Δ𝑠𝑎𝑓, Δ𝑦𝑎𝑓, Δ𝑤𝑎𝑓, Δ𝑧𝑎𝑓)𝑇 em `𝑥𝑘, 𝑠𝑘, 𝑦𝑘, 𝑤𝑘, 𝑧𝑘˘ é obtido do seguinte sistema de equações lineares:

¨ ˚ ˚ ˚ ˚ ˚ ˚ ˝ 𝐴 0 0 0 0 𝐼𝑛 𝐼𝑛 0 0 0 0 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 𝜎𝑘 para

encontrar 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 atingir um maior decréscimo da medida de dualidade na iteração seguinte.

(34)

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 𝜎𝑘 da

iteraçã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 uma aproximaçã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 de criar 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 diferentes

taxas de convergência. Assim, usa-se o parâmetro de centragem 𝜎𝑘 definido em (2.2.31) pois

depende 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 𝑑𝑐𝑐𝑘 = (Δ𝑥𝑐𝑐, Δ𝑠𝑐𝑐, Δ𝑦𝑐𝑐, Δ𝑤𝑐𝑐, Δ𝑧𝑐𝑐), visa obter:

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

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

Logo de (2.2.33) e (2.2.34), esta direção faz com que (𝑥𝑖+ Δ𝑥 𝑎𝑓 𝑖 )(𝑧𝑖 + Δ𝑧 𝑎𝑓 𝑖 ) = 𝜎𝑘𝜇𝑘 e (𝑠𝑖+ Δ𝑠 𝑎𝑓 𝑖 )(𝑤𝑖+ Δ𝑤 𝑎𝑓 𝑖 ) = 𝜎𝑘𝜇𝑘.

Referências

Documentos relacionados

Considera que é importante que os professores tenham experiência prática para poderem passar essa vivência aos alunos; os alunos também devem ter contacto com a prática durante

(2010), discovered two additional lineages in the Iberian Peninsula using CO1 mtDNA sequences, thus demonstrating the useful- ness of this gene as a barcoding marker for this genus,

CONCLUSÕES: A classificação do estilo de vida obtido pelo PBE pode ser sensível para identificar alterações em variáveis que assinalam estado de risco para o desenvolvimento

Contemplando 6 estágios com índole profissionalizante, assentes num modelo de ensino tutelado, visando a aquisição progressiva de competências e autonomia no que concerne

DOCUMENTOS DE TRABALHO DO OBSERVATÓRIO UNIVERSITÁRIO 18.. Outros assuntos de igual, senão mais profunda importância, foram deixados à parte. Correndo o risco de ainda deixar

The Anti-de Sitter/Conformal field theory (AdS/CFT) correspondence is a relation between a conformal field theory (CFT) in a d dimensional flat spacetime and a gravity theory in d +

Ao trabalhar com o ábaco e as argolas para decompor os números sugeridos, como o 15, o 21, e o 33 em fatores, os estudantes realizaram as tarefas com facilidade, o que os instigou

Um programa recente de intervenção em habilidades sociais que visava aumentar as interações pró-sociais entre crianças pequenas teve bons resultados tanto na redução de