IMPLEMENTACAO UTILIZANDO DISTÂNCIA ENTRE PONTOS CONSIDERANDO OS ARCOS QUE FORMAM UMA REDE
 
MODELO DE LOCALIZAÇÃO E ALOCAÇÃO | ALGORITMO| SCRIPT| APLICAÇÃO|DOWNLOAD|REFERÊNCIAS BIBLIOGRÁFICAS
 
 

Resultados Preliminares

Nesta fase do projeto, fez-se a integração de um algoritmo de localização e alocação a um SIG, Sistema de Informações Geográficas, no caso o ArcView fabricado pela ESRI-Environmental Systems Research Institute.
O SIG ArcView é um software para tratamento de informações geográficas e mapeamento desktop. Possibilita visualização, exploração, solicitação e análise de dados geograficamente. Possui um ambiente de desenvolvimento integrado a uma linguagem de programação orientada a objeto, chamada Avenue, que é implementada através de scripts.
A linguagem Avenue permite automatizar tarefas individuais, personalizar interface com o usuário dentro do ArcView, ou criar e integrar aplicações com o ArcView[1].
O algoritmo foi integrado ao SIG através de um script.


 
Modelo de localização e alocação

Localização e alocação é o processo de se determinar a melhor, ou ótima localização para uma ou mais facilidades ou centros ofertantes, de modo que os serviços ou benfeitorias sejam acessíveis à população, representada por pontos de demanda, da maneira mais eficiente. Os modelos otimizam eficiência, determinando simultaneamente a configuração das facilidades - localização - e fazendo a ligação da população a essas facilidades - alocação[2].
O modelo utilizado para esta fase do projeto foi o de distâncias mínimas ou problema das p-medianas, onde o objetivo foi minimizar a distância total percorrida entre cada ponto de demanda e seu centro ofertante mais próximo. A distância calculada foi linear e nenhuma restrição foi considerada.
 


 
Algoritmo

O algoritmo fornece uma solução heurística para problemas de p-medianas, utilizado na resolução de processos de localização e alocação. Seleciona a partir de n pontos  fornecidos, um conjunto de  p pontos  ( p <= n ), que melhor representam as medianas, minimizando a soma das distâncias entre os pontos e medianas. Essas medianas podem representar por exemplo, quais os melhores locais para se alocar um número p de pontos de saúde, dentre um conjunto n de pontos que representam os bairros de uma dada cidade.
A distância entre os pontos foi calculada a partir da escala do mapa no qual estão inseridos os pontos considerados, e os valores resultantes representam a distância  levando em conta os arcos(ruas e avenidas) que formam uma rede. Para isso foram utilizadas algumas funções do módulo Network do SIG ArcView. Neste modelo de solução do problema das p-medianas, a distância entre os pontos ou comprimento do arco foi o único parâmetro de custo considerado para o ponto selecionado.
Foi implementado através de um programa executável, chamado Pmedian.exe escrito em linguagem C,  compilado com MS Visual C++, e um script escrito na linguagem Avenue.
O programa Pmedian.exe (Senne and Lorena,1999)[3] utiliza como entrada de dados o arquivo pmedian.dat gerado pelo script e gera como saída um arquivo no formato texto chamado solução.txt, contendo uma lista tripla formada pelo ponto(nó) de origem ou ponto de demanda, sua mediana ou ponto ofertante correspondente (identificado por números) e por último a distância entre eles. Segue um número que indica fim da lista tripla e para finalizar, o status da solução que pode ser: "Solução Ótima" (Gap fechado por limites), ou "Não-Ótima" (Pi muito pequeno ou  Subgradiente nulo).
 


 
Script

