Vous êtes sur la page 1sur 114

Universidade Federal do Rio Grande

Centro de Ciencias Computacionais, Escola de Engenharia e Instituto de


Matematica, Estatstica e Fsica
Programa de Pos Graduacao em Modelagem Computacional

Carolina Rocha Freitas

Teoria Espectral Aplicada a Problemas de Localizacao

Rio Grande - RS
2012
ii

CAROLINA ROCHA FREITAS

TEORIA ESPECTRAL APLICADA A PROBLEMAS DE LOCALIZACAO

Dissertacao apresentada ao Programa de Pos


Graduacao em Modelagem Computacional
da Universidade Federal do Rio Grande,
como requisito parcial para obtencao do
Grau de Mestre. Area de Concentracao:
Modelagem Computacional.

Orientador: Prof. Dr. MARIO ROCHA RETAMOSO


Co-orientadora: Profa. Dra. CATIA MARIA DOS SANTOS MACHADO

Rio Grande - RS
2012
iii

CAROLINA ROCHA FREITAS

TEORIA ESPECTRAL APLICADA A PROBLEMAS DE LOCALIZACAO

Dissertacao apresentada ao Programa de Pos


Graduacao em Modelagem Computacional
da Universidade Federal do Rio Grande,
como requisito parcial para obtencao do
Grau de Mestre. Area de Concentracao:
Modelagem Computacional.

Aprovada em Maio de 2012.

BANCA EXAMINADORA

Prof. Dr. MARIO ROCHA RETAMOSO


FURG

Profa. Dra. CATIA MARIA DOS SANTOS MACHADO


FURG

Prof. Dr. VILMAR TREVISAN


UFRGS

Prof. Dr. LEONARDO RAMOS EMMENDORFER


FURG

Rio Grande-RS
2012
iv

Ao meu esposo Big, por todo amor e cuidados.


v

Agradecimentos

Agradeco a Deus por ter me concedido a vida e por sempre me conduzir.


Gostaria de agradecer tambem a todos que contriburam para a realizacao deste
trabalho:

Aos professores, que despertaram em mim o amor pela pesquisa e conhecimento,


em especial aos professores Mario Rocha Retamoso pelo carinho e orientacao, nao
apenas neste trabalho, mas na vida e Catia Machado por ser meu modelo, pela in-
cansavel dedicacao e por ter me transmitido conhecimentos que levarei para sempre:
otimismo, simplicidade e amor ao proximo.

A minha famlia: meus pais Wolme Rocha e Jandira Rocha pela educacao e amor;
as minhas irmas, cunhados e sobrinhos pelo carinho e amizade.

A minha amiga de todas as horas Elizangela Dias Pereira, por fazer que este perodo
fosse leve e prazeroso. Aos demais amigos por compreenderem a ausencia.

Ao meu esposo Volmar Avila Freitas por ser meu apoio, por sonhar meu sonho, se
alegrar com minhas alegrias, pela paciencia e incentivo nos momentos mais difceis.
Lista de Figuras

7.1 Exemplo ilustrativo de centralidade do autovetor das distancias . . . . . . 62


7.2 Exemplo ilustrativo de uma rede para ser calculado o autovetor dominante 64
7.3 Ordenacao do autovetor dominante e relacao com os aspectos do grafo . . . 65
7.4 Mapa da regiao de estacionamento rotativo da cidade de Rio Grande . . . 68
7.5 Vertices que representam os parqumetros . . . . . . . . . . . . . . . . . . 69
7.6 Divisao da rede em tres regioes . . . . . . . . . . . . . . . . . . . . . . . . 69
7.7 Solucao do problema para tres medianas . . . . . . . . . . . . . . . . . . . 72
7.8 Solucao do problema para tres medianas . . . . . . . . . . . . . . . . . . . 72
7.9 Solucao do problema para tres medianas . . . . . . . . . . . . . . . . . . . 73
7.10 Resultados obtidos nos testes realizados em redes medias . . . . . . . . . . 75
7.11 Resultados obtidos nos testes realizados em redes grandes . . . . . . . . . . 76
7.12 Grafico comparativo para o numero de reducoes em redes medias . . . . . 77
7.13 Grafico comparativo para o numero de reducoes em redes grandes . . . . . 77
7.14 Grafico comparativo para o tempo de processamento em redes medias . . . 78
7.15 Grafico comparativo para o tempo de processamento em redes grandes . . 78
7.16 Grafico comparativo das solucoes obtidas em redes medias . . . . . . . . . 79
7.17 Grafico comparativo das solucoes obtidas em redes grandes . . . . . . . . . 79

A.1 Grafo ilustrativo da adjacencia de vertices . . . . . . . . . . . . . . . . . . 91


A.2 Conexidade de Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
A.3 Grafo ilustrativo. Diferenca entre Caminho e Cadeia . . . . . . . . . . . . 93
A.4 Grafo utilizado para a construcao das matrizes de custo, de distancia e de
adjacencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
A.5 Grafo utilizado na determinacao de centros de emergencia . . . . . . . . . 95
A.6 Grafo utilizado na determinacao das medianas de entrada e sada . . . . . 97

vi
vii

A.7 Grafo exemplo Teitz e Bart . . . . . . . . . . . . . . . . . . . . . . . . . . 98


A.8 Grafo exemplo Teitz e Bart - Solucao . . . . . . . . . . . . . . . . . . . . . 102
viii

Lista de Tabelas

7.1 Distancias mnimas e pesos - centralidade Closeness e Autovalor das Dis-


tancias Ponderadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Ordenacao dos vertices mais centrais com relacao a centralidade de autove-
tor distancia-peso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

A.1 Exemplo Metodo das Potencias . . . . . . . . . . . . . . . . . . . . . . . . 95


A.2 Exemplo Metodo de Teitz e Bart - Matriz Distancias Mnimas . . . . . . . 99
A.3 Exemplo Metodo de Teitz e Bart - Matriz Distancias-Peso . . . . . . . . . 99
Sumario

Agradecimentos v

Lista de Figuras vi

Lista de Figuras vii

Lista de Tabelas viii

Lista de Tabelas viii

Resumo xi

Abstract xii

1 Introducao 1
1.1 Consideracoes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Importancia do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objetivos do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Conceitos Iniciais sobre Grafos 5

3 Teoria Espectral 10
3.1 Autovalores e Autovetores . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Metodo das Potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Matrizes Nao-Negativas 20
4.1 Matrizes Redutveis e Irredutveis . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 O Teorema de Perron-Frobenius . . . . . . . . . . . . . . . . . . . . . . . . 22

ix
x

5 Problemas de Localizacao de Facilidades 28


5.1 Historico e Definicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2 Localizacao do Centro de Emergencia . . . . . . . . . . . . . . . . . . . . . 30
5.3 Localizacao de P-Medianas . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3.1 Teorema de Hakimi . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 Metodos de Solucao para o Problema de P-Medianas 39


6.1 Metodos Exatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Metodos Heursticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2.1 Heursticas Construtivas . . . . . . . . . . . . . . . . . . . . . . . . 42
6.2.2 Heursticas de Pesquisa Local . . . . . . . . . . . . . . . . . . . . . 44
6.3 Metaheursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.3.1 Busca Tabu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.3.2 Algoritmo Genetico . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3.3 Metodo GRASP - Greedy Randomized Adaptive Search Procedure 55

7 Uma Modificacao Proposta para o Metodo de Teitz e Bart Fundamen-


tada na Teoria Espectral 57
7.1 Grafos e o Espectro da Matriz de Distancias . . . . . . . . . . . . . . . . . 58
7.2 Descricao do Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.3 Comparacao e Analise dos Resultados . . . . . . . . . . . . . . . . . . . . . 73

8 Conclusao 80

9 Sugestoes para trabalhos futuros 81

Bibliografia 82

Bibliografia 82

A Exemplos ilustrativos 91
xi

Resumo

A nocao intuitiva da relacao entre a teoria espectral e os problemas de otimizacao


combinatoria norteiam o presente trabalho. Neste sentido, este estudo vem abordar os
problemas de localizacao, mais especificamente os problemas de p-medianas pela sua di-
versidade de aplicacoes, sua modelagem matematica e metodos de solucao, com enfoque
no algoritmo classico de Teitz e Bart, passando pela Matematica Discreta e Combinatoria,
atraves da Teoria dos Grafos, ate a Algebra Linear, via Teoria Espectral. Com base no
estudo, uma nova medida de centralidade para vertices de grafos fortemente conexos e
apresentada e a partir dela um novo algoritmo hbrido entre a algebra linear e a otimiza-
cao combinatoria e desenvolvido no intuito de melhorar o tempo de processamento do
algoritmo de Teitz e Bart para localizacao de facilidades. O objetivo foi avaliar o desem-
penho dos dois algoritmos em redes medias e grandes levando em consideracao o valor da
solucao, o numero de reducoes da funcao objetivo e o tempo de resolucao. Para isso foram
realizados testes em 104 problemas gerados aleatoriamente e os resultados demonstraram
a eficacia do metodo proposto quando comparado ao metodo de Teitz e Bart.

Palavras-chave: Teoria Espectral. Autovetor dominante. P-medianas. Algoritmo


de Teitz e Bart.
xii

Abstract

The intuitive notion of the relationship between spectral theory and combinatorial
optimization problems guides the present work. Thus, this study addresses the location
problems, more specifically the p-median problems because its diversity of applications.
Also presents the mathematical modeling of p-medians problems and its solution meth-
ods, focusing on the classic algorithm of Teitz and Bart. The approach is based on the
Discrete Mathematics and Combinatorics by Graph Theory to the Linear Algebra by
Spectral Theory. Based on this study, a new centrality measure for vertices in strongly
connected graph is displayed, and from it, a new hybrid algorithm that combines linear
algebra and combinatorial optimization is developed in order to improve the processing
time of the algorithm of Teitz and Bart for facility location. The objective is to evaluate
the performance of both algorithms in medium and large networks taking into account
the value of the solution, the number of reductions of the objective function and the time
resolution. For this purpose tests were performed on 104 randomly generated problems
and the results demonstrated the effectiveness of the proposed method compared to the
method of Teitz and Bart.

Keywords: Spectral Theory. Dominant eigenvector. P-median. Teitz and Bart


algorithm.
Captulo 1

Introducao

1.1 Consideracoes Iniciais


Partindo da teoria espectral atraves de uma otica coerente, com uma determinada
postura teorica, procuramos encontrar propriedades estruturais de grafos que modelam
importantes problemas de localizacao. Na literatura, problemas de localizacao sao trata-
dos pela teoria dos grafos atraves da busca de um determinado numero p de centros
do grafo e da localizacao de facilidades. Atraves desta busca e que surgiu o chamado
Problema das p-medianas, onde p e o numero de facilidades a serem instaladas buscando
minimizar a soma das distancias de todos os vertices de um grafo a mediana mais proxima.
No entanto, trata-se de um problema de otimizacao combinatoria que apesar do conjunto
de solucoes possveis do problema ser finito, e, portanto, poder obter-se a solucao otima
por simples enumeracao e avaliacao de cada possibilidade, o conjunto de solucoes pos-
sveis pode ser tao vasto que se torna impossvel avaliar cada um dos seus elementos num
espaco de tempo aceitavel. Boas solucoes podem requerer tempos computacionais exces-
sivos para que possam ser consideradas, por exemplo, no contexto de tomadas de decisao.
Em funcao disso, e necessaria uma abordagem heurstica para a resolucao do problema
atraves de procedimentos simples, muitas vezes empricos, e que produzem boas solucoes
num tempo computacional razoavel.
Para resolucao do problema das p-medianas de pequeno porte, a solucao pode ser
encontrada por formas exatas, tais como programacao inteira e enumeracao exaustiva (ou
busca em arvore). Este ultimo metodo foi usado por Hakimi em l965 [39] para encontrar
as 3-medianas de um grafo com 10 vertices. Para problema de grande porte, a solucao
2

pode ser obtida atraves de metodos aproximados, entre eles o metodo de Teitz e Bart
desenvolvido em 1968, um dos mais citados na literatura.
O metodo de Teitz e Bart faz uma pesquisa baseada na substituicao de vertices
partindo de uma solucao inicial aleatoria composta por p localizacoes de facilidades e, para
cada vertice candidato vi , encontra, se existir, a localizacao de facilidade que substituda
por vi melhora ao maximo o valor da funcao objetivo. Se essa localizacao de equipamento
existe, entao os vertices sao trocados, e o processo e repetido para a nova solucao corrente.
Quando todos os vertices candidatos tiverem sido analisados, o algoritmo termina com
uma solucao que e um mnimo local.
O tempo de processamento deste metodo depende da solucao inicial adotada e,
desde sua criacao, pesquisadores vem buscando melhorias para que o metodo encontre
boas solucoes em um tempo razoavelmente satisfatorio. Recentemente, alguns autores
resolveram problemas reais de grande porte utilizando modificacoes na estrutura do algo-
ritmo classico de Teitz e Bart, no entanto essas modificacoes foram realizadas a partir da
experiencia dos autores que utilizaram um conhecimento emprico.

1.2 Importancia do trabalho


O estudo da teoria espectral na resolucao de problemas de otimizacao combinatoria
e um tema de pesquisa interessante, tornando-se uma ferramenta a mais no auxlio da
tomada de decisao. O estudo baseado nessa teoria possui contribuicoes importantes,
conduz a resultados matematicos cujas propriedades quando devidamente aproveitadas
contribuem para a eficiencia numerica de algoritmos que solucionam problemas complexos
em diversas situacoes praticas reais, tais como a localizacao de orgaos publicos (hospitais,
escolas, terminais de onibus), auxlio na tomada de decisao de empresas (empresas de
estacionamento rotativo, instalacao de centros de distribuicao), entre outros.
O problema das p-medianas esta inserido na classe dos NP-Completo, nao existem
algoritmos que os resolvam de forma exata em tempo razoavel, e, para contornar este
problema, ao longo dos ultimos anos foram sugeridas varias tecnicas aplicadas ao problema
das p-medianas. Dentre os metodos heursticos e metaheursticos existentes, HONER em
seu trabalho [44] afirma que o algoritmo de Teitz e Bart, possui, na maioria dos casos,
melhores resultados tendo em vista apenas a qualidade da solucao encontrada, mas, em
3

tempo de processamento, torna-se eficiente apenas em redes pequenas de ate 100 nos.
Neste sentido, a relevancia do trabalho reside na determinacao das p medianas de
um grafo (de medio e de grande porte), mediante elaboracao de um metodo baseado em
uma matematica elegante, fundamentada na algebra linear e teoria espectral, combinado
com a heurstica de Teitz e Bart, viabilizando assim a determinacao de uma solucao
inicial adequada de forma a melhorar o tempo de processamento do algoritmo classico,
sem comprometer a qualidade de solucao.

1.3 Objetivos do trabalho


Este trabalho tem como objetivo geral avaliar a viabilidade da implantacao de
um algoritmo hbrido que se fundamenta na Teoria Espectral e Otimizacao Combinatoria
para resolver problemas de medio e grande porte a fim de acelerar o processo de busca da
solucao otima.
Para alcancar este objetivo geral, os seguintes objetivos especficos serao conside-
rados no desenvolvimento do trabalho:

i) Desenvolver uma estrategia de solucao combinada com a Teoria Espectral e a Otimiza-


cao Combinatoria.

ii) Desenvolver uma solucao inicial avancada explorando o espaco de busca atraves de
estrategias inteligentes.

iii) Mostrar que o modelo de rede pode ser particionado de forma dinamica.

iv) Mostrar que os vertices mais centrais de uma rede particionada podem ser obtidos
por meio da Teoria Espectral.

v) Mostrar que o mecanismo utilizado para particionar a rede podera auxiliar na reso-
lucao de importantes problemas reais.

vi) Avaliar a viabilidade da estrategia de solucao e o desempenho do algoritmo proposto,


atraves de testes computacionais.

vii) Comparar a tecnica de solucao desenvolvida com a tecnica classica de Teitz e Bart.
4

1.4 Estrutura do Trabalho


O primeiro captulo do trabalho apresenta a introducao, consideracoes iniciais, os
objetivos, a importancia do mesmo. Os demais captulos podem ser divididos em tres
partes. A primeira parte do trabalho, abordada nos captulos 2, 3 e 4, trata da fundamen-
tacao teorica, a matematica que possibilitou o seu desenvolvimento. E iniciada atraves
dos aspectos fundamentais da teoria de grafos, como grafos conexos, matriz de distancia,
entre outros fundamentais para o entendimento do trabalho. Em seguida, e abordada a
Teoria Espectral, que e um dos ramos da Algebra Linear, mediante as definicoes de auto-
valores e autovetores, raio espectral, bem como autovalor dominante de matrizes. Alem
de definicoes, sao apresentados alguns dos mais importantes teoremas, como o que fun-
damenta o Metodo das Potencias, descrito, fundamentado e apresentado atraves de seu
algoritmo e de aspectos como a convergencia deste notavel metodo de determinacao do
autovalor dominante de matrizes. A primeira parte do trabalho e encerrada com a apre-
sentacao de definicoes tais como a de matrizes nao-negativas e irredutveis, e de teoremas
com o intuito de demonstrar o importante teorema de Perron-Frobenius, que comprova a
possibilidade da aplicacao do metodo desenvolvido.
A segunda parte do trabalho e constituda pelos captulos 5 e 6 e aborda a teoria das
localizacoes. E apresentada uma revisao bibliografica na qual o problema da localizacao
de p-medianas e definido juntamente com o levantamento dos mais importantes trabalhos
nesta area. Tambem sao apresentados os varios metodos de resolucao do problema, como
os mais importantes metodos exatos, heursticos e metaheursticos, onde damos enfoque
a heurstica de Teitz e Bart.
Por fim, a terceira parte e abordada no captulo 8 e trata especificamente das con-
tribuicoes do trabalho. Uma costura da revisao bibliografica e feita e a partir das Teorias
de Grafos, Espectral e das Localizacoes em Otimizacao Combinatoria e apresentada uma
nova forma de medir a importancia dos vertices de um grafo fortemente conexo. A partir
desta teoria, e desenvolvido um novo metodo de solucao para o problema de p-medianas
baseado no metodo de Teitz e Bart, descrito atraves de seus passos e ilustrado em um
exemplo pratico. Uma analise comparativa do metodo proposto e do metodo classico de
Teitz e Bart bem como avaliacao do desempenho dos metodos finalizam o trabalho. Final-
mente, no ultimo captulo sao apresentadas as conclusoes e possibilidades para trabalhos
futuros.
Captulo 2

Conceitos Iniciais sobre Grafos

Apresentaremos, neste captulo, conceitos basicos sobre a teoria de grafos, que se


trata de uma ferramenta simples mas poderosa para a construcao de modelos e resolu-
cao de problemas. Tais conceitos serao importantes para o entendimento dos captulos
seguintes. Nocoes como conexidade de grafos, caminhos, matriz de adjacencia e matriz de
distancias, sao pontos de suma importancia para o desenvolvimento deste trabalho. As
definicoes apresentadas neste captulo seguem [1], e [74].

Definicao 2.0.1 Um grafo e uma estrutura G = G(V, E), constituda por um conjunto
finito e nao vazio V , cujos elementos sao denominados vertices ou nos, e um conjunto E
de subconjuntos a dois elementos de V , denominados arestas. Indicamos por |V | e |E|,
respectivamente, o numero de vertices e o numero de arestas de G. Se e = {u, v} E,
dizemos que e incide em u e v . O grau de um vertice v, denotado por gr(v), e
o numero de arestas que incidem em v. Vertices ligados por arestas sao ditos vertices
adjacentes. Quando V e um conjunto unitario e E = dizemos que G e o grafo trivial.

O termo rede tambem e usado no lugar de grafo, especificamente quando e levado


em conta caractersticas quantitativas e nao apenas o carater estrutural do grafo.

Definicao 2.0.2 Se todas as arestas tem uma orientacao, entao estas sao chamadas de
arcos e o grafo de orientado ou dirigido. Se nenhuma aresta possui orientacao, o grafo
e chamado de nao orientado ou nao dirigido. E por fim, se um grafo possui arcos
e arestas, o chamamos de grafo misto. Chamamos de laco a aresta cujas extremidades
estao em um mesmo vertice.
6

Uma outra maneira de definir um grafo orientado G(V, E) e caracterizar o conjunto


E como um conjunto de pares ordenados de dois elementos de V , chamados de arco
orientado.

Definicao 2.0.3 Em um grafo orientado. O grau de sada de um vertice vi e o numero


de arestas comecando em v, e o grau de entrada e o numero de arestas que terminam
em vi .

Teorema 2.0.1 A soma dos graus dos vertices em um grafo (dirigido ou nao) e igual a
duas vezes o numero de arestas.

Demonstracao: Esta demonstracao segue [74]. Como cada aresta contribui na contagem
de um no grau de cada dois vertices com os quais ela e incidente, entao cada aresta e sempre
contada duas vezes. Logo:
n
X
gr(vi ) = 2m
i=1

Teorema 2.0.2 Em qualquer grafo, existe sempre um numero par de vertices de grau
mpar.

Demonstracao: Vamos supor que exista um grafo G(V, E) com um numero n de vertices.
Logo, pelo teorema 2.0.1:
n
X
gr(vi ) = 2m
i=1

Isto e, e um numero par.


Considerando U V o conjunto dos vertices que possuem grau par e W V o conjunto
dos vertices que possuem grau mpar.

n
X X X
2m = gr(vi ) = gr(vi ) + gr(vj )
i=1 vi U vj W

P
E claro que vi U gr(vi ) e par pois trata-se de um somatorio de numeros pares e assim,
P
obrigatoriamente vj W gr(vj ) e par. Como cada gr(vj ) e mpar, a cardinalidade de W deve
ser par, isto e, existe um numero par de vertices de grau mpar. 

Definicao 2.0.4 Um grafo G e k-regular, ou regular de grau k quando todos os vertices


de G tem o mesmo grau k.
7

Definicao 2.0.5 Em um grafo dirigido, passeio e uma sequencia de vertices em que cada
vertice e adjacente ao anterior. Caminho e uma sequencia de arcos, onde o vertice final
de um arco e o vertice inicial do proximo arco, isto e, e um passeio sem vertices repetidos.
Analogamente, define-se cadeia para um grafo nao dirigido, isto e, a extremidade de uma
aresta coincide com a extremidade de outra aresta.

Definicao 2.0.6 Circuito e um caminho fechado, isto e, o vertice inicial coincide com
o vertice final. No caso de uma cadeia fechada tem-se o que e denominado por ciclo.

Definicao 2.0.7 Diz-se que G e um grafo conexo quando existe um caminho ligando
cada par de seus vertices. Em caso contrario, G e denominado grafo desconexo. Se G e
um grafo desconexo, dizemos que G0 G e uma componente conexa de G quando G0 e
um grafo conexo e nao existe um grafo conexo H G tal que G0 H e G0 6= H.

