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).