• Nenhum resultado encontrado

Variantes do método dos gradientes conjugados aplicados a sistemas lineares originados dos métodos de pontos interiores.

N/A
N/A
Protected

Academic year: 2017

Share "Variantes do método dos gradientes conjugados aplicados a sistemas lineares originados dos métodos de pontos interiores."

Copied!
12
0
0

Texto

(1)

Variantes do M´etodo dos Gradientes Conjugados aplicados a sistemas

lineares originados dos M´etodos de Pontos Interiores

A.F.E. COELHO1, A.R.L. OLIVEIRA1 e M.I. VELAZCO2*

Recebido em 6 abril, 2013 / Aceito em 17 dezembro, 2014

RESUMO.Neste trabalho, comparamos duas vers ˜oes precondicionadas do m´etodo dos gradientes conju-gados. Essas vers ˜oes diferem da vers˜ao cl´assica, pois consideram que o sistema linear ´e um sistema de equac¸˜oes normais. Os sistemas lineares que iremos resolver surgem do c´alculo das direc¸˜oes dos m´etodos de pontos interiores. A determinac¸˜ao desta direc¸˜ao consiste no passo de maior esforc¸o computacional e, quando trabalhamos com sistemas de grande porte, o uso de m´etodos diretos pode ser invi´avel. Portanto, uma opc¸˜ao ´e utilizar m´etodos iterativos precondicionados. Assim, o desempenho de duas vers ˜oes do m´etodo dos gradientes conjugados precondicionado ´e comparado `a vers˜ao cl´assica que j´a foi utilizada, neste mesmo contexto, em trabalhos anteriores. Resultados num´ericos mostram que uma dessas vers ˜oes ´e competitiva em relac¸˜ao `a vers˜ao cl´assica.

Palavras-chave: m´etodos de pontos interiores, m´etodo dos gradientes conjugados precondicionado.

1 INTRODUC¸ ˜AO

Desde a d´ecada de 80 os m´etodos de pontos interiores tˆem atra´ıdo grande interesse. Estes m´eto-dos s˜ao muito eficientes na soluc¸˜ao de problemas de grande porte.

Nestes m´etodos, a cada iterac¸˜ao, s˜ao resolvidos dois sistemas lineares no c´alculo das direc¸˜oes por m´etodos diretos ou iterativos. Os m´etodos diretos apresentam dificuldades em problemas de grande porte devido ao preenchimento da matriz. Em muitos casos, a melhor soluc¸˜ao consiste em usar m´etodos iterativos. A matriz dos sistemas ´e sim´etrica e definida positiva permitindo usar o m´etodo dos gradientes conjugados. Devido ao mal-condicionamento da matriz nas iterac¸˜oes finais dos m´etodos ´e necess´ario o uso de precondicionadores. Neste trabalho, utilizamos o pre-condicionador h´ıbrido proposto em [5].

*Autor correspondente: Marta In´es Velazco

(2)

Para que o m´etodo dos gradientes conjugados seja aplicado, n˜ao ´e necess´ario que o sistema linear seja do tipo de equac¸˜oes normais. Entretanto, existem vers˜oes deste m´etodo que consideram a estrutura de equac¸˜oes normais em sua formulac¸˜ao [10]. Note que os sistemas originados dos m´etodos de pontos interiores s˜ao sistemas de equac¸˜oes normais.

O objetivo deste trabalho consiste em avaliar a eficiˆencia de duas vers˜oes de gradientes conju-gados precondicionado (GCP) que consideram sistemas de equac¸ ˜oes normais. Estas vers˜oes s˜ao particularizadas para os sistemas oriundos dos m´etodos de pontos interiores.

1.1 M´etodo de Pontos Interiores Preditor-Corretor

Considere o problema primal e o problema dual de programac¸˜ao linear na forma padr˜ao [12]: minimizar ctx, sujeito a Ax =b,x≥0, problema primal, maximizar bty, sujeito a Aty+z=c,z≥0, problema dual,

ondeA´e uma matrizm×nde posto completo,cebs˜ao vetores coluna de dimens˜oes apropriadas, x´e o vetorn×1 de vari´aveis primais,y´e o vetorm×1 de vari´aveis duais ez´e o vetorn×1 de vari´aveis de folga duais.

