Acessibilidade / Reportar erro

Um método de projeção para problemas de complementaridade linear

Resumos

Este artigo apresenta um algoritmo de dois passos para a resolução numérica de problemas de complementaridade linear (LCP). O algoritmo que apresentaremos combina a estratégia de conjunto ativo aliada ao método dos gradientes conjugados quadrático para a resolução do sistema linear reduzido. O desenvolvimento deste método de dois passos foi baseada em um outro, também de dois passos, desenvolvido por Kocvara & Zowe (1994), que combina o método de super relaxação sucessiva simétrica com projeção e o método dos gradientes conjugados pré condicionado. Na seção Experiência Numérica, utilizaremos o método para resolver LCPs com matrizes não singulares pertencentes às classes de matrizes semi positivas definidas, P-matrizes e P0-matrizes. Será feita ainda uma comparação entre o desempenho numérico do algoritmo apresentado neste texto e o método desenvolvido por Pardalos, Ye, Han & Kaliski (1993).

problema de complementaridade linear; método de conjuntos ativos; redução potencial


In this article we present an iterative two-step algorithm for the numerical solution of linear complementarity problems (LCP). The algorithm presented combine the active set strategy with the square conjugated gradient method for the linear system solution. This iterative two-step algorithm was based in a similar one developed by Kocvara & Zowe (1994), that combine the symmetric successive over relaxation with projection method and the precondicioned conjugated gradient method. In the Numerical Experience section, we have tested the method for solve some LCP with non-singular matrices. Such matrices belong to semi positive definite matrix class, P-matrix class and P0-matrix class. Furthermore we show a comparision between our method and the one developed by Pardalos, Ye, Han & Kaliski (1993).

linear complementarity problems; actives sets methods; potential reduction


UM MÉTODO DE PROJEÇÃO PARA PROBLEMAS DE COMPLEMENTARIDADE LINEAR

Cristiane Maria Alves Pissarra

Petronio Pulino

Instituto de Matemática, Estatística e Computação Científica – IMEC

UNICAMP – Campinas – SP – Brasil

Resumo

Este artigo apresenta um algoritmo de dois passos para a resolução numérica de problemas de complementaridade linear (LCP). O algoritmo que apresentaremos combina a estratégia de conjunto ativo aliada ao método dos gradientes conjugados quadrático para a resolução do sistema linear reduzido. O desenvolvimento deste método de dois passos foi baseada em um outro, também de dois passos, desenvolvido por Kocvara & Zowe (1994), que combina o método de super relaxação sucessiva simétrica com projeção e o método dos gradientes conjugados pré condicionado. Na seção Experiência Numérica, utilizaremos o método para resolver LCPs com matrizes não singulares pertencentes às classes de matrizes semi positivas definidas, P-matrizes e P0-matrizes. Será feita ainda uma comparação entre o desempenho numérico do algoritmo apresentado neste texto e o método desenvolvido por Pardalos, Ye, Han & Kaliski (1993).

Palavras-chave: problema de complementaridade linear, método de conjuntos ativos, redução potencial.

Abstract

In this article we present an iterative two-step algorithm for the numerical solution of linear complementarity problems (LCP). The algorithm presented combine the active set strategy with the square conjugated gradient method for the linear system solution. This iterative two-step algorithm was based in a similar one developed by Kocvara & Zowe (1994), that combine the symmetric successive over relaxation with projection method and the precondicioned conjugated gradient method. In the Numerical Experience section, we have tested the method for solve some LCP with non-singular matrices. Such matrices belong to semi positive definite matrix class, P-matrix class and P0-matrix class. Furthermore we show a comparision between our method and the one developed by Pardalos, Ye, Han & Kaliski (1993).

Keywords:linear complementarity problems, actives sets methods, potential reduction.

1. Introdução