Definicao 2.0.8 Se o grafo G for orientado, dizemos que ele e fortemente conexo
desde que para cada par u e v de vertices distintos, existe um caminho de u para v e um
caminho de v para u.
Pela definicao apresentada em [4], grafos sao fortemente conexos quando nao exis-
tir uma particao do seu conjunto V de vertices em dois conjuntos nao vazios V1 e V2 tal
que cada aresta entre V1 e V2 tem os vertices de sada em V1 e vertice de chegada em V2 .

Teorema 2.0.3 Um grafo G e nao conexo, se e somente se seu conjunto de vertices


V pode ser particionado em dois subconjuntos disjuntos, nao vazios, V1 e V2 , tais que
nenhuma aresta exista em G ligando vertices de V1 a vertices de V2 .

Demonstracao: Segue [74]


() Seja G um grafo nao conexo. Considere um vertice v G. Seja V1 o conjunto de
todos os vertices que sao ligados por um caminho passando por v. Como G e nao conexo, V1 nao
inclui todos os vertices de G. Os vertices restantes formarao um conjunto nao vazio. Portanto
o conjunto V e particionado em dois subconjuntos disjuntos nao-vazios, de forma que nenhum
vertice em V1 esta ligado a algum vertice V2 por uma aresta.
() Suponha que exista tal particao, isto e, V = V1 + V2 tal que V1 V2 = . Considere
dois vertices arbitrarios u e w de G, tal que u V1 e w V2 . Nenhum caminho deve existir
entre os dois vertices u e w, pois, caso contrario, existiria pelo menos uma aresta cujos vertices
adjacentes estariam um em V1 e o outro em V2 . Portanto, se existe tal particao, G e nao conexo.

8

Definicao 2.0.9 Seja G = G(V, E) um grafo com n vertices. A matriz de adjacencia


A(G) de G e a matriz quadrada de ordem n cujas entradas aij sao:

1 , se e somente se existe {v , v } E
i j
aij =
0 , nos outros casos

Isto significa que aij = 1 quando os vertices vi e vj sao adjacentes, e aij = 0 em


caso contrario. Note que, se o grafo for nao dirigido, a matriz de adjacencia A(G) e uma
matriz real e simetrica, formada por uns e zeros e veremos no teorema 3.1.1 um importante
resultado para estas matrizes. Devemos notar que a soma das entradas de cada linha da
matriz de adjacencia de um grafo e igual ao grau do vertice correspondente.

Definicao 2.0.10 Um grafo, no qual um numero wij esta associado a cada aresta, e
denominado de grafo ponderado e o numero wij e chamado o peso ou o custo da
aresta. Em redes de transportes, por exemplo, este custo pode ser a distancia.

Definicao 2.0.11 Um grafo que nao possui lacos nem arestas paralelas (chamado sim-
ples) e ponderado, pode ser representado por uma matriz, chamada matriz de custo
W = [wij ], onde:

custo da aresta se (vi , vj ) E
wij =
0, caso contrario

Definicao 2.0.12 Dados dois vertices v e w pertencentes ao grafo G(V, E), denomina-se
distancia entre v e w e denota-se por d(v, w), ao comprimento do menor caminho entre
esses dois vertices. No caso da nao existencia desse caminho, considera-se a distancia
infinita.
E possvel construir a matriz de distancias, onde a entrada dij representa a
distancia entre os vertices vi e vj . Observe que se o grafo e nao orientado, a matriz de
distancias e uma matriz simetrica.

Definicao 2.0.13 Em alguns grafos, alem das arestas serem ponderadas com pesos que
equivalem as distancias, pode ocorrer dos vertices serem ponderados com peso wi . Com
isso, define-se a matriz distancia-peso onde as entradas ij sao a distancia mnima
entre o vertice i e o vertice j multiplicado pelo peso do vertice j, ou seja, wj dij
9

Em um grafo conexo, distancia e uma metrica, isto e, para todo vertice u, v e w


de G(V, E), tem-se:

i) d(u, v) 0 com d(u, v) = 0 se e so se u = v;

ii) d(u, v) = d(v, u) (para grafos nao orientado);

iii) d(u, v) + d(v, w) d(u, w).

Com a definicao de distancia, podemos definir:

Definicao 2.0.14 Excentricidade, denotada por e(v), de um vertice v e a maxima das


distancias d(v, u), isto e, e G, e(v) = max(d(v, u)).

Definicao 2.0.15 Raio, denotado por r(G), de um grafo G e o min(e(v)).

Definicao 2.0.16 Centro de G e definido pelo conjunto de vertices v tais que e(v) =
r(G)
Captulo 3

Teoria Espectral

Abordaremos, neste captulo, conceitos basicos da teoria que e um dos ramos da


Algebra Linear. Nosso interesse sao operadores em dimensao finita e, assim, passamos
a apresentar basicamente a teoria dos valores proprios de matrizes. Apresentaremos a
seguir alguns dos resultados fundamentais desta teoria, os quais sao os mais importantes
para a fundamentacao teorica do presente trabalho pois auxiliam na justificativa e na
modificacao proposta para o Metodo de Teitz e Bart que veremos no Captulo 6.2.2 .

3.1 Autovalores e Autovetores


Seja


a11 a12 a1n

a2n

a21 a22
A= .. .. .. ..

.

. . .

an1 an2 ann

uma matriz quadrada de ordem n, onde aij sao numeros reais. Um numero real ou
complexo e autovalor de A se existe um vetor u 6= 0,
11


u1


u2
u=
..


.

un

pertencente ao Rn ou Cn tal que Au = u. Neste caso, u e chamado autovetor associado


ao autovalor .
A equacao matricial Au = u pode ser reescrita como:

(In A)u = 0 (3.1)

Uma vez que u e diferente de zero, a equacao (2.1) implica que e um autovalor
de A se e somente se In A e uma matriz singular; o que equivale a dizer que e um
autovalor se e so se:

det(In A) = 0 (3.2)

Segue da definicao de determinantes que se A e uma matriz de ordem n, entao


p() = det(In A) e um polinomio em de grau n, chamado de polinomio caracterstico
de A.
Uma vez que um polinomio de grau n possui n razes (reais e/ou complexas),
contando multiplicidades das mesmas, a matriz A possui n autovalores 1 , 2 , ..., n . Esses
autovalores compoem o espectro de A.
Se e um autovalor de A, chamamos de autoespaco associado a , o subespaco
vetorial dado por:

W := {v Kn ; Av = v} (3.3)

Para cada de A, associamos dois numeros inteiros que sao chamados de multi-
plicidade algebrica e multiplicidade geometrica, definidas a seguir:

Definicao 3.1.1 Dado um autovalor de A, definimos sua multiplicidade algebrica


como a multiplicidade de enquanto raiz do polinomio caracterstico, ja a multipli-
12

cidade geometrica definimos como a dimensao do auto-espaco W definido em 3.3,


associado a ele.

Definicao 3.1.2 O Espectro de uma matriz quadrada A, denotado por (A) e o


conjunto formado por todos os autovalores de A. O Raio Espectral de A, denotado por
(A) e definido por:
(A) = max{|| : (A)}

Definicao 3.1.3 Um autovalor de uma matriz A que e igual ao raio espectral de A e


chamado de autovalor dominante. O autovetor associado a este autovalor e chamado
de autovetor dominante.

De acordo com a definicao 3.1.2, podemos observar que:

(In AT ) = (InT AT ) = (In A)T

Como o determinante de uma matriz A e igual ao determinante de sua transposta,


temos que:

pAT () = det(In AT ) = det((In A)T ) = det(In A) = pA ()

Isto implica que uma matriz A e sua transposta possuem o mesmo polinomio
caracterstico e assim possuem o mesmo espectro.

Proposicao 3.1.1 Seja A = [aij ] uma matriz real e simetrica de ordem n, entao cada
um dos seus autovalores sao numeros reais.

Demonstracao: A demonstracao apresentada segue [4]. Seja um autovalor de A e seja x um


autovetor nao nulo associado a . Para uma matriz B, considere a matriz B H a matriz obtida
de B atraves da transposicao da matriz B e, em seguida, o conjugado de cada entrada.
Uma vez que (BC)T = C T B T ; (a + b) = a + b e (ab) = a.b, temos que (BC)H = C H B H .
Como A e uma matriz real e simetrica, A = AH , e logo, temos que:

Ax = x

xH Ax = xH x = (xH x) (3.4)
13

Como
xH Ax = (xH A)x = (Ax)H x = (x)H x = (xH x) (3.5)

Por x 6= 0, xH x 6= 0, conclumos de (3.4) e (3.5) que (xH x) = (xH x), e entao, = ,


isto e, e um numero real.

Definicao 3.1.4 Dada uma matriz A de ordem n, define-se a Adjunta da matriz A,


denotamos por adj(A) = [bij ] tal que, para cada par i, j, bij = (1)i+j+1 detAij , onde Aij
e a matriz formada a partir de A retirando-se sua linha i e sua coluna j. Os elementos
bij sao chamados de cofatores (em i, j) de A.

Proposicao 3.1.2 Sejam um autovalor de A e B() a matriz n n dada por:

B() = adj(I A)

Entao as colunas nao-nulas de B() sao autovetores de A associados a .

Demonstracao: Segue [50]. Pelas propriedades da adjunta, temos que:

(I A)B() = (I A)adj(I A)

(I A)B() = det(I A)In

(I A)B() = p()In

(I A)B() = 0

Ja que e raiz do polinomio caracterstico p de A, segue que cada coluna nao-nula e um autovetor
nao nulo associado a . 

Teorema 3.1.1 Seja A uma matriz de ordem n, e di , i = 1, ..., n, os discos cujos centros
sao os elementos aii e cujos raios ri sao dados por:

n
X
ri = |aij | , i = 1, ...n
j=1
j6=i

Seja D a uniao de todos os discos di . Entao todos os autovalores de A encontram-se


contidos em D.
14

Demonstracao: Segue [65]:


Seja um autovalor de A e x = (x1 , x2 , ..., xn ) 6= 0 um autovetor correspondente, tal
que, seja k um ndice tal que

|xk | |xj |, para j = 1, ..., n

Entao, da igualdade
x = Ax

Segue que
n
X
xk = akj xj
j=1

Que equivale a
n
X
xk ( akk ) = akj xj
j=1
j6=i

Da temos que

n
X n
X n
X
|xk || akk | |akj xj | = |akj ||xj | |xk | |akj | = |xk |rk
j=1 j=1 j=1
j6=i j6=i j6=i

Isto e,
| akk | rk

Assim, o autovalor esta contido no disco dk e, como e arbitrario, entao todos os


autovalores de A devem estar contidos na uniao de todos os discos, D. Este importante teorema
e conhecido como Teorema dos Discos de Gershgorin. 

Proposicao 3.1.3 Se u e um autovetor de uma matriz A, entao seu correspondente


autovalor e dado por

uH .Au
=
uH .u
Onde estamos considerando uH como o conjugado transposto de u. Este quociente
e chamado de Quociente de Rayleigh.

Demonstracao: [52] Se u e autovetor de A, sabemos que Au = u e podemos escrever:

uH .Au uH .u uH .u
H
= H = H =
u .u u .u u .u
15

Teorema 3.1.2 Sejam 1 , 2 , ..., m os m autovalores distintos de uma matriz A de or-


dem n e sejam v1 , v2 , ..., vm os correspondentes autovetores. Supondo que 1 seja o auto-
valor dominante de modo que

|1 | > |2 | ... |j | ... |m |

Considerando x0 um vetor do subespaco gerado pelos autovetores, isto e,

x0 = c1 v1 + c2 v2 + ... + cm vm

A k x0
com c1 6= 0. Entao xk = ||Ak x0 ||
converge para o autovetor dominante v1

Demonstracao: [52] Temos:

Ak x0 = c1 Ak v1 + c2 Ak v2 + ... + cm Ak vm

Ak x0 = c1 k1 v1 + c2 k2 v2 + ... + cm km vm

"  k  k #
k c2 2 cm m
A x0 = c1 k1 v1 + v2 + ... + vm (3.6)
c1 1 c1 1

A expressao entre colchetes converge para v1 pois |j /1 | < 1 para j > 1. Entao a
expressao:
Ak x0
xk =
||Ak x0 ||

converge para o autovetor dominante.


Podemos observar na equacao 3.6 que a razao entre os dois maiores autovalores
determina quao rapida e a convergencia pois, uma vez que temos 2 proximo em magnitude
do autovalor dominante 1 , torna-se necessario valor alto para k para que |2 /1 |k tenda
a zero.
Uma outra observacao pertinente e que, pela proposicao 3.1.3 segue que:
16

uH .Au
1 = max (3.7)
n
uC uH .u
u6=0

uH .Au
n = minn (3.8)
uC uH .u
u6=0

3.2 Metodo das Potencias


Em diversos problemas e aplicacoes, o autovalor de interesse e o positivo e domi-
nante , como por exemplo em modelos economicos, modelos de dinamica populacional,
cadeias de Markov, programas de busca de sites na internet (ver [50]), medidas de cen-
tralidade em redes (ver [1]), entre outros. No captulo 4, veremos um teorema que garante
para quais classes de matrizes podemos garantir a existencia de um unico autovalor igual
ao raio espectral de A e do autovetor positivo associado a ele.
Apresentaremos a seguir um metodo simples e iterativo que determina o autovalor
dominante 1 , desde que ele seja unico, e o autovetor positivo v1 associado a ele. Este
metodo nao computa a matriz A, podendo assim ser usado mesmo quando A for esparsa,
isto e, onde a imensa maioria das entradas sao nulas.
O algoritmo comeca com um vetor inicial x0 que pode ser uma aproximacao para
o autovetor dominante ou um vetor aleatorio. O metodo se baseia no teorema 3.1.2 e e
descrito da seguinte maneira:
Considere para a matriz A de ordem m, os n autovalores 1 , 2 , ..., n distintos.
Assim, os seus autovetores correspondentes sao linearmente independentes, formando uma
base para o subespaco gerado por esses autovetores, isto e, qualquer vetor do subespaco
pode ser escrito como combinacao linear dos autovetores linearmente independentes de A.
Supondo que x 6= 0 seja um vetor do espaco dos autovetores u1 , u2 , ..., un . Entao x pode
ser expresso como:

x = c1 u1 + c2 u2 + ... + cn un

Com pelo menos um dos cj 6= 0.


Denotando por [x]1 = x. Multiplicando a equacao acima por A temos:
17

 
c2 2 cn n
A[x]1 = c1 Au1 + c2 Au2 + ... + cn Aun = 1 c1 u1 + u2 + ... + un = 1 c1 [x]2
c1 1 c1 1

Onde:

c2 2 cn n
[x]2 = u1 + u2 + ... + un
c1 1 c1 1
Fazendo entao A[x]2 obtemos:

c2 22 cn 2n
A[x]2 = 1 u1 + u2 + ... + un
c1 1 c1 1

c2 22 cn 2n
 
A[x]2 = 1 u1 + u2 + ... + un = 1 [x]3
c1 21 c1 21
Onde:

c2 22 cn 2n
[x]3 = u1 + u 2 + ... + un
c1 21 c1 21
Repetindo o processo novamente:

c2 32 cn 3n
 
A[x]3 = 1 u1 + u2 + ... + un = 1 [x]4
c1 31 c1 31
Onde:

c2 32 cn 3n
[x]4 = u1 + u 2 + ... + un
c1 31 c1 31
Assim, sucessivamente.
Como 1 e o maior autovalor, entao |i /1 | < 1 para todo i > 1. Assim:

 k
i
lim =0
k 1
Implica que:

c2 k2 cn kn
 
limk A[x]k+1 = limk Au1 + A u2 + ... + A un = 1 u1
c1 k1 c1 k1
18

da mesma forma que:

c2 k2 cn kn
 
limk [x]k+1 = limk u1 + u2 + ... + un = u1
c1 k1 c1 k1
Uma possibilidade para a implementacao do Metodo das Potencias e normalizar
o vetor [x]k em cada passo com a divisao dos seus elementos pelo valor de sua norma
euclidiana a fim de obtermos sempre um autovetor unitario associado ao autovalor domi-
nante. A este algoritmo damos o nome de Metodo das Potencias com Mudanca de Escala
Euclidiana.
A convergencia do metodo e garantida sob as seguintes condicoes:

1. A tem um autovalor que deve ser estritamente maior em magnitude que seus demais
autovalores;

2. O vetor inicial deve ter componente diferente de zero na direcao do autovetor asso-
ciado ao autovalor dominante (ver teorema 3.1.2).

Algoritmo: Algoritmo para o Metodo das Potencias descrito em [52].

Escolha um vetor inicial x0 , um numero maximo de iteracoes N e uma tolerancia T ol;


Faca k = 1;
Enquanto k N ;
Faca yk = Axk1 ;
Faca k = ||yk || ;
Faca xk = yk /k ;
Se |k k1 | T ol, entao k = N + 1; senao, faca k = k + 1;
fim

xT
k Axk
Escrever o autovetor dominante uk xk e o autovalor dominante 1 xT
k xk

No geral, a medida que k cresce, os valores de xk se aproximam do autovetor


dominante v1 enquanto que os valores escalares k se aproximam do autovalor dominante
1 . Mas este metodo pode falhar se o autovalor dominante nao for unico, por exemplo,
19

|1 | = |2 |, entao o metodo nao converge sempre (veja 3.1.2). Torna-se necessario termos
garantias da existencia de um unico autovalor dominante para termos a certeza de sua
convergencia antes de aplicar o metodo.
Lembrando que os autovalores de uma matriz real A podem ser numeros complexos
e aparecerem em pares conjugados, uma outra possibilidade de falha do metodo e quando
o autovalor dominante de uma matriz for um numero complexo, pois seu modulo sera
igual ao modulo de seu par conjugado.
Vimos no teorema 3.1.2 que a taxa de convergencia depende do quociente |2 /1 |.
Segundo [37]:

k !
2
|1 (k) | = O
1

Assim, se |2 | e pouco menor que |1 |, entao o metodo converge lentamente, sendo


necessario um grande numero de iteracoes para se obter um resultado satisfatorio.
Outro ponto que deve ser levado em consideracao e que o metodo nao ira convergir
para o maior autovalor se c1 = 0 (ver 3.2), isto e, se o vetor inicial x0 nao contem
componente na direcao do autovetor dominante v1 . Neste caso, o metodo ira convergir
para o maior autovalor cujo autovetor esta contido na decomposicao de x0 . Na pratica,
podemos evitar este fato utilizando, por exemplo, preenchendo x0 com entradas aleatorias
diferentes de zero.
Em funcao dessas possibilidades de falha, a garantia da convergencia do Metodo
das Potencias ocorre quando conhecidos os autovalores das matrizes, como no caso das
matrizes simetricas (ver 3.1.1) ou matrizes como as que veremos no captulo 4.
Captulo 4

Matrizes Nao-Negativas

Abordaremos, neste captulo, matrizes cujas entradas sao nao-negativas e uma im-
portante classe, a das matrizes redutveis e irredutveis, bem como a relacao que existe
entre essas matrizes e seus grafos associados. Em seguida, enunciaremos o Teorema de
Perron-Frobenius que representa o ingrediente basico do presente trabalho. As demons-
tracoes dos teoremas e enunciados apresentados seguem [4]

4.1 Matrizes Redutveis e Irredutveis


Uma matriz e chamada nao-negativa se todas as suas entradas sao maiores ou
iguais a zero. Chamamos uma matriz de positiva se suas entradas sao maiores que zero.

Definicao 4.1.1 Uma matriz A de ordem n e redutvel se e somente se existir uma matriz
de permutacao P tal que:

X Y
P AP T = (4.1)
O Z

Onde X e Z sao matrizes quadradas de ordem maior ou igual a 1 e O e uma matriz


nula de ordem p q com p + q = n. A matriz A e irredutvel se a forma da equacao 4.1
nao puder ser obtida por nenhuma matriz P de permutacao.

Teorema 4.1.1 Uma matriz quadrada A de ordem n e irredutvel se a ela associamos


um grafo G fortemente conexo, caso contrario dizemos que a matriz e redutvel.

Demonstracao: Lembrando da definicao 2.0.8, em grafos que nao sao fortemente conexos,
existe uma particao no seu conjunto de vertices V em dois conjuntos nao vazios V1 e V2 de modo
21

que as arestas entre V1 e V2 possuem os vertices de V1 como vertices de sada e os vertices de


V2 como os vertices de chegada.
Se considerarmos entao a matriz de adjacencia de um grafo que nao e fortemente conexo,
particionarmos o conjunto de seus vertices em V1 e V2 e fizermos uma permutacao entre as linhas
e colunas de A de modo que as primeiras linhas e colunas sejam do conjunto V1 e as demais sejam
do conjunto V2 , obtemos uma matriz com a forma da equacao 4.1 e assim, A sera redutvel. 
O teorema a seguir apresenta uma importante caracterizacao algebrica de irre-
dutibilidade para matrizes nao negativas.

Teorema 4.1.2 Seja A uma matriz nao-negativa de ordem n. Entao A e irredutvel se


e somente se (In + A)(n1) > 0, ou equivalentemente (In + A + A2 + A3 + ... + A(n1) ) > 0

Demonstracao: A matriz In + A tem diagonal com entradas positivas e, portanto o seu grafo
G(In + A) possui um laco em cada um de seus vertices.
Supondo que A e irredutvel, entao G(In + A) e fortemente conexo e para cada par
ordenado de vertices distintos (u, v) existe um caminho mnimo de u para v de comprimento
no maximo n 1. Como ocorre um laco em cada vertice, existe um passeio de comprimento
exatamente n 1 de u para v. Como In + A 0, todos os passeios possuem custos positivos. E
segue que (In + A)(n1) > 0. Como:

n1 n1 n1
(In + A)(n1) = In + A + A2 + ... + An
1 2 n1

Segue que (In + A + A2 + A3 + ... + A(n1) ) > 0.


Reciprocamente, se (In + A)(n1) > 0, entao para cada par ordenado (u, v) de vertices
distintos existe um caminho de peso positivo em G(A) e u para v de comprimento n 1. Logo
G(A) e fortemente conexo e A e irredutvel. 
Segue do teorema acima os seguintes corolarios:

Corolario 4.1.1 Seja A uma matriz irredutvel nao-negativa de ordem n (A 0) cujas


entradas na diagonal sejam todas positivas. Entao A(n1) e uma matriz positiva (A(n1) >
0).

Observacoes pertinentes:

a) Toda matriz positiva e irredutvel.


22

b) Se A e irredutvel e B A, entao B e irredutvel.

c) A e irredutvel se e somente se At e irredutvel.

d) Toda matriz nao-negativa n n com n 2 que tenha no maximo n 2 entradas


nulas e irredutvel.

e) Se A e uma matriz de ordem n, irredutvel e nao-negativa e seja x = (x1 , ..., xn ) 0


