• Nenhum resultado encontrado

UMA HEURÍSTICA PARA O PROBLEMA DE MINIMIZAÇÃO DE LARGURA DE BANDA EM MATRIZES

N/A
N/A
Protected

Academic year: 2021

Share "UMA HEURÍSTICA PARA O PROBLEMA DE MINIMIZAÇÃO DE LARGURA DE BANDA EM MATRIZES"

Copied!
5
0
0

Texto

(1)

UMA HEURÍSTICA PARA O PROBLEMA DE MINIMIZAÇÃO DE

LARGURA DE BANDA EM MATRIZES

Marco Antonio Moreira de Carvalho Instituto Tecnológico de Aeronáutica - ITA

Praça Marechal Eduardo Gomes, 50, Vila das Acácias, CEP 12.228-900, São José dos Campos – SP mamc@ita.br

Nenina Marcia Pereira Junqueira Instituto Tecnológico de Aeronáutica - ITA

Praça Marechal Eduardo Gomes, 50, Vila das Acácias, CEP 12.228-900, São José dos Campos – SP nenina@resenet.com.br

Nei Yoshihiro Soma

Instituto Tecnológico de Aeronáutica - ITA

Praça Marechal Eduardo Gomes, 50, Vila das Acácias, CEP 12.228-900, São José dos Campos – SP soma@ita.br

RESUMO

Este trabalho apresenta uma heurística para o Problema de Minimização de Largura de Banda em Matrizes. O problema consiste em, através de operações elementares sobre as linhas e colunas de uma matriz esparsa, obter uma estrutura de matriz banda, ou seja, todos os elementos não nulos devem estar contidos em diagonais o mais próximo possível da diagonal principal da matriz. A heurística proposta faz uso de ordenações intercaladas de linhas e colunas, e foi sido projetada para tratar instâncias grandes, simétricas ou assimétricas. Uma quantidade extensiva de experimentos computacionais foi realizada para comparar os resultados obtidos pelo método proposto com o mais conhecido da literatura.

PALAVRAS-CHAVE: Otimização Combinatória, Minimização de Largura de Banda em Matrizes, Ordenação, Matrizes.

ABSTRACT

This paper presents a heuristic for the Matrix Bandwidth Minimization Problem. The problem consists on via elementary row and column operations on a sparse matrix, to obtain a band matrix structure, that is, the nonzero elements are clutched together as close as possible of the matrix’s main diagonal. The suggested heuristic is based on intertwined ordering of rows and columns, and it was designed to deal with large instances regardless they are symmetric or asymmetric. An extensive quantity of computational experiments was carried out to compare the suggested heuristic with the most well known method of the literature.

KEYWORDS: Combinatorial Optimization, Matrix Bandwidth Minimization on Matrices, Ordering, Matrices.

(2)

1. Introdução

O Problema de Minimização de Largura de Banda em Matrizes (Matrix Bandwidth Minimization) é um problema computacional de grande interesse por ser um subproblema de vários outros problemas computacionais relacionados a matrizes. A complexidade de tais problemas pode ser atenuada, estabelecendo-se estruturas desejadas em matrizes, através da solução do problema em questão.

Define-se o problema a partir de uma matriz M quadrada e esparsa, podendo esta ser simétrica ou não. A banda de uma matriz é a banda diagonal que compreende as diagonais que contenham elementos não nulos mais distantes da diagonal principal em ambas as direções. O objetivo é, portanto, minimizar as distâncias de tais diagonais mais afastadas da diagonal principal da matriz à esquerda e à direita.

Ao lado esquerdo da diagonal principal denomina-se meia banda esquerda e ao lado direito da diagonal principal denomina-se meia banda direita. A Figura 1 identifica as regiões citadas e ilustra a numeração das diagonais de uma matriz.

1 2 3 4 5 1 2 3 4 5 1 1 2 2 4 3 3 3 4 4 2 5 5 1 4 3 2 1 0 (a) (b)

Figura 1 – Em (a), destaca-se a meia banda direita (em cinza), a diagonal principal (em negro) e a meia banda esquerda (em branco). Em (b), destaca-se a numeração das diagonais.

Matematicamente, seja M uma matriz esparsa, k1 a meia banda esquerda e k2 a meia banda

direita definidas por:

mi,j = 0 se j < i – k1 ou j > 1 + k2; k1, k2 > 0.

A largura da banda de uma matriz é dada por k1 + k2 + 1 (em matrizes simétricas, k1 = k2).