O núcleo deste trabalho consiste em se apresentar um método iterativo com estratégia de conjunto ativo, para resolução numérica de problemas de complementaridade linear com matrizes específicas, e que apresentou resultados superiores, quando comparados aos testes realizados com o método iterativo de pontos interiores de Pardalos, Ye, Han & Kaliski (1993), para as mesmas matrizes. A idéia central do método combina a estratégia de conjunto ativo aliada ao método dos Gradientes Conjugados Quadrático, para a resolução do sistema linear resultante, que se espera ser menor do que a dimensão do problema inicial, a cada passo.

O método apresentado aqui foi desenvolvido a partir de um outro método de dois passos apresentado por Kocvara & Zowe (1994) (que chamaremos de 2PASSOS), método este que combina o método da Super Relaxação Sucessiva Simétrica com Projeção (SSORP) (para determinar uma aproximação do conjunto ativo ótimo) e método dos Gradientes Conjugados com Pré condicionamento (PCG) (para a resolução dos sistemas lineares reduzidos resultantes). Detalhes deste método podem ser encontrados em Pissarra (1997).

Considere o Problema de Complementaridade Linear (LCP(A,b)) não singular, definido da seguinte forma:

Dados não singular e , encontrar de modo que as seguintes condições sejam satisfeitas:

ou mostrar que tal vetor x não existe.

O problema de complementaridade linear não singular acima forma as condições necessárias de otimalidade de Karush-Kuhn-Tucker para o problema de programação quadrática, com simétrica e

com isto temos a equivalência entre o problema de programação quadrática acima e o problema de complementaridade linear. Os detalhes desta equivalência podem ser vistos em Pissarra (1997).

Iremos abordar LCPs onde pertence às seguintes classes de matrizes:

• matrizes semi positivas definidas: uma matriz é semi positiva definida (spd) se xt A x ³, para qualquer ;

• P-matrizes: uma matriz é P-matriz se todos os seus menores principais são positivos;

• P0-matrizes: uma matriz é P0-matriz, se todos os seus menores principais são não negativos.

Os resultados que garantem a solução para cada um destes LCPs de matrizes pertencentes à estas classes, não serão mostrados aqui mas poderão ser encontrados em Cottle, Pang & Stone (1992).

Utilizaremos, no trabalho, a seguinte notação: a , b , r são constantes reais; x, y,¼ denotam vetores; xi significa a i-ésima componente do vetor x. x(k) é a k-ésima iteração sucessiva de x, no método em particular. Portanto, é o i-ésimo componente da k-ésima iteração do vetor x. Aij é a (i , j)-ésima componente da matriz A.

Iremos precisar ainda da seguinte definição:

Definição 1.1: Para cada , chamaremos de variáveis ativas às componentes xi para as quais xi = ci. Analogamente, chamaremos de variáveis não ativas as componentes xi tais que xi < ci.

2. Métodos e Algoritmos

2.1 O Método dos Gradientes Conjugados Quadrático com Projeções (CGSP)

Este algoritmo consiste de uma combinação do método dos Gradientes Conjugados Quadrático – CGS, com a estratégia de conjunto ativo (onde, geralmente, os métodos baseados em estratégias de conjunto ativo só permitem que uma restrição seja adicionada ou retirada do conjunto ativo à cada busca unidimensional) e será aplicado em LCPs descritos na forma de (P1) cujas matrizes sejam não singulares pertencentes às classes já definidas na Seção 1.

O método utiliza ainda a definição de um operador, P, que guardará a informação sobre quais variáveis estão ativas ou não ativas no estágio k do algoritmo:

Definição 2.1: O operador , onde p(x) denota a cardinalidade do conjunto ativo , que leva um vetor ao vetor de dimensão , obtido pela omissão das componentes de x com índices em I(x) é definido como operador de projeção vinculado ao conjunto ativo I(x).

O que fazemos para resolver o problema (P1) é, começando no estágio k=0, iterar x(k)> 0, declarar fixas as variáveis i tais que e. Declara-se livres as variáveis restantes e com isto tem-se definido o operador de projeção vinculado ao conjunto ativo I(x).