tal que Ax = 0, entao x = 0.

Corolario 4.1.2 Se A e uma matriz de ordem n, nao-negativa e irredutvel, entao todo


autovetor nao-negativo de A deve ser positivo.

4.2 O Teorema de Perron-Frobenius


Em muitas aplicacoes da teoria de matrizes, como mencionamos na secao 3.2 ,
observamos que o autovalor de interesse e o autovalor positivo e dominante igual ao raio
espectral (ver 3.1.2), que geometricamente e o raio do menor crculo centrado na origem
que contem o espectro de A, chamado crculo espectral de A, e o autovetor correspondente
com componentes positivas. Da surge a importancia do teorema de Perron-Frobenius pois
este garante que este e o caso para uma classe numerosa de matrizes. A primeira versao
deste teorema foi provado para matrizes positivas pelo matematico alemao Oskar Perron
(1880-1975), chamado Teorema de Perron e publicado em 1907 em um artigo sobre fracoes
contnuas [73]. Ja Frobenius, analisou este resultado e provou um teorema mais geral, cuja
formulacao baseia-se no conceito de matrizes irredutveis.
Demonstraremos este importante teorema, mas para isso, alguns teoremas, corolarios
e definicoes sao importantes.

Teorema 4.2.1 Seja A uma matriz de ordem n. Definimos, para i = 1, ..., n:

n
X
ri = |aij |
j=1

como a soma dos valores absolutos das entradas da linha i da matriz A. Entao para
(A) da definicao 3.1.2 vale (A) max{r1 , r2 , ..., rn }

Este mesmo resultado vale para a soma das colunas de A.


23

Demonstracao: Segundo [91], seja um autovalor de A e seja x = [x1 , x2 , ..., xn ]T o autovetor


correspondente, isto e:

Ax = x

Seja |xk | = max{|x1 |, |x2 |, ..., |xn |} > 0 o maior valor absoluto das entradas de x.
Considerando a igualdade

n
X
akj xj = xk
j=1


n
X

akj xj = |xk | = |||xk |
j=1

Usando a desigualdade triangular, obtemos:



n
X Xn
|||xk | |akj ||xj | |akj | |xk | = rk |xk |
j=1 j=1

Assim, || rk max{r1 , r2 , ...rn } 

Definicao 4.2.1 Seja A uma matriz quadrada de ordem n irredutvel e nao-negativa, e


seja P = {x Rn : x 0 e x 6= 0}. Chamamos de Funcao de Collatz-Wielandt associada
a matriz A:

rA : P R

Com
(Ax)i
rA (x) = min , para xi 6= 0
1in xi
Onde x P, vale as seguintes propriedades:

(i) rA (x) 0.

(ii) Para j = 1, ..., n temos que rA (x)xj (Ax)j .

(iii) xrA Ax

Teorema 4.2.2 Seja A uma matriz de ordem n, irredutvel e nao-negativa e rA a funcao


de Collatz-Wielandt associada a matriz A. Entao:
24

(i) A funcao rA e homogenea de grau 0, isto e, para uma constante k, temos rA (kx) =
k 0 rA (x).

(ii) Se x e nao-negativo, nao-nulo, e e o maior numero real tal que Ax x 0, entao


rA = .

(iii) Seja x P e y = (I + A)n1 x, entao rA (y) rA (x)

Demonstracao:

(i) Para x P \ {0} e t > 0, e txi 6= 0 temos que

(Atx)i
rA (tx) = min
1in txi

t(Ax)i
rA (tx) = min
1in txi
(Ax)i
rA (tx) = min
1in xi

rA (tx) = rA (x)

(ii) A definicao rA (x) implica que Ax rA (x)x 0, e que existe um k entre 1 e n tal que
xk 6= 0 e (Ax rA (x)x)k = 0. Se c > rA (x), entao a k-esima coordenada de Ax cx e
negativa, logo rA (x) = max{ R+ : Ax x 0}.

(iii) Como Ax rA (x)x 0, multiplicando ambos os lados por (I + A)(n1) temos que:

(I A)n1 Ax (I + A)n1 rA (x)x 0

0 A(I + A)(n1) x rA (x)(I + A)(n1) x = Ay rA (x)y

rA (y) rA (x)

Pn
Definicao 4.2.2 Seja E = {x P : i=1 xi = 1}. Definimos r R+ como r =
supxP rA (x) = supxE rA (x).

Teorema 4.2.3 Seja A uma matriz de ordem n, irredutvel e nao-negativa, entao a


funcao rA atinge seu maximo em E
25

Demonstracao: Seja:

G = (I + A)n1 E = {y : y = (I + A)n1 x, onde x E}

G e compacto e os elementos de G sao positivos, como r e contnua em G, existe y0 G tal


que rA (y0 ) rA (z), z G. Seja x0 = y0 / ni1 (y0 )i E, temos que rA (x0 ) = rA (y0 ), pelo
P

teorema 4.2.2 item i. Se y = (I + A)n1 x, temos que:


rA (x) rA (y), pelo teorema 4.2.2
rA (x) rA (y0 ), pela definicao de y0
rA (x) = rA (x0 )
Assim conclumos que rA (x) rA (x0 ), x E atinge o maximo em x0 . 

Definicao 4.2.3 Seja A uma matriz irredutvel de ordem n e nao negativa, um vetor z
de P e dito maximal ou extremal de A se rz < Az. Um vetor z de P e maximal desde
que rA (z) = r.

Teorema 4.2.4 Seja A uma matriz de ordem n, irredutvel e nao negativa, entao o
numero r da definicao 4.2.2 e positivo e e um autovalor de A. Alem disso, todo vetor
extremal de A e positivo e e um autovetor de A associado ao autovalor r.

Demonstracao: Seja u = (1, 1, ..., 1), entao temos que, ui 6= 0:

n
(Au)i X
rA (u) = min = min aki > 0 (4.2)
1in ui 1in
k=1

Pois se qualquer linha de A fosse nula, entao A seria redutvel. Como r rA (u), entao
r > 0. Seja z um vetor extremal e seja x = (I + A)n1 z. Podemos supor que z E, e pelo
teorema 4.1.2 temos que x > 0 e x G. Tambem temos que Az rz 6= 0, entao:

(I + A)n1 (Az rz) = Ax rx > 0

Como Ax > rx, entao temos que r < rA (x), o que contradiz a definicao de r. Assim temos que
Az rz = 0, logo r e um autovalor de A, z e um autovetor associado a r.
Por fim, como Az = rz, temos:

x = (I + A)n1 z = (1 + r)n1 z

E como x > 0 e r > 0 obtemos z > 0. 


26

Teorema 4.2.5 (Perron-Frobenius) Seja A uma matriz quadrada de ordem n, irre-


dutvel e nao-negativa, entao:

(i) A tem um autovalor positivo r, igual ao raio espectral de A;

(ii) Existe um autovetor positivo associado a r;

(iii) O autovalor r tem multiplicidade algebrica igual a 1.

Demonstracao:

(i) A primeira parte segue do teorema 4.2.4. Resta mostrar que se e outro autovalor de A,
entao || r.

Seja um autovalor de A e y um autovetor nao nulo associado a , como A e nao-negativa,


temos que:
|||y| = |Ay| A|y|

|| r(|y|) r

(ii) Seja z 6= 0 um autovetor associado a r, isto e, Az = rz, temos r|z| A|z|, que implica que
|z| e um vetor maximal de A, logo pelo teorema 4.2.4 temos que |z| nao possui nenhuma
coordenada nula, assim, a dimensao do auto-espaco associado a r e 1. Se tivessemos dois
autovetores u, v linearmente independentes associados a r, entao teramos que au + bv
tambem seria um autovetor associado a r para qualquer a e b reais e poderamos determinar
a e b tais que au+bv tivesse uma coordenada nula, o que e absurdo. Assim, a multiplicidade
geometrica de r e 1.

(iii) Para mostrar que a multiplicidade algebrica de r e um, devemos mostrar que r e uma raiz
do polinomio caracterstico de A e nao e raiz do polinomio obtido derivando o polinomio
caracterstico de A.

Considere a matriz B(t) = adj(It A). Temos que B(r) e nao-nula ja que o posto de
Ir A e (n 1), temos pelo menos um menor de tamanho n 1 nao-nulo. Por outro lado,
pelo teorema 3.1.2 temos que as colunas nao-nulas de B(r) sao autovetores associados a r,
logo cada coluna nao-nula de B(r) e multiplo do vetor z > 0, assim, cada coluna nao-nula
de B(r) e positiva ou negativa. Portanto, cada elemento de B(r) e nao-nulo e todos tem
o mesmo sinal.

Como B(t)(It A) = pA (t)I onde pA (t) e o polinomio caracterstico de A, temos que:

B 0 (t)(It A) + B(t)(It A)0 = B 0 (t)(It A) + B(t) = p0A (t)I


27

Em t = r e aplicando ao vetor z, temos que:

B(r)(z) = B 0 (r)(Ir A)(z) + B(r)(z) = p0A (r)z

E logo, como B(r) e z sao nao-nulos e todos os elementos de B(r) tem o mesmo sinal e
o mesmo acontece para todas as coordenadas de z, temos que B(r)z 6= 0, assim r e uma
raiz simples do polinomio caracterstico de A.


Captulo 5

Problemas de Localizacao de
Facilidades

Problemas de localizacao e suas aplicacoes constituem uma importante linha de


pesquisa em Otimizacao Combinatoria e despertam interesse nas mais diferentes areas de
conhecimento tais como a economia, a administracao, a pesquisa operacional, a geofsica
e a engenharia.
Tais problemas buscam a localizacao ideal para instalar facilidades com o objetivo
de atender a uma demanda minimizando os custos deste processo. Utiliza-se o termo
facilidade para representar uma empresa, industria, escola, bombeiros, servicos em geral.
Abordaremos os Problemas de Localizacao mediante um breve historico. Definire-
mos e apresentaremos o modelo matematico para Localizacao de Centros e focaremos
nossa atencao a Localizacao de Medianas, um dos problemas de maior destaque dentro
da teoria da localizacao, onde p e o numero de facilidades a serem instaladas.
Atraves de uma revisao bibliografica, sera demonstrado o teorema de Hakimi, que
garante que a solucao do problema esta nos vertices do grafo que modela o problema. Este
importante teorema e base para a elaboracao dos metodos de solucao existentes, como o
algoritmos de Teitz e Bart que veremos no captulo seguinte.

5.1 Historico e Definicao


Os Problemas de Localizacao sao estudados desde o seculo XVII, quando Pierre
de Fermat buscava solucionar o seguinte problema: dados tres pontos de um plano (os
29

vertices de um triangulo), encontrar o ponto do plano (mediana), tal que a soma das
distancias entre cada um dos vertices e a mediana seja mnima [76].
Ja Alfred Weber, no seculo XX, desenvolveu o modelo que deu origem a teoria
das localizacoes. O trabalho abordou a localizacao de uma industria, considerando os
fornecedores e os consumidores e buscou a melhor localizacao de forma a proporcionar o
menor custo em termos de transporte. Neste trabalho, Weber considerou cada um dos
tres pontos correspondendo a um cliente e encontrar a mediana equivalendo a encontrar
a melhor localizacao de uma facilidade para satisfazer seus clientes [3].
Horner afirma em [44], que o trabalho de Weber e outros da epoca tinham abor-
dagem contnua, uma vez que para determinar uma localizacao no plano, o espaco de
solucao e infinito. No entanto, nas diversas aplicacoes em regioes urbanas, observou-se
que o espaco de solucao e discreto, sendo necessario especificar os estudos.
Na decada de 60, com o desenvolvimento da teoria dos grafos, iniciou-se o estudo
de localizacao em redes, onde Hakimi mostrou que o espaco de solucoes consiste apenas
nos vertices do grafo, e as distancias sao medidas ao longo dos arcos. Propriedades
matematicas relevantes da teoria de grafos facilitam a modelagem, tornando possvel o
desenvolvimento de procedimentos eficientes para resolve-los.
Tais problemas sao modelados atraves da Programacao Matematica Inteira, uma
das tecnicas mais utilizadas da Pesquisa Operacional para problemas de otimizacao. Os
problemas de otimizacao sao aqueles que buscam uma solucao chamada solucao otima,
que atenda a um determinado objetivo a ser otimizado, chamado de funcao objetivo, que
em geral, corresponde a minimizar custos ou maximizar lucros e ainda atenda as restricoes
do modelo. Os problemas de Programacao Inteira (PI) tem como caracterstica a impossi-
bilidade das variaveis assumirem valores contnuos, somente discretos e portanto inteiros.
Esses problemas tambem sao chamados de Problemas de Otimizacao Combinatoria.
Dessa forma, podemos definir os Problemas de Localizacao como Problemas de
Otimizacao Combinatoria que tem como objetivo a tomada de decisao de onde localizar
facilidades em uma rede que exista pontos de demanda a serem atendidos de acordo com
uma funcao objetivo a ser otimizado.
Diversas sao as aplicacoes dos problemas de localizacao, como a localizacao de
depositos, escolas, centros de saude, empresas, posto de polcia, supermercados, antenas
de telefonia, terminais de integracao de onibus, estacoes de tratamento de agua, roteadores
30

em redes de computadores, entre outros.


Duas classes de problemas de localizacao se destacam: os Problemas de Localiza-
cao de Centros e os Problemas de Localizacao de Medianas. No problema dos centros, o
objetivo e minimizar a distancia ate o ponto mais crtico a ser atendido, isto e, o atendi-
mento deve ser o mais rapido possvel e em funcao disso, este tambem e conhecido como
localizacao do centros de emergencia. No problema das medianas, o objetivo e minimizar
a soma da distancia de cada um dos vertices a facilidade mais proxima, ponderada por
um fator de demanda. Quando a necessidade e encontrar um determinado numero p de
centros (ou medianas), denominamos Problema dos P-centros (P-medianas).

5.2 Localizacao do Centro de Emergencia


Determinar o centro de emergencia, na visao da teoria dos grafos, conforme [74],
equivale a determinar o centro da definicao 2.0.16, isto e, conjunto de vertices V tais que
a excentricidade do conjunto v seja igual ao raio do grafo G, ou seja, e(V ) = r(G). Neste
sentido, o problema de localizacao de centros de emergencias consiste em determinar o
centro de um grafo de modo a minimizar a distancia de ida e volta ate o ponto mais
crtico, ou, por exemplo, que o tempo de ida e volta seja mnimo, dependendo do contexto
do problema, levando em consideracao o peso dos vertices (que pode ser a populacao a
ser atendida). Este e o caso de buscar a localizacao ideal de hospitais, polcia, bombeiros,
entre outros.
A excentricidade e o raio serao respectivamente determinados por:

esr (xi ) = max{vj [d(xi , xj ) + d(xj , xi )]}


xi V

r(G) = min [esr (xi )]


xi V

Onde o ndice sr indica sada e retorno e vj e o peso do vertice xi .


Na linguagem de programacao linear inteira, o problema dos p-centros sao tambem
chamados como os problemas minimax, pois tem como objetivo alocar um numero p de
facilidades de modo a minimizar a maxima distancia entre a facilidade e os pontos de
demanda que ela atende. De acordo com [75], o problema e modelado como:

min z = d max (5.1)


31

s. a.
d max xij .dij ; i = 1, ..., m e j = 1, ..., n (5.2)

r. a.
n
X
xjj = f (5.3)
j

xij xjj (5.4)

xij {0, 1}, i = 1, ..., m e j = 1, ..., n (5.5)

Em que:

dM ax e a maior distancia de associacao;

dij e a distancia entre os nos i e j;

xij e uma variavel binaria, com xij = 1 se o no j esta alocado ao centro i ou xij = 0
caso nao esteja; xii = 1 se o no i e um centro e xii = 0, caso contrario;

f e um numero inteiro e positivo de facilidades que se deseja localizar. No caso


desse modelo essas facilidades sao os centros;

m e n sao os numeros de pontos considerados no problema.

Na formulacao anterior, a equacao 5.1 representa a funcao objetivo que minimiza


a maior distancia de associacao enquanto a restricao 5.2 impoe que a maxima distancia
de associacao seja maior ou igual a todas as outras distancias de associacao.

5.3 Localizacao de P-Medianas


O problema das p-medianas e um problema de localizacao e tambem um problema
de alocacao. Os modelos de p-medianas tem como objetivo minimizar a soma dos custos de
distribuicao entre facilidades que fornecem um servico e pontos de demanda que precisam
ser atendidos, em funcao disso, e tambem chamado de Minisum.
As formulacoes mais importantes desses problemas foram apresentadas em 1964 e
1965 por Hakimi, segundo [44]. Hakimi provou (veremos na subsecao a seguir) que ao
32

menos um conjunto de pontos otimos do problema sera constitudo de vertices do grafo,


e sua importancia deve-se por fazer com que os metodos de busca nao percam tempo
procurando a solucao sobre os arcos do grafo.
Na visao da teoria dos grafos, Hakimi tornou simples a determinacao de uma medi-
ana. Considerando um grafo G(V, E) onde V e o conjunto de vertices {x1 , x2 , ..., xn } e E
e o conjunto de arestas {e1 , e2 , ..., em }. Em muitas aplicacoes ocorre que aos vertices estao
associados valores que representam a importancia de cada um, isto e, os vertices sao pon-
derados. Para que a formulacao do problema seja mais abrangente, consideramos os pesos
como sendo respectivamente {v1 , v2 , ..., vn }. Atraves dessas informacoes, e construdo uma
matriz, chamada distancia-peso, definida em 2.0.13.

Definicao 5.3.1 De acordo com [44], para cada vertice xi V , considerando a distancia
do vertice xi ao vertice xj representada por d(xi , xj ), definimos o numero de transmis-
sao de sada e o numero de transmissao de entrada como sendo, respectivamente:

X
o (xi ) = vj .d(xi , xj ) (5.6)
xj V
X
t (xi ) = vj .d(xj , xi ) (5.7)
xj V

Observe que na pratica, o numero de transmissao de sada o (xi ) pode ser visto
como a soma dos elementos da linha i da matriz distancia-peso. Da mesma forma, o
numero de transmissao de entrada e a soma das entradas da coluna xi de uma matriz
obtida por multiplicar cada linha j da matriz de distancias D(G) pelo peso vj .
Podemos entao definir:

Definicao 5.3.2 Chama-se de Mediana de sada de um grafo, o vertice xo o qual:

o (xi ) = min [o (xi )] (5.8)


xi V

Definicao 5.3.3 Da mesma forma, chama-se de Mediana de entrada de um grafo, o


vertice xt o qual:

t (xi ) = min [t (xi )] (5.9)


xi V
33

Se o objetivo passa a ser determinar um numero p de medianas, temos que encontrar


um subconjunto Vp V com p vertices o qual:

Definicao 5.3.4 Define-se a distancia de um subconjunto Vp do conjunto de vertices V


aos demais vertices xj por:

d(Vp , xj ) = min [d(xi , xj )] (5.10)


xi Vp

(5.11)

Da mesma forma, define-se a distancia entre o conjunto V de vertices a um subconjunto


Vp de V como:

d(xj , Vp ) = min [d(xj , xi )] (5.12)


xi Vp

Definicao 5.3.5 Para o subconjunto Vp de V , os respectivos numeros de transmissao de


sada e de entrada sao respectivamente:

X
o (Vp ) = vj .d(Vp , xj ) (5.13)
xj V
X
t (Vp ) = vj .d(xj , Vp ) (5.14)
xj V

Definicao 5.3.6 Com as definicoes acima, o conjunto de p-medianas de sada e de


entrada serao:

o (Vpo ) = min [o (Vp )] (5.15)


Vp V

t (Vpt ) = min [t (Vp )] (5.16)


Vp V

Para determinar p-medianas de um grafo G(V, E) nao orientado e nao ponderado,


deve-se encontrar um conjunto Vp V de cardinalidade p tal que a soma das distancias
de cada vertice restante em {V Vp } ate o vertice mais proximo em Vp seja a menor
possvel.
Ja se o grafo for apenas nao orientado, convem observar que o numero de trans-
34

missao de sada e entrada, definidos em 5.3.5, sao iguais, e assim, considera-se apenas:

X
(Vp ) = vj .d(xj , Vp ) (5.17)
xj V

O conjunto de p-medianas sera entao dado por:

(Vp ) = min [(Vp )] (5.18)


Vp V

Na linguagem de programacao linear inteira, a formulacao matematica do problema


das p-medianas segundo [44] e:

n X
X n
M inz = dij fij (5.19)
i=1 j=1

s. a.
n
X
fij = 1, j = 1, ..., n (5.20)
i=1

n
X
fii = p (5.21)
i=1

fij fii , i, j = 1, ..., n (5.22)

fij {0, 1} (5.23)

Em que:

n e o numero de vertices do grafo;

p e o numero de medianas a ser instalado;

[dij ] a matriz de distancia-ponderada, onde dij e o produto da distancia entre os


vertices xi e xj pelo peso vj , sendo vj a demanda de cada vertice xj .

[fij ] e a matriz de alocacao, que sera 1 se o vertice xj e alocado ao vertice xi e 0 em


caso contrario.

A restricao 5.20 garante que um dado vertice xj e alocado a somente um vertice


xi , que e mediana. A restricao 5.21 garante o numero de medianas desejado. A restricao
35

5.22 garante que o ponto xj so esteja alocado a mediana xi e a restricao 5.23 corresponde
as condicoes de integralidade.
O problema de p-medianas tem grande importancia pratica. Diversos trabalhos sao
publicados aplicando o estudo na solucao de problemas como, por exemplo, determinacao
da localizacao de escolas publicas do Rio de Janeiro de 1994 escrito por Pizzolato [67],
localizacao de shopping centers de Rozental e Pizzolato em 2009 [72], estudo de locali-
zacao de maternidades apresentada por Galvao em 2002 [27], localizacao de plataformas
martimas de Estrella em 2010 [23], antenas de telecomunicacao em 2002 de Lorena e
Pereira [48].

5.3.1 Teorema de Hakimi

O Teorema de Hakimi trouxe um importante resultado para os problemas de p-