O m´etodo preditor-corretor [12] calcula duas direc¸˜oes a cada iterac¸˜ao para as vari´aveis(x,y,z) de programac¸˜ao linear. De forma resumida, podemos dizer que essas direc¸˜oes s˜ao obtidas apli-cando o m´etodo de Newton nas condic¸˜oes de otimalidade:

⎜ ⎝

Axb

Aty+zc X Z e

⎠=0; (x,z)≥0.

Definindorp = bAx, rd = cAtyz era = −X Z e, desejamos que estes res´ıduos (rp,rd,ra)sejam nulos obtendo assim uma soluc¸˜ao ´otima.

2 M ´ETODO DOS GRADIENTES CONJUGADOS PARA SOLUC¸ ˜AO DE SISTEMAS DE EQUAC¸ ˜OES NORMAIS E M ´ETODOS DE PONTOS INTERIORES

Na soluc¸˜ao de sistemas com matrizes sim´etricas e definida positiva ´e utilizado o m´etodo dos gradientes conjugados. Quando trabalhamos com matrizes mal-condicionadas ´e necess´ario o uso de precondicionadores para garantir a convergˆencia do m´etodo. Em [10] s˜ao apresentadas duas vers˜oes do m´etodo dos gradientes conjugados precondicionado que consideram a estrutura de equac¸ ˜oes normais em sua formulac¸˜ao. Nesta sec¸˜ao, as mesmas ser˜ao particularizadas para as matrizes originadas dos m´etodos de pontos interiores.

Dado um sistema linearGx=d, existem duas alternativas para se obter um sistema de equac¸ ˜oes normais:

1. Substituindo a vari´avelxporGtu ter´ıamos o sistemaGGtu=d;

(3)

A primeira vers˜ao, Gradientes Conjugados Precondicionado – Normal Error (GCPNE), ´e cons-tru´ıda precondicionando o sistemaGGtu = d, comx = Gtu. A segunda vers˜ao, Gradientes Conjugados Precondicionado – Normal Residual (GCPNR), considera o sistema oGtGx=Gtd.

2.1 M´etodos de Pontos Interiores

O passo mais caro de uma iterac¸˜ao de pontos interiores consiste na soluc¸˜ao do sistema linear:

(AD At)d y=rp+A(DrdZ−1ra), (2.1)

ondeD=Z−1X ´e uma matriz diagonal definida positiva.

Para resolver o sistema (2.1), considere o sistema de equac¸˜oes normaisGGtu=d. Relacionando ambos os sistemas, temos as seguintes identidades: o vetorurepresenta as direc¸˜oesd ya serem calculadas, a matrizGrepresenta a matriz AD12 de forma queGGt = AD At. Finalmente, o

vetord representa o lado direito do sistema linearrp+A(DrdZ−1ra).

Desta forma, o m´etodoGCPNEpara resolver o sistema (2.1) pode ser resumido como:

Algoritmo 2.1.GCPNE na vari´avel u – Vers˜ao para o Sistema do M´etodo de Pontos Interiores

Calcule r0=dAD Atu0, z0=M−1r0, p0=z0

Para j=0,1, . . . ,at´e convergir, fac¸a:

wj =D

1 2Atpj

αj =

rj,zj

wj, wj

uj+1=ujjpj

rj+1=rj −αjAD

1 2wj

zj+1=M−1rj+1

βj =

rj+1,zj+1

rj,zj

pj+1=zj+1+βjpj

Fim

Outra forma de resolver o sistema (2.1) ´e compar´a-lo com o segundo tipo de equac¸˜oes normais: GtGx = Gtd. Note que a matrizG ser´a substitu´ıda por D12At e mantemos a vari´avel x que

representa o valor ded y. O vetorrp+A(DrdZ−1ra)do sistema (2.1) ´e representado por Gtd no sistema GtGx = Gtd. Portanto, ´e necess´ario recuperar o vetor d do sistema (2.1). Logo, definindo

˜

(4)

temos:

Gtd = AD12d