Por exemplo, uma matriz diagonal possui largura de banda = 1 (conforme a Figura 1) e uma matriz de largura de banda = 3 é uma matriz triagonal.

Uma aplicação comum do Problema de Minimização de Banda em Matrizes é na resolução de sistemas de equações lineares que, segundo estimativas, surgem em 75% dos problemas computacionais (Dahlquist e Bjorck (1974)). Uma matriz que represente um sistema de equações lineares pode ser compactada, já que os elementos não nulos podem ser agrupados, o que permite que operações sejam realizadas apenas sobre a representação compacta, diminuindo a sua complexidade. Modelos de programação matemática facilmente atingem a ordem de milhares de variáveis, o que justifica a utilização de tal compactação. Alguns solvers para programação matemática e bibliotecas numéricas se utilizam da minimização da largura de banda, entre outras técnicas de pré-processamento.

Outros exemplos em que a utilização de estrutura de banda em uma matriz é benéfica são o cálculo de inversões, determinantes e a redução Gaussiana, que pode ser aplicada em O(nb2) em matrizes com largura de banda b, o que é muito significativo em relação ao algoritmo geral de complexidade O(n3) quando b << n (Skiena (2008)). Ainda, segundo o mesmo autor, o problema pode ser aplicado a grafos para diminuir a distância de componentes em um circuito e também para minimizar o tempo de busca em sistemas de arquivos, entre outros.