medianas. Citamos anteriormente a abordagem contnua para tais problemas o que tor-
nava em geral impossveis de serem solucionados.
Louis Hakimi foi um dos primeiros pesquisadores que abordou o problema em uma
rede. Em seu artigo publicado em 1964 (ver [38]), foi solicitada a melhor localizacao
de uma facilidade considerando que uma demanda fosse atendida. Na versao de rede
do problema, a demanda esta localizada apenas nos vertices, cada um deles tendo um
peso que representa a quantidade total de demanda que abriga. A instalacao pode ser
localizada em um no ou num ponto sobre uma aresta. Hakimi provou, que ha sempre uma
solucao otima em um vertice da rede. O problema consiste em encontrar esta localizacao
otima, de tal maneira que a soma das distancias entre a facilidade e cada no procura,
ponderada pela quantidade de procura, seja mnima.
Em 1965, Hakimi [39] foi capaz de generalizar o seu principal resultado para o caso
de multiplas facilidades. O problema passou a consistir em encontrar a localizacao de p
facilidades de modo que a soma das distancias ponderadas entre cada vertice pedido e a
sua instalacao mais proxima seja mnima. Ele chamou este problema de p-mediana.
Note-se que a presenca de mais de uma facilidade apresenta um nvel adicional de
dificuldade, uma vez que a solucao deve agora responder a duas perguntas: onde localizar
as p facilidades, e qual facilidade atendera a quais nos de demanda. Na versao de Hakimi
(1965), o problema e definido como a alocacao dos nos de demanda as facilidades mais
proximas. Contudo, a localizacao de varias facilidades permite diferentes possibilidades,
36

incluindo a alocacao de uma demanda a mais de uma facilidade, que poderia ser otimizada
se as facilidades tem capacidade limitada, ou se os clientes localizados nos nos de demanda
podem escolher diferentes facilidades em diferentes oportunidades.
Com isso, a partir de Hakimi, os problemas de localizacao passaram a ter uma
abordagem discreta com espaco de busca de solucao otima finito e, alem disso, passou
a ser sabido que ao menos um conjunto de pontos otimos do problema sera constitudo
de vertices do grafo e assim, passou a ser possvel a determinacao da solucao de tais
problemas atraves de algoritmos que restringem a busca somente aos vertices de G. O
sucesso obtido por Hakimi fez com que, desde entao, os problemas das p-medianas tenham
sido inseparaveis da teoria da localizacao, tornando-se um dos modelos mais comuns de
localizacao de facilidades e em funcao disso apresentaremos a demonstracao do teorema
seguindo [47].
Primeiramente, buscando encontrar uma mediana em um grafo, devemos analisar
a existencia de um ponto y chamado mediana absoluta em alguma aresta de forma que
o numero de transmissao:

X
(y) = vj .d(y, xi ) (5.24)
xj V

seja menor que a mediana do grafo. Hakimi provou que nao existe tal ponto.

Teorema 5.3.1 Existe pelo menos um vertice x do grafo G para o qual (x) (y) para
qualquer ponto arbitrario y em G.

Demonstracao: Supondo, para obter contradicao, que a localizacao otima de uma facilidade
e um ponto x entre os vertices p e q de um grafo, ou seja, pertencente a aresta (p, q) tal que
(x) < (p), x.
Seja G(V, E) um grafo nao orientado. Seja k positivo e inteiro. o conjunto de k pontos
distintos do grafo G e dado por Xk = {x1 , x2 , ..., xk } e a distancia mnima entre os pontos xi de
Xk e o vertice j de G e dado por:

d(Xk , j) = min d(xi , j) (5.25)


xi Xk

Considerando a definicao do conjunto k-medianas do grafo como: k pontos de Xk em G


se para todo Xk de G temos
(Xk ) (Xk )
37

Onde:
n
X
(Xk ) = hj .d(Xk , j)
j=1

Para k=1:
A distancia d(x, j) entre x e um vertice j de X e:

d(x, j) = min{d(x, p) + d(p, j), d(x, q) + d(q, j)}

Considerando P o conjunto de nos que sao mais eficientes acessado por p e Q o conjunto
de pontos que sao melhores acessados por p,

X =P Q

Assume-se que mais usuarios sao acessados atraves de p:

X X
hj hj
jP jQ

Utilizando os conceitos apresentados, pode-se escrever:

X
(x) = hj .d(x, j)
jN
X X
(x) = [d(x, p) + d(p, j)] + hj [d(x, q) + d(q, j)]
jP jQ
X X
(x) = hj [d(x, p) + d(p, j)] + hj [d(p, q) d(x, p) d(x, p) + d(q, j)]
jP jQ
X X X X X
(x) = hj d(x, p) + hj d(p, j) + hj d(p, q) hj d(x, p) + hj d(q, j)
jP jP jQ jQ jQ

X X X X
(x) = d(x, p) hj hj + hj d(p, j) + hj [d(p, q) + d(q, j)]
jP jQ jP jQ

Da definicao de distancia d(p, j), tem-se:

d(p, j) d(p, q) + d(q, j)

Entao:
X X X X
(x) d(x, p) hj hj + hj d(p, j) + hj d(p, j)
jP jQ jP jQ
38

X X X
(x) = d(x, p) hj hj + hj d(p, j)
jP jQ jN

X X
(x) = d(x, p) hj hj + (p)
jP jQ

Assumimos inicialmente que:


X X
hj j Qjj 0
jP

Isto implica que o produto:


X X
d(x, p) hj hj 0
jP jQ

o que nos leva a concluir que:


(x) (p)

o que contradiz a hipotese inicial. Assim, prova-se que ao menos uma boa solucao movendo a
facilidade de x para p. 
Do teorema anterior segue o seguinte corolario que e uma generalizacao do teorema
de Hakimi e e tambem apresentado em [47]:

Corolario 5.3.1 Existe pelo menos um subconjunto Vp V contendo p vertices tais que
(Vp ) (Yp ) para qualquer conjunto arbitrario de Yp de p vertices localizados nas arestas
ou nos vertices do grafo G(V, E)
Captulo 6

Metodos de Solucao para o


Problema de P-Medianas

Este captulo aborda os metodos mais citados na literatura para a determinacao de


solucoes do problema de p-medianas. Eles sao divididos em tres classes: Metodos Exatos,
Metodos Heursticos e Metaheursticas. As definicoes de cada metodo e as principais
diferencas serao apresentadas no texto.
Dentre os metodos heursticos, destaca-se o metodo desenvolvido em 1964 conhe-
cido como Metodo de Teitz e Bart ou Metodo de Substituicao de Vertices, que determina
uma boa solucao em um tempo computacional eficiente quando comparado com os meto-
dos exatos. Nossa atencao sera voltada para este metodo pois o objetivo principal do
presente trabalho e determinar uma modificacao afim de melhora-lo adequadamente.

6.1 Metodos Exatos


Como foi visto no captulo anterior, o espaco de busca dos problemas de p-medianas
e um conjunto discreto e finito e em funcao disso, sao problemas de otimizacao combi-
natoria. De maneira geral, os problemas de otimizacao combinatoria sao faceis de descre-
ver, mas difceis de resolver e a dificuldade deve-se ao objetivo de encontrar uma melhor
solucao possvel (solucao otima) e que consiga satisfazer a todas as restricoes impostas
mediante teste dos elementos do domnio.
Dessa forma, um problema de otimizacao combinatoria, e em particular, o problema
de p-medianas pode ser resolvido a partir do processo de geracao, avaliacao e comparacao
40

de solucoes. Para encontrar a solucao otima, ou concluir que esta nao existe, deve-
se enumerar e examinar exaustivamente todos os elementos do domnio do problema,
testando todas as possibilidades ate que o otimo seja encontrado. A estes metodos que
buscam a solucao otima, chamamos de Metodos Exatos.
Para [83], uma caracterstica importante nestes metodos e a garantia da obtencao
da solucao otima do problema, no entanto, cita que costumam ser eficientes apenas em ins-
tancias de pequeno e medio porte, pois o tempo aumenta dramaticamente com o tamanho
da instancia, o que restringe o uso pratico destes.
Isto implica que nem sempre e possvel encontrar a solucao otima atraves da im-
plementacao e execucao dos algoritmos de solucao desses metodos em um tempo com-
putacional possvel. Quando se fala em tempo, refere-se ao numero de operacoes pois
este independe do hardware e da linguagem de programacao. Este tempo e chamado de
Complexidade do Algoritmo.
Com o objetivo de distinguir os problemas de facil e de difcil solucao, [2] afirma
que a complexidade de tempo classifica os problemas de otimizacao combinatoria em:

a) Classe P (Polinomiais): Considerados faceis, com tempo de solucao polinomial;

b) Classe NP (Non-deterministic polynomial): Considerados difceis, computaveis mas


as solucoes ate entao conhecidas com tempo de execucao exponenciais ou fatoriais;

c) Classe NP-Completo: Considerados os mais difceis pois alem de nao existirem algo-
ritmos que os resolvam de forma exata em tempos computacionais razoaveis, qual-
quer outro problema NP e redutvel polinomialmente a eles.

Os metodos exatos, alem da enumeracao exaustiva, utilizam-se de tecnicas de busca


em arvore (Branch-and-Bound ou Tree Search), relaxacao da programacao linear, metodos
duais e metodos baseados em relaxacao lagrangeana.
Os Algoritmos baseados na Tecnica de Branch-and-Bound, consistem em enumerar
todas as possibilidades de solucao, escolhendo-se a de melhor valor para o problema e
utiliza a estrategia de dividir para conquistar. O primeiro algoritmo Brand-and-Boud foi
desenvolvido em 1960 por A. Lang e G. Doug para os problemas de Programacao Linear
Inteira [86]
Dividir para conquistar consiste em particionar o conjunto de solucoes em subcon-
juntos disjuntos; resolver o problema para estas instancias menores; combinar as solucoes
41

dos subproblemas para obter a solucao do problema original. Os primeiros algoritmos


baseados neste metodo para obter solucoes otimas para o problema de p-medianas foram
apresentados nos trabalhos de Jarvinen et al. em 1972 [45] e El-Shaieb em 1973 [20].
O metodo baseado em Relaxacao Lagrangeana teve como precursores Held e Karp
em 1970 e foram assim denominados por Geoffrion em 1974. Neste metodo, as restricoes
tidas como complicadoras do problema sao relaxadas atraves de multiplicadores de La-
grange, removendo-as do conjunto de restricoes e substituindo-as por um termo de pena-
lidade da funcao objetivo do problema original.
Em 1972, Marsten [54] publicou o primeiro trabalho utilizando relaxacao lagrangeana
para resolver o problema das p-medianas. Este trabalho mostra que a solucao otima do
problema e um ponto extremo de um poliedro H. O algoritmo faz uso dos multiplicadores
de Lagrange para construir um caminho atraves dos pontos extremos do poliedro H. Este
caminho gera sucessivamente solucoes para valores decrescentes de p. Apesar de o metodo
ser computacionalmente atraente, pode-se encontrar valores fracionarios de p e se pode
nao encontrar solucao para determinados valores de p.
Diversos estudos utilizam tecnicas baseadas em relaxacao lagrangeana, iniciando-se
com os trabalhos de Narula et al. em 1977 [62] e Cornuejols et al. em 1977 [14]. Outras
aplicacoes desta tecnica sao encontradas em Mulvey e Crowder em 1979 [61], Galvao em
1980 [29], Christofides e Beasley em 1982 [12], Galvao e Raggi em 1989 [28] e Beasley em
1993 [6]. Senne e Lorena em 2000 [84] demonstram a aplicacao do metodo de otimizacao
de subgradientes para resolver a relaxacao lagrangeana de problemas de p-medianas.

6.2 Metodos Heursticos


Como vimos anteriormente, os metodos exatos que garantem a determinacao da
solucao otima sao inviaveis de serem implementados para redes grandes em funcao da sua
complexidade. No entanto, os problemas de localizacao, pela sua vasta aplicabilidade, sao
de grande importancia e dessa forma, ha a necessidade de buscar maneiras de soluciona-los
de forma eficiente.
Nessas situacoes, aplicam-se metodos de aproximacao, chamados metodos heurs-
ticos, que sao procedimentos simples, na maioria das vezes intuitivos, e que produzem
solucoes consideradas satisfatorias em um bom tempo computacional. A qualidade da
42

solucao nao pode ser medida, uma vez que nao se tem conhecimento da solucao otima em
problemas envolvendo redes medias e grandes. No entanto, diversos estudiosos aplicam
testes envolvendo alguns metodos heursticos e metaheurstocos existentes, como Honer
em [44] e Galvao [26], no intuito de avaliar a qualidade da solucao apresentada por estes
para problemas aleatorios e os resultados apontam solucoes proximas nos diversos casos.
O estudo da aplicacao de metodos heursticos para resolver problemas de p-medianas
iniciou-se em 1963 com Kuehn e Hamburger [46] que propuseram a heurstica gulosa
(greedy heuristic), tambem conhecida como metodo da adicao de vertices que consiste em
adicionar recursivamente medianas a solucao. Iniciando com uma mediana e adicionando
outras sequencialmente ate que p medianas tenham sido includas.
Em 1964, Maranzana [53] utilizou uma tecnica que ficou conhecida como Metodo
da Particao de Vertices por buscar sucessivos vertices unicos de m subconjuntos destinos,
cada um associado com uma origem. Estes conjuntos vao sendo modificados e o processo
e repetido ate que se tenha uma solucao satisfatoria. Teitz e Bart em 1968 [87] apresentam
uma heurstica gulosa baseada em substituicao de vertices.
Apresentaremos a seguir alguns dos metodos heursticos:

6.2.1 Heursticas Construtivas

Essas heursticas possuem a caracterstica de iterativamente, partindo de uma


solucao inicial vazia, construir uma solucao admissvel. Em cada iteracao k, e selecionado
o melhor elemento candidato a fazer parte da solucao e inseri-lo nesta de forma a cons-
truir uma solucao parcial para a proxima iteracao. O processo e repetido ate se obter
uma solucao satisfatoria.
Uma heurstica construtiva bastante citada na literatura e o Algoritmo Guloso
(greedy heuristic), conhecida como metodo da adicao de vertices. Este algoritmo foi
desenvolvido por Kuehn e Hamburger em 1963 [44] e consiste em, iniciando com uma
mediana, ir adicionando outras sequencialmente ate que p medianas tenham sido includas.
A escolha do vertice a ser incorporado na solucao e feita com base no no que produz o
maximo decrescimo na funcao chamada de funcao gulosa, definida por:

X
c(vj , X k ) = wi d(vi , X k {vj }) (6.1)
i{lN|vl V (X k {vj })}
43

De modo que:

X k e a solucao parcial contendo k facilidades;

d(vi , X k ) e a menor distancia entre o vertice de procura vi e a facilidade mais proxima


pertencente ao conjunto X k ;

d(vi , X k {vj }) e a menor distancia entre o vertice de procura vi V (X k {vj })


e o elemento do conjunto X k {vj } mais proximo de vi

O vertice vj que minimiza a funcao 6.1 e o melhor candidato a localizar a facilidade.

Esta medida e gulosa pois analisa a cada iteracao o melhor vertice candidato a
entrar na solucao mediante analise do benefcio na iteracao corrente, sem considerar as
iteracoes futuras. Em funcao disso, este procedimento e normalmente utilizado apenas
como passo inicial dos algoritmos que precisam de uma solucao inicial viavel.
O Pseudo-Codigo do algoritmo guloso para o problema de p-medianas, segundo
[18] e:

procedimento Guloso (V, p) {


X
enquanto (|X| < p) {
calcular c(vi , X), vi V \ X
v argmin{c(vi , X) | vi V \ X}
X X {v }
}
retornar X
}

Existem modificacoes no algoritmo guloso, como o Algoritmo Guloso Aleatorizado com o


intuito de obter diversidade nas solucoes encontradas que sao o Algoritmo Guloso Alea-
torizado RPG, AGA com funcao tendencia, AGA puro (sample greedy) e AGA com lista
restrita de candidatos. Para maiores detalhes sobre cada um desses metodos, ver [18].
44

6.2.2 Heursticas de Pesquisa Local

Os algoritmos de pesquisa local sao considerados algoritmos de melhoramento e


constituem uma famlia de tecnicas baseadas na nocao de vizinhanca.
Considerando S o conjunto de solucoes admissveis, chamado de espaco de busca;
f (.) a funcao objetivo a ser minimizada e N (.) a funcao que associa a cada solucao X S,
a sua vizinhanca N (X) S. Cada solucao X 0 N (X) e chamada de vizinho de X.
Denomina-se movimento a modificacao m que transforma uma solucao X em outra, X 0 ,
que esteja na sua vizinhanca. Esta operacao de modificacao da solucao X representa-se
por X 0 X m.
Geralmente atraves de um metodo construtivo obtem-se uma solucao inicial X 0
(ou pode ser obtida aleatoriamente). Um algoritmo de pesquisa local procura, na k-
esima iteracao, melhorar a solucao corrente X k1 atraves da exploracao de solucoes que
pertencem a uma determinada estrutura de vizinhanca de X k1 . O procedimento termina
quando nao e encontrada na vizinhanca uma solucao melhor do que a solucao corrente.
As solucoes obtidas deste modo sao chamadas de mnimos locais, uma vez que minimizam
a funcao objetivo na vizinhanca definida, mas nao ha garantias de que essa solucao seja
tambem um mnimo global. Segundo [18], a garantia de sucesso de um algoritmo de
pesquisa local esta na escolha adequada da estrutura de vizinhanca, de tecnicas eficientes
de pesquisa na vizinhanca, e da solucao inicial.

Algoritmo de pesquisa em vizinhanca

O algoritmo de pesquisa em vizinhanca (neighborhood search) para o problema


de p-medianas foi proposto por Maranzana [53] em 1964. Este algoritmo inicia com um
conjunto aleatorio de cardinalidade p de vertices Vp . Cada vertice de procura vi e ligado
a facilidade mais proxima vj , criando-se assim, conjuntos de vertices Pj = {vi V |
d(vi , vj ) d(vi , vk ), vk Vp \ {vj }} tais que todos os vertices vi pertencentes ao conjunto
Pj estao ligados a mesma facilidade vj . Os vertices de procura pertencentes a um mesmo
conjunto Pj constituem a vizinhanca da facilidade vj a que estao ligadas.
Para cada localizacao de facilidade, o algoritmo identifica o conjunto de vertices
de procura que constitui a sua vizinhanca. No interior de cada vizinhanca, e encontrada
a localizacao otima de uma facilidade. Se alguma localizacao for alterada, o algoritmo
realoca os vertices de procura a facilidade mais proxima e identifica novas vizinhancas. Se
45

e alterada a constituicao de alguma das vizinhancas, o algoritmo, mais uma vez, encontra
a localizacao otima de uma facilidade no interior de cada vizinhanca. Este procedimento
e repetido ate que nao ocorreram alteracoes nas vizinhancas.
O pseudo-codigo do algoritmo de pesquisa em vizinhanca para o problema da p-
mediana apresentado em [18], onde X 0 e a solucao inicial, tem a forma seguinte:

procedimento PesquisaVizinhanca (V, c(.), X 0 ) {


k 0
repetir {
para cada vi X k {
N (vi ) determinar vizinhanca
Resolver 1-mediana em N (vi )
}
X k+1 relocalizar facilidades
} enquanto (X k+1 for diferente de X k )
// se verifiquem alteracoes nas localizacoes das facilidades
Retornar X k ;
}

Algoritmo de Pesquisa Baseada na Substituicao de Vertices - Teitz e Bart

O algoritmo de pesquisa baseada na substituicao de vertices (vertex substitution)


para o problema da p-mediana foi proposto pela primeira vez por Michael B. Teitz e Polly
Bart no artigo intitulado Heuristic methods for estimating the generalized vertex median
of a weighted graph, em 1968 [87]. O metodo e citado na literatura como um dos melhores
algoritmos para o problema das p-medianas uma vez que e de facil implementacao e produz
boas solucoes. No entanto, quando este metodo e aplicado a problemas de maior porte,
provoca uma explosao combinatorial.
O metodo parte de uma solucao inicial aleatoria X 0 composta por p localizacoes
de facilidades e, para cada vertice candidato vi , encontra, se existir, a localizacao de uma
facilidade que substituda por vi melhora ao maximo o valor da funcao objetivo. Se essa
46

localizacao de facilidade existe, entao os vertices sao trocados, e o processo e repetido para
a nova solucao corrente. Quando todos os vertices candidatos tiverem sido analisados, o
algoritmo termina com uma solucao que e um mnimo local.
O procedimento pode ser descrito da seguinte forma:

Passo 1) Selecionar um conjunto S de p vertices, formando uma aproximacao inicial do


conjunto otimo X p . Chamar todos os vertices xj 6 S de vertices nao testadose os xi S
de testados.

Passo 2) Selecionar um vertice nao testado xj 6 S, compute a reducaoij no numero


de transmissao 5.17, se xi e substitudo por xj , isto e, compute:

ij = (S) (S {xj } {xi })

Passo 3) Encontre i0 j = maxxi S [ij ]

i) Se i0 j 0 rotule o vertice xj como testado e volte ao passo 2.

ii) Se i0 j > 0 efetuar S S {xj } {xi }, rotular xj como testado e volte ao passo 2.

Passo 4) Repetir 2 e 3 ate que todos os vertices de X estejam rotulados como testados.
Este procedimento e referido como ciclo.
Se, durante o ultimo ciclo nenhuma substituicao foi feita no passo 3(ii), va ao
passo 5. Caso contrario, se foi feita alguma substituicao, rotule todos os vertices como
nao testados e retorne ao passo 2.

Passo 5) Pare. O conjunto S atual e o conjunto de p-medianas X p .


Podemos observar que o passo 1 do algoritmo consiste em selecionar um numero p
de localizacao de facilidades para fazerem parte da solucao inicial do problema denominado
conjunto S, considerando uma solucao como uma aproximacao do conjunto otimo. Neste
47

passo os vertices que nao fazem parte da solucao inicial, sao rotulados como nao testados.
No segundo passo e escolhido um vertice qualquer nao testado para ser comparado
aos vertices que estao na solucao. E feita a comparacao deste vertice com todos os vertices
da solucao e sao computadas as reducoes, ou acrescimos, no numero de transmissao , que
e representado por ij .
O passo 3 e responsavel pela escolha da maior reducao. Se esta for positiva, o
vertice e substitudo e passa a fazer parte da nova solucao, caso contrario, o vertice e
rotulado como testado e volta-se ao passo 2.
O quarto passo caracteriza o ciclo. E nesta etapa que os passos 2 e 3 sao repetidos
ate que nao haja mais alteracoes durante o ultimo ciclo completo. Caso isso ocorra, o
passo 5 e responsavel pelo fim do algoritmo e o conjunto solucao X p e considerado a
melhor aproximacao do otimo.
O pseudo-codigo do algoritmo apresentado em [18] segue:

procedimento SubstituicaoVertices (V, c(.), X 0 ) {


Xp X 0
X X 0
repetir {
para cada vi V \ Xp {
para cada vj Xp {
X (Xp \ {vj }) {vi }
calcular c(X)
}
vsub argmin {c ((Xp \ {vj }) {vi }) | vj Xp }
se c ((Xp \ {vsub }) {vi }) < c(X + ) {
Xp (Xp \ {vsub }) {vi }
X (Xp \ {vsub }) {vi }
}
}
} enquanto (existirem vertices nao analisados)
Retornar X
}
48