= rp+A(DrdZ−1ra)

= bAx+A(DrdZ−1ra)

= Ab˜−Ax+A(DrdZ−1ra)

= AD D−1b˜−AD D−1x+ADrdAD D−1Z−1ra

= AD(D−1b˜−D−1x+rdD−1Z−1ra)

= AD12D12(D−1b˜D−1x+rdD−1Z−1ra)

Portanto

d =D12(D−1b˜D−1x+rdD−1Z−1ra),

para o sistema (2.1).

Assim, o m´etodoGCPNRpara resolver o sistema (2.1) pode ser resumido como:

Algoritmo 2.2.GCPNR – Vers˜ao para o Sistema do M´etodo de Pontos Interiores

Calcule r0=dD12Atx0,r0˜ =AD 1

2r0, z0=M−1r0, p0˜ =z0.

Para j =0,1, . . . ,at´e convergir, fac¸a:

wj =D

1 2Atpj

αj =

zj,r˜j

wj, wj

xj+1=xjjpj

rj+1=rj−αjwj

˜

rj+1=AD

1 2rj+1

zj+1=M−1r˜j+1

βj =

zj+1,r˜j+1

zj,rj˜

pj+1=zj+1+βjpj

Fim

3 EXPERIMENTOS NUM ´ERICOS

(5)

na linguagemFortran. Os sistemas lineares que surgem ao decorrer do m´etodo s˜ao resolvidos atrav´es de uma abordagem direta por fatorac¸˜ao de Cholesky.

Neste trabalho, foi utilizada a vers˜ao PCx-Modificado [9, 5, 11]. Esta vers˜ao utiliza uma aborda-gem iterativa na soluc¸˜ao dos sistemas lineares. Assim, a opc¸˜ao de m´ultiplas correc¸ ˜oes ´e desligada e a fatorac¸˜ao de Cholesky ´e substitu´ıda pela soluc¸˜ao iterativa atrav´es do m´etodo dos gradientes conjugados precondicionado. O precondicionador utilizado ´e o Precondicionador H´ıbrido [5] com as modificac¸˜oes propostas em [11]. A partir desta vers˜ao modificada, as novas vers˜oes dos Gradientes Conjugados para sistemas lineares s˜ao testadas e comparadas com a mesma.

Todos os testes foram realizados em um processador Intel Core 2 Duo 2.2GHz com 2Gb de RAM, em ambiente Linux.

Os problemas testes s˜ao apresentados na Tabela 1. Estes foram selecionados dentro das classes de problemas onde a decomposic¸˜ao de Cholesky produz uma matriz mais densa que a matriz original [5, 9]. Os problemas foram extra´ıdos das bibliotecas de dom´ınio p´ublico: NETLIB [3], STOCHPL [4], MISC [1, 2] e QAPLIB [6]. Na tabela, para cada problema ´e descrito: o n´umero de linhas, colunas, elementos n˜ao nulos ap´os o pr´e-processamento, a densidade da matriz e biblioteca de origem.

3.1 Resultados Computacionais

A eficiˆencia e robustez dos m´etodos GCPNR e GCPNE ´e avaliada a partir da comparac¸˜ao dos mesmos com o m´etodo dos gradientes conjugados precondicionado utilizado na vers˜ao PCx-modificado. Nas comparac¸˜oes, foram considerado:

• Total de iterac¸˜oes de pontos interiores (descritas entre parˆenteses);

• Total de iterac¸˜oes dos m´etodos de gradientes conjugados dada pela soma do n´umero de iterac¸˜oes realizadas para o c´alculo de cada uma das duas direc¸˜oes do m´etodo de pontos interiores;

• Tempo de processamento.

(6)

Tabela 1: Problemas testes.

Problema Linha Colunas N˜ao Nulos Densidade Biblioteca

scsd8-2c-64 5130 35910 112770 0,0612 STOCHLP

scsd8-2r-432 8650 60550 190210 0,0363 STOCHLP

els19 4350 13186 50882 0,0887 QAP

chr22b 5587 10417 36520 0,0627 QAP

scr15 2234 6210 24060 0,1739 QAP

