Uso de Conjuntos Recíprocos e Não Recíprocos para a

Propaganda
1
Uso de Conjuntos Recíprocos e Não Recíprocos para a Determinação
das p - Medianas de uma Rede.
Eduardo Andrade Veloso
Universidade Estadual da Paraíba – UEPB.
Centro de Ciências e Tecnologia – CCT.
Departamento de Matemática, Estatística e Computação – DMEC.
58.109.763 Campus de Bodocongó, Campina Grande, PB.
E-mail: [email protected]
1 – Resumo.
Dada uma rede com N vértices, o
problema das p – medianas consiste em
determinar p facilidades (medianas) de
modo que a soma de todas as distâncias
mínimas dos (N – p) pontos de demanda às
p facilidades seja minimizada. Neste
trabalho é introduzido o conceito de
conjuntos recíprocos e não recíprocos, e,
baseado neles, um algoritmo para a
determinação das p – medianas de uma
rede, para p < (N / 2). A cada vértice da
rede é associado um conjunto composto por
⎣Q⎦ =((N – p)/p)+1 vértices. É provado
que, dada uma rede com N vértices e p
facilidades a serem determinadas, haverá
pelo menos um conjunto composto por Q
vértices cujos conjuntos a eles associados
são conjuntos recíprocos. Tal ocorrência é
fundamental para a determinação da
solução ótima, já que esses conjuntos
podem gerar condições para obtenção de
uma partição da rede em p subconjuntos
mutuamente disjuntos. Além do mais, é
provado que, independente do valor de p, se
houver p ou mais conjuntos constituídos
unicamente de conjuntos recíprocos, a
solução ótima para o problema será
determinada após a obtenção dos p
conjuntos constituídos unicamente de
conjuntos recíprocos com interseção
vazia. Em outras palavras, o numero de
operações para a determinação da solução
ótima será dado por p*Q.
2 – Introdução
Uma rede é um grafo conectado e não
orientado G (V , E ) , com um número não
negativo w(v1 ) , onde w é o peso associado
a cada um dos seus V = N vértices, e um
número l (e) , onde l é o comprimento
associado a cada um dos seus E arcos.
Hakimi [6], [7] provou que existe um
subconjunto de p vértices V p ⊂ V , que
fornece a solução ótima para o problema
das p – medianas. Em vista disso, quando
nos referirmos na busca de uma solução
ótima,
procuramos
determinar
um
p
subconjunto V de vértices da rede.
Nós definimos a distancia
d ( v ,V p )
V
p
entre um vértice de G e o conjunto
em G por:
d (v,V p ) = min{d (v, vi )}
1
vi ∈ V p
onde d (v, v1 ) representa a distancia mínima
em G entre
v1 .
V p = {v1 , v2 ,........v p }
v
e o vértice
subconjunto
vértices em G , nós definimos:
H (V p ) =
Para cada
de
∑ w(v).d (v,V p )
p
2
v∈V
p
Nós chamamos H (V ) a soma
das distâncias mínimas a todos os vértices
v ∈V , v ∉V
p
p
p
, do conjunto V . Se V em G
satisfaz:
{ ( )}
___
H (V p ) = min H V p
V
p
⊂V
p
então V é chamado de mediana de G.
3
2
3 – O Modelo matemático para o
problema das p-medianas.
soluções viáveis cujas soluções serão piores
que a disponível.
O problema das p – medianas,
segundo o modelo de Revelle e Swain [15]
é apresentado na forma :
4.2 – Métodos Duais baseados na
Relaxação Lagrangeana.
Min z =
n
n
∑ ∑
i =1 j =1
d ij x ij
s .a .
n
∑
i =1
x ij = 1
x ii ≥ x ij
n
∑
i =1
j = 1, 2 ,......... ., n
4
i , j = 1 , 2 ,........, n i ≠ j
x ii = p
x ij ∈ {0 ,1}
i , j = 1, 2 ,......... , n
A Relaxação Lagrangeana é uma
técnica que provou ser eficiente na solução
de
vários
problemas
de
natureza
combinatória. Tal técnica é aplicada e
discutida por Geoffrion [5], Held, Wolfe and
Crowder [9], Fisher, Nothrup and Shapiro [3
].
Aplicações voltadas especificamente
no problema das p - medianas pode ser
encontrada em Cornuejols et al [1]. Uma
visão geral do problema de localização em
redes pode obtida em
4.3 – Métodos Heurísticos.
Se uma mediana é estabelecida no
vértice vi , então xii = 1 , e d ij representa o
custo de alocação do vértice v j à mediana
O modelo acima pode ser resolvido
via o Algoritmo Simplex, da Programação
Linear, aplicando a relaxação nas variáveis
xij , fazendo xij ≥ 0 . Se todos os valores das
variáveis forem inteiros, então a solução
ótima do problema foi encontrada. Do
contrário, uma técnica de ramificação e
limites pode ser usada, para a obtenção da
solução inteira. O grande problema do
modelo acima é que requer n 2 variáveis e
n 2 + 1 restrições.
Apesar dos métodos heurísticos não
terem a devida atenção dos matemáticos, os
mesmos podem ser usados para estimar
uma solução viável inicial, que poderá ser
usada como limite superior ou inferior para
problemas de grande dimensão. Então uma
técnica exata poderá ser usada para a
determinação da solução ótima do
problema, como por exemplo, a técnica de
ramificação e limite.
Há vários métodos heurísticos
voltados para a solução do problema das p
- medianas. Dentre eles podemos citar os de
Maranzana [13], Kuehn and Hamburger [12
], Teitz and Bart [16], Veloso [17 ], [19].
4 – Outros Métodos para a determinação
das p – medianas.
5 – Definições Básicas.
vi .
Há vários métodos voltados para a
solução dos problemas das p – medianas,
tais como:
4.1 - Algoritmos de Ramificação e
Limites.
O primeiro algoritmo de ramificação
e limites para o problema das p - medianas
foi desenvolvido por Jarvinen, Rajala e
Sinervo [10].Outros algoritmos foram
desenvolvidos por El-Shaieb [2],Galvão [4
], Khumawala [11], Neebe [14 ],Veloso [18
]. O principio básico de um algoritmo de
ramificações e limites é, através do limite
inferior, eliminar implicitamente as
As definições apresentadas a seguir
serão úteis para o desenvolvimento deste
trabalho.
Seja vi ∈ V . A cada vi ∈ V está
associado
um
subconjunto
Vi ⊂ V , i = 1,2,.........., N ,
compostos
por
(⎣Q⎦ + 1) vértices, para p < N/2, ordenados
em ordem crescente de seus custos de
alocação, a partir do vértice vi . (⎣Q⎦ + 1)
representa o número médio de alocações
por vértice mediana e é obtido dividindo-se
o número total de alocações, igual (N − p ) ,
por p, o número de medianas a ser
determinado.
3
Definição 1 – Informações baseadas
em conjuntos são as informações associados
a cada subconjunto Vi ⊂ V , compreendendo
o custo de alocação associados aos v j ∈ Vi ,
bem como a reciprocidade ou não entre os
conjuntos Vi e Vk , i ≠ k .
Definição 2 – Dois conjuntos Vi e Vk ,
com Vi = V k = (⎣Q ⎦ + 1) são definidos como
não recíprocos se:
Vi ∩ Vk ≠ ∅
5
com vi ∈Vk , porém vk ∉Vi . (ou vk ∈Vi ,
porém vi ∉ Vk .)
Definição 3 – Dois conjuntos Vi e Vk ,
com Vi = V k = (⎣Q ⎦ + 1) vértices são definidos
como recíprocos se:
Vi ∩ Vk ≠ ∅
6
com vi ∈Vk , e vk ∈Vi .
Definição 4 – Uma solução viável V p
é composta por exatamente p vértices
estabelecidos como medianas.
Definição 5 – O custo de alocação
dos vértices não medianas v j , associados a
cada conjunto Vi , i = 1,2,..........., N é dado por:
Si =
∑ d (vi , v j )
7
v j ∈Vi
onde d (vi , v j ) representa a distância mínima
do vértice
vi ao vértice v j .
6 – Teoremas sobre os Conjuntos Não
Recíprocos.
Sejam os v j ∈ Vi , Vi ⊂ V ordenados em
ordem crescente de seus custos de alocação
a partir de vi , com Vi = V k = (⎣Q ⎦ + 1) . Sob
essas condições, os seguintes teoremas são
válidos.
Teorema 1 – Se Vi e Vk são dois
conjuntos não recíprocos, então ∃ v j ∈ Vk tal
que d (vk , v j ) ≤ d (vk , vi ) .
Prova: Se Vi ∩ Vk ≠ ∅ e vi ∉ Vk , então
existe v j ∈ Vk , tal que d (vk , v j ) ≤ d (vk , vi ) .
Teorema 2 – Se Vi e Vk são dois
conjuntos não recíprocos, tais que vi ∈Vk ,
então S k ≥ Si .
Prova: Pelo Teorema 1, temos
que ∃v j ∈ Vi , tal que d (vi , v j ) ≤ d (vi , vk ) .
Logo, isso implica em S k ≥ Si .
Teorema 3 - Seja Si ≤ S k , ∀vk ∈ Vi .
Para ∀vk ∈ Vi , se existe v j associado a
conjunto não recíprocos com relação ao
conjunto Vk , com v j ∈ Vi .
Prova: V j e Vi são conjuntos
recíprocos, pois se não o fossem, existiria
um vértice v s , tal que d (vi , vs ) < d (vi , v j ) ,
substituindo v j . Porem, por hipótese,
v j ∈ Vi , o que contradiz essa hipótese. Como
V j e Vk são conjuntos não recíprocos, então
d (vk , v j ) ≥ d (vi , v j ) .
Teorema 4 – Seja v j ∈ Vi , tal que
V j = Vi . Se existir vk ∈Vi tal que S k ≤ S j ,
Vk e V j
são conjuntos não
então
recíprocos, com relação a Vk ou a v j ∈ Vk .
Prova: Se V j = Vi e vk ∈Vi , então
vk ∈ V j . Como S k ≤ S j , existe vs ∈ Vk , tal
que d (vk , vs ) ≤ d (vk , v j ) . Logo os dois
conjuntos são não recíprocos.
Teorema 5 – Haverá pelo menos
um conjunto Vi composto unicamente de
conjuntos recíprocos.
Sk = min{Si } ,
Prova:
Seja
calculado de acordo com (7). Então Vk será
pelos vértices associados às (⎣Q⎦ + 1)
menores distâncias mínimas possíveis da
rede. Logo, qualquer v j ∈ Vk terá vk como
um dos vértices mais próximos. Logo Vk e
V j serão conjuntos recíprocos, bem como
todos (⎣Q⎦ + 1) conjuntos associados os
vértices v j ∈ Vk .
4
5 – Determinação do Custo de uma
Solução Viável, para p < N/2.
Uma solução é dita viável se houver
exatamente p vértices estabelecidos como
medianas. Para a obtenção de uma
solução viável, todos os conjuntos
constituídos
unicamente
conjuntos
recíprocos são determinados e então
ordenados em ordem crescentes de seus
custos de alocação ou distâncias mínimas.
5.1 – Ocorrência de p interseção
vazia.
Teorema
6
–
Se
houver
p conjuntos constituídos unicamente de
conjuntos recíprocos com interseção vazia,
então a solução viável composta pelos
p vértices associados a esses conjuntos
constituirão uma solução ótima, se:
∪Vi = V
8
para vi ∈ V p , conjunto constituído por p
vértices estabelecidos como facilidades.
Prova: Como todos os Si ,
associados aos conjuntos
i = 1,2,.....k
constituídos unicamente de conjuntos
recíprocos estão ordenados em crescentes
de seus custos de alocação, então existindo
p interseção vazia (8) será satisfeita,
fazendo que ocorram os ( N − p ) menores
custos de alocações possíveis.
5.2 – Ocorrência
interseção vazia.
de
(p-r)=1
Na ocorrência de (p-r)=1, onde r
representa o número de conjuntos
constituídos unicamente de conjuntos
recíprocos com interseção vazia, significa
que ainda é preciso determinar mais um
vértice como mediana. Isso significa que
haverá:
Cp =
∑ Si + ∑
vi ∈V p
∆Si j + − ∑ ∆S kj −
10
onde ∑ ∆Sij + representa o acréscimo de
alocação devido as perdas de alocação,
representadas por ∑ ∆Skj − , com vi , vk ∈ V p .
Prova: Dado que dada uma rede com
N vértices e p medianas a serem
determinadas, haverá sempre (N-p) vértices
não medianas alocados aos p vértices
estabelecidos como medianas, então (10)
faz com que isso ocorra, ou seja, uma perda
ocorrida por interseção não vazia deve ser
compensada com um acréscimo de alocação
a um dos vértices estabelecidos como
facilidade, obedecendo ao critério de
minimização de custos.
Teorema 8 – Seja V r o conjunto
formado por r vértices estabelecidos como
medianas e vm e vk vértices candidatos à
mediana, ambos com seus conjuntos
associados com interseção não vazia com
os conjuntos associados aos r vértices
estabelecidos como medianas. Então se vk
substituir vm como candidato à mediana,
então a variação total nos custos de
alocação será dado por:
∆Stp < ( S m − Sk ) + ∆Stp
k
m
11
para ∀vk ∈ V − ∪Vi , vi ∈ V p
Prova:Temos que o custo de uma
solução viável é dado por
C p = ∑ Si + ∑ ∆Si j + − ∑ ∆Skj −
12
∆Stp = ∑ ∆Si+ − ∑ ∆Sk−
13
fazendo:
N − ( ⎣Q⎦ + 1) * r
9
vértices para se escolher um como
mediana e todos eles estão associados a
conjuntos que têm interseção não vazia
com os vértices dos conjuntos associados
aos r
vértices
estabelecidos como
mediana.
Teorema 7 – Na ocorrência de (9), o
custo de uma solução viável será dada por:
ficamos então com :
C p = ∑ Si + ∆S tp
14
Se vk ∈ Vm substitui vm , em função do
equilíbrio de custos devemos impor:
5
C pk = C pm
15
ou:
Sk +
∑ Si + ∆Stpk
i≠k
= Sm +
∑ Si + ∆Stpm 16
i≠m
•
como os dois somatórios são iguais, pois
tem (p-1) vértices estabelecidos como
medianas, teremos então que ;
∆Stp = (S m − S k ) + ∆Stp
k
Logo, para que haja redução nos custos de
alocação, teremos que:
∆Stp < ( S m − S k ) + ∆Stp
m
v j ∈ Vi ,
17
m
k
•
18
6 – Desenvolvimento do Algoritmo.
O algoritmo a ser apresentado pode
ser aplicado para a determinação das p –
medianas de uma rede é composto de três
fases, com seguintes passos.
•
•
•
•
Determine a matriz de distancias
mínimas entre qualquer par de
vértices da rede.
Determine o número médio de
alocação de vértices não medianas,
para cada vértice vi da rede,
gerando o conjunto Vi , composto
das (⎣Q⎦ + 1) menores distancias
mínimas.
Ordene os vértices v j ∈ Vi em
ordem crescente de suas distancias
mínimas a partir de vi .
Determine todos os conjuntos Vi
constituídos
unicamente
de
conjuntos recíprocos.
Si ,
Ordene
os
i = 1,2,...., N ,
calculados de acordo com (7) em
ordem crescente de seus custos de
alocação, para os conjuntos
determinado no passo anterior.
Fase II: passos.
•
Para os conjuntos Vi associados aos
Si do passo anterior, determine o
número r dos que têm interseção
vi ∈ V p ,
então a presente
solução é ótima. Caso contrário
substitua vi por v j . Se (18) for
satisfeita, então v j será o novo
vértice facilidade.
Se (p-r)=1, haverá um número de
vértices livres dado por V − ∪Vi ,
vi ∈ V r
•
.
Estabeleça como mediana aquele
que satisfizer (18).
Fase III: passos.
•
Fase I: passos.
•
com o mesmo e escolha o que tem
o número máximo de interseção
vazia, com o menor custo de
alocação.
Se r=p, temos um solução viável.
Se não existir conjunto não
recíproco associado a algum V j ,
•
•
Para cada vértice v j ∈ Vi , vi ∈ V r ,
substitua vi por v j . Se (18) for
satisfeita, estabeleça v j como
mediana.
Repita o passo anterior para todos
os v j ∈ Vi , vi ∈ V r .
Fim do algoritmo.
7 – Complexidade do Algoritmo.
A complexidade do algoritmo será
considerada sob as condições (8) e (9). Já
todo algoritmo precisa do cálculo da matriz
de distâncias mínimas, a sua complexidade
não será considerada.
Na fase I, o número de operações
para ordenar um vetor com n elementos,
usando o método de substituição é dado por
n2 .
Na fase II, na ocorrência de (8), então
o número de operações ⎣Q ⎦ *p. Na
ocorrência de (9), então (⎣Q⎦ + 1) *r
+ (⎣Q⎦ + 1) *N, já que é preciso verificar quais
vértices estão livres.
Na fase III, é aplicada a fase II r
vezes. Logo, o número de operações
essenciais para a determinação das p medianas de uma rede será dado por:
r(( (⎣Q⎦ + 1) *r + (⎣Q⎦ + 1) *N1)
19
6
onde N1 representa o número de vértices
livres.
8 – Resultados Computacionais.
Os
resultados
computacionais
apresentados a seguir, apesar das redes não
serem de grande porte, mostram que a
solução ótima foi determinada os valores de
N e p testados. No entanto, dado que o
número de operações para a determinação
da solução viável não é elevado, o mesmo
poderá ser aplicado a redes de grande porte,
o que será feito em trabalho futuro.
Alguns resultados computacionais
são apresentados na tabela 1 abaixo, onde
C.C.U.C.R significa conjuntos constituídos
unicamente de conjuntos recíprocos, que
estão associados aos vértices medianas da
solução ótima.
Tabela 1
N
10
p
2
3
C.C.U.C.R
V5, V10
V7, V1
Solução Ótima
15
3
4
5
V2, V11
V11,V1,V5
V11,V3,V9,V8
294
215
150
25
6
V17,V5,V24,V4,V16
387
30
3
4
5
V26,V19
V22,V16
V30,V21,V19
777
610
516
47
36
9 – Conclusão.
Apesar do número limitado das redes
testadas e dos valores de p, é preciso
observar que os resultados envolvem a
ocorrência das condições (8) e (9). O
importante é observar que em qualquer
solução ótima os conjuntos constituídos
unicamente de conjuntos recíprocos estão
presentes, pois são os únicos com a
condição de gerarem interseção vazia entre
si. Naturalmente, com a inclusão da
condição (p-r)≥2,para os conjuntos com
interseção não vazia, o número de soluções
atingirão todos os valores de p, para p≤N/2.
Bibliografia.
[1]
Cornuejols,
G.,
Fisher,
M.L.,
Nemhauser, G.L., Location of bank
accounts to optimize float: An analisys
study of exact an approximate algorithms,
Man. Sci, 23, 789, (1977).
[2] El-Shaieb, A.M. A new algorithm for location
sources among destination, Man. Sic., 20,
221,(1973).
[3] Fisher, M.L., The lagrangian relaxation
method for solving integer programming
problems, Man, Sci., 27, (1981).
[4] Galvão, R.D., A dual bounded algorithm for
the p-median problem, Opers. Res. 28, 1112,
(1980).
[5] Geoffrion, A.M., Lagrangian relaxation for
integer programming, Math. Prog. Study, 2,
82, (1974).
[6] Hakimi, S.L., Optimum distribution of
Switching center in a communication network
and some related graph theoretic problems,
Opers. Res. 13, 462, (1965).
[7] Hakimi, S.L., Optimal location of switching
centers and absolute centers and medians of
a graph, Opers. Res. 12, 450, (1964).
[8] Handler, G.Y., Mirchandani, P.B., Location
on Networks: Theory and Algorithms, MIT
Press, Cambridge, 1979.
[9] Held, p., Wolfe, p., Crowder, H.P., Validation
of subgradient optimization, Math. Prog. 6, 62,
(1974).
[10] Jarvinen, P., Rajala, J., Sinervo, H., A
branch-and-bound algorithm for seeking the pmedian, Oper. Res., 20, 173, (1972).
[11] khumawala, B. M., An efficient branch and
bound algorithm for warehouse location
problem, Mang. Sci., 18, 12, (1972).
[12] Kuehn, A.A., Hamburger, M. J., A heuristic
program for location warehouse, Man. Sci., 9,
643, (1963).
[13] Maranzana, F.E., On the location of supply
points to minimize transport costs, Operational
Res. Quart., 15, 261, (1964).
[14] Neebe, A.W., A branch-and-bound
algorithm for the p-median transportation
problem, J. Opl .Res. Soc., 29, 979, (1978).
[15] Revelle, C., Swain, R.W., Central facilities
location, Geographical Analysis, 2, 30, (1970)
[16] Teitz, M.B., Bart, P., Heuristics methods for
estimating the generalized vertex median of a
weighted graph, Ope. Res., 16, 955, (1968).
[17] Veloso, E.A., Um algoritmo baseado na
interseção de conjuntos para a determinação
das p -medianas de uma rede, XXVI SBPO,
(1994).
[18] Veloso, E.A., Um algoritmo eficiente para a
determinação das p - medianas de uma rede,
XXI SBPO E IV CLAIO, (1988).
[19] Veloso, E.A., (1995) – Um novo algoritmo
para a determinação das p - medianas de
uma rede , II EIMA, (1995).
Download