6.3 Metaheursticas
Devido ao avanco dos problemas de otimizacao combinatoria, foram desenvolvidos
durante as duas ultimas decadas, distintos metodos heursticos para a busca de solucoes.
Segundo Dias [18], alguns desses metodos sao estruturas genericas para a exploracao do
espaco de solucoes admissveis do problema que tratam de otimizar. Este tipo de heurstica
e usualmente conhecido por metaheurstica e a sua utilizacao em problemas de otimizacao
tem como objetivo suprir as limitacoes das heursticas tradicionais, como, por exemplo,
superar a otimalidade local. Assim, uma metaheurstica pode ser implementada para
guiar determinada tecnica a comandar o processo de busca da solucao.
As metaheursticas se dividem em duas categorias: tecnicas de busca local e de
busca populacional. Os metodos de busca local se baseiam no conceito de vizinhanca,
partindo de uma solucao inicial e explorando solucoes que podem ser alcancadas em um
movimento. As tecnicas de Busca Tabu e Simulated Annealing sao exemplos de busca
local. Em contrapartida, as metaheursticas de busca populacional partem de um conjunto
de solucoes denominado populacao inicial e sobre essa populacao sao aplicados os diversos
operadores com o objetivo de melhorar os indivduos e gerar novos integrantes. Como
exemplo dessa categoria, pode-se citar os Algoritmos Geneticos e a tecnica Scatter Search.
Abordaremos nesta secao, os princpios basicos de alguns dos procedimentos meta-
heursticos mais utilizados e reconhecidos em otimizacao combinatoria: Busca Tabu, Al-
goritmo Genetico e GRASP.

6.3.1 Busca Tabu

A Busca Tabu e uma metaheurstica que guia os procedimentos de busca local para
explorar solucoes em todo o espaco possvel, isso permite ao algoritmo ir alem do otimo
local. O procedimento de Busca Tabu foi inicialmente introduzido por Glover em 1986
em [32] para resolucao de problemas de otimizacao combinatoria. O primeiro trabalho a
aplicar o conceito de Busca Tabu ao problema de p-medianas se deve a Schilling et al. em
1996 [82].
Os principais elementos do metodo sao:
49

Configuracao e o nome dado a qualquer solucao, otima ou nao; movimento e o


processo pelo qual se gera uma nova solucao, onde um novo vertice ocupa o lugar de um
no que e retirado da solucao. O conjunto de movimentos candidatos e o conjunto de todas
as possibilidades de movimentos excluindo-se a solucao atual. Os movimentos proibidos
fazem parte de um conjunto denominado restricoes tabu.
O conjunto restricoes tabu difere a Busca Tabu de outras tecnicas. Para os proble-
mas de p-medianas, estes movimentos nao permitidos podem ser um conjunto de vertices
que foram recentemente visitados ou movimentos que nao satisfizeram certos criterios.
Para permitir excecoes, o criterio de aspiracao permite que um movimento que esteja na
lista de restricoes tabu seja utilizado. Para Honer [44], um criterio de aspiracao bastante
comum e o de ignorar a restricao sempre que o valor da configuracao (solucao) resultante
do movimento for melhor que a melhor solucao encontrada ate o momento.
Para o problema de p-medianas, Honer [44] descreve o processo de Busca Tabu
como:
A partir de uma configuracao inicial, avalia-se a funcao objetivo para esta configu-
racao. Gera-se um subconjunto de movimentos candidatos da solucao atual. Se o melhor
destes movimentos nao e um movimento pertencente a lista tabu, ou se o movimento
satisfaz o criterio de aspiracao, este vertice responsavel por este movimento passa a fazer
parte da nova configuracao corrente.
Dias [18] descreve o metodo como segue:
Dada uma solucao X S, define-se um movimento como um elemento m M (X)
que permite construir uma solucao vizinha: X 0 = X m N (X) m M (X).
Comecando com uma solucao inicial admissvel X 0 , a cada iteracao o algoritmo
explora um subconjunto C da vizinhanca N (X) da solucao corrente X. Para um problema
de minimizacao, uma solucao X 0 C, vizinha de X, para a qual a funcao objetivo c(.)
toma o menor valor em C, torna-se a nova solucao corrente, mesmo que c(X 0 ) > c(X).
Observe que umas das caractersticas principais do Busca Tabu e a aceitacao de
movimentos que levem a solucoes piores no intuito de evitar a parada prematura em
otimos locais. Por outro lado, o processo de substituicao da solucao corrente pelo melhor
vizinho pode originar ciclos, isto e, o retorno do algoritmo a uma solucao que ja foi gerada
anteriormente. Para contornar este problema, e definida uma lista T de movimentos
proibidos, chamada lista tabu.
50

A lista tabu contem os movimentos m contrarios aos ultimos |T | (parametro de


entrada do metodo que indica o numero de movimentos proibidos da lista tabu) movi-
mentos realizados. A lista tabu e uma fila de tamanho fixo: quando um novo movimento
e adicionado a lista, o mais antigo sai. Assim, na exploracao do subconjunto C da vizi-
nhanca N (X) da solucao corrente X, ficam logo excludos da pesquisa os vizinhos X 0 que
sao obtidos de X por movimentos m que constam na lista tabu.
Se por um lado a lista tabu reduz o risco de surgimento de ciclos, por outro, tambem
pode proibir movimentos para solucoes que ainda nao foram visitadas. Por isso, existe
um mecanismo chamado funcao aspiracao A(.). Para cada possvel valor cvalor da funcao
objetivo c(.), existe um nvel de aspiracao A(cvalor ) tal que uma solucao X 0 C pode ser
gerada se c(X 0 ) A(c(X)), mesmo que o movimento m pelo qual X 0 e obtido a partir
de X esteja na lista tabu. A atualizacao da funcao de aspiracao permite flexibilizar a
pesquisa, variando o nvel de proibicao a medida que o algoritmo evolui.
Dois criterios de paragem sao utilizados:

1) parar quando e atingido um certo numero maximo de iteracoes sem melhora no valor
da funcao objetivo;

2) parar quando o valor da funcao objetivo da melhor solucao encontrada atingir um


limite inferior conhecido (ou se aproxima dele).

O pseudo-codigo do algoritmo de Busca Tabu, apresentado em [18] segue:

procedimento BuscaTabu (X 0 , |T |, A(.), |C|, cmin , P Tmax ){


X X 0 , X X
k X 0 , k X
T
inicializar a funcao de aspiracao A(.)
enquanto (k k < P Tmax c(X) > cmin ) {
k k + 1
C gerar |C| solucoes X 0 = X m de N (X) : m 6 T c(X 0 ) <
A(c(X))
calcular c(X 0 ), X 0 C
X 0 argmin {c(X 0 ) | X 0 C}
51

T T \ {mmaisantigo } {mmaisrecente }
atualizar a funcao de aspiracao A(.)
X X 0
se (c(X) < c(X ))
X X, k k
}
Retornar X
}

6.3.2 Algoritmo Genetico

O Algoritmo Genetico como um metodo aproximado para resolucao de problemas


de otimizacao combinatoria, foi introduzidos em 1975 atraves do trabalho Adaptation in
Natural and Artificial Systems [43] escrito por John Holland. Os algoritmos geneticos
sao baseados na teoria da selecao natural e evolucao das especies.
A ideia Darwiana que em uma populacao, os indivduos que possuem maior chance
de sobreviver e de produzirem descendentes mais aptos sao aqueles com melhores carac-
tersticas geneticas, enquanto que os indivduos menos aptos possuem a tendencia do
desaparecimento, serve como analogia ao Algoritmo Genetico.
Os algoritmos geneticos tomam emprestado varios termos da genetica, com a qual
mantem conceitos analogos. Os termos principais sao:

Populacao: conjunto de cromossomos ou solucoes;

Cromossomo: conjunto de genes. Cada cromossomo representa uma solucao do


problema. Muitas vezes e tomado como sinonimo de indivduo ou strings;

Gene: menor unidade de informacao em um cromossomo. Cada gene representa


uma variavel da solucao do problema;

Locus: posicao de um gene em um cromossomo. Alguns genes podem ter seu locus
alterado em processos de cruzamento ou mutacao;
52

Cruzamento (ou crossover): processo de reproducao sexuada em que ha combinacao


de genes dos cromossomos originando um ou mais descendentes. O cruzamento e o
principal responsavel pela variabilidade genetica;

Mutacao: anomalias que causam a alteracao aleatoria de genes, seja na sua locali-
zacao, seja no seu conteudo;

Selecao natural: processo que elimina os indivduos menos adaptados em relacao a


cada geracao da populacao;

Geracao: iteracao do algoritmo genetico;

Aptidao (ou fitness): indicador qualitativo de um indivduo. O grau de aptidao de


um indivduo e obtido a partir de uma funcao objetivo;

Funcao objetivo: e a funcao matematica ja vista que avalia as solucoes (indivduos)


em relacao ao problema.

Mercado [58], especifica o Algoritmo Genetico como um processo iterativo que man-
tem uma populacao de estruturas (indivduos, cromossomos), que representam possveis
solucoes de um determinado problema. Dias [18] descreve que em um Algoritmo Genetico,
cada indivduo da populacao contem a codificacao de uma possvel solucao do problema.
A forma como as solucoes sao codificadas varia em funcao das caractersticas do problema
em questao, sendo normalmente usada a codificacao binaria. Nos algoritmos geneticos
com codificacao binaria, os indivduos sao representados por vetores de dgitos binarios,
onde cada elemento de um vetor denota a presenca (1) ou ausencia (0) de um determinado
atributo. Cada um desses atributos e conhecido como gene. Os possveis valores que um
determinado gene pode assumir sao denominados alelos. No caso particular do problema
de p-medianas, cada cromossomo e, geralmente, representado por uma cadeia constituda
pelos p ndices dos vertices selecionados para localizacoes das facilidades.
Nos metodos vistos anteriormente, em cada iteracao era operada uma unica solucao.
ja no Algoritmo Genetico, isto nao acontece, pois ele opera com uma populacao de solucoes
admissveis, que sao os cromossomos. O algoritmo parte de uma populacao inicial aleatoria
de indivduos, que evolui atraves das geracoes que sao iteracoes sucessivas. Este processo
segue ate ser encontrada a solucao otima ou uma solucao satisfatoria.
53

Segundo Dias, [18], na iteracao k, uma nova populacao Pk e criada atraves de uma
fase de reproducao de alguns indivduos da populacao Pk1 . Esta fase de reproducao
consiste na selecao de indivduos da geracao Pk1 para operacoes de cruzamento e/ou
mutacao. A selecao de indivduos pode ser aleatoria ou baseada no valor da funcao
aptidao que avalia a qualidade de cada indivduo enquanto solucao do problema.
Para Honer [44], no caso especfico do problema das p-medianas onde se deseja obter
o menor numero de transmissao possvel, os indivduos mais aptos serao aqueles que terao
os menores valores na funcao objetivo, tendo maiores chances de sobreviver. No algoritmo,
logo apos a criacao da populacao inicial, e avaliado o fitness de cada indivduo e, de
acordo com este valor, eles sao colocados ordenadamente em uma lista. A selecao de bons
cromossomos para progenitores orienta o algoritmo para as melhores regioes do espaco
de pesquisa, uma vez que a informacao (material genetico) por eles transportada sera
transferida para os seus descendentes. Os escolhidos passarao pelos operadores geneticos
para formar a proxima geracao.
O operador de cruzamento ou crossover consiste em recombinar as caractersticas
dos pais durante a reproducao, gerando assim novos indivduos para as futuras geracoes.
Baseado neste processo evolutivo, no Algoritmo Genetico, os cromossomos de dois proge-
nitores sao combinados de forma a gerar cromossomos filhos (normalmente dois) atraves
da copia de partes dos seus genes.
O operador genetico de mutacao modifica, em uma taxa muito baixa, aleatoria-
mente um unico gene (ou componentes da solucao). Os filhos resultantes da operacao
cruzamento podem ser sujeitos a uma operacao mutacao. De acordo com Dias [18], o ope-
rador mutacao tem como objetivo introduzir variedade genetica na populacao evitando
assim a parada prematura do algoritmo em um otimo local.
Para determinar a populacao sobrevivente, e utilizada a funcao de aptidao. Con-
forme Dias [18], os seguintes criterios podem ser utilizados para a escolha dos indivduos
sobreviventes:

i) Aleatorio;

ii) Roleta, que e o criterio mais utilizado, onde a hipotese de sobrevivencia de um


cromossomo e proporcional ao seu nvel de aptidao;

iii) Misto, isto e, uma combinacao dos dois criterios anteriores.


54

O metodo termina quando um dos seguintes criterios se verifica:

a) um numero maximo de geracoes e atingido;

b) a melhor solucao encontrada atinge um certo nvel de aptidao;

c) nao ha melhora na solucao durante um certo numero de iteracoes.

Podemos observar a existencia de um numero significativo de parametros de en-


trada do algoritmo:

i) tamanho da populacao inicial;

ii) funcao aptidao;

iii) probabilidades de ocorrencia dos operadores de cruzamento e mutacao;

iv) tipo de operador de cruzamento;

v) metodo de selecao de progenitores;

vi) criterio de parada.

O Pseudocodigo do Algoritmo Genetico encontrado em [18] segue:

procedimento AlgoritmoGenetico( ){
X X 0
P 0 gerar populacao inicial
Avaliar aptidoes dos indivduos de P 0
enquanto (criterio de parada nao for satisfeito){
k k + 1
P k gerar populacao a partir de P k1
Avaliar aptidoes dos indivduos de P k
P k selecionar populacao sobrevivente
}
X selecionar a melhor solucao de P k
retornar X
}
55

6.3.3 Metodo GRASP - Greedy Randomized Adaptive Search


Procedure

O metodo GRASP foi desenvolvido por Feo e Resende em [25] e um procedimento


guloso aleatorizado e adaptativo que tem como princpio a combinacao de um metodo
construtivo com um metodo de busca local, em um procedimento iterativo com iteracoes
totalmente independentes.
E um metodo baseado em duas etapas: uma fase de construcao de uma solucao,
gerada elemento a elemento atraves de um algoritmo guloso aleatorizado, e uma fase de
melhoramento, utilizando um metodo de busca local, para procurar um otimo local na
vizinhanca da solucao construda. Este procedimento repete-se um determinado numero
de vezes e a melhor solucao encontrada no conjunto de todas as iteracoes GRASP e
devolvida como solucao aproximada do problema.
Especificamente no problema de p-medianas, na fase de construcao do GRASP,
costuma-se utilizar o algoritmo guloso aleatorizado e avaliar o benefcio de cada elemento
para entao criar uma lista restrita de candidatos (RCL), formada pelos elementos de
melhor avaliacao. Na utilizacao deste procedimento de construcao reside a componente
probabilstica do GRASP [18], uma vez que o elemento selecionado para integrar a solucao
e escolhido aleatoriamente dentre os melhores candidatos da lista RCL, pelo que este
elemento pode nao ser necessariamente o melhor candidato existente. Assim, repetidas
aplicacoes do procedimento de construcao originam diferentes solucoes iniciais para a
pesquisa local.
Segundo Resende [79], assim como em muitos metodos determinsticos, nao ha
garantia de que a solucao gerada pela fase de construcao GRASP seja otima, entao torna-
se util empregar uma busca local para tentar melhorar cada solucao construda. Enquanto
tais procedimentos de otimizacao local podem requerer tempo exponencial, a partir de um
ponto inicial arbitrario, empiricamente sua eficiencia significativamente melhora quando
a solucao inicial melhora.
Com isso, pode ser aplicado na fase de melhoramento do GRASP qualquer metodo
de pesquisa local, mas o procedimento de busca local padrao para o problema de p-
medianas e o metodo de Teitz e Bart, o qual descrevemos na subsecao 6.2.2. Pode-
56

mos observar que o metodo GRASP e baseado na realizacao de multiplas iteracoes e na


manutencao da melhor solucao encontrada, (cada iteracao se beneficia da qualidade da
solucao inicial) nao sendo vantajoso deter-se no melhoramento de uma dada solucao [18].
Uma das vantagens da utilizacao do GRASP e a facilidade de implementacao, pois
as heursticas gulosas sao simples de projetar e implementar. Alem disso, poucos sao os
parametros a serem ajustados (restritividade da lista de candidatos, atraves da utilizacao
de um parametro para a selecao de elementos da lista RCL para o procedimento guloso
aleatorizado com RCL e o numero de iteracoes max Itr, usado como criterio de parada).
O pseudo-codigo apresentado a seguir e descrito em [18] trata do Metodo GRASP
para um problema de minimizacao em geral. O Pseudocodigo do Algoritmo GRASP
segue:

procedimento GRASP (maxItr, ) {


c +
para k = 1 ate maxItr {
X ConstrucaoGulosaAleatorizadaComRCL C()
X PesquisaBaseadaSubstituicaoVertices(X)
se (c(X) < c ) {
c c(X)
X X
}
}
Retornar X
}

Em 2003, Resende e Werneck apresentaram em [69] uma heurstica hbrida para


o problema de p-mediana, que assemelha-se ao GRASP no sentido de que e um metodo
multi-partida, onde em cada iteracao e usado um algoritmo construtivo guloso aleatori-
zado para gerar uma solucao admissvel, submetida a um processo de melhoramento por
pesquisa local, especificamente, o metodo de Teitz e Bart.
Captulo 7

Uma Modificacao Proposta para o


Metodo de Teitz e Bart
Fundamentada na Teoria Espectral

Dentro da revisao bibliografica realizada, observamos a importancia do metodo de


Teitz e Bart para a determinacao da solucao de problemas de p-medianas por apresentar
qualidade de solucao e facilidade de implementacao. Este metodo de resolucao e utilizado
em diversos trabalhos e aplicado em uma grande variedade de problemas reais, como
ocorre no problema de Estacionamentos Rotativos [9] e de Rotas de Coleta de Resduos
Urbanos [17]. No entanto, como ja vimos na secao 6.2.2, o algoritmo de Teitz e Bart
encontra a solucao atraves de uma procura exaustiva que, quando aplicado a problemas
com um grande numero de vertices, acarreta em uma explosao combinatorial. Honer [44]
em 2009, tracou um comparativo entre alguns metodos e concluiu que o metodo de Teitz
e Bart apresentou melhor qualidade de solucao mas o tempo de processamento deixa a
desejar em redes medias e grandes.
Desde sua criacao em 1968, alguns estudiosos vem buscando melhorias para o
metodo de modo a encontrar boas solucoes em um tempo razoavelmente satisfatorio e isto
pode ser observado sobre o trabalho de Eilon e Galvao [19] de 1978 e Whitaker em 1983
[90]. Atualmente, alguns autores como, Detofeno e Steiner [17] e Mayerle [57], propoem
melhorias na estrutura do algoritmo classico de Teitz e Bart para resolver problemas
de grande porte, no entanto, que ambas as modificacoes foram elaboradas a partir da
expertise dos autores.
58

No algoritmo de Teitz e Bart modificado de Mayerle [57], fez-se uso de um raio de


busca que limita a substituicao de nos. Este raio impede que pontos distantes da mediana
atual sejam testados, o que reduz o tempo de processamento da busca sem que haja
perdas significativas na qualidade da solucao. Este metodo e destinado principalmente
para problemas de grande porte.
Ja Detofeno e Steiner [17] propoem testar inicialmente a distancia entre cada um
dos vertices pertencentes a solucao corrente e os vertices que nao fazem parte dela. Caso
os vertices da nova formacao do conjunto solucao estejam muito proximos, entao conclui-
se que o algoritmo esta realizando uma combinacao de p-medianas desnecessaria, sendo
que o calculo da reducao do numero de transmissao nao precisa ser calculado.
Neste captulo, tambem propomos uma modificacao no algoritmo de Teitz e Bart
que possa vir a auxiliar na resolucao de problemas de grande porte, inicialmente modelados
por grafos completos e nao ponderados, podendo ser realizado um estudo posterior onde
as ponderacoes poderao ser levadas em consideracao. A vantagem da proposta esta em
partir de uma boa solucao inicial, que garantira a preservacao da qualidade da solucao
que ocorre em redes pequenas. Depois, vertices sao excludos da avaliacao, evitando a
explosao combinatorial que ocorre no metodo de Teitz e Bart tradicional. A proposta sera
detalhada atraves da descricao do metodo que utiliza a Teoria Espectral como seu cerne.
Ao final do captulo, apresentaremos os resultados dos testes computacionais realizados
bem como a comparacao feita entre os metodos.

7.1 Grafos e o Espectro da Matriz de Distancias


Nos problemas de localizacao apresentados no Captulo 5, busca-se a localizacao
ideal para instalar facilidades minimizando os custos de atendimento desta aos pontos de
demanda. Desde a decada de 60, esses problemas passaram a ser modelados a partir da
teoria de grafos e apresentamos na secao 5.3.1 que Hakimi mostrou que a solucao constitui
de vertices do grafo.
Na teoria de grafos, ha diversas formas de medir o quao importante e um vertice
em relacao aos demais, a estas formas chamamos de medidas de centralidade. Entretanto
um vertice nao necessariamente estara na mesma posicao de centralidade nas diversas
medidas. Isto acontece devido ao fato que a expressao utilizada para o calculo de cada
59

medida esta associada a um significado distinto das demais. Por isso, ao analisar um grafo
atraves da centralidade de seus vertices, deve-se identificar o contexto do problema para
escolher qual medida e a mais adequada [7].
Dentre as medidas de centralidade existentes, podemos citar:

A Medida de Grau, que representa um importante aspecto da posicao estrutural de


um vertice e atribui importancia ao vertice em funcao do numero de ligacoes diretas
(arestas) que o mesmo estabelece com os demais vertices. Seu valor e calculado pelo
grau do vertice em questao definido em 2.0.3.

A Medida de Proximidade ou tambem conhecida como Closeness, que aponta o


quanto um vertice esta proximo dos demais vertices do grafo e e calculado em um
grafo com n vertices e a distancia mnima entre os vertices vi e vj segue a definicao
2.0.12:
1
Cc (vi ) = Pn
j=1 d(vi , vj )

A Centralidade de Autovetor atribui relevancia a um vertice em funcao de sua


relacao com os demais vertices do grafo. Se um vertice esta ligado a outros que se
encontram em uma posicao central na rede, o mesmo tera centralidade de autovetor
alta, isto e, sejam x1 , x2 , ..., xi , ..., xn as medidas de centralidade de autovetor de
cada um dos n vertices tem-se que a centralidade de autovetor de um vertice i e
proporcional a soma das medidas de centralidades dos vertices ligados a ele, ou:

xi = ai1 x1 + ai2 x2 + ... + ain xn

Onde aij , j = 1, ..., n sao os elementos da matriz de adjacencia do grafo definida em


2.0.9.

Observe que Ax = x onde A e a matriz de adjacencia e assim, e um autovalor de


A e x e o autovetor associado a ele. Como busca-se o vertice de maior centralidade
e as medidas devem ser todas positivas, e x devem ser o autovalor e autovetor
dominantes de A definidos em 3.1.3 e quanto maior o valor de da componente xi do
autovetor x, maior sera a centralidade do vertice vi .