scr20 5079 15980 61780 0,0761 QAP

rou20 7359 37640 152980 0,0552 QAP

ste36a 27683 131076 512640 0,0141 QAP

ste36b 27683 131076 512640 0,0141 QAP

stocfor3 16675 23541 62960 0,0160 NETLIB

qap12 2794 8856 33528 0,1355 NETLIB

qap15 5698 22275 85470 0,0673 NETLIB

nug12 3192 8856 33528 0,1355 MISC

nug15 6330 22275 85470 0,0673 MISC

pds-10 15648 48780 103725 0,0135 MISC

pds-20 32276 106180 226494 0,006608 MISC

pds-30 49944 158489 333260 0,004210 MISC

pds-40 64265 214385 457538 0,003320 MISC

pds-50 80339 272513 581152 0,002654 MISC

pds-60 96503 332862 709178 0,002207 MISC

pds-70 114944 390005 822526 0,001834 MISC

pds-80 126109 430800 916852 0,001687 MISC

pds-90 142823 475448 1002902 0,001476 MISC

pds-100 156243 514577 1096002 0,001363 MISC

Se somarmos as iterac¸˜oes do m´etodo iterativo realizadas nos problemas que convergiram para ambos m´etodos temos os seguintes resultados: o GCP realizou 88418 iterac¸˜oes e o GCPNR realizou 224211 iterac¸˜oes. O m´etodo GCPNR fez mais que o dobro de iterac¸˜oes para resolver os mesmos sistemas e levou quase o triplo do tempo de processamento.

(7)

Tabela 2: Resultados obtidos com os m´etodos GCP e GCPNR.

Problema Iterac¸˜oes Iterac¸˜oes Tempo(s) Tempo(s)

do GCP do GCPNR – GCP – GCPNR

scsd8-2c-64 382 (7) 5864 (10) 4,04 20,00

scsd8-2r-432 6519 (18) 11397 (22) 39,28 180,96

els19 26294 (31) – 168,18 –

chr22b 25580 (29) – 71,46 –

scr15 15973 (24) – 28,81 –

scr20 36360 (21) – 223,70 –

rou20 54326 (24) – 3216,66 –

ste36a 312988 (38) – 32183,05 –

ste36b – – – –

stocfor3 69507 (32) – 338,54 –

qap12 29962 (20) – 285,54 –

qap15 113695 (24) – 4844,20 –

nug12 23677 (20) – 245,79 –

nug15 91134 (23) – 4466,58 –

pds-10 6872 (47) 8851 (49) 63,36 77,26

pds-20 52372 (60) – 741,67 –

pds-30 31129 (73) 70946 (79) 741,93 1748,39

pds-40 43516 (79) 127153 (84) 1463,64 4813,55

pds-50 71481 (79) – 2905,05 –

pds-60 83095 (85) – 4177,60 –

pds-70 83050 (84) – 5052,97 –

pds-80 80742 (83) – 5729,80 –

pds-90 97909 (82) – 7467,40 –

pds-100 122237 (86) – 9829,66 –

(8)

Tabela 3: Resultados obtidos com os m´etodos GCP e GCPNE.

Problema Iterac¸˜oes Iterac¸˜oes Tempo(s) Tempo(s)

do GCP do GCPNE – GCP – GCPNE

scsd8-2c-64 382 (7) 389 (7) 4,04 4,03

scsd8-2r-432 6519 (18) 6914 (18) 39,28 42,26

els19 26294 (31) 26315 (31) 168,18 172,48

chr22b 25580 (29) 25688 (29) 71,46 72,98

scr15 15973 (24) 15886 (24) 28,81 28,99

scr20 36360 (21) 35789 (21) 223,70 254,20

rou20 54326 (24) 54606 (24) 3216,66 3156,59

ste36a 312988 (38) 305066 (38) 32183,05 32256,71

ste36b – 375810 (37) – 41786,72

stocfor3 69507 (32) 69828 (32) 338,54 345,72

qap12 29962 (20) 30519 (20) 285,54 305,59

qap15 113695 (24) 92876 (23) 4844,20 4160,35

nug12 23677 (20) 24111 (20) 245,79 249,23