As variáveis que estão não ativas são projetadas na fronteira do conjunto de restrição , Com isso estamos resolvendo o item (2) do problema (P1). Ainda nesse estágio, dentre as variáveis projetadas, procura-se quais estão violando a restrição (1) do problema (P1).

O próximo estágio é resolver o sistema resultante pelo método dos Gradientes Conjugados Quadrático (CGS), obtendo-se x(k+1). A matriz do novo sistema é obtida retirando-se a i-ésima linha e i-ésima coluna da matriz A, para i Î I(x). O que se espera, é que durante o processo, o sistema linear a ser resolvido tenha dimensão menor do que o do problema original, a cada estágio de resolução. A cada iteração k do método CGSP, é utilizada a aproximação adquirida pelo método CGS na iteração (k – 1) e é feita uma nova verificação das condições das variáveis, até que se consiga chegar à solução do problema (P1).

Para as classes de matrizes simétricas e positivas definidas e P-matrizes (incluindo matriz de Murty e matriz de Fathi) a matriz do sistema resultante é não singular. Para os exemplos de P0-matriz, não houve ocorrência de singularidade do sistema.

2.2 Algoritmo para o Método CGSP

Passo 2: Cálculo da nova aproximação

O método CGS é uma variação do método dos Gradientes Bi-Conjugados (BCG), aplicado para matrizes não singulares (Greenbaum (1997) e Fernandes (1993)). Para matrizes simétricas e positivas definidas, este método se comporta como o método dos Gradientes Conjugados, isto é, converge em n passos (Golub (1985)).

2.2.1 Algoritmo para o Método CGS

Dado uma aproximação inicial;

2.3 O Método de Pardalos, Ye, Han e Kaliski (RP)

Para testarmos a eficiência numérica do método CGSP, vamos compará-lo com um método apresentado por Pardalos, Ye, Han & Kaliski (1993). O método de Redução Potencial (RP) utiliza a estratégia de reduzir uma determinada função potencial , de pontos interiores, dada por:

Para alcançar uma redução potencial, utiliza-se o método da projeção dos gradientes escalados, resolvendo o seguinte problema de programação linear, sujeito à restrição elipsoidal, na k-ésima iteração:

3. Experiência Numérica

É importante salientar que, para o método RP, utilizamos um vetor , que contém a aproximação inicial, pertencente ao interior da região factível definida em cada problema. Já no método dos Gradientes Conjugados Quadrático com Projeções, pode ser inicializado em qualquer vetor. Ainda no método RP, há a necessidade de uma variável (0 < b < 1) que controla o tamanho do passo a cada iteração de descida e assegura a factibilidade estrita em cada iteração. Nos testes realizados, para valores de b próximos de 1 (mais especificamente, b = 0.99), o algoritmo converge mais rapidamente.

Nos testes que utilizaram subrotinas para criar valores aleatórios, a partir de uma semente, foram utilizados 5 exemplos diferentes, e na comparação de tabelas, utilizou-se portanto, a média de iterações e de tempos obtidos. A máquina utilizada para executar esses exemplos foi um microcomputador Pentium 133. A tolerância, quando não citada explicitamente, foi considerada como sendo eps = 1.0e-07. O tempo de CPU, para a execução do algoritmo principal do método CGSP, mais externo (Passo 1), foi dado em segundos, para todos os casos. Também foram analisados o número de iterações do algoritmo mais interno (Passo 2) do algoritmo CGSP. Todas as matrizes testadas nesta seção foram extraídas de Pardalos, Ye, Han & Kaliski (1993).

3.1 Matriz de Murty e Matriz de Fathi

A matriz de Murty (indicada com o sub índice M) e a matriz de Fathi (indicada com o sub índice F), quadradas de ordem n e o vetor correspondente a cada um dos LCPs com as respectivas matrizes, são definidos por