No contexto dos problemas de localizacao, um vertice e considerado mais central


quando e diretamente conectado a vertices tambem centrais, quando ha um grande numero
60

de conexoes entre ele e os demais vertice e ainda quando a soma das distancias mnimas
do vertice aos demais e a menor, isto e, seria ideal que todas as medidas de centralidades
fossem satisfeitas simultaneamente por um mesmo vertice. Neste sentido foi estudado
o espectro da matriz de distancias, mais especificamente o autovetor dominante desta
matriz e algumas conclusoes puderam ser obtidas.
Primeiramente, foi provada uma relacao entre a menor componente do autovetor
dominante da matriz distancia-peso e o vertice de maior centralidade Closeness. Enun-
ciaremos esta relacao no seguinte teorema:

Teorema 7.1.1 Seja A uma matriz de ordem n, irredutvel e nao-negativa, M o au-


tovalor e x = (x1 , ..., xn ) o autovetor unitario dominantes de A. Considerando xi =
minj=1,...,n {xj }, entao M xi M xk se, e somente se, para k = 1, ..., n, temos

n
X n
X
aij akj
j=1 j=1

Demonstracao: Como x e autovetor dominante de A associado ao autovalor M , temos que,


para k = 1, 2, ..., n
Ax = M x
n
X
akj xj = M xk
j=1

Considerando
n
n
X Xn
aij = min akj

j=1 j=1
k=1

Como |x| = 1 temos que xj 1, j = 1, 2, ..., n. Chamaremos este fato de ().


Assim

M xi M xk


n
X n
X
aij xj akj xj
j=1 j=1


n
X
0 (akj xj aij xj )
j=1
61


n
X
0 (akj aij )xj
j=1

De () segue que:

n
X n
X
0 (akj aij )xj (akj aij )
j=1 j=1


n
X n
X
0 akj aij
j=1 j=1


n
X n
X
aij akj
j=1 j=1


Este teorema traz um resultado geral, pois vale para toda matriz irredutvel e nao-
negativa e garante que se uma componente do autovetor dominante unitario, existente
a partir do teorema 4.2.5 de Perron-Frobenius , desta matriz e a menor, entao a soma
das entradas da respectiva linha dessa matriz tambem sera a menor. A partir do estudo
realizado no captulo 4, podemos concluir que em grafos conexos (sempre sera o caso em
grafos que modelam os problemas de localizacao), a matriz de distancias (ou distancia-
peso em grafos com vertices ponderados definida em 2.0.13) sera irredutvel e nao-negativa
e com isso, o teorema mostra especificamente que o vertice mais central com relacao a
medida Closeness tambem sera o vertice que possui menor componente do autovetor
dominante da matriz de distancia e que a mediana de um grafo com vertices ponderados
tambem pode ser encontrada a partir da menor componente do autovetor dominante
da matriz distancia-peso deste grafo e determinada a partir do metodo das potencias
especificado em 3.2.
Por outro lado, a ordenacao do autovetor dominante da matriz distancia-peso induz
a uma nova medida de centralidade, visto que, sendo A esta matriz de um grafo G, cujos
vertices sao ponderados, com entradas wj dij iguais a distancia mnima do vertice vi ao
vertice vj multiplicada pelo peso de vj e x = (x1 , x2 , ..., xn ) o autovetor dominante unitario
de A, temos que:
62

M xi = w1 di1 x1 + w2 di2 x2 + ... + wn din xn

Com isso, obtemos um novo prestgio para o vertice vi que leva em consideracao as
distancias deste aos demais vertices, alem do peso de cada vertice. Como nos problemas
de localizacao o objetivo e minimizacao, temos que o vertice e mais central quanto menor
for xi , isto e

1
CADP (vi ) =
xi
Esta forma de medir a importancia de um vertice do grafo e eficiente quando, alem
do objetivo ser minimizar a soma das distancias obtidas em Closeness, for necessario obter
um peso atribudo a cada vertice de acordo com o prestgio dos vertices aos quais ele esta
ligado. Para ilustrar, veremos a seguir um exemplo pequeno, mas que justifica a utilizacao
dessa nova medida de centralidade.
Considere o grafo abaixo:

Figura 7.1: Exemplo ilustrativo de centralidade do autovetor das distancias

A matriz de distancia-peso, a centralidade Closeness bem como a centralidade do


autovetor das distancias deste grafo sao dadas pela tabela 7.1, considerando o peso do
vertice C = 3 e vertice D = 4.

Atraves da tabela 7.1 podemos observar que os vertices C e D sao mais proximos
dos demais vertices em iguais proporcoes com Cc = 4.12. Mas como definir qual o vertice
63
1
A B C D E Cc1 CADP
A 0 1.0000 3 1.0000 4 1.4142 1.5811 4.9954 0.6200
B 1.0000 0 3 1.4142 4 1.0000 1.5811 4.9954 0.5597
C 1.0000 1.4142 3 0 4 1.0000 0.7071 4.1213 0.3504
D 1.4142 1.0000 3 1.0000 4 0 0.7071 4.1213 0.2070
E 1.5811 1.5811 3 0.7071 4 0.7071 0 4.5765 0.3695

Tabela 7.1: Distancias mnimas e pesos - centralidade Closeness e Autovalor das Distancias
Ponderadas

mais importante desta rede? E claro que atraves de suas ponderacoes podemos concluir
que e o vertice D por ter maior peso, mas como fica a analise dos vertices A e B, por
exemplo que estao ambos ligados a C e a D e possuem mesma Cc ?
Atraves da ordenacao em ordem crescente das componentes do autovetor domi-
nante da matriz distancia-peso deste grafo, dados na coluna CADP da tabela 7.1, obtemos
a seguinte ordem: {D, C, E, B, A}.
Podemos observar que o vertice D e o mais central da rede pois alem de ser mais
proximo dos demais vertices, possui maior peso, seguido do vertice C que possui a mesma
Closeness de D mas nao e tao ponderado. Na sequencia, analisando o vertice E, alem
de ser o terceiro em Closeness, e o terceiro de acordo com a ordenacao do autovetor e
observamos que isto ocorre devido ao fato de E estar ligado aos vertices mais importantes
C e D da rede alem de ser o vertice que esta ligado a D com uma menor distancia. Ja os
vertices B e A que tambem possuem mesma Closeness estando empatados em ultimo lugar
nesta escala, ha uma diferenca entre eles em relacao a medida do autovetor distancia-peso
uma vez que B esta melhor situado na rede do que A pois podemos observar que o vertice
B esta ligado ao vertice mais importante D a uma menor distancia que o vertice A.
Como vimos, diversos sao os aspectos que a ordenacao do autovetor dominante
da matriz distancia-peso nos aponta com relacao aos vertices do seu grafo. Com isso
definimos:

Definicao 7.1.1 Seja G um grafo fortemente conexo e A sua matriz distancia-peso cujo
autovetor dominante e representado por x. Definimos a medida de centralidade a qual
chamamos de centralidade ADP para os vertices vi de G como sendo o inverso da
componente xi de x, isto e:
1
CADP (vi ) =
xi

Em grafos completos com vertices nao ponderados, podemos observar a relacao


64

entre a ordenacao das centralidades de autovetor distancia-peso dos vertices e a carac-


terstica do grafo. Observe o grafo da figura 7.2

Figura 7.2: Exemplo ilustrativo de uma rede para ser calculado o autovetor dominante

A ordenacao das centralidades de autovetor distancia-peso segue:

P20 P57 P4 P15 P53 P28 P69 P48 P65 P76


P63 P1 P98 P95 P67 P82 P61 P33 P90 P52
P34 P10 P8 P6 P64 P19 P99 P83 P81 P18
P85 P50 P11 P25 P93 P60 P86 P27 P44 P96
P31 P14 P70 P43 P71 P41 P2 P12 P84 P77
P94 P75 P42 P87 P72 P3 P24 P29 P51 P66
P54 P79 P91 P92 P55 P73 P62 P30 P58 P38
P39 P37 P74 P97 P21 P9 P49 P100 P23 P26
P32 P88 P17 P7 P80 P22 P40 P68 P45 P5
P56 P78 P36 P16 P47 P35 P89 P59 P46 P13

Tabela 7.2: Ordenacao dos vertices mais centrais com relacao a centralidade de autovetor
distancia-peso

Atraves da ordenacao mostrada na tabela 7.2, podemos observar os aspectos fsicos


dos vertices do grafo, sendo que os vertices de maior centralidade de autovetor distancia-
peso sao aqueles de melhor localizacao fsica da rede e assim, melhores possveis candidatos
65

a mediana. A figura 7.3 mostra o vertice em rosa P 20 de melhor centralidade CADP


e vertice mediana da rede. Os proximos 20 vertices da ordenacao da tabela 7.2 sao os
vertices em verde da figura, os proximos 20 sao os pontos em azul, e assim sucessivamente,
ficando evidente atraves da centralidade ADP, a caracterstica estrutural dos vertices em
grafos com vertices nao ponderados.

Figura 7.3: Ordenacao do autovetor dominante e relacao com os aspectos do grafo

Atraves dessa nova medida para calcular os vertices mais centrais de uma rede e
da prova que ele vale para a determinacao de uma mediana (teorema 7.1.1), elaboramos
um novo metodo baseado no algoritmo de Teitz e Bart, mas que utiliza os vertices mais
centrais como conjunto solucao inicial, alem de apontar os proximos vertices a serem
testados. Na secao a seguir, descreveremos o metodo.

7.2 Descricao do Metodo


A seguir apresentaremos os passos do algoritmo bem como discorreremos sobre
cada um deles. Os 5 primeiros passos sao responsaveis por uma das contribuicoes do
trabalho, uma vez que atraves destes e apresentada a estrategia de obtencao de uma boa
solucao inicial. Os demais, constituem a modificacao do metodo classico de Teitz e Bart.
66

Passo 1: Divida a regiao R em p regioes, de modo que R = R1 R2 ... Rp

Passo 2: Aplique o metodo das potencias em cada uma das p regioes, determinando assim os
autovetores dominantes V1 , V2 , ..., Vp de cada uma delas.

Passo 3: Para cada vetor Vi , com i = 1, ..., p, forme conjuntos Vi0 com os vertices correspon-
dentes as componentes de Vi em ordem crescente.

Passo 4: Considere um percentual do total de elementos de Vi0 . Para cada conjunto Vi0 do
passo 3, forme subconjuntos ordenados Xi com os j primeiros elementos de Vi0 .
Denote esses subconjuntos por: Xi = {xin Xi , com n = 1, ...j}

Passo 5: Forme o conjunto S, chamado solucao inicial do problema, atraves de S = {xi1


Xi , i = 1, ..., p}. Calcule o valor da Funcao Objetivo para o conjunto S ((S)).

Passo 6: Rotule os vertices de xik (Xi S), como nao testados.

Passo 7: Para algum i, selecione o elemento xik (Xi S) nao testado, mais proximo de
xin S de acordo com a ordenacao de Xi .

Passo 8: Compute a reducaoink no numero de transmissao 5.17, da substituicao de xin por


xik , isto e, compute:

ink = (S) (S {xik } {xin })

i) Se ink 0 rotule o vertice xik como testado e volte ao passo 7.

ii) Se ink > 0 efetuar S S {xik } {xin }, rotular xik como testado e volte ao
passo 7.

Passo 9: Repetir 7 e 8 ate que todos os vertices dos subconjuntos Xi estejam rotulados como
testados. Este procedimento e referido como ciclo.

Se, durante o ultimo ciclo nenhuma substituicao foi feita no passo 8(ii), va ao passo
10. Caso contrario, se foi feita alguma substituicao, rotule todos os vertices como
nao testadose retorne ao passo 7.
67

Passo 10: Pare. O conjunto S atual e o conjunto de p-medianas X p .

O primeiro passo do algoritmo e identificar p aglomeracoes de vertices. Dessa


forma, a rede e particionada em p regioes as quais estarao as provaveis p medianas.
O fato do metodo partir de aglomeracoes onde possivelmente estarao localizadas as
medianas facilita a aplicabilidade em problemas dinamicos os quais as regioes de atendi-
mento e o numero de centros varia ao longo do tempo, como e o caso do problema do
estacionamento rotativo especificado em [9].
Cada regiao determinada no primeiro passo corresponde a um subgrafo. Logo, no
passo 2, aplicamos o metodo das potencias descrito em 3.2 sobre a matriz de distancias
mnimas correspondente a cada subgrafo para o calculo dos p autovetores dominantes.
O terceiro passo ordena as componentes de cada autovetor determinado no passo
2 e para cada um dos autovetores formam-se conjuntos com os vertices correspondentes
as componentes ordenadas.
O passo 4 e responsavel pela exclusao dos vertices menos centrais de cada regiao,
de acordo com a centralidade de autovetor distancia-peso vista em 7.1.1. Um percentual
e estabelecido, formando subconjuntos cujos elementos sao os vertices correspondentes as
primeiras componentes dos autovetores do passo 3.
O passo 5, seleciona o primeiro elemento de cada subconjunto do passo 4, formando
o conjunto solucao inicial. Para este conjunto, e calculado o valor da Funcao Objetivo.
No passo 6, rotulamos os vertices que nao fazem parte do conjunto formado no
passo 5 como nao testados.
No passo 7 esta a segunda contribuicao do trabalho, uma vez que, ao contrario
do Teitz e Bart tradicional que compara todos os vertices de S com um vertice qual-
quer nao testado, a modificacao proposta indica qual o vertice nao testado sera utilizado
para realizar a comparacao com apenas um vertice especfico da solucao corrente S. A
proposta, de acordo com 7.1.1, utiliza o fato de que os vertices candidatos a mediana
seguem a ordenacao das componentes do autovetor dominante e, ainda, que em grafos
nao ponderados, nao ocorre de vertices de uma mesma aglomeracao serem medianas de
uma rede, tornando-se desnecessaria a analise da possibilidade de dois ou mais vertices
de uma mesma aglomeracao fazerem parte simultaneamente do conjunto solucao.
No oitavo passo, e feita a comparacao entre os valores da Funcao Objetivo do
conjunto solucao corrente e do conjunto formado pela substituicao de um vertice xin S
68

pelo vertice nao testado xik (Xi S) mais proximo na ordenacao de Xi . Se o valor da
Funcao Objetivo diminuir, e feita a substituicao e xik passa a fazer parte da nova solucao,
caso contrario, ele e rotulado como testado e volta-se ao passo 7.
O ciclo e caracterizado no passo 9. E nesta etapa que os passos 7 e 8 sao repetidos
ate que nao haja mais alteracoes durante o ultimo ciclo completo. Caso isso ocorra, o
passo 10 e responsavel pelo fim do algoritmo e o conjunto solucao X p e considerado a
melhor aproximacao do otimo.
Para fins de ilustracao do algoritmo proposto neste trabalho, apresentamos um
exemplo de sua aplicacao dando enfoque a cada passo especificado.
Considere o mapa da figura 7.4, que mostra a zona de estacionamento rotativo
da cidade de Rio Grande, onde os pontos em vermelho representam a localizacao dos
parqumetros. Suponhamos que em um determinado horario do dia, apenas tres fiscais
sejam suficientes para atender a todos os parqumetros. Buscamos saber a localizacao
ideal dos fiscais bem como os parqumetros que cada um ira atender de modo a minimizar
a soma das distancias percorridas por eles.

Figura 7.4: Mapa da regiao de estacionamento rotativo da cidade de Rio Grande


69

As coordenadas (x,y) dos parqumetros foram utilizadas, formando assim os ver-


tices de um grafo considerado completo cujas distancias entre eles e a distancia Euclidiana.

Figura 7.5: Vertices que representam os parqumetros

Passo 1) De acordo com o problema, buscamos tres medianas, entao, dividimos a regiao
em tres regioes de acordo com uma maior aglomeracao de pontos. A divisao feita pode
ser vista na figura 7.6

Figura 7.6: Divisao da rede em tres regioes

Em cada uma das tres regioes, sao obtidos tres grafos os quais sao determinados a
matriz de distancias mnimas de cada um deles.
70

Passo 2) Em cada uma das tres matrizes, e aplicado o metodo das potencias 3.2 e atraves
dele, determinado os autovetores dominantes V1 , V2 , V3 de cada regiao.

Passo 3) Cada componente do autovetor corresponde a um valor que esta associada a um


vertice. No passo tres, as componentes sao ordenadas e computada a ordem dos vertices
correspondentes. Neste problema, foram obtidos os conjuntos:

V10 = {P 22, P 21, P 23, P 35, P 19, P 20, P 24, P 6, P 38, P 36,

P 17, P 7, P 34, P 18, P 37, P 45, P 1, P 44, P 2, P 46}

V20 = {P 32, P 30, P 31, P 33, P 39, P 40, P 27, P 29, P 41, P 25, P 42, P 43}

V30 = {P 11, P 10, P 9, P 12, P 16, P 15, P 8, P 5, P 13, P 4, P 28, P 3, P 26, P 14}

Passo 4) Para este exemplo, consideremos o percentual de 30% dos elementos dos conjuntos
Vi0 e formaremos subconjuntos com apenas esta porcentagem de elementos.

X1 = {P 22, P 21, P 23, P 35, P 19, P 20}

X2 = {P 32, P 30, P 31, P 33}

X3 = {P 11, P 10, P 9, P 1}

Passo 5) E formada a solucao inicial com os primeiros elementos de cada subconjunto


Xi , isto e S = {P 22, P 32, P 11}. E calculado o valor da Funcao Objetivo de S. Isto e,
4.535, 36

Passo 6) Os vertices de Xi que nao fazem parte de S sao rotulados como nao testados.

Passo 7) Para algum i, escolhemos i = 3. Selecionaremos o vertice de X3 nao testado,


mais proximo de P 11, ou seja, P 10.
71

Passo 8) Calculamos a reducao:

312 = (S) (S {x32 } {x31 })

312 = 4.535, 3 4.494, 02 = 41, 28

Como 12 > 0 o vertice x32 , isto e, o segundo vertice da ordenacao do conjunto X3 fara
parte da solucao no lugar do vertice x31 que representa o primeiro vertice de X3 . Assim
S = {P 22, P 32, P 10} e a nova F.O = 4.494, 02. P 10 e rotulado como testado e voltamos
ao passo 7.

Escolhemos agora i = 1. O vertice a ser testado entao sera o vertice P 21 e sera testado
no lugar do P 22.
112 = 4.494, 02 4.484, 43 > 0

Assim, P 21 fara parte da solucao no lugar de P 22. O conjunto S sera S = {P 21, P 32, P 10}
e F.O = 4.484, 43. P 21 e rotulado como testado e voltamos ao passo 7.

Escolhemos i = 2. O vertice a ser testado sera o segundo da ordenacao de X2 , ou seja,


P 30. Assim:
212 = 4.484, 43 4.649, 39 < 0

Entao, P 30 nao fara parte da solucao e sera rotulado como testado. O conjunto S per-
manece e voltamos ao passo 7.

Escolhemos i = 3 e o vertice a ser testado sera P 9 no lugar de P 10.

323 = 4.484, 43 4.576, 82 < 0

Entao, P 9 nao fara parte da solucao e sera rotulado como testado. O conjunto S per-
manece e voltamos ao passo 7.

Escolhemos i = 1. O vertice a ser testado no lugar de P 21 sera o P 23.

123 = 4.484, 43 4.729, 12 < 0


72

Entao, P 23 nao fara parte da solucao e sera rotulado como testado. O conjunto S per-
manece e voltamos ao passo 7.

Depois de testados, sem sucesso, no lugar de P 10, os vertices ainda nao testados, P 12 e
P 11, no lugar de P 32 os vertices P 31 e P 33 e por fim, no lugar de P 21 os vertices P 35,
P 19, P 20, P 22, o conjunto de 3-medianas para esta rede sera X 3 = {P 21, P 32, P 10}.

Obtemos as seguintes alocacoes:

Figura 7.7: Solucao do problema para tres medianas

Isto significa que em cada ponto rosa da figura abaixo sera o parqumetro de refe-
rencia do fiscal e este atendera os parqumetros unidos a este pelas arestas.

Figura 7.8: Solucao do problema para tres medianas


73

7.3 Comparacao e Analise dos Resultados


O metodo de Teitz e Bart e o metodo proposto foram desenvolvidos em linguagem
Delphi com Object Pascal. Os testes foram realizados em um computador Intel Atom
de 2Ghz, com 1GB de memoria em um sistema operacional Windows XP. A interface do
programa desenvolvido e apresentado na figura 7.9

Figura 7.9: Solucao do problema para tres medianas

Para avaliar a eficiencia das tecnicas propostas foram gerados 104 problemas aleatorios.
Estes problemas foram resolvidos pelos dois algoritmos e foram considerados pesos dos
vertices iguais a um. Alem disso, foi escolhida a porcentagem de 30% das componentes or-
denadas do autovetor dominante de cada regiao. Neste trabalho, convenciona-se o termo
redes medias para problemas de 150 a 500 nos, enquanto que redes grandes para problemas
de 500 ate 1000 nos.
Em cada rede media criada, foram feitos testes que buscavam a localizacao de 5
a 30 medianas. Ja para cada rede grande, buscou-se determinar de 1 a 30 medianas. O
74

objetivo dos testes foi classificar o comportamento dos algoritmos aplicados ao problema
das p-medianas quanto a qualidade da solucao, quanto ao tempo e quanto ao numero de
reducoes da funcao objetivo.
Os resultados obtidos nos testes computacionais realizados em redes medias estao
especificados na figura 7.10 enquanto que os resultados em redes grandes foram apresen-
tados na figura 7.11.
Nos graficos 7.12 e 7.13, o eixo horizontal corresponde ao numero do teste realizado,
enquanto que o eixo vertical corresponde ao numero de reducoes da funcao objetivo.
Atraves de sua analise, podemos observar que tanto em redes de porte medio quanto em
redes de porte grande, o numero de reducoes da funcao objetivo e significativo quando
comparado ao metodo de Teitz e Bart classico que parte de uma solucao aleatoria. Alem
disso, o numero de reducoes indica que a estrategia de obtencao da solucao inicial e
apropriada pois explora regioes promissoras na busca por melhores solucoes.
Atraves da analise dos graficos 7.14 e 7.15 e possvel verificar que o tempo de
processamento torna-se mais significativo quanto maior o numero de medianas, sendo que
este se manteve sempre inferior no processamento do metodo proposto.
Por fim, e possvel concluir atraves dos graficos das figuras 7.16 e 7.17 que tanto
em redes medias quanto em redes grandes, a qualidade de solucao final, isto e, o valor da
funcao objetivo para o conjunto apresentado como solucao do problema, se mantiveram
com a escolha de 30% das componentes ordenadas do autovetor dominante de cada regiao,
ficando os graficos sobrepostos, o que mostra a eficiencia do metodo. Cabe salientar que
quanto melhor a delimitacao das regioes, uma menor porcentagem garante a qualidade
da solucao em menor tempo, enquanto que quando nao ha a certeza da escolha de regioes
apropriadas, uma maior porcentagem possibilita melhores solucoes.
75