O problema é completo em NP, assim como as suas variantes (Papadimitriou (1976)) ainda que cada linha da matriz possua no máximo 3 elementos não nulos (considerando-se mij, com

(3)
(4)

a redução para todos os tamanhos de instâncias se aproxima muito, principalmente aos 50% de densidade. A Figura 9 apresenta o gráfico para os tempos de execução para matrizes.

Figura 9 – Tempos de execução para matrizes assimétricas.

Os tempos de execução também seguem um padrão ao longo do aumento das densidades, independentemente dos tamanhos dos problemas tratados: ocorre uma grande queda a partir da densidade 1%, a qual se suaviza gradativamente, e a partir dos 20% de densidade, os tempos de execução são praticamente iguais, abaixo de 0,1 segundo. De acordo com os dados apresentados, torna-se mais clara a influência dos desempates no tempo de execução. Para os maiores problemas, o tempo de execução chega a atingir os 120 segundos.

5. Conclusão

Propôs-se neste trabalho uma heurística para o Problema de Minimização de Largura de Banda em Matrizes, um problema computacional clássico que possui grande impacto, uma vez que surge em vários outros problemas computacionais e está diretamente relacionado com a complexidade dos mesmos. A heurística baseia-se na ordenação de linhas e colunas, atuando diretamente sobre a matriz de entrada, ao contrário do que se encontra na literatura sobre o problema, onde a abordagem por grafos predomina. Outro destaque do método proposto é sua versatilidade em lidar sem distinção com instâncias simétricas e assimétricas, que refletem melhor a aplicação do problema em situações reais.

Para a ordenação da matriz utilizou-se o método bucket sort, e para lidar com os altos valores da representação binária pelas linhas e colunas, as matrizes de entrada foram divididas em níveis, evitando-se assim percorrer toda a matriz durante a avaliação. Para a decisão de empates, apenas as sequências envolvidas foram utilizadas no aprofundamento de níveis da matriz, tornando necessário um esquema de ordenação relativa entre sequências desempatadas, empatadas entre si e empatadas em diferentes grupos.

Foram realizados experimentos computacionais extensivos a fim de se comparar o desempenho do método proposto em relação ao método clássico Cuthill-Mckee. Observou-se que a heurística apresenta resultados melhores na redução média da largura de banda a partir da densidade de 2% ou para matrizes simétricas com dimensão igual ou superior a 300. Em relação ao tempo de execução, a heurística proposta mostrou-se muito mais lenta em média do que o método comparado, embora não se mostre proibitivo. Para matrizes de pequena dimensão e baixa densidade o método

(5)

Cuthill-Mckee apresentou resultados muito superiores em relação à redução de banda, e o inverso ocorreu para matrizes de maior dimensão e maior densidade. Resultados iniciais para matrizes assimétricas também foram apresentados, os quais descrevem um leve aumento na redução de banda e tempo de execução, também indicando que o método proposto não é fortemente influenciado pelo tipo das matrizes tratadas.

De maneira geral, a heurística proposta obtém reduções muito significativas para a meia banda esquerda, fazendo com que a redução média da largura da banda obtenha bons valores. Contudo, a minimização da meia banda direita é dificultada, uma vez que se optou por preservar a redução obtida para a meia banda esquerda não realizando operações que degradassem a solução. Desta forma, a estratégia utilizada para a redução da meia banda direita não atingiu a mesma performance obtida pela redução da meia banda esquerda, constituindo um ponto fraco para o método proposto. O tempo de execução é fortemente influenciado pela quantidade de empates quando da ordenação pelo método bucket sort, obtendo os piores valores para as menores densidades, condição na qual ocorre a maior incidência de empates.

Apesar dos bons resultados, novas estratégias podem ser aplicadas para a minimização da meia banda direita. Sugere-se a realização de operações adicionais, tanto em linhas quanto em colunas, que degradem a solução temporariamente a fim de obter-se uma melhor solução. Outra sugestão é a realização de um pré-processamento dos dados de entrada a fim de obter uma estrutura que facilite a operação da heurística proposta, como por exemplo, concentrar os elementos não nulos da matriz em suas extremidades paralelas à diagonal principal. Experimentos adicionais envolvendo métodos aplicados a instâncias assimétricas também serão realizados, bem como experimentos envolvendo métodos exatos, a fim de se medir a distância das soluções obtidas.

6. Referências

Baumann, M., Fleischmann, P. e Mutzbauer, O. (2003), Double Ordering and Fill-In for the LU Factorization. SIAM J. Matrix Anal. Appl., Vol. 25, N. 3, 630-641.

Caprara, A. e Salazar, J. J. (2004), Laying out sparse graphs with provably minimum bandwidth. INFORMS Journal on Computing. Vol. 17, N. 3, 356-373.

Cuthill, E. e Mckee, J. (1969), Reducing the bandwidth of sparse symmetric matrices. Proceedings of the 24th ACM national conference. 157-172.

Dahlquist, G. e Bjorck, A. (1974), Numerical Methods. Prentice-Hall, Englewood Cliffs NJ. Dongarra, J. J. Performance of various computers using standard linear equations software. CS-89-85. University of Manchester. 2008. (http://www.netlib.org/benchmark/performance.ps), 08, 2008.

Garey, M., Graham, R., Johnson, D. e Knuth, D. (1978), Complexity results for bandwidth minimization. SIAM J. Appl. Math., 34:477–495, 1978.

Gibbs, N. E., Poole, W. G. e Stockmeyer, P. K. (1976), An algorithm for reducing the bandwidth and prole of sparse matrix. SIAM Journal on Numerical Analysis. 13 (2). pp. 236-250.

Lim, A., Rodrigues, B. e Xiao, F. (2007), A fast algorithm for bandwidth minimization. International Journal on Artificial Intelligence Tools. Vol. 16, No. 3, 537-544.

Lim, A., Rodrigues, B. e Xiao, F. (2006), Heuristics for matrix bandwidth reduction. European Journal of Operational Research, vol. 174, 69-91.

Martí, R., Laguna, M., Glover, F. e Campos, V. (2001), Reducing the bandwidth of a sparse matrix with tabu search. European Journal of Operational Research, 135, pp. 211-220.

Papadimitriou, C. (1976), The NP-completeness of the bandwidth minimization problem. Computing, 16:263–270.

Piñana, E., Plana, I., Campos V. e Martí, R. (2004), GRASP and path relinking for the matrix bandwidth minimization. European Journal of Operational Research, 153, 200–210.

Reid, J. K. e Scott, A. Reducing the total bandwidth of a sparse unsymmetric matrix. RAL-TR-2005-01. Council for the Central Laboratory of the Research Council. Oxfordshire. 2005,

Schrage, L. (1979), A more portable fortran random number generator. ACM Transactions on Mathematical Software. Vol. 2, n. 2.

Referências

Documentos relacionados

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Gráfico 3 – Satisfação com as necessidades de participação no trabalho Fonte: Pesquisa realizada pelo autor no mês de julho de 2016. No nível de participação, também chamado

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

A economia do bem-estar define o bem-estar individual em termos de satisfação das preferências (ou da utilidade), e o bem-estar social como uma função das

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Sendo assim, como proposta à utilização da web 2.0 na educação deve-se pensar na utilização de ferramentas como blogs, microblogs e redes sociais em projetos interdisciplinares

Este trabalho teve como objetivo demonstrar a importância da Inteligência Competitiva e da Prospecção de Cenários como ferramentas para a tomada de decisão através de