e

A solução do LCP(A,b) encontrada, para cada um dos problemas, é dada por

onde a seqüência 200,200,25,¼ ,1, para a matriz de Murty de ordem 100, na Tabela 3, significa que foram realizadas 200 iterações do algoritmo CGS, para a iteração 1 do método CGSP; 200 iterações do algoritmo CGS, para a iteração 2 do método CGSP; 25 iterações do algoritmo CGS, para a iteração 3 do método CGSP, e assim por diante.

3.2 Matriz Semi Positiva Definida Aleatória

Nesta seção vamos gerar LCP com matriz semi positiva definida, gerada a partir de números aleatórios. A matriz A tem a forma

onde a matriz é a matriz de Householder, gerada a partir do vetor aleatório r, tal que é matriz diagonal, representada por , onde . A solução de complementaridade , é também gerada a partir de vetores aleatórios e que deverá satisfazer:

O vetor será dado por .

3.3 P-matrizes

Nesta seção os LCPs, a serem resolvidos, terão matriz pertencente à classe das P-matrizes com a seguinte estrutura:

onde e são matrizes positivas definida, , como definidas em Pardalos, Ye, Han & Kaliski (1993) e a é escalar positivo. Nos testes que realizamos, tomamos e .

Os vetores que contém a solução de complementaridade (x*, y* ) são gerados tais que:

e o vetor será dado por .

3.3.1 Escalamento Matricial

Iremos utilizar escalamento matricial para podermos amenizar o problema de deterioração do número de condição do LCP, quando o parâmetro a cresce. Nos exemplos numéricos realizados, percebemos que este procedimento tornou mais viável a utilização do método RP. Isso concorda com a abordagem teórica mostrada por Pardalos, Ye, Han & Kaliski (1993). Um estudo mais detalhado sobre essas afirmações pode ser encontrado em Pissarra (1997).

O escalamento que se utiliza com freqüência é o do tipo onde são matrizes diagonais positivas definidas. Dado este escalamento e um LCP(A,b), resolvemos um equivalente, onde .

Encontrada a solução de , a solução equivalente para o LCP(A,b), é dada por e .

Para os problemas teste, adotamos uma versão do escalamento EAD, conhecido como escalamento balanceado, ver Pardalos, Ye, Han & Kaliski (1993). Seja

onde e R=Diag(r) ,

onde , C = Diag(c) e .

Se é uma solução para o , então é uma solução do LCP(A,b).

3.4 P0 - matriz

Em várias aplicações de LCPs, a matriz A é uma P0 - matriz. Nos exemplos teste, utilizaremos a matriz , dada por

onde , as matrizes diagonais todas positivas definidas.

Os vetores solução x = (x1 x2) t e y = (y1 y2) t , onde . Gerar tal que e , onde . Tome complementar a e complementar a , tal que , onde .

Tome onde

4. Conclusões

Apresentamos neste trabalho, a experiência computacional aplicada a diferentes problemas de complementaridade linear. As matrizes escolhidas, A Î Mnxn(Â ), bem como os vetores b Î Â n correspondentes a cada um dos LCPs, foram extraídos exemplos de Pardalos, Ye, Han & Kaliski (1993) e estão subdivididos em classes: (i) matrizes semi positivas definidas (semi pd), incluindo os exemplos de Murty e Fathi, matrizes spd geradas aleatoriamente e P-matrizes e (ii) P0 - matrizes.

