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
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:
⎛
⎜ ⎝
Ax−b
Aty+z−c X Z e
⎞
⎟
⎠=0; (x,z)≥0.
Definindorp = b− Ax, rd = c− Aty−z 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;
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(Drd −Z−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(Drd −Z−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=d−AD 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=uj +αjpj
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(Drd − Z−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
˜
temos:
Gtd = AD12d
= rp+A(Drd−Z−1ra)
= b−Ax+A(Drd −Z−1ra)
= Ab˜−Ax+A(Drd −Z−1ra)
= AD D−1b˜−AD D−1x+ADrd −AD D−1Z−1ra
= AD(D−1b˜−D−1x+rd−D−1Z−1ra)
= AD12D12(D−1b˜−D−1x+rd−D−1Z−1ra)
Portanto
d =D12(D−1b˜−D−1x+rd−D−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=d−D12Atx0,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=xj+αjpj
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
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.
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.
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 –
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.
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.
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.
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.
[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.