Teitz & Teitz & Teitz & Bart Modificao


Teitz & Bart Modificao Modificao Modificao
Problema Bart Bart TEMPO TEMPO
Soluo REDUES SOLUO TEMPO
REDUES TEMPO CONVERTIDO CONVERTIDO
50x5 23 26216,78 00:00:01 0,000277778 2 26216,78 00:00:00 0
150x6 20 23526,62 00:00:01 0,000277778 1 23526,62 00:00:00 0
150x7 31 21459,42 00:00:01 0,000277778 6 21459,42 00:00:00 0
150x8 30 19993,06 00:00:02 0,000555556 2 19993,06 00:00:00 0
150x9 35 18737,92 00:00:02 0,000555556 3 18737,92 00:00:00 0
150x10 45 17615 00:00:02 0,000555556 2 17615 00:00:00 0
150x15 69 13235,85 00:00:10 0,002777778 5 13257,72 00:00:01 0,000277778
150x20 103 10888,06 00:00:22 0,006111111 2 10911,92 00:00:01 0,000277778
150x25 106 9200,85 00:00:28 0,007777778 0 9200,85 00:00:01 0,000277778
150x30 93 7959,02 00:00:28 0,007777778 1 7959,02 00:00:02 0,000555556
200x5 23 35495,43 00:00:01 0,000277778 2 35495,43 00:00:00 0
200x6 31 31267,3 00:00:02 0,000555556 1 31267,3 00:00:00 0
200x7 37 28361,69 00:00:05 0,001388889 8 28361,69 00:00:02 0,000555556
200x8 56 26096,89 00:00:07 0,001944444 4 26188,25 00:00:02 0,000555556
200x9 50 24622,58 00:00:07 0,001944444 4 24622,58 00:00:02 0,000555556
200x10 46 23251,89 00:00:07 0,001944444 6 23251,89 00:00:02 0,000555556
200x15 66 18021,82 00:00:14 0,003888889 3 18286,67 00:00:03 0,000833333
200x20 105 14842,39 00:00:36 0,01 2 14844,17 00:00:03 0,000833333
200x25 105 12759,25 00:01:01 0,016944444 3 12759,25 00:00:05 0,001388889
200x30 139 11185,87 00:01:47 0,029722222 4 11185,87 00:00:09 0,0025
300x5 35 54055,48 00:00:09 0,0025 7 54055,48 00:00:05 0,001388889
300x6 23 49755,01 00:00:06 0,001666667 4 49755,01 00:00:02 0,000555556
300x7 45 44514,34 00:00:46 0,012777778 1 44514,34 00:00:03 0,000833333
300x8 54 41055,85 00:00:29 0,008055556 9 40960,98 00:00:11 0,003055556
300x9 43 37760,42 00:00:15 0,004166667 2 37760,42 00:00:03 0,000833333
300x10 48 36048,59 00:00:19 0,005277778 1 36048,59 00:00:03 0,000833333
300x15 71 28271,48 00:00:54 0,015 3 28271,48 00:00:11 0,003055556
300x20 102 23953,57 00:02:01 0,033611111 8 23953,57 00:00:22 0,006111111
300x25 122 20804,74 00:02:41 0,044722222 12 20812,69 00:00:57 0,015833333
300x30 213 18240,77 00:05:53 0,098055556 8 18240,77 00:00:42 0,011666667
400x5 30 72845,87 00:00:17 0,004722222 9 72589,65 00:00:14 0,003888889
400x6 49 63745,13 00:00:33 0,009166667 2 63745,13 00:00:09 0,0025
400x7 50 59106,05 00:00:33 0,009166667 5 59106,05 00:00:12 0,003333333
400x8 52 54853,81 00:00:37 0,010277778 8 54853,81 00:00:20 0,005555556
400x9 64 50701,65 00:01:28 0,024444444 3 50701,65 00:00:15 0,004166667
400x10 48 47916,1 00:00:56 0,015555556 7 47916,1 00:00:20 0,005555556
400x15 90 37493,82 00:02:26 0,040555556 7 37493,82 00:00:40 0,011111111
400x20 110 31405,22 00:04:16 0,071111111 4 31400,57 00:00:33 0,009166667
400x25 138 27983,13 00:07:52 0,131111111 6 27988,42 00:00:42 0,011666667
400x30 160 25160,19 00:07:52 0,131111111 6 25094,15 00:01:11 0,019722222
450x5 15 79530,42 00:00:13 0,003611111 4 79530,42 00:00:11 0,003055556
450x6 33 72242,7 00:00:45 0,0125 4 72242,7 00:00:16 0,004444444
450x7 48 68297,83 00:01:18 0,021666667 10 68297,83 00:00:31 0,008611111
450x8 46 63571,33 00:01:18 0,021666667 8 63571,33 00:00:33 0,009166667
450x9 41 59707,72 00:01:25 0,023611111 16 59707,72 00:00:58 0,016111111
450x10 58 54332,12 00:01:17 0,021388889 5 54332,12 00:00:31 0,008611111
450x15 102 41477,21 00:04:39 0,0775 10 41477,21 00:01:53 0,031388889
450x20 90 36296,6 00:05:07 0,085277778 4 36306,94 00:00:37 0,010277778
450x25 169 31915,24 00:10:23 0,173055556 11 31923,18 00:02:07 0,035277778
450x30 162 28547,54 00:13:39 0,2275 7 28610,01 00:01:57 0,0325
500x5 27 92233,7 00:00:45 0,0125 9 92233,7 00:00:27 0,0075
500x6 43 83867,11 00:01:29 0,024722222 11 83742,65 00:01:06 0,018333333
500x7 33 75844,04 00:00:56 0,015555556 9 75844,04 00:00:25 0,006944444
500x8 44 70651,63 00:01:39 0,0275 4 70651,63 00:00:21 0,005833333
500x9 46 66406,24 00:01:22 0,022777778 3 66406,24 00:00:19 0,005277778
500x10 47 62220,41 00:01:25 0,023611111 3 62220,41 00:00:19 0,005277778
500x15 125 48509,43 00:05:54 0,098333333 11 48509,43 00:01:25 0,023611111
500x20 104 41489,93 00:07:45 0,129166667 11 41489,93 00:02:10 0,036111111
500x25 139 35966,05 00:11:56 0,198888889 14 35966,05 00:03:05 0,051388889
500x30 212 32653,11 00:20:04 0,334444444 10 32653,11 00:04:35 0,076388889

Figura 7.10: Resultados obtidos nos testes realizados em redes medias


76

Teitz &
Bart Teitz & Bart Teitz & Bart Teitz & Bart TEMPO Modificao Modificao Modificao Modificao TEMPO
Problema REDUES Soluo TEMPO CONVERTIDO REDUES SOLUO TEMPO CONVERTIDO

550x1 7 227548,21 00:00:05 0,001388889 0 227548,21 00:00:01 0,000277778

550x2 17 157335,05 00:00:12 0,003333333 0 157335,05 00:00:03 0,000833333

550x3 17 131158,87 00:00:11 0,003055556 10 131158,87 00:00:11 0,003055556

550x4 23 112322,49 00:00:24 0,006666667 7 112322,49 00:00:16 0,004444444

550x5 34 97321,14 00:00:39 0,010833333 2 97321,14 00:00:10 0,002777778

550x6 32 90740,35 00:01:33 0,025833333 7 90740,35 00:00:52 0,014444444

550x7 24 80241,5 00:00:58 0,016111111 6 80241,5 00:00:26 0,007222222

550x8 74 74051,98 00:02:01 0,033611111 11 74051,98 00:01:01 0,016944444

550x9 70 71452,67 00:03:05 0,051388889 8 71452,67 00:01:01 0,016944444

550x10 45 68200,92 00:02:09 0,035833333 11 68200,92 00:01:08 0,018888889

550x15 88 54898,27 00:07:52 0,131111111 32 54986,42 00:04:02 0,067222222

550x20 158 45241,27 00:12:31 0,208611111 23 45147,13 00:07:10 0,119444444

550x25 176 38563,73 00:20:54 0,348333333 14 38758,44 00:05:05 0,084722222

550x30 186 35547,73 00:29:49 0,496944444 13 35631,79 00:05:00 0,083333333

600x5 20 110499,97 00:00:37 0,010277778 6 110500,96 00:00:28 0,007777778

600x10 55 72875,33 00:03:01 0,050277778 19 72875,33 00:02:14 0,037222222

600x15 133 58279,92 00:09:34 0,159444444 16 58312,43 00:03:11 0,053055556

600x20 144 49476,82 00:23:15 0,3875 21 49477,72 00:06:32 0,108888889

600x25 154 42923,68 00:26:27 0,440833333 32 42923,68 00:12:47 0,213055556

600x30 245 38528,42 00:39:40 0,661111111 26 38926,38 00:13:25 0,223611111

700x5 28 130251,61 00:01:05 0,018055556 5 130251,61 00:00:36 0,01

700x10 83 85720,79 00:08:23 0,139722222 7 85787,69 00:02:19 0,038611111

700x15 114 68902,79 00:14:37 0,243611111 14 68902,79 00:06:19 0,105277778

700x20 132 58517,64 00:27:48 0,463333333 18 58565 00:11:47 0,196388889

700x25 170 51267,34 00:36:28 0,607777778 16 51210,27 00:09:26 0,157222222

700x30 258 46227,51 00:58:02 0,967222222 26 46300,21 00:18:44 0,312222222

800x5 11 140673,21 00:01:17 0,021388889 3 140673,21 00:00:44 0,012222222

800x10 45 101381,54 00:06:32 0,108888889 28 101033,58 00:10:15 0,170833333

800x15 113 79058,65 00:21:17 0,354722222 27 79058,65 00:14:30 0,241666667

800x20 192 67437,85 00:49:52 0,831111111 12 67437,85 00:07:06 0,118333333

800x25 260 58608,49 00:58:22 0,972777778 20 58513,01 00:22:01 0,366944444

800x30 225 53890,18 01:22:22 1,372777778 22 53881,98 00:25:22 0,422777778

900x5 31 161034,17 00:02:56 0,048888889 4 161034,17 00:01:19 0,021944444

900x10 53 110790,42 00:11:09 0,185833333 5 110790,42 00:03:30 0,058333333

900x15 140 89112,27 00:49:10 0,819444444 24 89112,27 00:19:09 0,319166667

900x20 136 75444,77 00:53:38 0,893888889 25 75444,77 00:34:47 0,579722222

900x25 207 67496,29 01:24:09 1,4025 16 67496,29 00:19:03 0,3175

900x30 216 61077,06 02:42:51 2,714166667 22 61184,77 00:53:06 0,885

1000x5 39 177164,01 00:05:14 0,087222222 4 177135,06 00:02:22 0,039444444

1000x10 61 126282,97 00:15:51 0,264166667 14 126310,56 00:09:06 0,151666667

1000x15 116 99510,28 00:32:28 0,541111111 33 99659,5 00:24:55 0,415277778

1000x20 158 85669,12 01:51:20 1,855555556 21 85764,35 00:29:35 0,493055556

1000x25 170 75146,22 02:09:07 2,151944444 23 75192,55 00:41:37 0,693611111

1000x30 187 67797,97 02:00:23 2,006388889 28 67960,24 00:51:51 0,864166667

Figura 7.11: Resultados obtidos nos testes realizados em redes grandes


77

250
240
230
220
210
200
190
180
170
160
150
140 Teitz & Bart REDUES
130
120 Modificao REDUES
110
100
90
80
70
60
50
40
30
20
10
0

Figura 7.12: Grafico comparativo para o numero de reducoes em redes medias

270
260
250
240
230
220
210
200
190
180
170
160
150 Teitz & Bart REDUES
140
130
120 Modificao REDUES
110
100
90
80
70
60
50
40
30
20
10
0

Figura 7.13: Grafico comparativo para o numero de reducoes em redes grandes


78

0,4

0,35

0,3

0,25

Teitz & Bart TEMPO


0,2
Modificao TEMPO

0,15

0,1

0,05

Figura 7.14: Grafico comparativo para o tempo de processamento em redes medias

2,85
2,8
2,75
2,7
2,65
2,6
2,55
2,5
2,45
2,4
2,35
2,3
2,25
2,2
2,15
2,1
2,05
2
1,95
1,9
1,85
1,8
1,75
1,7
1,65
1,6
1,55 Teitz & Bart TEMPO
1,5
1,45
1,4
1,35 Modificao TEMPO
1,3
1,25
1,2
1,15
1,1
1,05
1
0,95
0,9
0,85
0,8
0,75
0,7
0,65
0,6
0,55
0,5
0,45
0,4
0,35
0,3
0,25
0,2
0,15
0,1
0,05
0

Figura 7.15: Grafico comparativo para o tempo de processamento em redes grandes


79

100000

90000

80000

70000

60000
Teitz & Bart Soluo
50000
Modificao SOLUO
40000

30000

20000

10000

Figura 7.16: Grafico comparativo das solucoes obtidas em redes medias

240000
230000
220000
210000
200000
190000
180000
170000
160000
150000
140000
130000 Teitz & Bart Soluo
120000
110000 Modificao SOLUO
100000
90000
80000
70000
60000
50000
40000
30000
20000
10000
0

Figura 7.17: Grafico comparativo das solucoes obtidas em redes grandes


Captulo 8

Conclusao

Com base no estudo desenvolvido no presente trabalho, podemos chegar as seguintes


conclusoes:

i) Um estudo profundo sobre a teoria espectral foi capaz de identificar os vertices mais
centrais de uma rede particionada, determinando assim uma estrategia de solucao
inicial, que explora eficientemente o espaco de busca por melhores solucoes.

ii) Foram mostrados importantes resultados da Teoria Espectral utilizados na obtencao


de caractersticas estruturais de grafos que modelam importantes problemas de lo-
calizacao.

iii) Ressaltamos tambem que a partir da solucao inicial e as propriedades estruturais


obtidas, o metodo proposto neste trabalho fez com que o numero de iteracoes fosse
sensivelmente reduzido, possibilitando sua aplicacao em redes de medio e grande
porte.

iv) Podemos afirmar que o novo metodo de resolucao que se utiliza da estrutura do
algoritmo de Teitz e Bart e matematicamente verificavel, nao se tratando de um
conhecimento circunstancial e sua fundamentacao encontra-se na Algebra Linear
via Teoria Espectral.

v) Foi verificada a aplicabilidade do metodo em problemas praticos reais, como a dis-


tribuicao de fiscais em estacionamentos rotativos.

vi) Finalmente, o estudo da teoria espectral combinado com estudos em otimizacao


combinatoria, torna-se uma ferramenta a mais no auxlio da tomada de decisao.
Captulo 9

Sugestoes para trabalhos futuros

Com base no trabalho desenvolvido, algumas vertentes de trabalhos futuros podem


ser identificadas.
Recomenda-se a utilizacao de metodos de clusterizacao para a identificacao au-
tomatica das regioes em problemas nao dinamicos.
Sugere-se tambem a realizacao de testes computacionais para a analise do metodo
para redes com vertices ponderados. Alem disso, nesses casos, intui-se a necessidade de
uma nova forma de determinacao das aglomeracoes.
Tambem seria interessante a aplicacao do metodo desenvolvido a problemas reais,
como por exemplo, no problema de distribuicao de fiscais no estacionamento rotativo
da cidade do Rio Grande, comprovando a viabilidade da divisao das regioes de forma a
possibilitar a analise de diferentes cenarios.
A possibilidade de aplicacao do metodo desenvolvido do problema de estaciona-
mento rotativo da cidade do Rio Grande e viavel, visto que o mecanismo utilizado na
divisao das regioes possibilita analisar diferentes cenarios.
Dessa forma, novas pesquisas sao sugeridas, podendo assim dar continuidade ao tra-
balho em questao.
82

Bibliografia

[1] ABREU, N. Introducao a Teoria Espectral de Grafos com Aplicacoes. Sao Carlos,
SP: SBMAC, 2007. 5, 16

[2] ARAUJO, R. R. Uma abordagem de Solucao Integrada para os Problemas de Ro-


teirizacao e Carregamento de Veculos. 2010. Tese (Doutorado em Engenharia de
Producao), Universidade Federal do Rio Grande do Sul, Porto Alegre. 2010. 40

[3] AZZONI, C. R. Teoria da Localizacao: uma analise crtica. Sao Paulo, IPE - USP,
1982. 29

[4] BRUALDI, R. A.; CVETKOVIC, D. A Mathematical Approach to Matrix Theory


and its Applications. Taylor & Francis Group, 2009. 7, 12, 20

[5] BEASLEY, J. E. A note on solving large p-medians problems. European Journal of


Operational Research, 21, 1985, p. 270 - 273.

[6] BEASLEY, J.E. Lagrangean heuristics for location problems. European Journal of
Operational Research, v. 65, p. 383-399, 1993. 41

[7] BONACICH, P. Power and Centrality: A Family of Measures. The American Jour-
nal of Sociology, 92, no 5, 1170-1182, 1987. 59

[8] BONACICH, P. Eigenvector-like measures of centrality for asymmetric relations.


Social Networks, 23, 191-201, 2001.

[9] CAPRI, M. A. V.; STEINER, M. T. A. Otimizacao no servico do estacionamento


rotativo regulamentado utilizando tecnicas da pesquisa operacional. In: XXXVIII
SBPO (Simposio Brasileiro de Pesquisa Operacional), 2006, Goiania,Go. A Pesquisa
Operacional na Sociedade: Educacao, Meio Ambiente e Desenvolvimento, 2006. p.
1413-1423. 57, 67
83

[10] CHIYOSHI, F.Y.; GALVAO, R.D. A statistical analysis of simulated annealing ap-
plied to the p-median problem. Annals of Operations Research, v. 96, p. 61-74, 2000.

[11] CHRISTOFIDES, N. Graph Theory: an algorithmic approach. London: Academic


Press, 1975. 41

[12] CHRISTOFIDES, N.; BEASLEY, J.E. A tree search algorithm for the p-median
problem. European Journal of Operational Research, v. 10, p. 196-204, 1982. 41

[13] COOPER, L. L. Location-Allocation Problems. Operations Research, v. 11, p. 331-


343, 1963

[14] CORNUEJOLS, G.; FISHER, M.L.; NEMHAUSER, G.L. Location of bank accounts
to optimize float: an analytic study of exact and approximate algorithms. Manage-
ment Science, v.23, p. 789-810, 1977. 41

[15] DASKIN, M. Network and discrete location: models, algorithms and applications.
New York: Wiley Interscience, 1995. 500p.

[16] DENSHAM, P. J.; RUSHTON, G. A more efficient heuristic for solving large p-
medians problems. Paper in Regional Science, 71, p. 307 - 329, 1992.

[17] DETOFENO, T. C.; STEINER, M. T. A. Otimizacao das Rotas de Coleta de Res-


duos Urbanos, utilizando Tecnicas de Pesquisa Operacional. Anais do CNMAC v.2,
p.706 - 712, 2009. 57, 58

[18] DIAS, A. O problema da p-mediana aplicado ao problema da gestao optima da di-


versidade. Dissertacao (Mestrado em Matematica e Aplicacoes), Universidade de
Aveiro. Portugal. 2005. 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 56

[19] EILON, S.; GALVAO R. D. Single and Double Vertex Substitution in Heuristic
Procedures for the p-median Problem. Management Science, 24, p.1763 - 1766, 1978.
57

[20] EL-SHAIEB, A.M. A new algorithm for locating sources among destinations. Man-
agement Science, v. 20, p. 221-231, 1973. 41

[21] ERKUT E.; BOZKAYA, B.; ZHANG, J. An effective genetic algorithm for the p-
median problem. Alberta: University of Alberta, 1997, 23 p. (Working Paper 97-2).
84

[22] ERLENKOTTER, D. A dual-based procedure for uncapacitated facility location. Op-


erations Research, 26, p. 992 - 1009, 1978.

[23] ESTRELLA, E. Localizacao de Plataformas Martimas. Dissertacao de Mestrado,


PUC/Rio, 2010. 35

[24] FEO, T. A.; RESENDE, M. G. C. A probabilistic heuristic for a computationally


difficult set covering problem. Operations Research Letters, 8:67-71, 1989. 55

[25] FEO, T. A.; RESENDE, M. G. C. Greedy randomized adaptive search procedures.


Journal of Global Optimization, 6:109-133, 1995. 55

[26] GALVAO, R. D. Uncapacitated facility location problems: contributions. Pesquisa


Operacional. v. 24, no 1, 2004. 42

[27] GALVAO, R. D.; ACOSTA, L. G. E. e BOFFEY, B. A Hierarchical Model for the


Location of Perinatal Facilities in Municipality of Rio de Janeiro. European Journal
of Operational Research, 138, 2002, pp. 495-517. 35

[28] GALVAO, R. D.; RAGGI, L. A. A method for solving to optimality uncapacitated


location problems. Annals of Operations Research, v. 18, p. 225-244, 1989. 41

[29] GALVAO, R. D. A dual-bounded algorithm for the p-median problem. Operations


Research, v. 28, p. 1112-1121, 1980. 41

[30] GAREY, M.R.; JOHNSON, D.S. Computers and intractability: a guide to the theory
of NP-completeness. San Francisco: W. H. Freeman and Co., 1979. 340p.

[31] GARFINKEL, R. S.; NEEBE, A. W.; RAO, M. R. An algorithm for the m-median
plant location problem. Transportation Science, 8, p. 217 - 236, 1974.

[32] GLOVER, F. Future paths for integer programming and linkage to artificial intelli-
gence. Computers & Operations Research 13, 533?549, 1986. 48

[33] GLOVER, F. Tabu Search, Part I. ORSA Journal on Computing, 1, n 3, p. 190 -


206, 1989.

[34] GLOVER, F. Tabu Search, Part II. ORSA Journal on Computing, 2, no 1, p. 4 -


32, 1990.
85

[35] GLOVER, F.; LAGUNA, M. Tabu Search. Kluwer Academic Publishers, Hingham,
1997.

[36] GOLDBARG, M. C.; LUNA, H. P. L. Otimizacao Combinatoria e Programacao


Linear - Modelos e Algoritmos. Rio de Janeiro, Editora Campus, 2000.

[37] GOLUB, G. H.; LOAN, C. F. V. Matrix Computations. 3rd ed. Johns Hopkins
studies in the mathematical sciences, 1996. 19

[38] HAKIMI, S. L. Optimum location of switching centers and the absolute centers and
medians of a graph. Operations Research, v. 12, p. 450-459, 1964. 35

[39] HAKIMI, S. L. Optimum distribution of switching centers in a communication net-


work and some related graph theoretic problems. Operations Research, v. 13, p.
462-475, 1965. 1, 35

