Legal forms

Um GRASP para o Problema da Rotulação Cartográfica de Pontos: Novas Soluções

Description
Produto & Produção, vol. 10, n. 1, p , fev Um GRASP para o Problema da Rotulação Cartográfica : Novas Soluções Gildásio Lecchi Cravo Faculda Aracruz UNIARACRUZ Glaydston
Categories
Published
of 14
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
Produto & Produção, vol. 10, n. 1, p , fev Um GRASP para o Problema da Rotulação Cartográfica : Novas Soluções Gildásio Lecchi Cravo Faculda Aracruz UNIARACRUZ Glaydston Mattos Ribeiro Universida Feral do Espírito Santo UFES Instituto Nacional Pesquisas Espaciais INPE Dr. Luiz Antonio Nogueira Lorena Instituto Nacional Pesquisas Espaciais INPE O Problema da Rotulação Cartográfica (PRCP) é uma importante etapa no processo geração mapas em um sistema informações geográficas e consiste em posicionar os dos pontos em posições que não ocasionam sobreposições. O PRCP é um problema da classe NP-difícil e por isso, várias abordagens foram propostas usando heurísticas/metaheurísticas para resolvê-lo no sentido se obter soluções polinomiais e boa qualida. Seguindo essa idéia, esse trabalho propõe um GRASP para o PRCP baseado em seu grafo conflitos. Os resultados encontrados para instâncias da literatura mostram que essa metaheurística é uma boa estratégia, pois a mesma produziu soluções melhor qualida que todos os resultados informados na literatura, em um tempo computacional razoável. Palavras-chave: GRASP; Rotulação Cartográfica ; Heurística. The point-feature cartographic label placement problem (PFCLP) is an important task in map generation process mainly in geographic information systems. It consists in placing point labels in clear and legible positions in a map or diagram. The PFCLP is a NP-Hard problem consequently in the literature, there are several approaches using heuristics/metaheuristics for producing good solutions in reduced times. Following this ia, in this paper we proposed a GRASP that uses the conflict graph produced by the PFCLP. Consiring instances proposed in the literature, our results show that this metaheuristic is a good strategy. We had better solution than all those reported in the literature in reasonable computational times. Keywords: GRASP; Map Labeling; Heuristic. 1 Introdução O Problema da Rotulação Cartográfica (PRCP) é uma tarefa importante na Cartografia e consiste em posicionar os dos pontos em posições pré-finidas tal forma que não gerem sobreposições. De maneira geral, carregam informação sobre objetos (ou características) em exibições como gráficos, res, diagramas, ou mapas cartográficos (WOLFF, 1999). Cada característica que precisa ser rotulada tem posições, nas quais, seu rótulo po ser colocado. Porém, como já dito, é essencial que todos os sejam colocados maneira clara e com pouca poluição visual. Existem três tipos rotulação cartográfica: a pontos (ex: cidas), áreas (ex: país) e a rotulação linhas (ex: rodovias). Esse trabalho consira somente a rotulação cartográfica pontos por ter recebido maior atenção por parte dos pesquisadores, e por se tratar um problema difícil solução (WOLFF; STRIJK, 2005). A Figura 1 mostra um exemplo do PRCP. Note que existem vários sobrepostos, reduzindo assim a legibilida do mapa. Figura 1 - Um exemplo um mapa com alguns sobrepostos (Fonte: Ribeiro; Lorena, 2006) Na literatura existem diversas técnicas solução que consiram heurísticas, metaheurísticas e métodos exatos. Muitas stas foram propostas porque o PRCP po ser representado por um grafo conflitos, em que os vértices representam as possíveis posições dos e as, os possíveis conflitos (sobreposições). Seguindo também essa idéia, esse trabalho apresenta um GRASP (FEO; RESENDE, 1989) para o PRCP. O GRASP (Greedy Randomized Adaptive Search Procedure) é um método iterativo que apresenta duas fases distintas. A primeira fase construção cria uma solução gulosa, porém, aleatória. A segunda fase é uma busca local, aplicada sobre a solução aleatória e gulosa obtida pela primeira fase. Nesta fase, a vizinhança da solução atual é avaliada na busca uma solução melhor. Essas duas fases são repetidas durante um certo número iterações e a melhor solução obtida é retornada pelo GRASP. O GRASP para o PRCP foi testado em instâncias propostas na literatura, produzindo melhores resultados que todos os apresentados e em tempos computacionais razoáveis. O restante do trabalho está como segue. A próxima seção apresenta uma revisão sobre o PRCP, e a Seção 3 apresenta as principais abordagens para o PRCP. A Seção 4 apresenta uma breve revisão sobre o GRASP, assim como o GRASP proposto. A Seção 5 mostra os resultados computacionais sobre as instâncias da literatura, seguida das conclusões e sugestões para pesquisas futuras. 2 O Problema da Rotulação Cartográfica O PRCP po ser visto como um problema otimização combinatória, no qual seja-se maximizar a legibilida sujeito a restrições sobreposições. Cada ponto tem um conjunto locais nos quais pom ser colocados os seus. Esses locais são conhecidos como posições candidatas e são finidos a partir uma padronização cartográfica (CHRISTENSEN et al,1995). Nesta padronização, para cada posição candidata é associado um peso indicando a preferência cartográfica; quanto menor o peso, maior a preferência pela rotulação na posição indicada. A Figura 2 mostra um grupo 8 posições candidatas para um ponto on os números indicam as preferências cartográficas. A posição número 1 é a melhor. Figura 2 Conjunto oito posições candidatas para um ponto (Fonte: CHRISTENSEN et al, 1995) A partir da finição posições candidatas, o PRCP po ser representado por um grafo conflitos. Seja N o número pontos a serem rotulados e P o número posições candidatas para cada ponto. G= {V, A} é o grafo conflitos corresponnte, on V= {v 1, v 2,, v N*P } é o conjunto posições candidatas e A={(v i, v j ): i, j V, i j} os conflitos entre posições candidatas. Figura 3 Grafo conflito para o PRCP. (a) Problema; (b) Grafo conflitos e (c) Solução ótima (Fonte: RIBEIRO; LORENA, 2006) A Figura 3(b) mostra o grafo conflitos gerado a partir do problema da Figura 3(a), e a Figura 3(c) mostra a solução ótima para esse problema. Geralmente na literatura, a proporção em relação ao número pontos a serem rotulados, avalia a qualida da rotulação (RIBEIRO; LORENA, 2005; YAMAMOTO et al, 2002; CHRISTENSEN et al, 1995). Assim, consirando o problema mostrado na Figura 3, a solução fornecida na Figura 3(c) tem 100%. 3 Principais Abordagens Para o PRCP e Técnica Redução do Grafo Conflitos Para o PRCP com um conjunto discreto posições candidatas para os pontos, como scrito na Figura 2, existem três abordagens diferentes na literatura. A primeira busca o maior número, mesmo não rotulando todos os pontos. Esse problema po ser visto como o Problema do Máximo Conjunto Inpennte (PMCI) (ZORASTER, 1990; STRIJK et al, 2000). A segunda também procura o máximo número, porém, neste caso, todos os pontos vem ser rotulados. Esse problema é conhecido como Problema do Máximo Rótulos Sem Conflitos (PMNRSC) (RIBEIRO; LORENA, 2005) e vários trabalhos usaram essa abordagem (CHRISTENSEN et al, 1994; 1995; VERNER et al, 1997; YAMAMOTO; LORENA, 2005). A última abordagem consira o Problema da Minimização do Conflitos (PMNC) e foi introduzida primeiramente por Ribeiro e Lorena (2005; 2006). Essa aproximação também rotula todos os pontos, mas minimiza o número conflitos na solução. Consirando o PRCP como um PMCI, existem pesquisas significativas na literatura mostrando algoritmos e técnicas. Zoraster (1990) formulou matematicamente o PRCP, com restrições conflitos e posições candidatas extras custo alto, que são utilizadas quando os pontos não pom ser rotulados sem conflitos. Strijk et al (2000) propuseram uma molagem programação inteira binária que usa restrições corte para reduzir o número restrições conflito presentes no molo. Os autores utilizaram uma relaxação programação linear e aplicaram um algoritmo Branch and Bound para encontrar as soluções ótimas para os problemas por eles testados, e ainda aplicaram e propuseram várias heurísticas, sendo elas: Simulated Annealing, Busca em Vizinhança Diversificada, k-opt e Busca Tabu. Agora, consirando o PRCP como um PMNRSC, existem vários trabalhos na literatura. Christensen et al (1994; 1995) propuseram um método nominado Busca Exaustiva, que faz uma procura por soluções melhores alternando posições previamente posicionados. Christensen et al (1995) também propuseram um algoritmo guloso com sucessivas otimizações locais e um algoritmo nominado Discrete Gradient Descent que consira posições alternativas dos, porém, esse algoritmo tem dificuldas para escapar máximos locais. Verner et al (1997) aplicaram um Algoritmo Genético com máscara tal que se um rótulo se encontra em conflito, é permitida a troca por outra posição candidata através cruzamento e com isso, procura-se eliminar o conflito. Yamamoto et al (2002) propuseram um algoritmo Busca Tabu que obteve bons resultados quando comparados com a literatura. Schreyer e Raidl (2002) aplicaram um sistema Colônia Formigas, mas os resultados não foram interessantes quando comparados aos obtidos por Yamamoto et al (2002). Yamamoto e Lorena (2005) senvolveram um algoritmo exato para instâncias pequenas do PRCP e aplicaram um Algoritmo Genético Construtivo (CGA) em instâncias gran porte. O algoritmo exato foi aplicado a instâncias 25 pontos e o CGA foi aplicado a instâncias até 1000 pontos. Recentemente, Yamamoto et al (2005) propuseram um algoritmo nominado FALP que mostrou resultados melhores que o CGA usando a mesmas instâncias propostas por Yamamoto et al (2002). Consirando por último o PRCP como um PMNC, Ribeiro e Lorena (2005; 2006) propuseram dois molos matemáticos baseados em programação linear inteira binária e também uma Relaxação Lagrangeana com divisão em clusters (LagClus) que apresentou os melhores resultados da literatura para as instâncias propostas por Yamomoto et al (2002). A segunda formulação proposta pelos autores é apresentada abaixo. N Pi v( PMNC) = Min wi, j xi, j + yi, j, c (1) i= 1 j= 1 c Ci, j Sujeito a: P i j= 1 C xi j = 1 i 1... N i, j, = x i, j + x k, t y i, j, c C i, j i = 1... N ( k, t ) S i, j c Ci, j (3) j = 1...P i (2) x i, j, x k, t e y i, j, c { 0,1} i = 1... N j = 1... P c C i, j i Sendo: N o número pontos a serem rotulados e P i o conjunto posições candidatas do ponto i; x i,j uma variável binária com i N e j P i ; w i,j a preferência cartográfica associada a cada posição candidata. Permite priorizar algumas posições candidatas como scrito na Figura 2; S i,j um conjunto par índices (k,t): k i posições candidatas tal que x k,t tem conflito (aresta) com x i,j ; C i,j um conjunto com todos os pontos que contêm posições candidatas em conflito com a posição candidata x i,j ; y i,jc uma variável conflito entre a posição candidata x i,j e o ponto c C i,j :c i. A Restrição (2) garante que cada ponto ve ser rotulado com uma posição candidata. A Restrição (3) garante que, se vértices com conflitos forem escolhidos para compor a solução, a função objetivo scrita na Equação (1) será penalizada. E a Restrição (4) indica que todas as variáveis no molo são binárias. O grafo conflitos do PRCP po ser muito gran, dificultando o processo resolução. Wagner et al (2001) apresentaram um método para reduzir o grafo conflitos obtido para um PRCP. O método é composto três regras que não alteram o conjunto soluções ótimas, e estão mostradas a seguir: 1. Se um ponto p tem uma posição candidata livre conflitos, ve-se usar essa posição candidata na solução do problema e todas as outras posições candidatas do ponto p vem ser eliminadas; 2. Se um ponto p tem uma posição candidata p i que está em conflito somente com uma posição candidata q k, e o ponto q tem uma posição candidata q j (j k) que está sobreposta somente por uma posição candidata p l (l i), então adicione p i e q j na solução do problema e elimine as mais posições candidatas p e q; 3. Se um ponto p tem somente uma posição candidata p i restante, e todas as posições candidatas que sobrepõem p i formam uma clique, então adicione p i na solução do problema e elimine todas as posições candidatas que sobrepõem p i. As regras são aplicadas exaustivamente, ou seja, após a eliminação uma posição candidata p i, vese aplicar recursivamente as regras na vizinhança p i. Essa redução apresenta bons resultados e, para mais talhes, ver Wagner et al (2001). 4 Um GRASP para o PRCP O GRASP, proposto por Feo e Resen (1989; 1995), é um método iterativo constituído duas fases: a construção e a busca local. Na fase construção, é gerada uma lista candidatos, ornados acordo com sua contribuição na função objetivo. Uma solução é então construída elemento a elemento. Essa construção é probabilística, pois a escolha do novo elemento que verá compor a solução é feita aleatoriamente a partir uma lista, nominada lista candidatos restritos (LCR) que é formada pelo melhores elementos da lista candidatos. A heurística também é adaptativa, pois a cada iteração da fase construção, os custos (pesos utilizados pela função ornação) são atualizados para refletir as mudanças ocasionadas pela seleção do elemento na iteração anterior. Tendo em vista que essa construção é probabilística, as soluções geradas nesta fase provavelmente não serão localmente ótimas. Daí a importância da segunda fase do GRASP, que tenta melhorar a solução construída na fase anterior, trabalhando na sua vizinhança. (4) O parâmetro aleatorieda que termina o tamanho da LCR, ou seja, quantos melhores elementos farão parte da LCR, é um parâmetro importante a ser ajustado em um procedimento GRASP. Devido a sua facilida implícita, existem na literatura diversas aplicações práticas usando o GRASP. Des 1980, o GRASP vem sendo aplicado em gran escala na pesquisa operacional e em problemas otimização na indústria (FESTA; RESENDE, 2002). Desses incluem problemas em roteamento, lógica, particionamento, localização, teoria dos grafos, transporte, telecomunicações, projeto VLSI, etc. Resen e Feo (1996) apresentaram quatro implementações do GRASP para resolver o problema SAT, monstrando assim, como diferentes versões do GRASP pom ser conseguidas mudando a função gulosa da fase construção e a busca local. Algumas variações do GRASP também foram propostas. Prais e Ribeiro (2000) propuseram um GRASP Reativo, que é um GRASP no qual não se usa um valor fixo para o parâmetro que fine o tamanho da LCR durante a fase construtiva. O GRASP Reativo previamente se auto-ajusta acordo com a qualida das soluções encontrada. Laguna e Martí (1999) incorporaram ao GRASP uma estratégia path relinking, para tentar melhorar os resultados. Recentemente, Resen e Ribeiro (2005) apresentaram vários avanços e aplicações para o GRASP com path relinking. Para uma revisão completa sobre o GRASP e suas aplicações, veja Festa e Resen (2002), Aiex et al (2003) e Resen e Ribeiro (2003). 4.1 Fase Construtiva do GRASP para o PRCP Observando que o PRCP po ser representado por um grafo conflitos, o GRASP proposto usa um método que é baseado no grau dos vértices, como terminado em alguns trabalhos da literatura, como, por exemplo, em Abello et al (1999) e Feo et al (1994). O grau um vértice é o número incintes naquele vértice, representando uma medida conflitos um rótulo. Seja G={V,A} um grafo conflitos como scrito no Capitulo 2, sendo V um conjunto vértices (posições candidatas) e A um conjunto (conflitos entre vértices), e LCR_Tamanho o tamanho da lista candidatos restrita. Assim, o pseudocódigo da fase construtiva po ser escrito como mostrado na Figura 4. Procedimento Contrucao_Aleatoria_e_Gulosa() 1 Sol {} 2 V_Guloso V 3 Enquanto V_Guloso {} Faça 4 CriarLCR(LCR,V_Guloso,Sol,LCR_Tamanho) 5 v Seleção_Aleatoria_do_Elemento (LCR) 6 Sol Sol v 7 Reduzir_Vértices_Ativos(V_Guloso, v) Fim Enquanto 8 Retorne Sol Figura 4 Uma heurística construtiva para o PRCP O método CriarLCR é responsável por criar a lista candidatos restrita. Primeiro, consirando o grafo conflitos atual, esse método computa um peso para cada vértice baseado no seu grau, preferências cartográficas e potenciais conflitos com a solução atual Sol, e em seguida orna os vértices forma crescente segundo seus pesos. Em seguida, os primeiros LCR_Tamanho vértices são consirados como restritos. Essa lista candidatos restrita é criada a cada iteração porque a cada repetição do procedimento mostrado na Figura 4, o grafo conflitos é reduzido. Quando o procedimento seleciona um vértice para entrar na solução atual (linha 5 do algoritmo), esse vértice é uma posição candidata algum ponto i e ve ser aplicado um método para reduzir o grafo atual e a lista vértices ativos. Esse método, nominado Reduzir_Vértices_Ativos, recebe a lista vértices atual (V_Guloso) e o vértice selecionado v, em seguida remove V_ Guloso todas as posições candidatas do ponto i que tem v como uma posição candidata. O grafo restante po ainda apresentar alguns vértices em potencial conflito com a solução atual Sol. Com isso, para evitar selecionar vértices em conflitos com a solução atual, a lista candidatos restrita ve estar acordo com a preferência cartográfica, o grau e o potencial conflito cada vértice ativo com a solução atual, ou seja, conforme a seguinte equação: Peso (x) = Preferencia_Cartografica(x) + Grau(x) + M*PotenciaisConflitos(Sol,x) (5) On: Preferência_Cartografica (x) é a preferência cartográfica do vértice x; Grau(x) - O grau do vértice x consirando o grafo conflitos atual; PotenciaisConflitos(Sol, x) - O número potenciais conflitos entre x e a solução atual Sol; e M é um coeficiente que penaliza o vértice x se este apresentar potenciais conflitos com a solução atual Sol. A função representada pela Equação (5) assegura que se um vértice x tem grau alto e vários conflitos potenciais com a solução atual Sol, x aparecerá no final da lista quando os vértices forem ornados, evitando por enquanto conflitos. A Figura 5 mostra duas iterações um exemplo teórico, no qual, todas as preferências cartográficas são iguais a 1 para todas as posições candidatas (vértices). Para esse exemplo, LCR_Tamanho = 4 e M =10 na Equação (5). Note que na primeira iteração, representada na Figura 5(a), o vértice selecionado aleatoriamente foi v 1 e, conseqüentemente, todas as posições candidatas do respectivo ponto foram removidas do grafo conflitos. Na segunda iteração (veja Figura 5(b)), o grafo conflitos está reduzido e todos os graus dos vértices são recalculados. O vértice v 13 tem um potencial conflito com o vértice v 1 selecionado na iteração anterior. Com isso, esse vértice é penalizado e aparece no final da lista ornada, reduzindo assim suas chances ser selecionado nesta iteração. Figura 5 Um exemplo da heurística construtiva para o PRCP Este processo é repetido até que uma solução viável seja obtida. Se o comprimento da LCR em alguma iteração for menor que o número restante vértices, o tamanho da LCR ve ser igual a este número. 4.2 Fase Busca Local do GRASP para o PRCP A segunda fase do GRASP para o PRCP usa uma heurística busca local que trabalha alterando a posição candidata obtida para cada ponto i na primeira fase, por uma outra posição válida j P i procurando obter uma solução que reduz a função objetiva scrita na Equação (1). Essa heurística busca local está scrita na Figura 6. Note que, conforme a Figura 6, a solução gerada através da heurística construção é modificada (linha 11) e o valor obtido é comparado com a melhor solução obtida até então (fcorrente). Note também que é calculado o total (linha 17) à medida que uma nova solução é encontrada. Com isso, o GRASP para o PRCP po ser representado através da Figura 7. Observe na linha 6 sse algoritmo que se a melhor solução encontrada (f*) for igual ao valor da função objetivo uma solução x gerada pela busca local, ve-se comparar qual das duas soluções (x* ou x) apresenta o maior número. Procedimento Busca_Local(x) // Seja: // - FO(Sol) a função objetiva scrita na Equação (1) // - NumeroRotulosSemConflitos (Sol) uma função que conta o // número sem conflitos presentes na solução Sol 1 Sol x 2 EncontrarNovaSolução verdairo 3 fcorrente FO (Sol) 4 RotulosLivres NumeroRotulosSemConflitos (Sol) 5 Enquanto EncontrarNovaSolução Faça 6 EncontrarNovaSolução falso 7 Para i=1,, N Faça 8 PosiçãoCandidataCorrente = Sol[i] 9 Para j P i Faça 10 Se j==sol[i] Então Continue
Search
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks