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.
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.
Foi implementado através de dois programas executáveis,
escritos em linguagem C, e foram compilados com MS Visual C++. Estes programas
existem em duas versões diferentes, uma para uso com o ArcView e
outra para uso sem o Arcview.
Para utilização com o ArcvView:
O primeiro programa chama-se Dmatrix.exe, utiliza como
entrada de dados um arquivo chamado pmedian.txt gerado pelo script e contem
no seu primeiro registro o número de pontos(nós) e o número
de medianas que estarão sendo consideradas no processamento, e os
registros seguintes formam uma lista de coordenadas X-Y de todos os pontos
considerados. Este programa gera um arquivo de saída chamado pmedian.dat
contendo a matriz de distâncias a partir das coordenadas X-Y de um
conjunto de pontos.
O segundo programa chama-se Pmedian.exe (Senne and Lorena,1999)[3]
utiliza como entrada de dados o arquivo pmedian.dat 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 fertante 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).
A lista tripla é formada por todos os pontos de demanda considerados
na entrada dos dados.
Para utilização sem o ArcView:
O primeiro programa chama-se DmatrixA.exe, utiliza como
entrada de dados um arquivo chamado pmedian.txt contendo na primeira linha
o número de pontos(nós) e o número de medianas que
serão consideradas no processamento, e os registros seguintes formam
uma lista de coordenadas X-Y de todos os pontos considerados. Este programa
gera um arquivo de saída chamado pmedian.dat contendo na primeira
linha o número de pontos e o número de medianas e nas linhas
seguintes a matriz de distâncias a partir das coordenadas X-Y de
um conjunto de pontos.
O segundo programa chama-se pmedianA.exe (Senne and Lorena,1999)[3],
utiliza como entrada de dados o arquivo pmedian.dat e o resultado do processamento
é apresentado no video. O status da solução pode ser:
"Solução Ótima" (Gap fechado por limites) ou "Solução
Não-Ótima" (Pi muito pequeno ou Subgradiente nulo).
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 direta euclidiana entre os pontos, não levando em conta os arcos(ruas e avenidas) que compõem o mapa. 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.
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.
Nesta aplicação foram utilizados dados do centro da cidade de São José dos Campos-SP.
Os polígonos em cor azul correspondem a quadras
do centro da cidade de São José dos Campos-SP, cujo tema
é CentroSJC.shp. Os pontos em verde são os pontos de demanda
correspondentes ao tema P_demanda.shp.
Inicialmente o script solicita ao usuário que digite
o número de medianas desejado, neste caso 3.
Em seguida, solicita que o usuário informe
o tema a ser usado como pontos. Aqui usamos o tema P_demanda.shp.
Na figura abaixo as medianas estão representadas
por pontos amarelos e podem por exemplo ser associadas a centros ofertantes
de um determinado tipo de serviço. Seu tema correspondente é
Medianas.shp.
As linhas em vermelho representam a ligação
entre os pontos de demanda e seus centros ofertantes correspondentes, e
o tema associado é Solução.shp.
No final uma janela mostra o status da solução
encontrada.
Estão disponíveis para download os módulos executáveis dos programas desenvolvidos em C, o script em Avenue, arquivos com o número de pontos, o número de medianas, e as coordenadas de pontos(nós) para uso no processamento, e alguns arquivos obtidos do processamento utilizando dados referentes à cidade de São José dos Campos. Os arquivos com o número de pontos, o número de medianas e, as coordenadas dos pontos(nós), são nomeados com a palavra pmedian seguido da quantidade de pontos(nós) a que se refere, e a extensão .txt. Assim pmedian324.txt refere-se ao arquivo de coordenadas de uma amostra de 324 pontos(nós). Os arquivos com os resultados receberam o nome result seguido pela quantidade de pontos(nós), a letra p, a quantidade de medianas e por último a letra m. Assim o arquivo result324p10m refere-se ao arquivo de resultado do processamento de 324 pontos(nós) e 10 medianas.
Programas
Dmatrix.exe
Pmedian.exe
DmatrixA.exe
PmedianA.exe
Spiderpmed.ave
Resultados obtidos
os resultados a seguir referem-se a uma amostra com 3282 pontos(nós) que representam a quase totalidade da cidade.
pmedian3282.txt
result3282p1141m.txt
result3282p1000m.txt
result3282p500m.txt
result3282p100m.txt
result3282p50m.txt
result3282p20m.txt
result3282p10m.txt
result3282p5m.txt
Os resultados abaixo referem-se a um subconjunto de pontos(nós) da amostra anterior com 818 pontos(nós).
pmedian818.txt
result818p272m.txt
result818p150m.txt
result818p100m.txt
result818p50m.txt
result818p20m.txt
result818p10m.txt
result818p5m.txt
Os resultados a seguir referem-se a um subconjunto de pontos(nós) da amostra anterior com 324 pontos(nós) correspondente a uma área central da cidade.
pmedian324.txt
result324p108m.txt
result324p50m.txt
result324p20m.txt
result324p10m.txt
result324p5m.txt
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.