O que fizemos neste trabalho foi a aplicação da estratégia desenvolvida com sucesso em Pissarra (1997), para resolver LCPs de matrizes não singulares. Chamamos este novo método de Gradientes Conjugados Quadrático com Projeções (CGSP). Comparamos o desenvolvimento deste método com o método de Redução Potencial (RP), desenvolvido em Pardalos, Ye, Han & Kaliski (1993). Com isto, podemos fazer as seguintes observações, com base na experiência numérica mostrada aqui: analisando a aplicação do método RP, para cada uma dessas classes de matrizes, podemos ver que para os exemplos das matrizes de Murty e Fathi e para o exemplo da matriz semi positiva definida gerada aleatoriamente, o método se mostrou eficiente quanto ao número de iterações , que permaneceu praticamente inalterado, quando houve um aumento na dimensão dos problemas. Isto confirma o resultado teórico mostrado em Pissarra (1997). Outro fator importante é a escolha correta do tamanho do passo (b ) para todos os exemplos, que em testes confirmaram o valor b = 0.99. Estes resultados são condizentes com a referência Pardalos, Ye, Han & Kaliski (1993) na qual tomamos como base.

Já para os exemplos de LCPs com P-matrizes e P0 - matrizes os resultados obtidos não foram tão satisfatórios, em termos práticos, quando utilizado o método RP. Isto se deve ao fato de, como visto pelo desenvolvimento teórico, para um aumento do parâmetro a para P-matriz, o número de condição do LCP deteriora, a convergência do algoritmo é mais lenta, levando um maior número de iterações para convergir, e por conseguinte a um tempo de execução maior. No entanto, a técnica de escalamento utilizada ajudou muito no balanceamento da matriz, melhorando assim a velocidade de convergência, como mostra a tabela 6. Para os LCPs com P0 - matrizes, no entanto, percebemos que o método RP está longe de ser uma técnica adequada para sua resolução. O algoritmo convergiu, mas o tempo gasto e o número de iterações realizadas não nos permite utilizar o método para resolvê-los com eficiência, como mostra a tabela 9. Estas conclusões são condizentes com Pardalos, Ye, Han & Kaliski (1993).

Para as classes de LCPs em que aplicamos o método RP, aplicamos também o método CGSP e analisando os resultados obtidos nas tabelas 2, 4, 7 e 9 , este método obteve melhores resultados, tanto no número de iterações, quanto no tempo gasto para a realização. Outra observação importante é o número de iterações não se modificar significativamente, quando aumentamos a dimensão do problema. Este método também se mostrou muito eficiente por não necessitar de um conjunto ativo inicial ótimo pré estabelecido, o que facilita ainda mais a resolução de problemas. Conclui-se que o método CGSP obteve resultados superiores aos do método RP, conclusão esta obtida através de análises dos experimentos numéricos para a classe de matrizes desenvolvida neste trabalho.

  • (1) Cottle, R.W.; Pang, J.S. & Stone, R.E. (1992). The Linear Complementarity Problem. Academic Press, Inc.
  • (2) Fernandes, M.R. (1993). Métodos Variacionais para Sistemas Lineares Esparsos: Uma Aplicação à Superfícies Livres de Capilaridade. Tese de Mestrado, UNICAMP.
  • (3) Golub, G.H. & Van Loan, C. (1985). Matrix Computations. The Johns Hopkins University Press.
  • (4) Greenbaum, A. (1997). Iterative Methods for Solving Linear Systems. SIAM, Philadelphia.
  • (5) Kocvara, M. & Zowe, J. (1994). An Iterative two-step Algorithm for Linear Complementarity Problems. Numerische Matematik, 68(01), 95-106.
  • (6) Pardalos, P.M.; Ye, Y.; Han, C.G. & Kaliski (1993). Solution of P0-Matrix Linear Complementarity Problems Using a Potential Reduction Algorithm. SIAM Journal on Matrix Analysis and Applications, 14(04), 1048-1060.
  • (7) Pissarra, C.M.A. (1997). Problemas de Complementaridade Linear: Aspectos Teóricos, Computacionais e Aplicações. Tese de Mestrado, UNICAMP.

Datas de Publicação

  • Publicação nesta coleção
    27 Maio 2003
  • Data do Fascículo
    Dez 2000
Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
E-mail: sobrapo@sobrapo.org.br