Académique Documents
Professionnel Documents
Culture Documents
Rio Grande - RS
2012
ii
Rio Grande - RS
2012
iii
BANCA EXAMINADORA
Rio Grande-RS
2012
iv
Agradecimentos
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
vi
vii
Lista de Tabelas
Agradecimentos v
Lista de Figuras vi
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
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
8 Conclusao 80
Bibliografia 82
Bibliografia 82
A Exemplos ilustrativos 91
xi
Resumo
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.
Introducao
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.
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.
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.
vii) Comparar a tecnica de solucao desenvolvida com a tecnica classica de Teitz e Bart.
4
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.
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
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
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.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 .
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
Definicao 2.0.16 Centro de G e definido pelo conjunto de vertices v tais que e(v) =
r(G)
Captulo 3
Teoria Espectral
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
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)
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:
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.
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)
B() = adj(I A)
(I A)B() = (I A)adj(I A)
(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
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
uH .Au
=
uH .u
Onde estamos considerando uH como o conjugado transposto de u. Este quociente
e chamado de Quociente de Rayleigh.
uH .Au uH .u uH .u
H
= H = H =
u .u u .u u .u
15
x0 = c1 v1 + c2 v2 + ... + cm vm
A k x0
com c1 6= 0. Entao xk = ||Ak x0 ||
converge para o autovetor dominante v1
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 ||
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
x = c1 u1 + c2 u2 + ... + cn un
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
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).
xT
k Axk
Escrever o autovetor dominante uk xk e o autovalor dominante 1 xT
k xk
|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
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]
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
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
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
Observacoes pertinentes:
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 }
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
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.
(iii) xrA Ax
(i) A funcao rA e homogenea de grau 0, isto e, para uma constante k, temos rA (kx) =
k 0 rA (x).
Demonstracao:
(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:
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).
Demonstracao: Seja:
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.
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:
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
Demonstracao:
(i) A primeira parte segue do teorema 4.2.4. Resta mostrar que se e outro autovalor de A,
entao || r.
|| 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.
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
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
s. a.
d max xij .dij ; i = 1, ..., m e j = 1, ..., n (5.2)
r. a.
n
X
xjj = f (5.3)
j
Em que:
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;
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:
(5.11)
X
o (Vp ) = vj .d(Vp , xj ) (5.13)
xj V
X
t (Vp ) = vj .d(xj , Vp ) (5.14)
xj V
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
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
Em que:
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].
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:
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:
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
X X
hj hj
jP jQ
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
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
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
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:
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.
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:
X
c(vj , X k ) = wi d(vi , X k {vj }) (6.1)
i{lN|vl V (X k {vj })}
43
De modo que:
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:
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:
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:
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 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:
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.
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
1) parar quando e atingido um certo numero maximo de iteracoes sem melhora no valor
da funcao objetivo;
T T \ {mmaisantigo } {mmaisrecente }
atualizar a funcao de aspiracao A(.)
X X 0
se (c(X) < c(X ))
X X, k k
}
Retornar X
}
Locus: posicao de um gene em um cromossomo. Alguns genes podem ter seu locus
alterado em processos de cruzamento ou mutacao;
52
Mutacao: anomalias que causam a alteracao aleatoria de genes, seja na sua locali-
zacao, seja no seu conteudo;
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;
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
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:
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:
n
X n
X
aij akj
j=1 j=1
Considerando
n
n
X Xn
aij = min akj
j=1 j=1
k=1
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
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:
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
Figura 7.2: Exemplo ilustrativo de uma rede para ser calculado o autovetor dominante
Tabela 7.2: Ordenacao dos vertices mais centrais com relacao a centralidade de autovetor
distancia-peso
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.
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 7: Para algum i, selecione o elemento xik (Xi S) nao testado, mais proximo de
xin S de acordo com a ordenacao de Xi .
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
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.
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
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.
V10 = {P 22, P 21, P 23, P 35, P 19, P 20, P 24, P 6, P 38, P 36,
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.
X3 = {P 11, P 10, P 9, P 1}
Passo 6) Os vertices de Xi que nao fazem parte de S sao rotulados como nao testados.
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.
Entao, P 30 nao fara parte da solucao e sera rotulado como testado. O conjunto S per-
manece e voltamos ao passo 7.
Entao, P 9 nao fara parte da solucao e sera rotulado como testado. O conjunto S per-
manece e voltamos ao passo 7.
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}.
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.
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 &
Bart Teitz & Bart Teitz & Bart Teitz & Bart TEMPO Modificao Modificao Modificao Modificao TEMPO
Problema REDUES Soluo TEMPO CONVERTIDO REDUES SOLUO TEMPO CONVERTIDO
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
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
0,4
0,35
0,3
0,25
0,15
0,1
0,05
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
100000
90000
80000
70000
60000
Teitz & Bart Soluo
50000
Modificao SOLUO
40000
30000
20000
10000
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
Conclusao
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.
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.
Bibliografia
[1] ABREU, N. Introducao a Teoria Espectral de Grafos com Aplicacoes. Sao Carlos,
SP: SBMAC, 2007. 5, 16
[3] AZZONI, C. R. Teoria da Localizacao: uma analise crtica. Sao Paulo, IPE - USP,
1982. 29
[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
[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.
[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
[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.
[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
[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
[35] GLOVER, F.; LAGUNA, M. Tabu Search. Kluwer Academic Publishers, Hingham,
1997.
[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
[41] HANSEN, P.; MLADENOVIC, N. Variable Neighborhood search for the p-median.
Location Science, 5, p. 207 - 226, 1997.
[43] HOLLAND, J.H. Adaptation in Natural and Artificial Systems. University of Michi-
gan Press, 1975. 51
[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
[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.
[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
[54] MARSTEN, R. E. An algorithm for finding almost all of the medians of a Network.
Discussion Paper, 23, Northwestern University, 1972. 41
[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.
[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.
[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.
[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
[76] REESE, J. Methods for the p-Median Problem: An Annotated Bibliography. 2006.
29
[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.
[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
[92] WOLSEY, L.A. Integer Programming. New York: Wiley-Interscience, 1998, 260p.
Apendice A
Exemplos ilustrativos
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
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
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.
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
T
y2 = 1.00 1.00 2.20
T
x2 = 0.45 0.45 1.00
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
Exemplo 4 Para o grafo G A.5, com valores unitarios atribudos as arestas, iremos
determinar os centros de emergencia:
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
es = (3, 3, 4, 3, 2, 4)
er = (4, 3, 3, 4, 3, 3)
esr = (6, 4, 6, 6, 4, 6)
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
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
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
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
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
E o numero de transmissao:
100
X
(Vp ) = vj .d(xj , Vp ) (A.6)
xj 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 }
(X3 ) = F O = 661.93
i0 j = max[14 , 24 , 34 ] = 195.66
xi S
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 .
Passo 3)
i0 j = max[19 , 39 , 49 ] = 47.21
xi S
S S {P9 } {P3 }
Passo 3)
i0 j = max[15 , 45 , 95 ] = 81.47
xi S