O ArcView possui uma função Spider, implementada através de um script. Este script verifica as distâncias entre os pontos considerados pontos de demanda, contidos em um tema, e os pontos considerados centros ofertantes, contidos em outro tema, e faz a ligação dos pontos de demanda aos centros ofertantes mais próximos. Utilizou-se essa função como modelo para o script utilizado na integração. Foi necessário fazer algumas modoficações na codificação do script de modo a adequar às necessidades da integração visando obter melhor desempenho no processamento.
Inicialmente é solicitado ao usuário informar o número de medianas ou centros ofertantes que deve ser obtido, e em seguida o tema a ser usado como pontos de demanda. O script grava essas informações no arquivo que serve de entrada para o programa Dmatrix.exe, executa a chamada dos dois programas em C, Dmatrix.exe e Pmedian.exe e lê os resultados gravados no arquivo Solução.txt.
Em seguida gera dois temas, um chamado Medianas.shp contendo os pontos correspondentes às medianas e outro chamado Solução.shp correspondente às linhas que unem as medianas aos pontos de demanda, e grava as distâncias correspondentes no arquivo de atributos deste tema. Por último mostra em uma janela separada o status da solução que pode ser ótima ou não.
As figuras a seguir ilustram uma aplicação desenvolvida.
 


 
Aplicação

Nesta aplicação deseja-se localizar pontos chamados centros ofertantes e alocar pontos de demanda aos centros ofertantes, pontos esses que foram localizados na cidade de São José dos Campos-SP. Foi utilizada uma rede de ruas e avenidas que abrange uma parte da cidade.

As linhas em cor preta correspondem a algumas ruas e avenidas da cidade , cujo tema é Eixos_SJC. Os pontos em azul são os pontos de demanda correspondentes ao tema P_demanda.
 

 Fig. 1 - Tema P_demanda contendo os pontos para a execução do programa p_medianas.exe desenvolvido.
 

Inicialmente o script solicita ao usuário que digite o número de medianas desejado, neste caso 3.

 
 Fig.2 - Janela de solicitação do número de medianas.

Em seguida solicita ao usuário que escolha o tema a ser usado como rede.
 

Fig.3 - Janela de solicitação do tema a ser usado como rede.

 Em seguida, solicita que o usuário informe o tema a ser usado como pontos. Aqui usamos o tema P_demanda.
 

Fig. 4 - Janela de solicitação do tema a ser usado como pontos.
 
Na figura abaixo as medianas estão representadas por quadrados em verde e preto e podem por exemplo ser associadas a centros ofertantes de um determinado tipo de serviço. Seu tema correspondente é Medianas.
As linhas em vermelho representam a ligação entre os pontos de demanda e seus centros ofertantes correspondentes, e o tema associado é Solução.
 
 Fig. 5 - Solução do processamento com os temas iniciais e os resultantes.
 

No final uma janela mostra o status da solução encontrada.
 

Fig. 6 - Janela de apresentação do status da solução.
 

 
Download

Estão disponíveis para download o módulo executável do programa Pmedian.exe desenvolvido em C, e o script em Avenue, Spiderpmed_rede.ave.
 
Pmedian.exe
Spiderpmed_rede.ave
 


 
Referências Bibliográficas

1. Environmental Systems Research Institute, Inc. Avenue Customization and Application Development for ArcView,1996.
2. Environmental Systems Research Institute, Inc. ARC/INFO User 7.2.1 ArcDoc, 1997.
3. Senne, E. L. F. and Lorena, L. A. N. Lagrangean/surrogate heuristics for p-median problems. In Computing Tools for Modeling, Optimization and Simulation: Interfaces in Computer Science and Operations Research, M. Laguna and J. L. Gonzalez-Velarde (eds.), Kluwer Academic Publishers, pp. 115-130, 2000
4. Lorena, L. A. N., Senne, E. L. F. , Paiva, J. A. M. e Marcondes, S. P. B. Integracao de um modelo de p-medianas a sistemas de informacoes geograficas. XXXI SBPO- Simposio Brasileiro de Pesquisa Operacional. Juiz de Fora. 20-22/10/99.