nug15 91134 (23) – 4466,58 –

pds-10 6872 (47) 6765 (47) 62,94 63,01

pds-20 52372 (60) 53759 (60) 741,67 782,26

pds-30 31769 (74) 31324 (74) 793,66 824,34

pds-40 43516 (79) 43797 (79) 1463,64 1537,23

pds-50 71481 (79) 69471 (79) 2905,05 2959,64

pds-60 83095 (85) 82774 (85) 4177,60 4337,98

pds-70 83050 (84) 77579 (85) 5052,97 4994,45

pds-80 80742 (83) 75626 (83) 5729,80 5658,51

pds-90 97909 (82) 82992 (81) 7467,40 6841,65

pds-100 122237 (86) 126769 (87) 9829,66 10493,45

(–) significa que o m´etodo falhou.

Estes resultados tamb´em podem ser observados atrav´es do perfil de desempenho [8]. O perfil de desempenho ´e uma ferramenta para comparar o desempenho desalgoritmos na soluc¸˜ao dep problemas. Neste caso, temoss =3 algoritmos e p =24 problemas. Usaremos como medidas de desempenho os seguintes itens: total de iterac¸˜oes de pontos interiores; total de iterac¸˜oes dos m´etodos dos gradientes conjugados e tempo de processamento.

(9)

1 1.1 1.2 1.3 1.4 1.5 1.6 0.1

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1

τ

ρ

(

τ

)

GCP

GCPNR

GCPNE

Figura 1: GCP, GCPNR e GCPNE – Perfil de desempenho: Iterac¸˜oes de Pontos Interiores.

1 1.5 2 2.5 3 3.5

0.2 0.4 0.6 0.8 1 1.2

τ

ρ

(

τ

)

GCP

GCPNR

GCPNE

Figura 2: GCP, GCPNR e GCPNE – Perfil de desempenho: Iterac¸˜oes de Gradientes Conjugados.

(10)

1 2 3 4 5 6 0.2

0.4 0.6 0.8 1 1.2

τ

ρ

(

τ

)

GCP GCPNR GCPNE

Figura 3: GCP, GCPNR e GCPNE – Perfil de desempenho: Tempo de Processamento.

4 CONCLUS ˜OES

Neste trabalho, avaliamos a eficiˆencia de diferentes vers˜oes do m´etodo dos gradientes conjugados precondicionado aplicados aos sistemas lineares oriundos dos m´etodos de pontos interiores. A principal motivac¸˜ao para testar diferentes vers˜oes desses m´etodos vem da estrutura natural destes sistemas, na forma de equac¸ ˜oes normais.

Para avaliar a eficiˆencia de cada uma das vers˜oes consideramos o total de iterac¸˜oes do m´etodo de pontos interiores e do m´etodo dos gradientes conjugados e o tempo total de processamento. Os problemas selecionados foram resolvidos utilizando a vers˜ao cl´assica e as duas vers˜oes que utilizam a estrutura de equac¸˜oes normais: GCPNE e GCPNR.

A implementac¸˜ao da vers˜ao GCPNE no c´odigo PCx-modificado ´e natural visto que a estrutura do m´etodo se adequa muito bem aos sistemas encontrados. Os resultados obtidos com essa vers˜ao foram muito semelhantes aos da vers˜ao cl´assica. Em poucos casos ocorreram variac¸˜oes no total de iterac¸˜oes do m´etodo de pontos interiores. De maneira geral, o tempo e total de iterac¸˜oes do m´etodo dos gradientes conjugados tamb´em n˜ao apresentaram grandes diferenc¸as. Portanto, a vers˜ao GCPNE obteve bom desempenho sendo competitiva com a vers˜ao GCP.

(11)

AGRADECIMENTOS

Este trabalho contou com o apoio financeiro do Conselho Nacional de Desenvolvimento Cien-t´ıfico e Tecnol´ogico (CNPq) e da Fundac¸˜ao de Amparo a Pesquisa do Estado de S˜ao Paulo (FAPESP).

ABSTRACT. This work presents two preconditioned versions of the conjugate gradient method. These versions differ from the classic version; they consider the linear system in

form of normal equations. It will solve linear systems that arise from search directions com-putation in an interior point method. Determining the direction is the step with the largest

computational effort and in large scale problems the use of direct methods might not be

fea-sible. Therefore, one option is to use preconditioned iterative methods to solve the systems. The performances of these two versions of the preconditioned conjugate gradient methods

are compared with the classic version. Numerical result shows that one of these versions is

competitive with the classic one.

Keywords: linear programming, interior point method, conjugate gradient.

REFER ˆENCIAS

[1] Miscellaneous LP models. Hungarian Academy of Sciences OR Lab. Online athttp://www. sztaki.hu/˜meszaros/public_ftp/lptestset/misc.

[2] Mittelmann – LP models. Miscellaneous LP models collect by Hans D. Mittelmann. Online at

http://plato.asu.edu/ftp/lptestset/pds/.

[3] NETLIB collection LP test sets. NETLIB LP repository. Online athttp://www.netlib.org/ lp/data/

[4] Stochastic LP test sets. Hungarian Academy of Sciences OR Lab. Online at http://www. sztaki.hu/˜meszaros/public_ftp/lptestset/stochlp

[5] S. Bocanegra, F.F. Campos & A.R.L. Oliveira. Using a hybrid preconditioner for solving large-scale linear systems arising from interior point methods,Computational Optimization and Applications, 36(1–2) (2007), 149–164.

[6] R.S. Burkard and S. Karisch & F. Rendl. QAPLIB – A Quadratic Assignment Problem Library. European Journal of Operations Research,55(1991), 115–119.

[7] J. Czyzyk, S. Mehrotra, M. Wagner & S.J. Wright. PCx An Interior Point Code for Linear Program-ming.Opt. Methods & Soft.,11-2(1-4) (1999), 397–430.

[8] E.D. Dolan & J.J. Mor´e. Benchmarking optimization software with performance profiles. Mathema-tical Programming,91(2002), 201–213.

(12)

[10] Y. Saad. “Iterative Methods for Sparse Linear Systems”. SIAM Publications, SIAM, Philadelphia, PA, USA, (1997).

[11] M.I. Velazco, A.R.L. Oliveira & F.F. Campos. A note on hybrid preconditions for large scale normal equations arising from interior-point methods.Opt. Methods & Soft.,25(2010), 321–332.

Imagem

Tabela 1: Problemas testes.
Tabela 2: Resultados obtidos com os m´etodos GCP e GCPNR.
Tabela 3: Resultados obtidos com os m´etodos GCP e GCPNE.
Figura 1: GCP, GCPNR e GCPNE – Perfil de desempenho: Iterac¸˜oes de Pontos Interiores.
+2

Referências

Documentos relacionados

● Se na matriz A, cada elemento de uma linha (ou coluna) é uma soma de duas parcelas, o determinante de A pode ser expresso sob a forma de uma soma dos determinantes de

chamam a atenção para o facto de o acesso a fontes de energia sustentáveis e a existência de preços de energia acessíveis constituírem um verdadeiro desafio para os países ACP;

Entre em contato via email opr-apoiogate@portoitapoa.com.br informando o número do booking, contêiner e data/horário desejado, para análise e confirmação da viabilidade de

A disciplina tem por objetivo o estudo da história das projeções de poder após 1860, assumindo como marco inicial o surgimento das “novas potências”, e como

A leitura do presente Regulamento, por parte dos elementos de todos os candidatos e participantes, é indispensável e obrigatória, devendo estes assinar o “Termo

Prejuízo estético, em grau médio ou máximo, quando atingidos crânios, e/ou face, e/ou pescoço ou perda de dentes quando há também deformação da arcada

Directiva 2002/96/CE (WEEE, RAEE) El símbolo del cubo de basura tachado, pre- sente en el aparato, indica que éste, al final de su vida útil, no debe desecharse junto con la

Configurações Papel Tamanho Bandeja MP (Consulte o Guia de Operação em Inglês) Tipo Bandeja MP (Consulte o Guia de Operação em Inglês) Tamanho Cassete1 (Consulte o Guia de