[40] HAKIMI, S. L. Recent developments in Location Theory. In: International Sympo-


sium on Location Decisions, Banff, Alberta, Canada, 1978.

[41] HANSEN, P.; MLADENOVIC, N. Variable Neighborhood search for the p-median.
Location Science, 5, p. 207 - 226, 1997.

[42] HANSEN, P.; MLADENOVIC, N.; PEREZ-BRITO, D. Variable neighborhood de-


composition search. Journal of Heuristics, 7, p. 335 ? 350, 2001.

[43] HOLLAND, J.H. Adaptation in Natural and Artificial Systems. University of Michi-
gan Press, 1975. 51

[44] HORNER, D. Resolucao do problema das p-medianas nao capacitado: Compara-


cao de algumas tecnicas heursticas 2009. Tese (Doutorado em Engenharia de Pro-
ducao), Universidade Federal de Santa Catarina, Florianopolis. 2009. 2, 29, 31, 32,
34, 42, 49, 53, 57

[45] JARVIEN, P.J.; RAJALA, J.; SINERVO, H. A branch and bound algorithm for
seeking the p-median. Operations Research, v. 20, p. 173-178, 1972. 41

[46] KUEHN, A. A.; HAMBURGER, M. A Heuristic Program for Locating Warehouses.


Management Science, 9, p. 643 - 666, 1963. 42
86

[47] LARSON, R. C.; ODONI, A. R. Urban Operations Research. New Jersey: Prentice-
Hall, 1981. 36, 38

[48] LORENA, L.A.N.; Pereira, M.A. A Lagrangean/surrogate heuristic for the max-
imal covering location problem using Hillsmans edition, International Journal of
Industrial Engineering, 9(1), p. 57-67, 2002. 35

[49] LOVE, R. F.; MORRIS, J. G. Facilities Location: models and methods. Elsevier
Science Publishing Co., New York, 1988.

[50] MADRID, K. C. A Teoria de Perron Frobenius e Aplicacoes. Dissertacao Mestrado


em Matematica. UFF, Rio de Janeiro, 2009. 13, 16

[51] MALAJOVICH, Beatriz; SOUZA, Claudio S.; OLIVEIRA Jr., Montauban. O


Teorema de Perron-Frobenius e Espectro de Grafos. UFRJ, Rio de Janeiro,
2009. Disponvel em: http://www.labma.ufrj.br/~beatriz/arquivo/
artigo3.pdf Acesso em: 12/04/2011.

[52] MALEK, M. The Power Method for Eigenvalues and Eigenvectors. Numerical
Analysis. California State University, 2010. Disponvel em: http://www.mcs.
csueastbay.edu/~malek/Class/power.pdf Acesso em: 09/05/2011. 14,
15, 18

[53] MARANZANA, F. E. On the Location of supply points to minimize transport costs.


Operations Research Quarterly, 15, p. 261 - 270, 1964. 42, 44

[54] MARSTEN, R. E. An algorithm for finding almost all of the medians of a Network.
Discussion Paper, 23, Northwestern University, 1972. 41

[55] MARTIGNON, Laura. Matrizes Positivas. 16o Coloquio Brasileiro de Matematica.


IMPA. Rio de Janeiro, 1987.

[56] MAYERLE, S. F. Um algoritmo genetico para solucao do problema do caixeiro via-


jante. Artigo de circulacao interna do departamento de Engenharia de Producao e
Sistemas da UFSC, 1996.

[57] MAYERLE, S. F. Notas de aula, UFSC, Programa de Pos-Graduacao em Engen-


haria de Producao, Florianopolis, SC, 2005. 57, 58
87

[58] MERCADO, N. B. G. Tecnica de Busca Baseada em Algoritmo Genetico para Lo-


calizacao de p-Medianas. Dissertacao de Mestrado. UFSC, Florianopolis, 2001. 52

[59] MERINO, E. D.; PEREZ, J. M.; ARAGONES, J. J. Neural networks algorithms for
the p-median problem. In ESSAN 2003: Proceedings of 11o European Symposium
on Artificial Neural Networks, Belgium, April 2003, p. 385 - 391, 2003.

[60] MINIEKA, E. The Centers and Medians of a graph. Operations Research, 25, p.
641 - 650, 1977.

[61] MULVEY, J.M.; CROWDER, H.P. Cluster analysis: an application of lagrangian


relaxation. Management Science, v.25, p. 329-340 ,1979. 41

[62] NARULA, S.C.; OGBU, U.I.; SAMUELSSON, H.M. An algorithm for the p-median
problem. Operations Research, v. 25, p. 709-713, 1977. 41

[63] NEEBE, A.W. A branch and bound algorithm for the p-median transportation prob-
lem. Journal of the Operational Research Society, v. 29, p. 989-995, 1978.

[64] NEMHAUSER, G.L.; WOLSEY L.A. Integer and combinatorial optimization. New
York: Wiley-Interscience series in discrete mathematics and optimization, 1999,
764p.

[65] NOBLE, B. Applied Linear Algebra Second Edition. New Jersey. Prentice Hall, Inc.,
1986 14

[66] PARKER, R.G.; HARDIN, R.L. Discrete Optimization. New York: Academic Press,
1988, 472p.

[67] PIZZOLATO, N. D. A Heuristic for Large-Size p-median Location Problems with


Application to School Location. Annals of Operations Research, 50, 1994, pp. 473-
485. 35

[68] RESENDE, M.G.C. Greedy Randomized Adaptive Search Procedures (GRASP).


AT&T Labs Research Technical Report, v.98.41.1, 1998. 55

[69] RESENDE, M.G.C.; WERNECK. A hybrid heuristic for the p-median problem.
Technical Report TD-5NWRCR, AT&T Labs Research, 2003. Published in Journal
of Heuristics, vol. 10, pp. 59-88, 2004. 56
88

[70] RESENDE, M.G.C.; WERNECK. A fast swap-based local search procedure for lo-
cation problems. Technical Report TD-5R3KBH, AT&T Labs Research, 2003. To
appear in Annals of Operations Research.

[71] RESENDE, M.G.C.; WERNECK. A hybrid multistart heuristic for the uncapac-
itated facility location problem, Technical Report TD-5RELRR, AT&T Labs Re-
search, 2003. Published in European Journal of Operational Research, vol. 174, pp.
54-68, 2006.

[72] ROZENTAL, M. e PIZZOLATO, N. D. Localizacao de Shopping Center de Vizi-


nhanca Estudo de Caso: Barra da Tijuca, Rio de Janeiro. Podes, Pesquisa Opera-
cional para o Desenvolvimento, Vol 1 (3), 2009. 35

[73] POOLE, David. Algebra Linear. Traducao Martha Salerno Monteiro at al. Sao
Paulo. Thomson, 2004. 22

[74] RABUSKE, Marcia A. Introducao a Teoria dos Grafos. Florianopolis: Ed. da UFSC,
1992. 5, 6, 7, 30

[75] RANCK, R. J. and SANTOS, L. B. L. Analise Iterativa dos Problemas de P-Centros


e P-Medianas para um Crescente Numero de Facilidades: Estudo de caso na Epi-
demia de Dengue, Salvador, 1995. Proceedings of the 9th Brazilian Conference on
Dynamics Control and their Applications, Serra Negra, SP - ISSN 2178-3667. 30

[76] REESE, J. Methods for the p-Median Problem: An Annotated Bibliography. 2006.
29

[77] RESENDE, M.G.C.; WERNECK, R.F. On the implementation of a swap based


local search procedure for the p-median problem. AT&T Labs Research, 2002a. (TD-
5E4QKA).

[78] RESENDE, M.G.C.; WERNECK, R.F. A GRASP with path-relinking for the p-
median problem. AT&T Labs Research, 2002b. 22p. (TD-5E53XL).

[79] RESENDE, M. G. C.; WERNECK, R. F. A hybrid heuristic for the p-median prob-
lem. Journal of Heuristics, 10, p. 59 - 88, 2004. 55
89

[80] REVELLE, C.S.; SWAIN, R.W. Central facilities location. Geographical Analysis.
v. 2, p. 30-42, 1970.

[81] ROLLAND, E.; SCHILLING, D.A.; CURRENT, J.R. An efficient tabu search pro-
cedure for the p-median problem. European Journal of Operational Research, v. 96,
p. 329-342, 1996.

[82] SCHILLING, D. A.; ROLLAND, E. e CURRENT, J. R. An efficient Tabu Search


Procedure for the p-median problem. European Journal of Operational Research, 96,
1996, p. 329 - 342. 48

[83] STEFANELLO, F. Hibridizacao de metodos exatos e heursticos para resolucao de


problemas de otimizacao combinatoria. Dissertacao (mestrado). Universidade Fed-
eral de Santa Maria, Centro de Tecnologia, Programa de Pos-Graduacao em Infor-
matica, RS, 2011. 40

[84] SENNE, E.L.F.; LORENA, L.A.N. Lagrangean/surrogate heuristics for p-median


problems. In Computing Tools for Modeling, Optimization and Simulation: Inter-
faces in Computer Science and Operations Research, M. Laguna and J.L. Gonzalez-
Velarde (eds.) Kluwer Academic Publishers, pp. 115-130, 2000. 41

[85] SUN, M. Solving the uncapacitated facility location problem using the tabu search.
Computers & Operations Research, 33, p. 2563 - 2589, 2006.

[86] TAHA, H. Pesquisa Operaciona: Uma visao Geral -Traducao Arlete Simille Mar-
ques. 8. ed. Sao Paulo. Pearson Prentice Hall. 2008. 40

[87] TEITZ, M. B.; BART, P. Heuristic methods for estimating the generalized vertex
median of a weighted graph. Operations Research, v. 16, p. 955-961, 1968. 42, 45

[88] TOREGAS, C.; SWAIN, R.; REVELLE, C.; BERGMAN, L. The location of emer-
gency service facilities. Operations Research, v. 19, p. 1363-1373, 1971.

[89] VOSS, S. A reverse elimination approach for the p-median problem. Studies in Lo-
cational Analysis, v. 8, p. 49-58, 1996.

[90] WHITAKER, R.A. A fast algorithm for the greedy interchange for large-scale clus-
tering and median location problems. INFOR, v. 21, p. 95-108, 1983. 57
90

[91] WIELANDT, H. Unzerlegbare nicht-negative Matrizen. Mathematische Zeitschrift.


Volume 52, Number 1, 642-648, 1950. 23

[92] WOLSEY, L.A. Integer Programming. New York: Wiley-Interscience, 1998, 260p.
Apendice A

Exemplos ilustrativos

Exemplo 1 A seguir veremos alguns exemplos de grafos, observe:

Figura A.1: Grafo ilustrativo da adjacencia de vertices

a) No Grafo 1, apresentamos um grafo G, onde V = {A, B, C, D, E}; E = {e1 , e2 , e3 , e4 , e5 , e6 },


onde |V | = 5, |E| = 6. As arestas de G sao dadas por e1 = {A, B}, e2 = {B, C},
e3 = {B, D}, e4 = {D, E}, e5 = {B, E}, e6 = {A, E}. Os vertices A e B sao adja-
centes, mas A e C sao nao adjacentes. Os graus dos vertices de G sao: d(A) = 2,
d(B) = 4, d(C) = 1, d(D) = 2, d(E) = 3.

b) Podemos observar nos grafos da figura A.2 que o grafo situado a direita e um grafo
conexo, enquanto que a esquerda temos um grafo desconexo com 3 componentes
conexas.

91
92

Figura A.2: Conexidade de Grafos

c) No grafo 3 da figura A.3, a sequencia de arcos {z, w, u} determina um caminho, ja


a sequencia {e1 , e5 , e4 } no grafo 1 da figura A.1 determina uma cadeia.

Exemplo 2 No grafo A.4, iremos construir a matriz de adjacencia, de custo e de dis-


tancia:

Solucao
A matriz de adjacencia do grafo A.4

0 1 0 0 0 0

0 0 0 1 0 0




1 0 0 1 0 0
A=



0 0 1 0 1 1


0 0 1 0 0 0

0 0 0 0 1 0

A matriz de custo e:

0 3 0 0 0 0

0 0 0 3 0 0




3 0 0 5 0 0
C=



0 0 5 0 4 3


0 0 3 0 0 0

0 0 0 0 3 0
93

Figura A.3: Grafo ilustrativo. Diferenca entre Caminho e Cadeia

Ja a matriz de distancia e dada por:



0 3 11 6 10 9

11 0 8 3 7 6




3 6 0 5 9 8
D=



8 11 5 0 4 3


6 9 3 8 0 11

9 12 6 11 3 0

As excentricidades dos vertices do grafo A.4 sao e(A) = 11, e(B) = 11, e(C) =
9, e(D) = 11, e(E) = 11, e(F ) = 12.
O raio e r(G) = 9 e o centro e o vertice C.

Exemplo 3 Calcularemos sete iteracoes do metodo das potencias a fim de ilustrar a


determinacao do autovetor dominante da matriz por meio deste:
94

Figura A.4: Grafo utilizado para a construcao das matrizes de custo, de distancia e de
adjacencia


1 2 0

A = 2 1 2



1 3 1

Considerando
1

x0 = 1


1

Solucao
Seja

1 2 0 1 3

y1 = Ax0 = 2 1 2 1 = 1


1 3 1 1 5

Entao 1 = ||y1 || = 5; obtemos



3 0.6
y1 1
x1 = = 1 = 0.2

||y1 || 5
5 1.0

A segunda iteracao obtemos:


95

 T
y2 = 1.00 1.00 2.20

Com 2 = ||y2 || = 2.20 e

 T
x2 = 0.45 0.45 1.00

Continuando este processo, obtemos a sequencia de aproximacoes abaixo:

x0 x1 x2 x3 x4 x5 x6 x7
1.00 0.60 0.45 0.48 0.51 0.50 0.50 0.50
1.00 0.20 0.45 0.55 0.51 0.49 0.50 0.50
1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
1 2 3 4 5 6 7
5.00 2.20 2.82 3.13 3.02 2.99 3.00

Tabela A.1: Exemplo Metodo das Potencias

Exemplo 4 Para o grafo G A.5, com valores unitarios atribudos as arestas, iremos
determinar os centros de emergencia:

Figura A.5: Grafo utilizado na determinacao de centros de emergencia


96

Solucao
De acordo com a definicao 2.0.12, a matriz de distancias D(G) do grafo da figura
A.5 e:

0 1 2 3 2 3

3 0 1 2 1 2




4 3 0 1 2 3
D(G) =



3 2 2 0 1 2


2 1 1 2 0 1

1 2 3 4 3 0

O vetor excentricidade de sada, onde a componente i representa a excentricidade


de sada do vertice xi e o vetor:

es = (3, 3, 4, 3, 2, 4)

Esta excentricidade indica que o centro com relacao a sada e o vertice x5 .


O vetor excentricidade de retorno e:

er = (4, 3, 3, 4, 3, 3)

Assim, o centro do grafo 5, com relacao ao retorno, e o conjunto {x2 , x3 , x5 , x6 }.


O centro de emergencia e dado pela soma das matrizes D(G) + DT (G):

0 4 6 6 4 4

4 0 4 4 2 4




6 4 0 3 3 6
D(G) + DT (G) =



6 4 3 0 3 6


4 2 2 3 0 4

4 4 6 6 4 0

esr = (6, 4, 6, 6, 4, 6)

Assim, o raio do grafo e 4 e o centro de emergencia e formado pelo conjunto {x2 , x5 }

Exemplo 5 Considere o grafo completo A.6, cujos vertices sao os pontos do plano com
coordenadas X1 (2, 2), X2 (3, 6), X3 (6, 3), X4 (4, 1) e X5 (1, 5) e os pesos das arestas sao
97

as distancias euclidianas entre dois pontos e os pesos dos vertices sao X1 = 3, X2 = 2,


X3 = 1, X4 = 3 e X5 = 4. Iremos determinar as medianas de entrada e sada deste grafo:

Figura A.6: Grafo utilizado na determinacao das medianas de entrada e sada

Solucao
A matriz de distancias e:

0 4.12 4.12 2.23 3.16

4.12 0 4.24 5.09 2.23


D(G) = 4.12 4.24 0 2.82 5.38



2.23 5.09 2.82 0 5

3.16 2.23 5.38 5 0

Ja a matriz peso-distancia e obtida atraves do produto de cada coluna da matriz


de distancias pelo peso do vertice correspondente:

0 8.24 4.12 6.69 12.64

12.36 0 4.24 15.27 8.92


P (G) = 12.36 8.48

0 8.46 21.52


6.69 10.18 2.82 0 20

9.48 4.46 5.38 15 0

As transmissoes de sada e entrada de cada vertice e dada pelo vetor:

o (xi ) = (31.69, 40.79, 50.82, 39.69, 34.32)


98

As transmissoes de entrada e entrada de cada vertice e dada pelo vetor:

t (xi ) = (31.69, 40.79, 50.82, 39.69, 34.32)

Note que em grafos nao dirigidos, os numeros de transmissao de sada e entrada


de cada vertice sao iguais. Assim, o vertice mediana (o vertice mediana de entrada igual
ao vertice mediana de sada) e aquele que possui menor numero de transmissao, ou seja,
e o vertice X1 .

Exemplo 6 Atraves de algumas iteracoes do metodo de Teitz e Bart, iremos determinar


3 medianas do grafo completo e ponderado abaixo:

Figura A.7: Grafo exemplo Teitz e Bart

Considerando o grafo completo A.8 cujos pesos estao especificados na figura, a


matriz de distancias mnimas e dada atraves da tabela:

A matriz distancia multiplicada pelos respectivos pesos de cada vertice e:


99

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
P1 0 1.41 4.47 8 6.32 5.09 2.82 7.61 4.47 4
P2 1.41 0 3.16 7.07 5.83 4 3.16 6.32 3.16 3.16
P3 4.47 3.16 0 4.47 4.47 1.41 4.47 3.16 2.82 4.47
P4 8 7.07 4.47 0 2.82 3.16 6.32 3.16 7.21 8.94
P5 6.32 5.83 4.47 2.82 0 3.16 4 5.09 7.21 8.48
P6 5.09 4 1.41 3.16 3.16 0 4.24 2.82 4.24 5.83
P7 2.82 3.16 4.47 6.32 4 4.24 0 7.07 6 6.32
P8 7.61 6.32 3.16 3.16 5.09 2.82 7.07 0 5.09 7.07
P9 4.47 3.16 2.82 7.21 7.21 4.24 6 5.09 0 2
P10 4 3.16 4.47 8.94 8.48 5.83 6.32 7.07 2 0

Tabela A.2: Exemplo Metodo de Teitz e Bart - Matriz Distancias Mnimas

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
P1 0 14.14 80.49 320 183.41 127.47 70.71 198.01 160.99 80
P2 45.25 0 56.92 282.84 169.09 100 79.05 164.43 113.84 63.24
P3 143.10 31.62 0 178.88 129.69 35.35 111.80 82.21 101.82 89.44
P4 256 70.71 80.49 0 82.02 79.05 158.11 82.21 259.59 178.88
P5 202.38 58.30 80.49 113.13 0 79.05 100 132.57 259.59 169.70
P6 163.16 40 25.45 126.49 91.70 0 106.06 73.53 152.73 116.61
P7 90.50 31.62 80.49 252.98 116 106.06 0 183.84 216 126.49
P8 243.70 63.24 56.92 126.49 147.87 70.71 176.77 0 183.56 141.42
P9 143.10 31.62 50.91 288.44 209.12 106.06 150 132.57 0 40
P10 128 31.62 80.49 357.77 246.07 145.77 158.11 183.84 72 0

Tabela A.3: Exemplo Metodo de Teitz e Bart - Matriz Distancias-Peso

Relembrando o problema formulado com programacao inteira:

n X
X n
M inz = dij fij (A.1)
i=1 j=1

s. a.
n
X
fij = 1, j = 1, ..., n (A.2)
i=1

n
X
fii = p (A.3)
i=1

fij fii , i, j = 1, ..., n (A.4)

fij {0, 1} (A.5)

E o numero de transmissao:
100

X
(Vp ) = vj .d(xj , Vp ) (A.6)
xj V

O conjunto de p-medianas sera entao dado por:

(Vp ) = min [(Vp )] (A.7)


Vp V

Como se deseja instalar tres facilidades e resolvendo pelo metodo de Teitz e Bart,
temos:
Passo 1) Selecionar arbitrariamente S com p vertices:

S = {P1 , P2 , P3 }

X S = {P4 , P5 , P6 , P7 , P8 , P9 , P10 }

Neste instante, tem-se:

(X3 ) = F O = 661.93

Passo 2) Selecionar algum no nao testado (por exemplo, P4 ) e calcular:

ij = (S) (S {Pj } {Pi })

i4 = (S) (S {P4 } {Pi })

14 = 661.93 488.97 = 172.96

24 = 661.93 466.27 = 195.66

34 = 661.93 548.01 = 113.92

Passo 3) Encontrar o i0 j = maxxi S [ij ]


101

i0 j = max[14 , 24 , 34 ] = 195.66
xi S

Passo 3.ii) i0 j > 0, fazer:

S S {P4 } {P2 }

E rotular P4 como testadoe volte ao passo 2 ate que nao se tenham mais nos
rotulados como nao testados.
Atualmente a F O = 466.27 e S{P1 , P3 , P4 }
Passo 2) Selecionar algum no nao testado(P9 ) e calcular ij .

i9 = (S) (S {P9 } {Pi })

19 = 466.27 526.13 = 59.86

39 = 466.27 419.06 = 47.21

49 = 466.27 551.00 = 84.73

Passo 3)
i0 j = max[19 , 39 , 49 ] = 47.21
xi S

Passo 3.ii) i0 j > 0, fazer:

S S {P9 } {P3 }

Rotular P9 como testado e va ao passo 2.


Atualmente a F O = 419.06 e S{P1 , P4 , P9 }
Passo 2) Selecionar um no nao testado(P5 ) e calcular ij .

15 = 419.06 526.91 = 107.91


102

45 = 419.06 500.53 = 81.47

95 = 419.06 567.62 = 148.56

Passo 3)
i0 j = max[15 , 45 , 95 ] = 81.47
xi S

Passo 3.i) i0 j 0, faca:


Rotule o vertice P5 como testadoe volte ao passo 2.
Atualmente a F O = 419.06 e S{P1 , P4 , P9 }
Testados {P4 , P5 , P9 }.
Todos os demais vertices fora do conjunto solucao foram testados e nao houve
melhoria. Entao:
F O = 419.06 e S{P1 , P4 , P9 }
O passo 4 manda repetir os passos 2 e 3. Este procedimento e denominado ciclo.
Se durante o ultimo ciclo, nao houver melhora na funcao objetivo, va ao passo 5.
Passo 5) Pare.

Figura A.8: Grafo exemplo Teitz e Bart - Solucao

Vous aimerez peut-être aussi