desenvolvimento de um sig de código aberto para simulação ...

97
TUFFI SALIBA NETO DESENVOLVIMENTO DE UM SIG DE CÓDIGO ABERTO PARA SIMULAÇÃO MICROSCÓPICA DE TRÁFEGO URBANO

Transcript of desenvolvimento de um sig de código aberto para simulação ...

Page 1: desenvolvimento de um sig de código aberto para simulação ...

TUFFI SALIBA NETO

DESENVOLVIMENTO DE UM SIG DE CÓDIGO ABERTO PARA

SIMULAÇÃO MICROSCÓPICA DE TRÁFEGO URBANO

Page 2: desenvolvimento de um sig de código aberto para simulação ...

DESENVOLVIMENTO DE UM SIG DE CÓDIGO ABERTO PARA

SIMULAÇÃO MICROSCÓPICA DE TRÁFEGO URBANO

TUFFI SALIBA NETO

Dissertação apresentada ao Curso de Mestrado em Modelagem Matemática e Computacional (MMC) do Centro Federal de Educação Tecnológica de Minas Gerais, como requisito parcial à obtenção do título de Mestre em Modelagem Matemática e Computacional. Área de pesquisa: Sistemas Inteligentes. Orientador: Prof. Dr. Paulo Eduardo Maciel de Almeida

Belo Horizonte Centro Federal de Educação Tecnológica de Minas Ger ais

Diretoria de Pesquisa e Pós-Graduação Março de 2009

Page 3: desenvolvimento de um sig de código aberto para simulação ...

Elaboração da ficha catalográfica por Biblioteca-Campus II / CEFET-MG

Saliba Neto, Tuffi S165d Desenvolvimento de um SIG de código aberto para simulação microscópica de tráfego urbano / Tuffi Saliba Neto. – 2009. 95 f. Orientador: Paulo Eduardo Maciel de Almeida Dissertação (mestrado) – Centro Federal de Educação Tecnológica de Minas Gerais.

1. Simulação (computadores) – Teses. 2. Trânsito urbano – Simulação por computador. 3. Sistemas de informação geográfica. I. Almeida, Paulo Eduardo Maciel de. II. Centro Federal de Educação Tecnológica de Minas Gerais. III. Título.

CDD 003.3

Page 4: desenvolvimento de um sig de código aberto para simulação ...

Ficha de Aprovação. Esta Folha será

fornecida pelo Programa de Pós-

Graduação e deverá substituir esta

página.

Page 5: desenvolvimento de um sig de código aberto para simulação ...

Dedico este trabalho especialmente aos meus pais, José Maria e Maria, que nunca

mediram esforços em me proporcionar a melhor educação.

Page 6: desenvolvimento de um sig de código aberto para simulação ...

AGRADECIMENTOS

Ao meu orientador, Prof. Dr. Paulo Eduardo Maciel de Almeida, pelo apoio durante o

projeto, amizade e tranqüilidade que transmitia em nossas reuniões;

A minha irmã Perla, pelos incentivos;

A minha namorada Charlene, pela compreensão;

Aos professores e colegas do CEFET-MG, pelo conhecimento transmitido e incentivo

durante os momentos de ansiedade;

Aos colegas da Prefeitura Municipal de Betim, pelo apoio durante esta jornada;

Aos meus Professores, pelo conhecimento transmitido durante minha vida acadêmica;

A conclusão deste trabalho representa uma grande conquista em minha vida. Gostaria de

compartilhar os méritos da conclusão desta etapa com todos aqueles que de uma forma

ou de outra contribuíram com esta vitória.

Page 7: desenvolvimento de um sig de código aberto para simulação ...

“Compreender que há outros pontos de vista é o início da

sabedoria.” (Thomas Campbell)

Page 8: desenvolvimento de um sig de código aberto para simulação ...

SUMÁRIO LISTA DE FIGURAS .......................................................................................................................................... 7

LISTA DE GRÁFICOS ....................................................................................................................................... 8

LISTA DE CÓDIGOS ......................................................................................................................................... 9

LISTA DE TABELAS ........................................................................................................................................ 10

LISTA DE QUADROS ...................................................................................................................................... 11

LISTA DE ABREVIATURAS E SIGLAS .......................................................................................................... 12

RESUMO ......................................................................................................................................................... 13

ABSTRACT ...................................................................................................................................................... 14

1. INTRODUÇÃO .................................................................................................................................... 15

1.1. O PROBLEMA DE PESQUISA .......................................................................................................... 17

1.2. OBJETIVOS ........................................................................................................................................ 18

1.3. METODOLOGIA ................................................................................................................................. 19

1.4. ORGANIZAÇÃO DA DISSERTAÇÃO ................................................................................................ 19

2. GEOPROCESSAMENTO E SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS .............................. 21

2.1. GEOPROCESSAMENTO ................................................................................................................... 21

2.2. SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS ............................................................................ 23

2.2.1. ESTRUTURA DE DADOS GEOGRÁFICOS .................................................................................. 24

2.2.2. MODELOS DE REDE .................................................................................................................... 26

2.2.3. APLICAÇÕES EM TRANSPORTES .............................................................................................. 28

2.3. CONSIDERAÇÕES FINAIS ............................................................................................................... 29

3. SIMULAÇÃO ....................................................................................................................................... 31

3.1. SIMULAÇÃO COMPUTACIONAL ...................................................................................................... 31

3.1.1. APLICAÇÕES ................................................................................................................................ 33

3.1.2. COMPONENTES DO SISTEMA .................................................................................................... 33

3.1.3. TIPOS DE MODELOS DE SIMULAÇÃO ....................................................................................... 34

3.2. SIMULAÇÃO DE TRÁFEGO .............................................................................................................. 35

3.2.1. ESTADO-DA-ARTE ........................................................................................................................ 41

3.2.2. APLICAÇÕES COMERCIAIS ........................................................................................................ 43

3.3. CONSIDERAÇÕES FINAIS ............................................................................................................... 44

4. DESENVOLVIMENTO DO SIMULADOR ........................................................................................... 46

4.1. RTIGIS ................................................................................................................................................ 46

4.2. OPENJUMP ........................................................................................................................................ 49

4.3. CRIAÇÃO DA ÁREA DE SIMULAÇÃO .............................................................................................. 53

4.4. O PLUGIN DE SIMULAÇÃO .............................................................................................................. 57

4.4.1. INTERFACE GRÁFICA .................................................................................................................. 58

4.4.2. MÁQUINA DE SIMULAÇÃO .......................................................................................................... 62

4.5. CONSIDERAÇÕES FINAIS ............................................................................................................... 75

5. EXPERIMENTOS ............................................................................................................................... 76

5.1. COMPARAÇÃO DO TEMPO DE PERCURSO DO MENOR E MELHOR CAMINHO ....................... 76

5.2. CONSIDERAÇÕES FINAIS ............................................................................................................... 87

6. CONCLUSÃO ..................................................................................................................................... 88

6.1. DISCUSSÕES FINAIS........................................................................................................................ 88

6.2. CONTRIBUIÇÕES DO TRABALHO ................................................................................................... 89

6.3. PROPOSTAS PARA TRABALHOS FUTUROS ................................................................................. 90

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................................................ 92

Page 9: desenvolvimento de um sig de código aberto para simulação ...

LISTA DE FIGURAS

Figura 1: Recorte de uma malha viária ........................................................................................................... 16

Figura 2: Comparação entre dados cartográficos x dados alfanuméricos ...................................................... 22

Figura 3: Comparação entre dados alfanuméricos e dados espaciais ........................................................... 23

Figura 4: Estrutura geral de um SIG ................................................................................................................ 24

Figura 5: Tipos de Estruturas de Dados .......................................................................................................... 25

Figura 6: Representações Vetoriais em um SIG ............................................................................................. 25

Figura 7: Estrutura matricial (raster) ................................................................................................................ 26

Figura 8: Exemplo de grafo obtido a partir de uma base cartográfica de logradouros ................................... 27

Figura 9: Aplicação real de um SIG-T ............................................................................................................. 29

Figura 10: Eventos discretos x contínuos ........................................................................................................ 35

Figura 11: Classes de simulação .................................................................................................................... 37

Figura 12: Componentes de uma simulação visual. ....................................................................................... 38

Figura 13: Comportamento dos motoristas no modelo car-following conforme o espaçamento. ................... 39

Figura 14: Trechos de vias separados em células. ......................................................................................... 40

Figura 15: Área de estudo – Hipercentro de Belo Horizonte........................................................................... 47

Figura 16: Fluxo de dados automatizado do RTIGIS ...................................................................................... 49

Figura 17: Pacotes da arquitetura JUMP ........................................................................................................ 50

Figura 18: Geometria selecionada e seus atributos alfanuméricos ................................................................ 51

Figura 19: Gerenciador de camadas do OpenJump ....................................................................................... 52

Figura 20: Diagrama de pacotes das extensões desenvolvidas para o OpenJump ....................................... 53

Figura 21: Detalhe da área de simulação........................................................................................................ 54

Figura 22: Sentido das vias ............................................................................................................................. 55

Figura 23: Detalhe da eliminação de nós duplicados ...................................................................................... 56

Figura 24: Classificação das camadas de pontos ........................................................................................... 56

Figura 25: Representação gráfica do atributo MAODUPLA ............................................................................ 58

Figura 26: Linhas que formam uma faixa de circulação .................................................................................. 59

Figura 27: Trecho logradouro dividido em segmentos .................................................................................... 59

Figura 28: Ilustração do envelope de uma área de simulação........................................................................ 60

Figura 29: Detalhe de linhas das faixas com e sem ajuste ............................................................................. 61

Figura 30: Detalhe da pista de transposição de junção .................................................................................. 61

Figura 31: Processo de criação da interface gráfica do simulador ................................................................. 62

Figura 32: Diagrama de classes da máquina de simulação ............................................................................ 64

Figura 33: Classe Volume e interpretação do arquivo XML de volume .......................................................... 67

Figura 34: Ilustração das estatísticas geradas pelo plugin de simulação ....................................................... 74

Figura 35: Trechos com e sem arcos de conversão ....................................................................................... 77

Figura 36: Cálculo da proporção de conversão de veículos durante uma simulação .................................... 78

Figura 37: Camada de percurso fixo para os veículos instrumentados .......................................................... 79

Figura 38: Detalhe da combinação de origem/destino 03 ............................................................................... 80

Figura 39: Detalhe da combinação de origem/destino 06 ............................................................................... 83

Figura 40: Detalhe de cruzamentos entre vias secundárias X preferenciais .................................................. 86

Page 10: desenvolvimento de um sig de código aberto para simulação ...

LISTA DE GRÁFICOS

Gráfico 1: Comparação do tempo de viagem na combinação 03 ................................................................... 82

Gráfico 2: Comparação da velocidade média na combinação 03 ................................................................... 82

Gráfico 3: Comparação do tempo de viagem na combinação 06 ................................................................... 85

Gráfico 4: Comparação da velocidade média na combinação 06 ................................................................... 85

Page 11: desenvolvimento de um sig de código aberto para simulação ...

LISTA DE CÓDIGOS

Código 1: Pseudocódigo do simulador microscópico DRACULA ................................................................... 63

Código 2: Arquivo XML de volume .................................................................................................................. 66

Código 3: Implementação da classe Car ......................................................................................................... 69

Page 12: desenvolvimento de um sig de código aberto para simulação ...

LISTA DE TABELAS

Tabela 1: Dados coletados na simulação da combinação 03 ......................................................................... 81

Tabela 2: Dados coletados na simulação da combinação 06 ......................................................................... 84

Page 13: desenvolvimento de um sig de código aberto para simulação ...

LISTA DE QUADROS

Quadro 1: Exemplos de aplicação da simulação ............................................................................................ 33

Quadro 2: Exemplos de sistemas e seus componentes ................................................................................. 34

Quadro 3: Descrição dos pacotes do simulador ............................................................................................. 53

Quadro 4: Atributos gerados pelo processo de criação da área de simulação............................................... 57

Quadro 5: Valores do atributo TIPO e suas respectivas classes .................................................................... 59

Quadro 6: Parâmetros de entrada da simulação ............................................................................................ 65

Quadro 7: Cálculo da velocidade no modelo car-following linear ................................................................... 72

Quadro 8: Estatísticas da simulação geradas em tempo real pelo plugin ...................................................... 73

Quadro 9: Estatísticas da simulação geradas em arquivo pelo plugin ........................................................... 74

Page 14: desenvolvimento de um sig de código aberto para simulação ...

LISTA DE ABREVIATURAS E SIGLAS

ABS Agent-based Simulations

API Application Programming Interface

ATIS Advanced Traveller Information System

BHTRANS Empresa de Transportes e Trânsito de Belo Horizonte

CEFET-MG Centro Federal de Educação Tecnológica de Minas Gerais

CIT Controle Inteligente de Tráfego

CRISP Centro de Estudos de Criminalidade e Segurança Pública

CSV Comma-separated values

DRACULA Dynamic Route Assignment Combining User Learning and Microsimulation

DXF Drawing Interchange Format

FID Feature Identifier

GEOPROC Projeto de pesquisa em geoprocessamento do Laboratório de Sistemas Inteligentes (LSI)

GPL General Public License

GPSI Grupo de Pesquisa em Sistemas Inteligentes

ITS Intelligent Transportation Systems

ITT Impedância de Transposição de Trecho

JTS Jump Topology Suite

JUMP JUMP Unified Mapping Platform

LSI Laboratório de Sistemas Inteligentes

OpenJUMP Ambiente de GIS de código aberto baseado no JUMP

PBH Prefeitura Municipal de Belo Horizonte

PDF Portable Document Format

PIXEL Picture Element

QV Quantidade Classificada de Veículos

QVF Quantidade Classificada de Veículos por Faixa de Circulação

RTIGIS Real Time Intelligent Geographical Information System

SIG Sistema de Informação Geográfico

SIG-T Sistema de Informação Geográfico para Transporte

UTM Sistema de projeção cartográfico Universal Transverso de Mercator

VPH Veículos por hora

XML Extensible Markup Language

ZQC Zona Quente de Criminalidade

Page 15: desenvolvimento de um sig de código aberto para simulação ...

RESUMO

As técnicas de simulação de eventos discretos têm se mostrado uma importante

ferramenta para planejamento, projeto e controle de sistemas complexos. Estas técnicas

vêm sendo aplicadas em diversas áreas, podendo-se destacar logística, finanças e

controle de tráfego. A simulação de tráfego por meio de eventos discretos vem sendo

utilizada crescentemente na busca de soluções para os problemas do trânsito. Os

Sistemas de Informações Geográficas (SIG) são sistemas computacionais que permitem

manter, processar e analisar dados espaciais. Os SIG podem utilizar modelos de rede

para representar a malha viária. Nestes modelos, as vias são representadas por linhas às

quais podem ser associados atributos que descrevem suas características. O conjunto

destas informações é comumente encontrado nas bases cartográficas municipais. A

utilização de uma ferramenta de simulação de tráfego integrada a um SIG possibilita uma

maior flexibilidade no tratamento dos dados espaciais consumidos e gerados pelo

simulador. Neste trabalho, foram apresentadas a modelagem e a implementação de uma

ferramenta que realiza a simulação microscópica de tráfego urbano a partir de uma base

cartográfica de eixos de logradouros. Essa ferramenta foi integrada a um SIG de código

aberto, o OpenJUMP, por meio de um plugin. Por fim, é feita uma análise dos resultados

gerados pelo plugin RTIGIS, também desenvolvido no âmbito do projeto GEOPROC do

Grupo de Pesquisa em Sistemas Inteligentes (GPSI) do CEFET-MG. O RTIGIS utiliza

inferência fuzzy para calcular um atributo que mede a dificuldade de transposição de um

trecho de via. Este atributo, denominado “Impedância de Transposição de trecho” (ITT) é

calculado com base em informações como comprimento do trecho, número de faixas de

trânsito e fluxo de veículos. A partir da ITT, o plugin gera o melhor caminho entre dois

pontos com base neste atributo. O simulador desenvolvido foi utilizado para realizar um

comparativo entre os resultados gerados pelos cálculos de menor e melhor caminho.

PALAVRAS-CHAVE: Simulação de eventos discretos, Simulação de tráfego, SIG-T

Page 16: desenvolvimento de um sig de código aberto para simulação ...

ABSTRACT

Techniques of discrete events simulation have been important tools for planning,

design and control of complex systems. These techniques have been applied in

several areas, like logistics, finance and traffic control. Simulation of traffic through

discrete events has been increasingly used in the search of solutions to traffic problems.

Geographical Information Systems (GIS) are computer systems that maintain process and

analyze spatial data. GIS can use network models to represent urban road systems. Inside

these models, roads are represented by lines, which may be associated with attributes that

describe their relevant features. All this information is commonly found in city cartographic

databases. A traffic simulation tool integrated with GIS allows for more flexibility in the

handling of spatial data consumed and generated by the simulator. This work presents the

modeling and implementation of a tool that performs microscopic simulation of urban traffic

based on cartographic roads databases. This tool has been integrated to an open source

GIS, the OpenJUMP, by means of a software plugin. Finally, analysis of results generated

by RTIGIS, another plugin also developed under the project GEOPROC of the Intelligent

Systems Research Group (GPSI) in CEFET-MG, was accomplished. RTIGIS uses

fuzzy inference to calculate an attribute that measures the difficulty of road transpositions.

This attribute is calculated based on information such as road length, number of lanes and

vehicle flow. Starting from this attribute, RTIGIS plugin generates the best route

between any given origin and destination points inside the network. The developed

simulator was used to make a comparison between the results generated by calculations

of smaller and better ways inside a specific network of Belo Horizonte, Brazil.

KEYWORDS: Simulation of discrete events, Traffic Simulation, GIS-T

Page 17: desenvolvimento de um sig de código aberto para simulação ...

15

1. INTRODUÇÃO

Atualmente, o tráfego de veículos nas grandes cidades é um dos grandes problemas

enfrentados pelos órgãos públicos. O tempo gasto no trânsito, o consumo excessivo de

combustível e o estresse gerado nos motoristas e passageiros são conseqüências graves

que podem ser amenizadas com um bom planejamento do trânsito. Uma das ações para

melhoria do trânsito seria a expansão da malha viária, de modo a desafogar as áreas de

maior fluxo. No entanto, esta ação fica limitada à disponibilidade de recursos financeiros e

físicos que, na maioria das vezes, são escassos. Por outro lado, pode-se otimizar as

características da malha viária para melhorar o tráfego de veículos. Isso pode ser feito por

meio da programação de semáforos, alteração do sentido das vias, tomada de decisões

preventivas em relação a interrupções já previstas nas vias, entre outras ações. Dentre as

várias ferramentas que auxiliam o trabalho do Engenheiro de Tráfego, a técnica de

simulação se mostra muito importante, permitindo apontar soluções para os vários

problemas do trânsito (PORTUGAL, 2005).

Um simulador de tráfego é uma ferramenta que se caracteriza pela capacidade de

reproduzir, em um computador, as situações reais que ocorrem no tráfego urbano,

gerando informações que auxiliam na tomada de decisões. Conforme apresentado por

Poyares1, citado por Portugal (2005, p. 105), a simulação permite analisar vários cenários

e antecipar os impactos positivos e negativos gerados a partir da escolha de determinada

alternativa. Além disso, ela permite simular situações difíceis ou improváveis de serem

encontradas na prática.

Os Sistemas de Informações Geográficas (SIG) são cada vez mais utilizados como fonte

de informações na área de transportes. A capacidade de modelar, processar e analisar

informações espaciais, além da crescente disponibilidade de mapas georreferenciados,

torna-os adequados para lidar com as informações necessárias para simulação de

tráfego. Pode-se citar o trabalho de Pinto et al. (1998) como exemplo de utilização do SIG

como plataforma de gerenciamento de dados para modelos de transporte.

1 POYARES, C.N. Critérios para Análise dos Efeitos de Políticas de Restrição ao Uso de Automóveis em Áreas Centrais. Dissertação de Mestrado. Programa de Engenharia de Transportes. COPPE. Universidade Federal do Rio de Janeiro, 2000.

Page 18: desenvolvimento de um sig de código aberto para simulação ...

16

Dentre as várias informações utilizadas pelos simuladores como fonte de dados, pode-se

destacar o modelo de rede. Este representa a malha viária formada basicamente por um

conjunto de arcos e nós, que formam a rede. Cada arco representa um trecho de via e

cada nó um cruzamento. A Figura 1 apresenta um exemplo de uma malha viária contendo

arcos e nós. Os modelos de rede permitem que atributos sejam vinculados às geometrias.

Esses atributos podem descrever as características de um determinado trecho, como o

número de vias, o fluxo médio de veículos, o nome do logradouro, dentre outras.

Arco

Figura 1: Recorte de uma malha viária

O Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG) mantém, por

intermédio do Grupo de Pesquisa em Sistemas Inteligentes (GPSI), na linha de pesquisa

de Sistemas Inteligentes, um projeto chamado “Sistemas Inteligentes e

Geoprocessamento” (GEOPROC). Esse projeto propõe a utilização de técnicas de

inteligência computacional em Sistemas de Informações Geográficas (SIG). O primeiro

projeto do GPSI foi desenvolvido por Viana Júnior (2004) e trata da utilização de um

sistema de inferência fuzzy para definição de trajetos, de modo a permitir que três

atributos: comprimento do trecho, número de vias e fluxo de veículos pudessem ser

considerados simultaneamente no cálculo do melhor caminho. Segundo Silva et al.

(2005), a utilização de um sistema de inferência fuzzy para sintetizar atributos numéricos

de um Sistema de Informação Geográfica (SIG), torna-o um sistema computacional

inteligente. No trabalho de Viana Júnior (2004), o tratamento dos dados, a geração do

atributo ITT pelo sistema de inferência fuzzy e a alimentação da base de dados do SIG

Page 19: desenvolvimento de um sig de código aberto para simulação ...

17

eram feitos de modo manual, dificultando o processo de atualização dos dados. Em

seguida, Silva (2006) propôs a construção de um componente de software, integrado a

um SIG, que permite o cálculo do melhor caminho entre um ponto de origem e destino, na

rede geométrica de modo automático e em tempo real. Esse componente, chamado

RTIGIS (Real Time Intelligent Geographical Information System), foi integrado ao

OpenJump, um SIG livre e de código aberto, escrito em Java, que possui, na

extensibilidade, uma de suas principais características, o que possibilita o acoplamento de

novos módulos, garantindo flexibilidade ao SIG.

1.1. O PROBLEMA DE PESQUISA

No trabalho desenvolvido por Viana Júnior (2004), o resultado do cálculo do melhor

caminho foi comparado com um questionário respondido pelos taxistas, considerados os

especialistas em locomoção com automóveis na área de estudo. Nesta comparação, ficou

constatado que os taxistas possuem uma forte tendência em apontar o caminho mais

curto como sendo o melhor. Os motivos que podem influir nesta escolha, segundo o autor,

são os mapas mentais dos motoristas e a interferência causada pela presença do

passageiro. Em função destes fatores, Viana Júnior (2004) considerou a escolha dos

taxistas inadequada para a validação do melhor caminho.

O problema de pesquisa estudado neste trabalho é a dificuldade de validação do modelo

de melhor caminho proposto por Viana Júnior (2004). A proposta de utilização de um

simulador de tráfego pode contribuir na avaliação dos melhores trajetos ao facilitar a

comparação dos tempos de viagem entre o menor e o melhor trajeto.

Considerando o alto custo dos ambientes comerciais de simulação de tráfego disponíveis,

o trabalho desenvolvido por Silva (2006) e a continuidade do projeto GEOPROC, o autor

deste trabalho optou por construir um plugin de simulação de tráfego integrado ao

OpenJUMP. Apesar de existirem soluções livres de simulação de tráfego como, por

exemplo, o ITSUMO, acrônimo de Intelligent Transportation System for Urban Mobility,

citado por Bazzan & Klügl (2007), estas não atendiam a todas as premissas do projeto

GEOPROC, como ser escrito na linguagem JAVA e integrado a um SIG. A solução

Page 20: desenvolvimento de um sig de código aberto para simulação ...

18

proposta neste trabalho é baseada no paradigma do software livre2, o que permite sua

evolução por meio do desenvolvimento cooperativo de novas funcionalidades.

O presente trabalho é a terceira etapa do projeto GEOPROC. Além de possibilitar a

avaliação do trajeto gerado pelo RTIGIS de uma maneira diferente, esta etapa representa

um considerável avanço do projeto GEOPROC, ao possibilitar o desenvolvimento de

novos trabalhos, como por exemplo, o estudo de modelos de simulação aplicados a

simulação de tráfego.

1.2. OBJETIVOS

O objeto de pesquisa deste trabalho é a modelagem e implementação de um simulador

microscópico de tráfego urbano integrado a um SIG de código aberto que possibilite a

avaliação dos trajetos gerados pelo RTIGIS sob uma nova ótica, que não a dos

especialistas em locomoção de automóveis (taxistas), utilizados no trabalho de Viana

Júnior (2004).

Para alcançar este objetivo geral, foi necessário atingir os seguintes objetivos específicos:

• Modelar e implementar um plugin para extração das informações cartográficas da

área de simulação;

• Modelar e implementar um simulador microscópico de tráfego urbano;

• Integrar o simulador ao SIG;

• Definir os trajetos que serão avaliados no simulador;

• Configurar os parâmetros de simulação para os trajetos escolhidos;

• Executar simulações a fim de avaliar os resultados e comprovar a aplicabilidade da

ferramenta proposta.

2 É um paradigma de desenvolvimento de software no qual o usuário tem a liberdade de executar, copiar, distribuir, estudar, modificar e melhorar um programa (FSF, http://www.fsf.org)

Page 21: desenvolvimento de um sig de código aberto para simulação ...

19

1.3. METODOLOGIA

O desenvolvimento deste trabalho requereu uma ampla revisão bibliográfica para sua

fundamentação. Além disso, foi necessário o estudo das tecnologias envolvidas em sua

construção. A seguir, estes passos apresentados:

1. Revisão bibliográfica dos temas: geoprocessamento, sistemas de informações

geográficas, simulação de eventos discretos, simulação de tráfego, linguagens de

programação, padrões de projeto, grafos;

2. Pesquisa de frameworks3 livres compatíveis com a arquitetura de desenvolvimento

proposta;

3. Modelagem e implementação do plugin para extração de informações cartográficas

da área de simulação;

4. Modelagem e implementação do plugin para simulação de tráfego urbano;

5. Definição dos trajetos avaliados por Viana Júnior (2004) que serão avaliados no

simulador;

6. Realização de simulações com os trajetos selecionados e comparação dos

resultados com as respostas dos taxistas.

Neste trabalho foi utilizada a linguagem de programação JAVA4 junto com o ambiente de

desenvolvimento integrado ECLIPSE5. Os plugins foram construídos a partir da biblioteca

do SIG OpenJUMP6 com apoio da API JTS7.

1.4. ORGANIZAÇÃO DA DISSERTAÇÃO

Esta dissertação foi organizada em seis capítulos. O primeiro capítulo é a introdução do

trabalho, apresentando a contextualização do problema de pesquisa, seus objetivos e a

metodologia adotada. No segundo capítulo são apresentados os conceitos de

3 Segundo Fayad e Schmidt (1997), frameworks representam uma estrutura formada por blocos pré-fabricados de software que os programadores podem usar. 4 http://java.sun.com 5 http://www.eclipse.org 6 http://www.openjump.org 7 Jump Topology Suite é uma API para manuseio de informações espaciais (http://www.vividsolutions.com/jts)

Page 22: desenvolvimento de um sig de código aberto para simulação ...

20

geoprocessamento e sistemas de informações geográficos, enfatizando o uso em

aplicações voltadas para a área de transporte. No capítulo três, é feita uma introdução ao

assunto simulação computacional e logo em seguida são apresentados os principais

conceitos relacionados a simulação de tráfego. No capítulo quatro é explicado o

desenvolvimento do componente de software para simulação de tráfego. No quinto

capítulo são mostrados os experimentos realizados com a ferramenta. As discussões

finais, contribuições do trabalho e propostas de evolução são apresentadas no sexto e

último capítulo.

Page 23: desenvolvimento de um sig de código aberto para simulação ...

21

2. GEOPROCESSAMENTO E SISTEMAS DE

INFORMAÇÕES GEOGRÁFICAS

Este capítulo tem como objetivo apresentar uma contextualização conceitual sobre os

temas geoprocessamento e sistemas de informações geográficas de modo a facilitar uma

maior compreensão dos capítulos seguintes desta dissertação.

2.1. GEOPROCESSAMENTO

Esta seção apresenta uma visão geral sobre o Geoprocessamento, apresentando seus

conceitos e aplicações.

A seguir são apresentadas duas definições para o termo Geoprocessamento:

“O termo Geoprocessamento denota a disciplina do conhecimento que utiliza

técnicas matemáticas e computacionais para o tratamento da informação

geográfica. Esta tecnologia, denotada por Geoprocessamento, influencia de

maneira crescente as áreas de Cartografia, Análise de Recursos Naturais,

Transportes, Comunicações, Energia e Planejamento Urbano e Regional.”

(CASANOVA et. al., 2005).

“... o termo Geoprocessamento, surgido do sentido de processamento de

dados georreferenciados, significa implantar um processo que traga um

progresso, um andar avante, na grafia ou representação da Terra. Não é

somente representar, mas é associar a esse ato um novo olhar sobre o

espaço, um ganho de conhecimento, que é a informação.” (MOURA, 2005).

Em linhas gerais, o Geoprocessamento está relacionado ao processamento de dados

referentes a um espaço geográfico. Para este processamento, são utilizados dados de

natureza espacial, como as coordenadas geográficas, e também aqueles que de alguma

forma possam ser georreferenciados, ou seja, vinculados a outros dados que possam ser

Page 24: desenvolvimento de um sig de código aberto para simulação ...

22

localizados na superfície terrestre. Os dados de natureza espacial podem ser chamados

de dados cartográficos, que são a representação gráfica da localização e da geometria

das entidades estudadas. Os dados alfanuméricos geralmente são armazenados em

tabelas e contêm as informações descritivas da entidade. A Figura 2 ilustra a diferença

entre dados cartográficos e alfanuméricos.

Figura 2: Comparação entre dados cartográficos x dados alfanuméricos

Como apresentado por CASANOVA et al. (2005), o Geoprocessamento é uma tecnologia

interdisciplinar, que permite a convergência de diferentes disciplinas para o estudo de

fenômenos urbanos e ambientais. Para ilustrar essa interdisciplinaridade, pode-se citar

alguns exemplos de questões típicas do Geoprocessamento:

• Qual a localização dos bairros que concentram a maior quantidade de furtos?

• Onde se concentra a maioria dos casos de dengue?

• Qual o melhor trajeto para chegar à minha escola?

• Em quais vias o fluxo de veículos é mais intenso?

Um exemplo de como o Geoprocessamento pode auxiliar na solução de problemas é o

estudo da criminalidade nos grandes centros urbanos. A partir do georreferenciamento

das ocorrências dos delitos, é possível visualizar espacialmente quais regiões de uma

cidade possuem maior incidência de determinado crime. Estas regiões são comumente

conhecidas como ZQC, ou Zonas Quentes de Criminalidade. Caso esta mesma

informação fosse listada apenas em formato de tabela, a identificação dos locais de maior

incidência poderia se tornar mais difícil. A Figura 3 mostra uma comparação entre os

dados alfanuméricos, dados georreferenciados e o resultado final do processo, as ZQC.

Page 25: desenvolvimento de um sig de código aberto para simulação ...

23

Figura 3: Comparação entre dados alfanuméricos e dados espaciais

Adaptado de uma apresentação fornecida pelo CRISP.

2.2. SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS

Segundo Lewis (1990), um sistema de informação geográfica é um sistema de

gerenciamento de banco de dados computacional para capturar, armazenar, recuperar,

analisar e visualizar dados espaciais.

Já Lanari et al. (1999) afirmam que os SIG consistem em uma integração de hardware,

software, dados geográficos e pessoas, possibilitando aos usuários capturar, armazenar,

atualizar, manipular, analisar e exibir todo o tipo de informações geograficamente

distribuídas que, se processadas de outra forma, dificultaria ou mesmo impossibilitaria

uma perspectiva espacial do objeto em análise.

Para Câmara e Queiroz (2000), o termo Sistemas de Informação Geográfica (SIG) é

aplicado para sistemas que realizam o tratamento computacional de dados geográficos e

recuperam informações, não apenas com base em suas características alfanuméricas,

mas também pela sua localização espacial. Para que isto seja possível, a geometria e os

atributos dos dados em um SIG devem estar georreferenciados, ou seja, localizados na

superfície terrestre e representados em uma projeção cartográfica.

Analisando as definições apresentadas acima, pode-se notar que todas elas apontam o

tratamento da informação espacial como característica principal.

Conforme apresentado por Câmara e Queiroz (2000), um SIG tem os seguintes

componentes:

Page 26: desenvolvimento de um sig de código aberto para simulação ...

24

• Interface com usuário;

• Entrada e integração de dados;

• Funções de consulta e análise espacial;

• Visualização e plotagem;

• Armazenamento e recuperação de dados.

A Figura 4 ilustra melhor a interação entre estes componentes.

Figura 4: Estrutura geral de um SIG

Fonte: Câmara e Queiroz (2000)

2.2.1. ESTRUTURA DE DADOS GEOGRÁFICOS

Os dados geográficos contém, basicamente, dois tipos de informações: a informação

espacial, que descreve o formato do objeto geográfico, e a informação alfanumérica, que

descreve as características não espaciais dos objetos. Para representar as entidades em

um mapa, os SIG utilizam dois tipos de estrutura de dados: vetorial e matricial (imagem).

A Figura 5 ilustra os tipos de estruturas de dados.

Page 27: desenvolvimento de um sig de código aberto para simulação ...

25

Figura 5: Tipos de Estruturas de Dados

Adaptado de Buckey (2008)

Segundo Davis e Fonseca (2001), no modelo vetorial a localização e a aparência

geográfica de cada objeto são representadas por um ou mais pares de coordenadas.

Além disso, os objetos possuem atributos que os caracterizam e identificam

univocamente.

A representação vetorial possui três formas básicas:

• Ponto: um par ordenado de coordenadas espaciais que pode ser utilizado para

identificar localizações ou ocorrências no espaço como crimes, doenças e

residências;

• Linha: é um conjunto de pontos conectados, utilizados normalmente para

representar ruas, estradas e tubulações;

• Polígono : é a região do plano limitada por uma linha poligonal fechada. São

utilizados para representar limites de municípios, bairros e represas.

A Figura 6 ilustra as representações vetoriais.

Figura 6: Representações Vetoriais em um SIG

Page 28: desenvolvimento de um sig de código aberto para simulação ...

26

Ainda segundo Davis e Fonseca (2001), as imagens são estruturas matriciais que utilizam

valores amostrais quantizados a intervalos regulares. Nestas estruturas, o espaço é

representado por uma matriz composta de linhas e colunas, onde cada célula possui um

número de linha, um número de coluna e um valor correspondente ao atributo estudado.

O espaço é tratado como uma superfície plana e cada célula está associada a uma

porção do terreno. Estas estruturas também são conhecidas como raster. A Figura 7

mostra um exemplo de estrutura matricial.

Figura 7: Estrutura matricial (raster)

Fonte: Prefeitura Municipal de Betim

2.2.2. MODELOS DE REDE

As redes são formadas pelos elementos gráficos linha e ponto, resultando em uma

topologia conhecida como ‘arco-nó’. A seguir é apresentada uma definição para topologia:

“Dá-se o nome de topologia ao ramo da matemática que estuda as

propriedades das configurações geométricas que não são alteradas por

transformações ou deformações elásticas homomórficas. Trocando em

miúdos, topologia é um conjunto de técnicas que nos permitem perceber as

relações espaciais inerentes ao posicionamento relativo dos objetos,

independente de suas dimensões ou coordenadas exatas.” (Davis e

Fonseca, 2001).

Page 29: desenvolvimento de um sig de código aberto para simulação ...

27

O modelo de redes é um conjunto de nós conectados por linhas, onde tanto os nós

quanto as linhas possuem atributos que os caracterizam. Geralmente estes modelos são

utilizados para representar fenômenos que envolvem algum tipo de fluxo ou movimento

de recursos. Um exemplo de modelo de rede são as linhas de distribuição de energia,

onde os cabos são os arcos e os postes os nós.

Para resolução de problemas que envolvem modelos de rede se aplica, principalmente, a

Teoria dos Grafos. Esta é uma área de pesquisa já consolidada e bastante discutida na

literatura. Segundo Ziviani (2004), um grafo é constituído de um conjunto de vértices e um

conjunto de arestas conectando pares de vértices. A Figura 8 apresenta um exemplo de

grafo construído a partir de uma base cartográfica de logradouros. No grafo gerado, o

sentido de circulação das vias é representado pelo sentido da geometria.

Arco

Figura 8: Exemplo de grafo obtido a partir de uma base cartográfica de logradouros

No trabalho apresentado por Silva (2006), foi utilizado um grafo para representar a área

de estudo no cálculo do melhor caminho entre dois pontos. Nesse grafo, as vias foram

representadas pelas arestas e os cruzamentos pelos nós. Para trajetos a serem

percorridos com veículo, o grafo obtido era direcionado, onde a direção da aresta

representa o sentido de circulação. A impedância (custo de transposição) das arestas

pode ser o comprimento da via ou a ITT (Impedância de Transposição de Trecho). Para

obtenção da árvore de caminhos mínimos, foi utilizado o algoritmo de Dijkstra (DIJKSTRA,

1959).

Page 30: desenvolvimento de um sig de código aberto para simulação ...

28

No presente trabalho, a estrutura de grafos também foi utilizada para representar a área

de estudo, caracterizada por vias e cruzamentos.

2.2.3. APLICAÇÕES EM TRANSPORTES

Os Sistemas de Informação Geográficos são cada vez mais utilizados no setor de

transportes. Neste setor, estes sistemas são conhecidos como SIG-T (Sistemas de

Informação Geográfica para Transporte).

Segundo Rose (2001), o campo de aplicação dos SIG-T é amplo tanto na área de

planejamento, quanto em operações em transporte. Dentre as várias aplicações de SIG

em transportes, pode-se citar, dentre outras, o projeto geométrico de vias, monitoramento

e controle de tráfego, oferta e demanda em transportes, previsão de acidentes, otimização

de rotas, monitoramento e controle de operações rodoviárias.

O uso dos SIG em transportes possui diversas utilidades. Em Wu et al. (2001), utilizou-se

um SIG-T como um sistema de apoio a decisão para análise de escolha de rotas em

redes de tráfego congestionadas. Santos et al. (2000) aplicou um SIG-T na avaliação da

localização dos postos de saúde em uma cidade média brasileira. Este trabalho buscou

comprovar a eficiência da utilização dos SIG-T no estudo de implantação de postos de

saúde, de modo a otimizar a localização espacial das unidades de atendimento e

resultando em menores custos de transporte.

Farkuh Neto e Lima (2006) utilizaram um SIG-T no processo de roteirização de veículos

de uma rede atacadista. Neste trabalho, os autores simularam vários cenários diferentes

de distribuição a partir da variação de alguns parâmetros (horários de atendimento,

capacidade e número de veículos, entre outros) na busca de uma solução satisfatória.

Na área de engenharia de tráfego, Thieman (2008) utilizou um SIG-T na realização de

análises de acidentes em avenidas, onde o sistema foi aplicado para a visualização de

ruas congestionadas devido aos acidentes. Já Brasileiro e Aguiar (2004), utilizaram o SIG-

T para analisar a definição de rotas de veículos de coleta de resíduos de serviços de

saúde, buscando a redução tanto do tempo quanto da distância percorrida durante a

Page 31: desenvolvimento de um sig de código aberto para simulação ...

29

coleta. A Figura 9 apresenta uma aplicação real de um SIG-T para acompanhamento do

tráfego de veículos. O portal infotráfego, disponibilizado pela PBH (Prefeitura Municipal de

Belo Horizonte), permite checar qual a situação do trânsito na área central de Belo

Horizonte. De posse dessas informações, o motorista poderá optar por um trajeto menos

congestionado.

Figura 9: Aplicação real de um SIG-T

Fonte: Infotráfego (http://infotrafego.pbh.gov.br)

2.3. CONSIDERAÇÕES FINAIS

Neste capítulo foram apresentados os conceitos referentes à Geoprocessamento e

Sistemas de Informações Geográficas, enfatizando a utilização em transportes.

O Geoprocessamento está relacionado ao processamento de dados referentes ao espaço

geográfico. Os Sistemas de Informações Geográficas são ferramentas que realizam o

tratamento computacional de dados geográficos e recuperam informações, não apenas

com base em suas características alfanuméricas, mas também a partir de sua localização

espacial.

Os modelos de rede são estruturas compostas por arcos e nós que geralmente são

empregados na representação de entidades por onde ocorre algum tipo de fluxo ou

movimento de recursos como, por exemplo, o sistema viário. O suporte matemático para

resolução de problemas que envolvem modelos de rede é oferecido pela Teoria dos

Grafos.

Page 32: desenvolvimento de um sig de código aberto para simulação ...

30

Também foram apresentadas diversas aplicações dos Sistemas de Informações

Geográficos para Transportes, também conhecidos por SIG-T.

Page 33: desenvolvimento de um sig de código aberto para simulação ...

31

3. SIMULAÇÃO

Os principais conceitos sobre simulação de tráfego serão abordados neste capítulo de

modo a permitir uma melhor compreensão do processo de construção do simulador.

Neste capítulo também é feita uma explanação sucinta acerca de simulação

computacional.

3.1. SIMULAÇÃO COMPUTACIONAL

O comportamento de um sistema pode ser estudado por meio de um modelo de

simulação. Segundo Owen et al. (1996), um modelo consiste em uma apresentação,

representação ou idealização de aspectos selecionados da estrutura, comportamento ou

outras características de um processo ou sistema do mundo real. Conforme Lieberman e

Rathy (1997), a simulação é uma ferramenta eficiente para analisar uma grande

variedade de problemas dinâmicos difíceis de ser resolvidos por outros meios. Esses

problemas são caracterizados como complexos devido ao grande número de interações

simultâneas entre os vários componentes e entidades do sistema. Essas interações não

podem, geralmente, ser adequadamente descritas em forma lógica ou matemática. No

entanto, o comportamento de cada entidade ou as interações de um número limitado de

elementos podem ser bem compreendidos, de modo a ser representado lógica e

matematicamente com uma confiança aceitável.

Já segundo Miyagi (2004), a simulação é entendida como a “imitação” de uma operação

ou de um processo do mundo real. Ela envolve a geração de uma “história artificial” de um

sistema para a análise de suas características operacionais. O comportamento de um

sistema é estudado por meio de um modelo de simulação. Uma vez desenvolvido e

validado, este modelo pode ser utilizado na investigação de uma grande variedade de

questões sobre o sistema. Em alguns casos, esse modelo é baseado em formulações

matemáticas. No entanto, problemas muito complexos tendem a ter modelos matemáticos

muito difíceis de ser formulados e utilizados. Nestes casos, as técnicas de simulação são

utilizadas para reproduzir o comportamento do sistema num certo intervalo de tempo. Na

Page 34: desenvolvimento de um sig de código aberto para simulação ...

32

grande maioria das vezes, o modelo é implementado em um computador. Em função

disso, o termo “simulação” é sinônimo de “simulação computacional”. Embora a simulação

possa ser feita manualmente, o tempo gasto para realizar a grande quantidade de

cálculos envolvidos no processo inviabiliza esta abordagem na prática.

Conforme exposto por Chwif (1999), a simulação computacional teve início por volta da

década de 50, basicamente para fins militares. Com o crescente desenvolvimento dos

computadores, do software e da necessidade de avaliação de sistemas complexos, a

utilização da simulação foi intensificada e esta passou a ser aplicada nas mais diversas

áreas. Law e Kelton8, citados por Sakurada e Miyake (2003, p. 1), classificam os

programas de simulação em duas grandes classes:

• Linguagens de programação: são ferramentas de natureza genérica

caracterizados, principalmente, pela grande flexibilidade, possibilitando a

modelagem de qualquer tipo de sistema. As desvantagens são a necessidade de

conhecimentos específicos de programação e o tempo gasto na construção de

modelos mais complexos;

• Simuladores: são “pacotes” computacionais que favorecem a modelagem de

sistemas específicos sem muito esforço de programação. As vantagens desta

classe de software são o menor tempo gasto na construção dos modelos e a

facilidade de utilização pelo usuário. Ao contrário das linguagens de programação,

os simuladores possuem uma menor flexibilidade.

Segundo Pidd9, citado por Chwif (1999, p. 13), algumas das vantagens da simulação

computacional, quando comparada com a experimentação direta em um sistema real são:

• Custo: é muito mais barato realizar experimentos em um ambiente de simulação do

que em um sistema real, especialmente quando estão envolvidos recursos caros;

8LAW, A. M. and KELTON, W. D. Simulation Modeling & Analysis, McGraw-Hill, 1991, 2 ed. 9 PIDD, M. “Computer Simulation in Management Sciences”, John Wiley and Sons, Chichester, 4th edition, 1998.

Page 35: desenvolvimento de um sig de código aberto para simulação ...

33

• Riscos: a experimentação em determinados sistemas reais envolvem riscos tanto

materiais quanto humanos, o que não ocorre em um ambiente de simulação

computacional.

Além disso, a simulação permite a reprodução de sistemas reais em um tempo muito

inferior ao que seria gasto caso a reprodução fosse realizada no mundo real.

Por outro lado, Miyagi (2004) cita a complexidade da construção dos modelos, a

dificuldade de interpretação dos resultados e o tempo e recursos gastos na modelagem

do sistema e análise dos dados como desvantagens da simulação. Pode-se acrescentar

também a imprecisão e a dificuldade de validação como desvantagens da simulação.

3.1.1. APLICAÇÕES

A simulação é aplicada nas mais variadas e amplas áreas. O Quadro 1 mostra alguns

exemplos de uso das técnicas de simulação.

Quadro 1: Exemplos de aplicação da simulação

Adaptado de Miyagi (2004)

Área Aplicação Manufatura - Operações de montagem

- Sistemas de manipulação e movimentação de materiais Saúde - Gerenciamento de recursos hospitalares

- Otimização do atendimento em ambulatórios Transportes - Simulação de tráfego

- Operações de contêineres em portos - Postos de pedágios flexíveis de acordo com a demanda - Transporte público

Construção Civil - Processo de montagem de pontes suspensas - Novos paradigmas do processo construtivo - Análise de integridade e viabilidade

Entretenimento - Análise do fluxo de clientes - Determinação do número ideal de funcionários

Sistemas Computacionais

- Redes heterogêneas - Sistemas com arquitetura cliente/servidor

3.1.2. COMPONENTES DO SISTEMA

De modo a permitir um melhor entendimento e análise de um sistema de simulação,

Miyagi (2004) define alguns termos:

Page 36: desenvolvimento de um sig de código aberto para simulação ...

34

• Entidade: é um objeto de interesse em um sistema;

• Atributo: é uma propriedade da entidade;

• Atividade: é uma ação que ocorre no sistema;

• Evento: é uma ocorrência que altera o estado do sistema;

• Estado: descreve uma situação do sistema e é identificado pelo conjunto dos

valores das variáveis em um determinado instante.

O Quadro 2 mostra alguns exemplos de sistemas de simulação e seus respectivos

componentes.

Quadro 2: Exemplos de sistemas e seus componentes

Fonte: Miyagi (2004)

Sistema Entidades Atributos Atividades Eventos Variáveis de estado

Bancos Clientes Conta corrente Depósito, retirada

Chegada ao banco, saída do

banco

Número de caixas, número de clientes

esperando

Transporte Veículos

transportadores Malha viária,

destino Transporte

(movimentação)

Chegada na estação, saída da

estação

Número de veículos esperando em cada estação,

número de veículos em trânsito

Manufatura Máquinas Velocidade, capacidade,

taxa de falhas

Usinagem, estampagem,

soldagem Falha, quebra Estado da máquina

Comunicações Mensagens Comprimento, destino

Transmissão de mensagens

Chegada da mensagem ao

destino

Número de mensagens

esperando para serem transmitidas

Inventário Almoxarifado,

estoque Capacidade Retirada de

partes Pedido Nível do estoque, demanda prevista

3.1.3. TIPOS DE MODELOS DE SIMULAÇÃO

Silva (2007) classifica os modelos de simulação da seguinte maneira:

• Estáticos ou dinâmicos: são classificados como estáticos os modelos que visam

representar o estado de um sistema em um instante, sem levar em conta a variável

tempo. Os modelos dinâmicos são formulados para representar as alterações de

estado do sistema ao longo da contagem do tempo de simulação;

• Determinísticos ou estocásticos: os modelos determinísticos não utilizam variáveis

aleatórias, enquanto os estocásticos utilizam uma ou mais. Os modelos

Page 37: desenvolvimento de um sig de código aberto para simulação ...

35

determinísticos possuem um conjunto de entradas conhecido que resultarão em

um único conjunto de saída. Já os modelos estocásticos possuem entradas

aleatórias que vão gerar saídas aleatórias. Considerando este caráter aleatório, as

saídas da simulação estocástica devem ser tratadas como estimativas estatísticas

das características reais do sistema;

• Discretos ou contínuos: os modelos discretos são aqueles em que o avanço da

contagem de tempo na simulação se dá na forma de incrementos cujos valores

podem ser definidos com base na ocorrência dos eventos ou pela determinação de

um valor fixo. Neste tipo de simulação, os valores das variáveis de estado do

sistema só podem ser determinados no instante de atualização da contagem de

tempo. No modelo contínuo todas as variáveis simuladas, dependentes e

independentes, podem ter significado contínuo, o que possibilita determinar os

valores das variáveis de estado a qualquer instante. A Figura 10 ilustra estes dois

tipos.

Figura 10: Eventos discretos x contínuos

Fonte: Chwif (1999, p. 17)

No presente trabalho, o modelo de simulação foi construído utilizando a linguagem de

programação Java. Quanto ao tipo do modelo, pode-se classificá-lo como dinâmico,

estocástico e discreto.

3.2. SIMULAÇÃO DE TRÁFEGO

O crescente aumento da frota de veículos nas grandes cidades vem causando sérios

problemas de tráfego, exigindo um controle e planejamento cada vez maior por parte dos

órgãos que regulam o trânsito nas cidades. O uso da simulação de tráfego tem se

Page 38: desenvolvimento de um sig de código aberto para simulação ...

36

mostrado uma ferramenta de suma importância na análise e prevenção dos problemas

relacionados ao tráfego, especialmente o urbano. Ela permite quantificar os efeitos de

várias mudanças no sistema, antes que estas sejam efetivamente implementadas.

Segundo Bazzan & Klügl (2007), o controle do fluxo de tráfego tem como principais

objetivos prover um movimento ordenado do tráfego, aumentar a capacidade10 na

interseção, reduzir o índice de acidentes, interromper o tráfego principal em prol do

tráfego secundário e, eventualmente, sincronizar semáforos a fim de permitir um

movimento contínuo do tráfego a uma determinada velocidade.

Os simuladores mais conhecidos são desenvolvidos em outros países e nem sempre

consideram as características encontradas no trânsito das cidades brasileiras. Além disso,

são ferramentas que muitas vezes não se encaixam na realidade financeira da maioria

dos órgãos reguladores do tráfego do nosso país.

Os modelos de simulação de tráfego, geralmente, são classificados conforme o nível de

agregação (KRAJZEWICZ et al., 2002; LIEBERMAN e RATHI, 1997; WANG e PREVEDOUROS, 1996).

Macroscópica

Nesta abordagem, o tráfego é tratado com baixo nível de detalhamento. Ele é

representado como uma entidade única, desprezando a individualidade dos veículos. As

relações entre fluxo, velocidade e densidade descrevem o funcionamento do sistema. Os

modelos são menos flexíveis e pouco detalhados, mas em contrapartida exigem menor

esforço computacional. Em função disso, são bastante apropriados para modelagem de

grandes redes.

Microscópica

São caracterizados pelo alto nível de detalhamento. Tanto os veículos quanto as demais

entidades do sistema podem ser representados de forma individualizada. A

movimentação dos veículos se dá tanto longitudinalmente quanto transversalmente ao

longo dos trechos. Devido ao alto nível de detalhamento e o grande número de interações

10 Capacidade é o número de unidades de tráfego que a aresta pode suportar em um dado instante.

Page 39: desenvolvimento de um sig de código aberto para simulação ...

37

entre as entidades, é uma abordagem que exige muito esforço computacional e requer

um processo de calibração complexo, difícil e demorado.

Mesoscópica

Os modelos possuem um nível intermediário de detalhamento. É uma abordagem mista

que representa algumas entidades de forma agregada e outras com certo nível de

detalhamento. São geralmente utilizados em redes semafóricas.

Sub-microscópica

Também conhecida como nanoscópica, considera os veículos individualmente como a

classificação microscópica. Entretanto, possui um nível de detalhes maior, considerando,

por exemplo, a rotação do motor do veículo. Isso permite a apuração mais detalhada

como, por exemplo, das emissões de poluentes produzidas pelos veículos, por exemplo.

A Figura 11 ilustra os diferentes níveis de agregação.

Figura 11: Classes de simulação

(da esquerda pra direita: macroscópica, microscópica, sub-microscópica; no círculo: mesoscópica).

Fonte: KRAJZEWICZ et al., 2002

Page 40: desenvolvimento de um sig de código aberto para simulação ...

38

Os simuladores de tráfego, especialmente os microscópicos, são caracterizados por exigir

uma grande quantidade de dados de entrada como, por exemplo, a malha viária da região

a ser estudada. Partindo da premissa de que é cada vez mais comum a utilização de

Sistemas de Informação Geográfica pelas administrações municipais como ferramenta de

planejamento urbano, é plausível o uso de tais ferramentas como fonte de dados para os

simuladores, possibilitando a reutilização de informações espaciais da malha viária, tais

como vias e localização dos semáforos, dentre outras.

Segundo Fotherby (2002), um simulador de tráfego com animação é composto por quatro

componentes. O primeiro deles são os dados, que fornecem as informações necessárias

ao modelo, tais como estatísticas e informações do tráfego. O segundo componente é o

algoritmo de simulação responsável por controlar os componentes do sistema. O terceiro

é o componente de animação, que traduz o estado dos componentes dinâmicos do

sistema. O último componente é a validação, responsável por avaliar a aderência do

modelo implementado ao mundo real. O modelo une estes componentes e define as

regras de funcionamento do sistema. A Figura 12 ilustra estes componentes.

Figura 12: Componentes de uma simulação visual.

Adaptado de Fotherby (2002)

Os modelos microscópicos são, geralmente, mais complexos e de desenvolvimento mais

caro. Além disto, exigem um maior número de parâmetros. No entanto, estes são a

tendência em engenharia de tráfego uma vez que são a única forma de se lidar com

comportamentos individuais (Bazzan & Klügl, 2007). O presente trabalho trata da

construção de um simulador utilizando a abordagem microscópica. Esta escolha levou em

consideração a área de estudo (hipercentro de Belo Horizonte) utilizada no trabalho

desenvolvido por Viana Júnior (2004) e Silva (2006) no projeto GEOPROC e a própria

Page 41: desenvolvimento de um sig de código aberto para simulação ...

39

tendência da área de engenharia de tráfego citada por Bazzan e Klügl (2007). A seguir

serão apresentados alguns modelos comportamentais aplicados à abordagem

microscópica.

Veículo-seguidor ( car-following 11)

É o modelo que rege a movimentação dos veículos ao longo da rede. A velocidade e a

aceleração são determinadas em função da distância em relação ao veículo da frente. Os

veículos obedecem a parâmetros de aceleração e buscam atingir uma velocidade pré-

definida. Segundo Bham (2003), os modelos de car-following consomem mais tempo

computacional e recursos, em contrapartida são mais detalhados e potencialmente mais

precisos. A Figura 13 mostra uma representação gráfica do comportamento dos

motoristas conforme o espaçamento para o veículo líder. A situação A ilustra o

espaçamento entre o veículo seguidor e o líder. Na situação B, o veículo seguidor atinge a

distância de segurança para o veículo líder e inicia a desaceleração. A aceleração do

veículo seguidor é iniciada quando este se encontra a uma distância segura do veículo

líder. A situação C mostra este comportamento.

Figura 13: Comportamento dos motoristas no modelo car-following conforme o espaçamento.

Adaptado de Shekleton, 2002

11 Modelos de car-following ou veículo-seguidor definem a evolução dos veículos na via. Neste trabalho o termo em inglês foi utilizado diversas vezes por ser comumente encontrado na literatura que aborda este tema.

Page 42: desenvolvimento de um sig de código aberto para simulação ...

40

Autômato Celular

Outra abordagem para a movimentação dos veículos é a utilização de autômatos

celulares. Um modelo pioneiro é o de Nagel e Schreckenberg (1992). Neste modelo, os

trechos de vias são divididos em células com um comprimento fixo (7,5 metros), e cada

célula pode estar ou não ocupada por um veículo. A velocidade é dada por um inteiro

positivo, expressa em número de células ocupadas por unidade de tempo. Por ser

discreto no tempo e no espaço, é mais eficiente, do ponto de vista computacional, do que

o modelo car-following. A Figura 14 ilustra a divisão em células de um trecho de via.

Figura 14: Trechos de vias separados em células.

Fonte: CHOPARD, DUPUIS E LUTHI (1997)

Mudança de faixa ( lane-changing ) e aceitação de brechas ( gap-acceptance )

Segundo Liu (1994), quando um veículo tem a intenção de mudar de faixa, ele precisa

conhecer a velocidade e a localização dos veículos vizinhos. A mudança de faixa ocorre,

geralmente, quando um veículo vai fazer uma conversão em um cruzamento ou quando o

veículo imediatamente a sua frente trafega a uma velocidade mais lenta que a sua. Para

efetuar a mudança de faixa, são aplicadas as regras de aceitação de brechas, que

garantem uma mudança de faixa segura. O modelo de aceitação de brechas se baseia na

probabilidade de um veículo encontrar uma brecha, em algum instante de tempo, que

permita a sua entrada no fluxo da via prioritária. O valor da brecha pode decrescer com o

aumento do tempo de espera.

Page 43: desenvolvimento de um sig de código aberto para simulação ...

41

A seguir é mostrado o estado-da-arte da simulação de tráfego, apresentando alguns

trabalhos considerados relevantes.

3.2.1. ESTADO-DA-ARTE

A Simulação de tráfego é uma área de estudo bastante recorrente na literatura

especializada. Panwai e Dia (2005) apresentam um estudo comparativo sobre o

comportamento dos modelos de car-following. Estes modelos representam um dos

processos mais importantes em simulações microscópicas por definirem a interação entre

veículos adjacentes em uma mesma via. Os autores selecionaram três entre as mais

utilizadas ferramentas de simulação de tráfego (AIMSUN, VISSIM e PARAMICS) e

fizeram uma avaliação comparativa entre os modelos de car-following implementados. Foi

feita a comparação entre o comportamento dos modelos de car-following avaliados e os

resultados colhidos no campo a partir de um veículo instrumentado. Este trabalho se

destaca pelo fato de comparar modelos de car-following utilizados por ferramentas

comerciais, auxiliando no processo de escolha e validação do modelo a ser

implementado.

Hartman (2004) trata da construção de um modelo de simulação de tráfego urbano

baseado em autômatos celulares. O estudo foi baseado no modelo de Nagel e

Schreckenberg, inicialmente criado para ser aplicado em rodovias. Um dos objetivos

deste trabalho foi evoluir este modelo de modo a adequá-lo ao tráfego urbano, alterando,

por exemplo, o tamanho da célula de 7,5 metros (modelo original) para 2,5 metros.

Os modelos baseados em car-following são caracterizados pela capacidade de simular o

tráfego de forma realística. Já os modelos que utilizam autômatos celulares possuem um

desempenho computacional superior. Bham (2003) descreve um modelo híbrido, que une

o desempenho dos modelos baseados em autômatos celulares ao realismo

proporcionado pelos modelos car-following.

Tanto Hartman (2004) quanto Bham (2003) utilizam modelos de car-following baseados

em autômatos celulares com alterações, de modo a adequá-los a condições urbanas de

tráfego. Apesar de inovadores, a falta de informações mais concretas acerca dos modelos

acaba por desencorajar a adoção dos mesmos.

Page 44: desenvolvimento de um sig de código aberto para simulação ...

42

Segundo Almeida e Evsukoff (2003), a lógica fuzzy pode ser vista como uma extensão da

teoria clássica de conjuntos, e foi criada para tratar graus de pertinência intermediários

entre a não-pertinência e a pertinência total de elementos de um universo de discurso

com relação a um dado conjunto, permitindo a representação de conhecimento vago e

impreciso sobre um determinado domínio. Hoogendoorn et al. (1998) registraram a

utilização da lógica fuzzy na engenharia de tráfego. Neste trabalho, pode-se destacar o

emprego desta técnica na modelagem do comportamento dos motoristas e na escolha

das rotas.

Bazzan & Klügl (2007) descrevem novas tendências em engenharia de transportes e

tráfego e sistemas inteligentes de transporte (ITS), do inglês Intelligent Transportation

Systems . A introdução de novas técnicas relacionadas com ITS e ATIS (Advanced

Traveller Information System), as quais podem disseminar diversas informações aos

usuários do sistema, como alternativa de rotas e bloqueio de vias, fez com que as

ferramentas tradicionais de simulação evoluíssem de modo a reproduzir o comportamento

do motorista. Em simulação microscópica, especificamente, pode-se citar o uso da

simulação baseada em agentes (ABS, do termo em língua inglesa agent-based

simulation). Neste tipo de simulação, é possível modelar o processo decisório do

motorista ou de qualquer outro agente do sistema. Ainda neste trabalho são listados

alguns desafios a serem superados pelos pesquisadores da área de sistemas inteligentes

para transportes. O uso de estradas automatizadas é um deles. Neste tipo de via, o

controle dos veículos é completamente automatizado, além de sua aceleração,

desaceleração e ações de mudança de faixa.

Pinto et al. (1998) abordaram a utilização de um SIG para a construção da topologia da

rede de transportes a ser utilizada no simulador mesoscópico SATURN. Segundo os

autores, a utilização dessa ferramenta proporcionou ganhos significativos de tempo e

simplicidade na montagem da rede. Este trabalho destaca a importância da utilização do

SIG como banco de dados referencial do sistema viário das cidades, permitindo a

manutenção sistemática das informações. Além disso, os autores citam alguns dos

problemas que precisam ser superados durante o processo de integração entre um SIG e

um simulador de tráfego.

Page 45: desenvolvimento de um sig de código aberto para simulação ...

43

Claramunt et al. (2000) propuseram a criação de um framework para integração, análise e

visualização de dados de tráfego urbano em tempo real com SIG. Este tipo de integração

permite a análise de dados gerados por simuladores ou por sistemas de monitoramento

de tráfego em tempo real. O trabalho destaca a importância da análise de dados de

tráfego de modo espacial, complementando as saídas comumente utilizadas, como

gráficos e planilhas.

Gonçalves (2003) apresenta uma forma conceitual para implementar o comportamento de

agentes inteligentes num contexto espacial, utilizando SIG, sistemas multi-agentes e

simulação por eventos discretos. Nessa abordagem, os componentes espaciais são

classificados em passivos (sem comportamento dinâmico) e ativos (os agentes espaciais).

3.2.2. APLICAÇÕES COMERCIAIS

Portugal (2005) apresenta um estudo comparativo entre simuladores encontrados no

mercado. A seguir são listados alguns dos simuladores microscópicos que fizeram parte

deste estudo:

• AIMSUN2 – Advanced Interactive Microscopic Simulator for Urban and Non-urban

Networks. De origem espanhola, é utilizado em redes e vias expressas. Utiliza

volumes de tráfego e proporções de giro nas interseções ou matrizes O/D12.

Modela interseções com prioridades, semafóricas, rampas de vias expressas, tipos

de veículos, faixas exclusivas para um ou mais tipos de veículos, reação dos

motoristas a painéis de mensagens variáveis e bloqueio parcial de vias. Suas

saídas relatam densidade, volumes alocados, velocidade, tempo de viagem, fila,

consumo de combustível, emissão de poluentes, dentre outros. Possui recurso

gráfico que simula e visualiza cenários em três dimensões.

• CORSIM – Corridor Simulation. Trabalha com volumes de tráfego e proporções de

giro nas interseções ou matrizes O/D. Modela interseções com prioridade e

semafóricas de tempo fixo ou atuado. Possui tipos de veículos distintos, operação

de ônibus em faixa única ou sem faixa exclusiva, ponto de parada com ou sem baia

12 Uma matriz O/D (origem/destino) determina a quantidade de viagens dos veículos entre uma região de origem e outra de destino.

Page 46: desenvolvimento de um sig de código aberto para simulação ...

44

e tempo de embarque/desembarque. Modela estacionamento nos trechos e fontes

que geram/atraem tráfego (estacionamento fechado, por exemplo). Considera o

comportamento do motorista com relação ao avanço no amarelo do semáforo,

bloqueio parcial da via, operações de carga/descarga, estacionamento irregular e a

interferência dos pedestres nos giros das interseções. As saídas são velocidade,

número de paradas, filas, atraso, veículo-hora de viagem, veículo-km de viagem,

consumo de combustível e emissão de poluentes. O CORSIM faz parte do pacote

TSIS (Traffic Software Integrated System).

• DRACULA – Dynamic Route Assignment Combining User Learning and

Microsimulation. Modelo de origem britânica, desenvolvido pela Universidade de

Leeds para redes, utilizando matrizes O/D. Modela interseções com prioridade,

rotatórias, semafóricas de tempo fixado ou atuado, tipos de veículos distintos com

detalhamento das características físicas e operacionais de cada tipo, operação de

ônibus com ou sem faixa exclusiva, bloqueio parcial da via, controle eletrônico de

velocidade e tarifação urbana. Suas saídas são volumes alocados, velocidade,

atraso, fila, consumo de combustível, emissão de poluentes.

• PARAMICS – Parallel Microscopic Traffic Simulator. É um programa para

simulação de redes de tráfego e de vias expressas que considera em tempo real as

características individuais de cada veículo. Possui funcionalidades que permitem

um exame detalhado de uma extensa área de gerenciamento de tráfego e opções

de políticas de transporte como prioridade para ônibus, estacionamento e restrição

de uso de faixa de tráfego. Trabalha com volumes de tráfego e proporções de giros

nas interseções ou com matrizes O/D, com a opção de serem atualizadas por

contagem de tráfego. Modela interseções com prioridade, semafóricas de tempo

fixo ou atuado, rotatórias, tipos distintos de veículos, operação de ônibus com ou

sem faixa exclusiva, estacionamento, fontes geradoras/atratoras de tráfego,

bloqueio parcial da via, operações de carga/descarga, travessia de pedestres e

estacionamento irregular. Suas saídas são velocidade, atraso, tempo de viagem,

fila, densidade, consumo de combustível, emissão de poluentes e nível de ruído.

3.3. CONSIDERAÇÕES FINAIS

Este capítulo apresentou um breve resumo teórico sobre simulação de tráfego.

Page 47: desenvolvimento de um sig de código aberto para simulação ...

45

Inicialmente foi feita uma introdução ao tema simulação computacional para em seguida

serem apresentados os principais conceitos sobre simulação de tráfego, enfatizando a

abordagem microscópica.

Por fim foi feita uma breve revisão sobre o estado-da-arte da simulação de tráfego e

foram apresentadas algumas soluções comerciais voltadas para a simulação de tráfego.

Devido aos custos de aquisição destas ferramentas, optou-se por não utilizá-las na fase

de experimentos deste trabalho.

Ao contrário da maioria das ferramentas de simulação de tráfego disponíveis, a solução

sugerida neste trabalho segue o paradigma do software livre. Isso permite a sua utilização

livremente, além de possibilitar a extensão de suas funcionalidades, de acordo com

necessidades específicas. Outra característica importante é a sua integração com um

SIG, herdando as funcionalidades que comumente são encontradas neste tipo de

programa.

O próximo capítulo detalha a construção da ferramenta proposta neste trabalho.

Page 48: desenvolvimento de um sig de código aberto para simulação ...

46

4. DESENVOLVIMENTO DO SIMULADOR

Este capítulo descreve as etapas do desenvolvimento da ferramenta de simulação de

tráfego. Esta ferramenta é uma continuação do projeto GEOPROC e tem como base a

mesma arquitetura utilizada por Silva (2006) na construção do plugin RTIGIS.

Inicialmente é feita uma descrição do RTIGIS, ferramenta desenvolvida por Silva (2006)

como continuação do trabalho de Viana Júnior (2004). Em seguida são apresentadas as

bibliotecas, conceitos e técnicas utilizadas na construção do simulador de tráfego.

4.1. RTIGIS

O RTIGIS, acrônimo para Real Time Intelligent Geographical Information System, é um

plugin desenvolvido sob o paradigma orientado a objetos, de código fonte aberto e

integrado ao OpenJump. Foi construído por Silva (2006) a partir do trabalho de Viana

Júnior (2004) dentro do grupo de pesquisa GEOPROC do CEFET-MG.

O objetivo do trabalho de Viana Júnior (2004) foi propor uma solução que possibilite

identificar o melhor caminho entre dois pontos em uma malha viária. Geralmente, as

escolhas de rotas em malhas viárias são feitas por intermédio do cálculo do menor

caminho, ou seja, a menor distância entre a origem e o destino é tida como sendo a

melhor escolha. No entanto, quando se trata de rotas que envolvem veículos, sabe-se que

outras variáveis, além do comprimento da via, podem influenciar nesta escolha. No

trabalho de Viana Júnior (2004), foi proposta uma solução para essa limitação por meio

da criação de um atributo que sintetiza o comprimento e a quantidade de veículos das

vias. Esse novo atributo sintetizado foi denominado “Impedância de Transposição do

Trecho”, ou ITT. A ITT é um atributo numérico e representa o custo de transposição de

um trecho de via. O cálculo deste atributo foi feito utilizando a lógica fuzzy.

Uma das etapas do trabalho desenvolvido por Viana Júnior (2004) foi a construção da

base de dados do SIG. Os atributos necessários para cálculo da ITT são o comprimento

da via e a quantidade de veículos. O primeiro foi obtido a partir do cálculo da distância

geométrica entre os nós do arco que representam um trecho de via. Este cálculo é

Page 49: desenvolvimento de um sig de código aberto para simulação ...

47

possível porque a rede utilizada é do tipo geométrica e foi desenhada em escala real (no

sistema de coordenadas UTM13) a partir de um mapa em formato DXF14 em que estão

representadas as sarjetas de todo o centro de Belo Horizonte. Já os dados relativos a

quantidade de veículos foram fornecidos pela Empresa de Transportes e Trânsito de Belo

Horizonte (BHTrans) em formato PDF15, a partir de pesquisas que mediram esta

quantidade para cada conversão permitida nos cruzamentos. A área de abrangência

desta pesquisa foi o fator principal para definição da região de estudo. A região que

possuía um conjunto mínimo de dados necessários para o trabalho foi a escolhida. Esta

região é denominada “Hipercentro”. A Figura 15 apresenta o detalhamento da área de

estudo.

Figura 15: Área de estudo – Hipercentro de Belo Horizonte

Adaptado de Viana Júnior (2004)

13 A sigla UTM é originada do nome da projeção Universal Transversa de Mercator, que é uma projeção cilíndrica da superfície terrestre cuja unidade é o metro. 14 A sigla DXF é originada da expressão inglesa Drawing Interchange File que é um formato digital muito utilizado para intercâmbio de dados vetoriais. 15 PDF é a sigla para Portable Document Format.

Page 50: desenvolvimento de um sig de código aberto para simulação ...

48

Ainda sobre o trabalho de Viana Júnior (2004), é válido citar que todo o trabalho de

entrada dos dados necessários ao cálculo da ITT foi feito de modo manual. Além disso, o

cálculo da ITT foi feito utilizando a Fuzzy Logic Toolbox do Matlab16. Já o cálculo do custo

mínimo, para obtenção do melhor caminho, foi feito utilizando o software SPRING17.

Apesar de funcional, o processo de atualização da ITT com novos dados ficou bastante

trabalhoso, suscetível a erros e exigindo que a tarefa fosse desempenhada por alguém

que tivesse conhecimentos tanto na área de SIG quanto de lógica fuzzy. O trabalho

seguinte ao de Viana Júnior (2004) no grupo GEOPROC, desenvolvido por Silva (2006),

teve como um dos objetivos a automatização das etapas de preparação da base de dados

e cálculo da ITT.

Naquele trabalho foi construído um plugin que permite o cálculo automatizado da ITT com

dados atualizados assim como a obtenção do melhor caminho. Ao invés de utilizar os

dados da pesquisa de quantidade de veículos em formato PDF, este trabalho propôs a

utilização de informações fornecidas pelo Controle Inteligente de Tráfego (CIT), gerido

pela BHTRANS. Este sistema foi implantado com o objetivo de melhorar o gerenciamento

e a segurança do trânsito de Belo Horizonte, por meio de melhorias no sincronismo dos

semáforos, aumento do número de travessias de pedestres e redução do tempo de

parada dos pedestres e veículos nos sinais. Além de novos semáforos, câmeras de TV

para monitoramento e painéis de mensagem eletrônicos, foram instalados sensores no

asfalto que permitem coletar a demanda de tráfego (fluxo de veículos) e o envio destes

dados para o sistema de controle centralizado. Estes dados são coletados durante todo o

dia em intervalos de tempos definidos, permitindo medir o movimento das vias

monitoradas e, por meio de um sistema adaptativo, fazer a reprogramação dos tempos

semafóricos de modo automático. A partir destas informações, Silva (2006) propôs a

utilização destes dados como parâmetro de entrada do SIG para sugestão de trajetos,

substituindo a coleta manual feita por meio de pesquisas no trabalho de Viana Júnior

(2004). A Figura 16 ilustra o fluxo de informações do RTIGIS.

16 www.mathworks.com 17 www.dpi.inpe.br/spring

Page 51: desenvolvimento de um sig de código aberto para simulação ...

49

Figura 16: Fluxo de dados automatizado do RTIGIS

Adaptado de Silva (2006)

As funcionalidades desenvolvidas por Silva (2006) foram estendidas a partir da biblioteca

do SIG aberto OpenJump. A linguagem de programação utilizada foi Java. Para o

desenvolvimento do sistema de inferência fuzzy, foi utilizado o framework FuzzyF18 (Fuzzy

Logic Framework). Já para manipulação de grafos, foi utilizada a biblioteca JGraphT19. Os

experimentos do plugin desenvolvido foram feitos com a utilização da mesma rede viária

construída por Viana Júnior (2004).

No presente trabalho também será utilizada a arquitetura do OpenJump, assim como a

rede viária construída por Viana Júnior (2004). Os dados de fluxos de veículos utilizados

por Viana Júnior (2004) e Silva (2006) também serão utilizados neste trabalho, de modo a

permitir a comparação dos resultados obtidos nos experimentos destes trabalhos com os

resultados gerados pelo simulador aqui desenvolvido.

4.2. OPENJUMP

O OpenJump é um SIG de código aberto escrito em linguagem Java. É uma ferramenta

livre, multiplataforma e pode ser estendido por meio de plugins. Segundo Couto et al.

(2006), o OpenJump é uma implementação da JTS20 (Jump Topology Suite), que

implementa grande parte das interações espaciais necessárias para um bom

funcionamento de uma ferramenta SIG. Com relação a sua liberdade, é um software GPL,

isto é, inserido nos conceitos de software livre de acordo com a licença GPL (General

Public License) e que rege uma grande parte do software livre existente.

18 http://www.inf.unisinos.br/~jrbitt/fuzzyf/ 19 http://jgrapht.sourceforge.net/ 20 http://www.vividsolutions.com/jts/jtshome.htm

Page 52: desenvolvimento de um sig de código aberto para simulação ...

50

O OpenJump é baseado no projeto JUMP GIS21, desenvolvido pela empresa Vivid

Solutions Inc. Este projeto disponibiliza um conjunto de aplicativos que provêem uma API

extensível e uma interface gráfica de usuário para visualização e manipulação de dados

espaciais.

Após o lançamento da versão inicial, o desenvolvimento regular do JUMP foi interrompido

pela Vivid Solutions. No entanto, uma grande comunidade de usuários e desenvolvedores

se formou, contribuindo para disseminação, evolução e correção de falhas do programa.

Em seguida, um novo projeto surgiu e foi chamado de OpenJump. O grande número de

plugins existentes no site do projeto comprova a popularidade da ferramenta assim como

sua extensibilidade.

A arquitetura do OpenJump possui dois pacotes: a API, responsável pelos componentes

que oferecem suporte para operações de entrada/saída, manipulação de feições e

tratamento de informações espaciais. Já a parte de interface gráfica com o usuário é

contemplada pelo pacote Workbench. A Figura 17 ilustra a divisão em pacotes da

arquitetura JUMP.

Figura 17: Pacotes da arquitetura JUMP

Fonte: http://www.jump-project.org

21 http://www.jump-project.org/

Page 53: desenvolvimento de um sig de código aberto para simulação ...

51

Para um melhor entendimento das próximas etapas da construção do simulador, faz-se

necessária a explicação de alguns termos relacionados ao OpenJump que serão

utilizados:

• Extension : uma extensão representa a implementação de uma ou várias

funcionalidades que são agregadas à versão básica do OpenJump. É o principal

mecanismo de personalização do programa. A interação com a área de trabalho é

feita através de itens de menu ou botões de ação. Neste trabalho, foram

desenvolvidas duas extensões. A primeira é responsável pela criação da área de

simulação e a segunda pela simulação. As duas extensões foram feitas utilizando

itens de menu;

• Tarefa: a tarefa armazena em um arquivo XML (com a extensão jmp) todas as

informações que identificam a fonte de dados das camadas assim como a

formatação das mesmas;

• Feature : uma feature, ou característica, é composta por atributos espaciais e não-

espaciais. O atributo espacial, conhecido como geometria, representa um objeto no

espaço, utilizando pontos, linhas e polígonos. Já os atributos não-espaciais

caracterizam este objeto com informações alfanuméricas. A Figura 18 detalha uma

feature, destacando os atributos alfanuméricos da geometria selecionada;

• Layer : uma layer, ou camada, é um conjunto de features afins e georreferenciadas

que quando sobrepostas formam um mapa. Conceitualmente, em uma mesma

camada não devem existir elementos que se sobreponham espacialmente. Uma

camada pode ser do tipo vetorial ou raster (imagem). O gerenciador de camadas

do OpenJump é ilustrado na Figura 19.

Figura 18: Geometria selecionada e seus atributos alfanuméricos

Page 54: desenvolvimento de um sig de código aberto para simulação ...

52

Uma característica importante do OpenJump é a sua capacidade de trabalhar com dados

vetoriais em vários formatos. No entanto, para manter a mesma linha seguida por Silva

(2006), todos os dados consumidos e gerados neste trabalho utilizaram o formato

shapefile22.

Figura 19: Gerenciador de camadas do OpenJump

O estudo mais aprofundado da arquitetura do OpenJump está fora do escopo deste

trabalho. Para maiores informações, sugere-se a leitura da documentação do OpenJump

(OpenJump, 2003).

Nas próximas seções são apresentadas as etapas de construção do simulador. De modo

a facilitar o entendimento da estrutura utilizada, a Figura 20 ilustra a divisão lógica do

projeto e seus relacionamentos, por meio do diagrama de pacotes.

22 O shapefile é um popular formato de dados vetoriais desenvolvido pela empresa ESRI.

Page 55: desenvolvimento de um sig de código aberto para simulação ...

53

Figura 20: Diagrama de pacotes das extensões desenvolvidas para o OpenJump

Uma breve descrição de cada pacote é feita no Quadro 3.

Quadro 3: Descrição dos pacotes do simulador

Pacote Descrição

br.cefetmg.lsi.gissim.gis Contém as classes responsáveis pela criação da área de simulação.

br.cefetmg.lsi.gissim.plugin

Classes que estendem a arquitetura de implementação de plugin do OpenJump. Estas classes são responsáveis pela configuração dos menus de controle e fazem a ligação entre o ambiente do OpenJump e a funcionalidade implementada pelo plugin.

br.cefetmg.lsi.gissim.simulation Contém as classes que compõem a máquina de simulação.

br.cefetmg.lsi.gissim.stats Classes que definem a estrutura de serialização dos dados estatísticos.

br.cefetmg.lsi.gissim.ui Pacote responsável pelas classes de interface com o usuário.

br.cefetmg.lsi.gissim.utils Classes utilitárias, de uso genérico, que servem de apoio aos outros pacotes.

4.3. CRIAÇÃO DA ÁREA DE SIMULAÇÃO

O simulador desenvolvido neste trabalho considera uma micro-região como área de

simulação. A principal fonte de informações para o simulador são as bases cartográficas

municipais, que comumente possuem dados relativos às vias de circulação. É natural que

essas informações abranjam toda a extensão do município. No entanto, em função de seu

Page 56: desenvolvimento de um sig de código aberto para simulação ...

54

caráter microscópico, a área de simulação deve ser restrita a uma pequena região de

estudo. Na Figura 21 é mostrado o detalhe de uma malha viária selecionada para

simulação.

Figura 21: Detalhe da área de simulação.

Fonte: Prefeitura Municipal de Betim

O processo de criação da área de simulação deve ser capaz de identificar os pontos de

entrada/saída de veículos e os cruzamentos na malha viária selecionada. Cada categoria

de informações identificada é transformada em uma camada do OpenJump e os atributos

criados são utilizados como parâmetros de entrada para a simulação.

Para executar o processo de criação da área de simulação deve-se carregar uma camada

de trechos logradouros. Os trechos logradouros são caracterizados por serem

seccionados entre os cruzamentos, ou seja, um logradouro é representado por um

conjunto de trechos. Esta característica permite que os dados cartográficos sejam

carregados na estrutura de dados denominada grafo, composta por arestas (trechos) e

nós (cruzamentos). Outro ponto importante que deve ser considerado é a orientação dos

trechos. O sentido do desenho da geometria representa o sentido de circulação da via. A

ordem dos vértices que compõem a geometria determina o sentido do trecho, ou seja, o

primeiro vértice é a origem e o último o destino. Um atributo alfanumérico define se a via

possui sentido único ou duplo. Na Figura 22, esta explicação é detalhada. As setas dos

trechos indicam o sentido da geometria. Os atributos N (não) e S (sim) determinam se a

via é de mão única ou dupla.

Page 57: desenvolvimento de um sig de código aberto para simulação ...

55

Figura 22: Sentido das vias

Feita a carga da camada de trechos logradouros, a região de estudo deve ser

selecionada. O OpenJump possui um recurso conhecido por “Quadro” ou “Fence” que

permite a seleção de feições que estejam contidas em um polígono. Como o objetivo

deste plugin não é simplesmente selecionar as feições e sim analisar a rede selecionada

para em seguida criar novas camadas categorizadas, o recurso do “Quadro” foi utilizado

somente como delimitador da área de simulação. Internamente, o recurso do “Quadro”

disponibiliza um objeto do tipo geometria (da API JTS), o que permite que sejam feitas

comparações espaciais do tipo contém, não contém, intercepta e toca.

Com a área de simulação delimitada, são criadas as novas camadas contendo as

informações cartográficas que servirão de dados de entrada para a simulação.

Inicialmente é criada a camada denominada “Trechos”, que contém todos os trechos

logradouros contidos na região delimitada pelo “Quadro” ou que a interceptam. A partir

deste conjunto de trechos, é criada uma estrutura de dados do tipo grafo. Para esta

operação, foi utilizada a biblioteca de manipulação de grafos JGraphtT, que permite,

dentre outras coisas, a criação de grafos direcionados e não-direcionados. Esta mesma

biblioteca também foi utilizada por Silva (2006). O grafo gerado possui como arestas os

trechos e como nós os vértices inicial e final de cada trecho. Quando vários vértices são

localizados espacialmente no mesmo lugar, somente um é mantido e os demais

eliminados, garantindo que não exista mais de um nó no mesmo lugar. Este processo

pode ser mais bem entendido na Figura 23.

Page 58: desenvolvimento de um sig de código aberto para simulação ...

56

Figura 23: Detalhe da eliminação de nós duplicados

O grafo gerado é do tipo não-direcionado, servindo apenas para identificar as demais

camadas que serão geradas. Um exemplo gráfico de uma área de simulação com as

camadas criadas é ilustrado na Figura 24. A seguir é feita uma descrição textual dessas

camadas:

• Entrada/Saída de veículos : representa os nós de entrada/saída de veículos na

rede. Todos os nós que estão conectados com apenas uma aresta são

classificados como do tipo entrada/saída;

• Pontos de Controle : a camada de controle contém os nós que apenas ligam dois

trechos. Esta situação ocorre quando a base cartográfica possui trechos que foram

seccionados fora de um cruzamento, como por exemplo, na divisa entre bairros.

Todos os nós que estão conectados com duas arestas são inseridos nesta

camada;

• Cruzamentos : são caracterizados por nós que estão conectados com mais de

duas arestas. Representam os cruzamentos em uma malha viária.

Figura 24: Classificação das camadas de pontos

Page 59: desenvolvimento de um sig de código aberto para simulação ...

57

Além dos dados espaciais, os atributos alfanuméricos também são criados por este

processo. Cada camada possui atributos específicos que serão utilizados posteriormente

como parâmetros de entrada do simulador. É importante citar que toda feição do

OpenJump possui um atributo denominado FID ou “Feature ID”. Este atributo identifica

unicamente uma feição na camada. Os atributos criados por camada, assim como suas

descrições, são apresentados pelo Quadro 4.

Quadro 4: Atributos gerados pelo processo de criação da área de simulação

Camadas Atributos

Nome Tipo Descrição

Entrada/Saída de veículos

IDNO Número Inteiro Número incremental que identifica um nó independente da camada

TIPO Texto Tipo do nó. Nesta camada todas as feições são classificadas como InOut.

VPH Número Inteiro Número de veículos gerados por hora

Pontos de Controle

IDNO Número Inteiro Número incremental que identifica um nó independente da camada

TIPO Texto Tipo do nó. Nesta camada todas as feições são classificadas como Control.

Cruzamentos

IDNO Número Inteiro Número incremental que identifica um nó independente da camada

TIPO Texto Tipo do nó. Nesta camada todas as feições são classificadas como Cross, representando cruzamentos prioritários.

Trechos

FIDORIGEM Número Inteiro Identifica a feição que deu origem ao trecho logradouro da camada de simulação. Esse atributo permite a rastreabilidade entre as camadas.

MAODUPLA Texto Indica se o trecho possui sentido duplo ou único. Assume os valores S para sentido duplo e N para sentido único.

IDNOORIGEM Número Inteiro Identificador do nó de origem do trecho. IDNODESTINO Número Inteiro Identificador do nó de destino do trecho.

PREFERENCIA Texto Indica se o trecho é preferencial. Assume os valores S para preferencial e N para não preferencial.

Nesta seção foi explicado o processo de criação da área de simulação. A seguir, o plugin

de simulação é detalhado.

4.4. O PLUGIN DE SIMULAÇÃO

Esta seção explica os detalhes da implementação do plugin de simulação. O

desenvolvimento deste componente de software foi dividido em duas partes: construção

da interface para representação gráfica dos componentes de simulação e o motor de

simulação, responsável por gerir todas as interações que ocorrem no sistema.

Page 60: desenvolvimento de um sig de código aberto para simulação ...

58

4.4.1. INTERFACE GRÁFICA

A interface gráfica do simulador é responsável por exibir a evolução dinâmica da

simulação como, por exemplo, a movimentação dos veículos. Uma boa interface gráfica

enriquece a análise dos fenômenos que ocorrem no tráfego e facilita o entendimento dos

estados do sistema por parte dos usuários durante uma simulação.

A primeira etapa da construção da interface gráfica é a conversão da malha viária de

entrada, em formato cartográfico, para uma estrutura de dados orientada a objetos, que

represente a área de simulação. A estrutura de dados utilizada é do tipo grafo, neste caso

direcionado. As arestas são representadas por objetos da classe FeatureRoad, que

implementam a interface Road e os nós por objetos que implementam a interface

Junction. As restrições de circulação dos veículos são baseadas nesta estrutura de dados

e no arquivo de volume, que será tratado em seções posteriores. Especificamente quanto

às restrições impostas pelo grafo, a sua criação respeita tanto o sentido da geometria

quanto o atributo MAODUPLA, citado no Quadro 4. No caso específico deste atributo,

quando este assume o valor SIM, a aresta correspondente é duplicada em sentido

contrário, permitindo a circulação nos dois sentidos. A Figura 25 detalha este

comportamento.

Figura 25: Representação gráfica do atributo MAODUPLA

As geometrias de trecho logradouro representam o eixo central da pista de circulação.

Durante a carga do grafo, cada trecho logradouro é transformado em uma ou duas vias de

circulação, conforme o atributo MAODUPLA. Estas vias são representadas por objetos

que implementam a interface Road. Neste trabalho, cada via possui uma única faixa de

circulação, com a largura fixa de 5 metros. As faixas de circulação são representadas por

objetos da classe Lane. Cada objeto Lane possui três linhas que caracterizam a sua

Page 61: desenvolvimento de um sig de código aberto para simulação ...

59

forma, que são a linha central ou guia, que é por onde o veículo se movimenta e as linhas

esquerda e direita, que determinam os limites da faixa. A Figura 26 representa uma faixa

de circulação com suas linhas.

Figura 26: Linhas que formam uma faixa de circulação

Outro tratamento importante que é feito nos trechos logradouro é a divisão destes em

segmentos de retas. Nem sempre um trecho logradouro é composto somente por uma

reta, e sim por um conjunto. A divisão em segmentos de retas facilita os cálculos que

envolvem a construção da interface gráfica do simulador e a movimentação veicular. Na

Figura 27 é apresentado um trecho logradouro dividido em segmentos. Os objetos da

classe Lane fazem parte de cada segmento.

Segmento 1

Segmento 2

Segmento 3

Figura 27: Trecho logradouro dividido em segmentos

Quanto aos nós do grafo, estes são criados de acordo com o atributo TIPO (vide Quadro

4), que faz parte de todas as camadas do tipo ponto. Este atributo identifica o tipo de

junção que deve ser carregada para representar um nó. Cada junção, ou nó, possui um

comportamento diferente. Este comportamento é definido pela classe que a define. O

Quadro 5 lista os valores assumidos pelo atributo TIPO e suas respectivas classes.

Quadro 5: Valores do atributo TIPO e suas respectivas classes

Valor do Atributo TIPO Classe InOut SourceSinkJunction

Control ControlJunction Cross PriorityJunction

Page 62: desenvolvimento de um sig de código aberto para simulação ...

60

Esta abordagem permite estender o modelo facilmente, bastando para isso criar uma

nova classe Junction e atribuindo um novo valor para o atributo TIPO.

Feita a carga do grafo, os próximos passos da construção da interface gráfica são o

cálculo dos fatores de conversão de unidades e o ajuste da interseção dos segmentos de

reta.

As geometrias são representadas em escalas reais. Neste trabalho, a unidade de medida

utilizada para representação das geometrias é o metro. No entanto, a unidade adotada

pelos dispositivos de exibição é o pixel. O pixel é o menor elemento de uma imagem.

Logo, para representar os elementos cartográficos da simulação fez-se necessário a

conversão de metro para pixel. O fator de conversão indica a quantidade de pixels

necessários para representar um metro. Para este cálculo, é feita uma regra de três

simples envolvendo as dimensões da tela do dispositivo de exibição (medidas em pixels)

e as dimensões do envelope das geometrias (medidas em metros). O envelope é o menor

retângulo que envolve um conjunto de geometrias. A Figura 28 mostra um conjunto de

trechos logradouro envoltos por um envelope.

Envelope Figura 28: Ilustração do envelope de uma área de simulação

É importante observar que o eixo das ordenadas nos dispositivos de exibição de interface

gráfica é invertido em relação ao plano cartesiano, adotado pelo sistema de coordenadas

UTM.

O processo de ajuste da interseção dos segmentos de reta tem como objetivo acertar as

linhas que compõem as faixas de circulação. As geometrias de trecho logradouro

representam o eixo central da via de circulação. Logo, a conexão entre dois trechos é feita

Page 63: desenvolvimento de um sig de código aberto para simulação ...

61

por um ponto em comum, representado pelo ponto final de um trecho e o ponto inicial de

outro (interseção das linhas). Entretanto, quando são criadas as linhas das faixas de

circulação (vide Figura 26), este ponto em comum deixa de existir para algumas linhas.

Como essas linhas são deslocamentos do eixo central, com o mesmo ângulo de

inclinação e uma distância fixa (largura da faixa), o comprimento destas deve ser

aumentado ou diminuído para que haja a união das vias. A figura a seguir ilustra esta

situação. O ajuste dessas linhas consiste, em linhas gerais, em alongar ou encurtar o

comprimento das retas em função do ponto de interseção que as une.

Interseção

Sem ajus te Co m ajus te

Figura 29: Detalhe de linhas das faixas com e sem ajuste

Outro ponto a ser considerado é a transposição das junções. Na base cartográfica de

trechos, as junções não existem, sendo representadas apenas por uma geometria de

ponto. Entretanto, ao criar as faixas de circulação, é criado um espaço nas junções que

deve ser percorrido pelos veículos. As vias utilizadas para transpor este espaço não são

representadas no grafo que armazena o modelo de rede, sendo estas criadas em tempo

de simulação a medida que os veículos chegam às junções. A fim de manter a

compatibilidade com as pistas que existem na base cartográfica, as pistas de

transposição são representadas por objetos da classe JunctionRoad que, assim como

FeatureRoad, também implementa a interface Road. A figura abaixo ilustra a função das

pistas de transposição.

Figura 30: Detalhe da pista de transposição de junção

Page 64: desenvolvimento de um sig de código aberto para simulação ...

62

Por fim, após todos os objetos que compõem o modelo de rede terem sido criados e

convertidos para a unidade pixel, é feito o desenho da rede. O autor deste trabalho optou

por utilizar a classe Java JPanel, que é um contêiner onde outros componentes podem

ser colocados. Esta classe faz parte dos componentes Java denominados Swing, que

segundo Deitel e Deitel (2003), são escritos, manipulados e exibidos completamente em

Java, oferecendo um maior nível de portabilidade. Apesar desta escolha, é válido citar

que o objeto responsável por desenhar os componentes do sistema é totalmente

desacoplado do motor de simulação. Para isso, foi aplicada uma variante mais simples do

padrão de projeto Observer. Segundo Gamma et al. (2000), a motivação do padrão de

projetos Observer é manter a consistência entre objetos relacionados sem a utilização de

classes fortemente acopladas, que reduzem a reusabilidade. Esta abordagem permite que

trabalhos futuros utilizem outras saídas gráficas, que não a do tipo desktop, adotada neste

trabalho.

Nesta seção foram apresentadas as etapas de criação da interface gráfica do simulador.

A Figura 31 mostra a evolução dos dados ao longo do processo.

A seção seguinte trata do motor de simulação.

Figura 31: Processo de criação da interface gráfica do simulador

4.4.2. MÁQUINA DE SIMULAÇÃO

O motor de simulação é o módulo responsável pelo gerenciamento do ambiente de

simulação, controlando a interação entre todos os componentes do sistema.

Page 65: desenvolvimento de um sig de código aberto para simulação ...

63

Com a evolução dos recursos da computação, os simuladores de tráfego se tornaram

cada vez mais sofisticados e passaram a oferecer uma variedade muito grande de

recursos. Este trabalho não se propõe a construir um simulador completo, contendo todas

as funcionalidades existentes nos simuladores comerciais. A versão do simulador

desenvolvida neste trabalho não contempla funcionalidades importantes, como a

utilização de interseções semaforizadas e o uso de vias com mais de uma pista. No

entanto, este é um objetivo que pode ser alcançado em trabalhos futuros. Neste contexto,

é importante garantir que o motor de simulação seja extensível, permitindo a adição de

novas funcionalidades.

Araújo (2003) reproduz em alto nível o algoritmo utilizado pelo simulador microscópico

DRACULA da seguinte forma:

(i) Definição do estado da rede no instante corrente, atualizando a

sinalização semafórica conforme a programação;

(ii) Geração de veículos nas origens;

(iii) Para cada veículo da rede são realizadas as operaç ões abaixo:

� Atualização da velocidade corrente, da aceleração e da

posição do veículo conforme o modelo de car-following;

� Avaliação do desejo e da possibilidade de mudança d e faixa

através do modelo de mudança de faixa.

(iv) Atualização da animação;

(v) Incremento do passo do simulador e retorno a etapa (i).

Código 1: Pseudocódigo do simulador microscópico DRACULA

Estas etapas são executadas até que a condição de término da simulação seja

alcançada.

Considerando que as funcionalidades de sinalização semafórica e mudança de faixas não

foram implementadas, todos os demais passos deste pseudocódigo se aplicam a este

trabalho.

As classes relativas ao motor de simulação estão localizadas no pacote

br.cefetmg.lsi.gissim.simulation. O diagrama contendo as principais classes deste pacote

pode ser visualizado na Figura 32.

Page 66: desenvolvimento de um sig de código aberto para simulação ...

64

Figura 32: Diagrama de classes da máquina de simulação

As subseções seguintes detalham o motor de simulação.

A. Parâmetros de entrada

Os parâmetros de entrada fornecem as informações necessárias ao funcionamento dos

componentes do simulador. O Quadro 6 lista os parâmetros de entrada utilizados neste

trabalho.

Page 67: desenvolvimento de um sig de código aberto para simulação ...

65

Quadro 6: Parâmetros de entrada da simulação

Nome do parâmetro Escopo Descrição Valor

adotado

Malha viária Simulador Topologia da rede, em uma estrutura de dados do tipo grafo, contendo as vias de circulação e as junções.

-

Tempo total de simulação

Simulador Tempo total de simulação em segundos. Define a condição de término da simulação.

Configurável

Passo de simulação

Simulador Tempo gasto para cada passo da simulação.

1 segundo

Velocidade de simulação

Simulador Define a fração de tempo real que deve ser gasto para reproduzir um passo de simulação.

Configurável

Distância mínima de

parada Simulador

Distância mínima entre o pára-choque dianteiro de um veículo e uma obstrução (veículo ou junção). O veículo deve parar quando esta distância é atingida.

1,5 metros

Aceitação de Brecha

Simulador Intervalo de tempo disponível para que um veículo cruze uma via principal ou se junte a corrente de tráfego desta via.

2 segundos

Distância de segurança Veículo

Distância entre o pára-choque dianteiro do veículo e a próxima obstrução. Quando esta distância é atingida o veículo começa a desacelerar.

20 metros

Velocidade Inicial de

entrada na rede Veículo

Velocidade inicial de entrada na rede do veículo, em km/h. Esta velocidade somente é adotada caso a pista de entrada na rede não esteja congestionada.

20 km/h

Velocidade Máxima

Veículo Velocidade máxima do veículo, em km/h. 60 km/h

Comprimento Veículo Comprimento do veículo, em metros. 3,85 metros Largura Veículo Largura do veículo, em metros. 1,9 metros

Aceleração Veículo Aceleração do veículo, em m/s2. 1,5 m/s2

VPH Junção de

Entrada Fluxo de veículos por hora que entram na rede. Configurável

Volume Junção Distribuição do fluxo de veículos em cada junção. Este parâmetro também define restrições de conversão.

Configurável

As informações referentes as dimensões do veículo listadas no quadro acima se referem

a um veículo popular da marca FIAT, modelo PALIO. Os valores relativos a simulação

foram baseados no simulador DRACULA (Liu, 2005). É importante salientar que o valor

utilizado para aceitação de brechas foi reduzido de modo a retardar a saturação das vias.

Este procedimento fez-se necessário devido a inexistência de semáforos na versão atual

do simulador, o que causa o congestionamento das vias.

Page 68: desenvolvimento de um sig de código aberto para simulação ...

66

Com relação ao VPH (veículos por hora) e volume, os valores foram inferidos a partir do

trabalho de Viana Júnior (2004) e Silva (2006). O VPH é informado no atributo de mesmo

nome contido na camada de pontos classificada como entrada/saída, conforme

apresentado no Quadro 4. Já o volume é lido de um arquivo XML por meio da biblioteca

XStream23. Esta biblioteca permite a persistência de objetos Java em formato XML de

modo bastante simples. Para isso, a biblioteca XStream utiliza os recursos de reflexão24

disponíveis na linguagem Java. O código abaixo mostra o conteúdo de um arquivo XML

contendo os dados de volume:

Código 2: Arquivo XML de volume

<list>

<br.cefetmg.lsi.gissim.simulation.Volume>

<idSourceRoad>15537</idSourceRoad>

<idTargetRoad>15532</idTargetRoad>

<volume>500</volume>

</br.cefetmg.lsi.gissim.simulation.Volume>

<br.cefetmg.lsi.gissim.simulation.Volume>

<idSourceRoad>15537</idSourceRoad>

<idTargetRoad>15536</idTargetRoad>

<volume>400</volume>

</br.cefetmg.lsi.gissim.simulation.Volume>

</list>

A Figura 33 apresenta a estrutura da classe que armazena os dados de volume e uma

ilustração detalhando a interpretação destas informações na junção.

23 http://xstream.codehaus.org/ 24 Reflexão ou reflection é um mecanismo utilizado para descobrir dados a respeito de um programa em tempo de execução. Pode-se, por exemplo, descobrir os valores de propriedades e os métodos de um objeto.

Page 69: desenvolvimento de um sig de código aberto para simulação ...

67

Classe de Volume

ID Origem: 15537900 VPH

ID Destino: 15532500 VPH56% do f luxo

ID Destino: 15536400 VPH44% do f luxo

Interpretação do arquivo de volume

Figura 33: Classe Volume e interpretação do arquivo XML de volume

Em junções não informadas no arquivo de volume, as probabilidades de conversão são

totalmente aleatórias. Já as pistas que não têm dados de volume mas estão conectadas a

junções que foram parcialmente configuradas com o arquivo XML recebem volume zero,

ou seja, não recebem fluxo de veículos.

A escolha da pista de destino em uma junção que possui os dados de volume informados

é feita utilizando o método da roleta giratória. Este método consiste em dividir uma roleta

em fatias conforme a probabilidade de cada conversão. Este percentual é fixo e é

informado no arquivo de volume. Um giro na roleta, caracterizado pelo sorteio de um

número aleatório entre zero e um, seleciona o arco de conversão de acordo com a sua

fatia.

B. Gerenciamento do tempo de simulação

O gerenciamento do tempo de simulação é feito pela classe TimeManager. Esta classe

também funciona seguindo uma variante do padrão de projeto Observer, citado em

seções anteriores deste trabalho.

O controle do tempo de simulação é feito por uma repetição finita, onde a condição de

término é o tempo total de simulação. Para cada repetição, é feita a notificação dos

objetos que implementam a interface Timed e foram registrados em TimeManager. Caso

o tempo gasto para esta notificação seja menor que o tempo do passo de simulação, o

Page 70: desenvolvimento de um sig de código aberto para simulação ...

68

sistema fica em estado de espera até que o tempo do passo de simulação seja

alcançado.

C. Geração de veículos

Os veículos entram na rede a partir das junções de entrada/saída, implementadas pela

classe SourceSinkJunction. As geometrias que representam estes nós possuem um

atributo denominado VPH (vide Quadro 4). O valor informado neste atributo indica a

quantidade de veículos que devem ser gerados por um nó no período de uma hora. A

quantidade total de veículos que devem ser gerados por um nó durante toda a simulação

é calculado de acordo com a fórmula abaixo:

3600VPH

TV ×=

Onde:

V: Quantidade total de veículos a serem gerados durante toda a simulação;

T: Tempo total de simulação;

VPH: Quantidade de veículos que devem ser gerados em uma hora.

A partir do cálculo da quantidade total de veículos, o intervalo de tempo, em segundos,

entre a geração dos veículos é calculado a partir de:

V

Tt =

Onde:

t: Intervalo de tempo, em segundos, entre a geração dos veículos.

Toda vez que um veículo é gerado, é verificada a capacidade da via de circulação em

receber este veículo. Caso não haja espaço suficiente na via para acomodar o novo

veículo, este é armazenado em uma estrutura do tipo fila, na qual o primeiro objeto que

entra é o primeiro a sair. Nas gerações subseqüentes, os veículos enfileirados possuem

prioridade sobre os novos.

Page 71: desenvolvimento de um sig de código aberto para simulação ...

69

Para a criação dos objetos que representam os veículos, foi utilizado o conceito de

fábrica. Este conceito centraliza a criação dos objetos, permitindo ocultar as regras de

criação e isolar as classes concretas do restante do sistema. A classe que implementa a

fábrica de veículos também é responsável por gerar o identificador único do veículo na

simulação. A classe abstrata Vehicle possui as características e métodos genéricos dos

veículos. Todas as referências a veículos no sistema são feitas a objetos do tipo Vehicle e

não ao seu tipo concreto. Para criar um novo tipo de veículo, com características

específicas, basta implementar uma nova classe concreta herdando de Vehicle. Neste

trabalho, somente um tipo de veículo foi implementado, por meio da classe concreta Car.

O código a seguir apresenta a implementação da classe Car.

Código 3: Implementação da classe Car

package br.cefetmg.lsi.gissim.simulation; public class Car extends Vehicle { public Car(Simulation simulation, int id, SourceSi nkJunction sourceJunction){ super(simulation, id, sourceJunction); } @Override public double getLengthMt() { return 3.85; } @Override public double getMaxSpeedKmh() { return 60; } @Override public double getWidthMt() { return 1.9; } @Override public double getInitialSpeedKmh(){ return 20; } @Override public double getAccelerationMs2(){ return 1.5; } @Override public double getSafeDistanceMt(){ return 20; } }

Page 72: desenvolvimento de um sig de código aberto para simulação ...

70

D. Saída de veículos

Assim como a geração de veículos, a saída de veículos da rede também é feita por

intermédio da classe SourceSinkJunction. Toda vez que um veículo entra em um nó deste

tipo, ele automaticamente é recolhido da rede e deixa de existir.

E. Veículo instrumentado

O veículo instrumentado possui todas as características de um veículo comum, exceto

pela capacidade de seguir um trajeto fixo pré-definido pelo usuário. O trajeto dos veículos

comuns é gerado durante a simulação, de acordo com o volume de tráfego informado nas

junções ou aleatoriamente. Já o veículo instrumentado possui uma coleção de objetos do

tipo Road, ordenados de acordo com a seqüência de trechos que formam a sua rota.

Além da rota, o veículo instrumentado também sabe em qual passo de simulação ele

deve entrar na rede. A função deste tipo de veículo é colher informações sobre viagens

fixas. Neste trabalho, os veículos instrumentados foram utilizados para comparar os

tempos de viagem entre as rotas de menor e melhor caminho geradas pelo plugin

RTIGIS. Estas rotas são fixas e não se alteram durante a simulação.

F. Movimentação dos veículos

Um dos principais modelos aplicados em simulação de tráfego é o de movimentação de

veículos, ou car-following. Como este trabalho não tem como objetivo a pesquisa sobre

modelos de movimentação de veículos, optou-se por adotar o modelo car-following linear.

A cada passo de simulação, todos os veículos são notificados a atualizar sua velocidade e

posição. O modelo de movimentação é aplicado no cálculo da nova velocidade do veículo.

Este cálculo é feito, basicamente, em função da distância atual do veículo para um

obstáculo imediatamente à sua frente. Um obstáculo, neste trabalho, pode ser um veículo

ou uma junção, do tipo prioritária, desde que o veículo não esteja trafegando em uma via

prioritária. O cálculo desta distância é feito percorrendo a rede a partir da posição atual do

veículo até que seja encontrado um obstáculo ou o limite de duas vias de circulação seja

alcançado. Caso este limite seja alcançado, considera-se que não existe obstáculo,

Page 73: desenvolvimento de um sig de código aberto para simulação ...

71

devido a impossibilidade de um veículo percorrer essa distância em apenas um passo de

simulação.

Segundo Fotherby (2002), no modelo linear o veículo tenta circular a uma velocidade

máxima V caso não tenha nenhum obstáculo a sua frente. A velocidade do veículo é

incrementada a uma aceleração constante até o limite imposto pela velocidade máxima V.

Se o veículo chegar a uma distância D de um obstáculo, ele reduz sua velocidade

proporcionalmente a esta distância. Se uma distância mínima d é alcançada, o veículo

deve parar completamente.

Considerando que x é a distância entre o pára-choque dianteiro do veículo e o próximo

obstáculo a sua frente, a velocidade v do veículo é:

≤<<

≥=

dxse

DxdseVeentre

DxseV

v

,0

,0

,

Quando a distância x está entre d e D, a velocidade v é calculada proporcionalmente em

função de x. Aplicando a equação v = mx + c, chega-se a duas condições para determinar

os valores das constantes m e c:

1. v = 0 quando x = d

2. v = V quando x = D

Substituindo, resulta:

≤<<+

≥=

dxse

Dxdsecmx

DxseV

v

,0

,

,

O cálculo das constantes m e c a partir das variáveis conhecidas V, d e D é mostrado no

Quadro 7.

Page 74: desenvolvimento de um sig de código aberto para simulação ...

72

Quadro 7: Cálculo da velocidade no modelo car-following linear

1. v = mx + c

2. Se 0 = dm + c então c = -dm (A) ou m = -c/d (C)

3. Se V = Dm + c então c = V – Dm (B) ou m = (V – c) / D (D)

4. Partindo de (A) e (B) temos: -dm = V – Dm logo m = V / (L - l)

5. Partindo de (C) e (D) temos: -c/d = (V – c) / D logo c = Vd / (d - D)

Com as constantes m e c definidas, o comportamento dos veículos fica completo. A

arquitetura do módulo de movimentação foi modelada de modo a permitir, facilmente, sua

extensão para a aplicação de novos modelos de movimentação de veículos. Para isso, foi

aplicado o padrão de projeto Strategy. Este padrão permite que um algoritmo varie

independentemente dos clientes que o utilizam (GAMMA et al., 2000). Na arquitetura

adotada neste trabalho, a interface SimulationModel define as regras para implementação

de novos modelos de movimentação. A classe concreta que implementa o modelo linear,

detalhado nesta subseção, é BasicLinearSimulationModel.

G. Aceitação de brechas

As regras de aceitação de brechas são aplicadas em junções prioritárias. Esta regra é

aplicada toda vez que um veículo está parado em um cruzamento e precisa se deslocar.

O modelo de simulação aplicado neste trabalho não permite a colisão de veículos, logo, o

tempo gasto por um veículo para atravessar um cruzamento precisa ser compatível com a

brecha de tempo disponível.

O cálculo da brecha é feito com base no tempo gasto pelos veículos que chegam ao

cruzamento, sendo calculado de acordo com a velocidade de cada veículo e a distância

entre seu pára-choque dianteiro e a junção.

A brecha é aceita quando o menor tempo de chegada dos veículos é maior ou igual ao

parâmetro de aceitação de brechas, definido neste trabalho conforme o Quadro 6.

Page 75: desenvolvimento de um sig de código aberto para simulação ...

73

H. Estatísticas

As estatísticas geradas pela simulação representam uma das partes mais importantes de

todo o processo. É por meio delas que são feitas as análises de desempenho do tráfego.

A literatura especializada cita inúmeros indicadores de desempenho voltados para análise

de tráfego. Entretanto, o autor deste trabalho optou por definir um escopo de indicadores

voltados para os experimentos planejados. É válido lembrar que, por ter sido desenvolvido

sob o paradigma da orientação a objetos e ter na extensibilidade uma de suas principais

características, a implementação de novos indicadores é relativamente fácil.

Os indicadores gerados neste trabalho são classificados em dois grupos: em tempo real,

visualizados na interface do simulador durante a simulação e em arquivo, armazenados

durante a simulação e gravados em disco ao final do processo. Os Quadros 8 e 9

apresentam, respectivamente, os indicadores gerados pela simulação em tempo real e

em arquivo (ao final da simulação).

Quadro 8: Estatísticas da simulação geradas em tempo real pelo plugin

Tempo Real Indicador Descrição

Veículos gerados Total de veículos já gerados na simulação, em todos os nós de entrada.

Veículos coletados Total de veículos já coletados na simulação, em todos os nós de saída.

Veículos em simulação Total de veículos que estão na rede, em simulação. Os veículos enfileirados e que já foram coletados não entram nesta contagem.

Velocidade média (km/h) Velocidade média dos veículos. Distância total percorrida (km) Distância total percorrida. Veículos enfileirados Quantidade de veículos enfileirados nos nós de entrada. Total de veículos instrumentados

Total de veículos instrumentados da simulação.

Veículos instrumentados já gerados

Quantidade de veículos instrumentados que já foram gerados.

Page 76: desenvolvimento de um sig de código aberto para simulação ...

74

Quadro 9: Estatísticas da simulação geradas em arquivo pelo plugin

Arquivo Tipo Indicador Descrição

Por nó de entrada e/ou saída

Veículos gerados Total de veículos gerados Veículos coletados Total de veículos coletados Veículos enfileirados Total de veículos enfileirados ao final da simulação

Por veículo

Nó de origem Identificador do nó gerador do veículo Nó de destino Identificador do nó coletor do veículo Tempo de partida Passo da simulação da geração do veículo

Tempo de chegada Passo da simulação da chegada do veículo ao nó de destino

Tempo de viagem Tempo gasto entre a geração do veículo e sua chegada ao nó de destino

Distância percorrida Distância, em km, percorrida pelo veículo Velocidade média Velocidade média, em km/h.

Os indicadores dos veículos, do tipo arquivo, só são gerados quando o veículo completa a

viagem inteira. Uma viagem é considerada completa quando o veículo é coletado por um

nó de saída.

Os arquivos gerados pelo simulador, contendo os indicadores, obedecem ao formato

CSV25. Este formato foi escolhido devido a sua simplicidade e por ser largamente utilizado

pelas planilhas eletrônicas, facilitando a geração de gráficos e a tabulação dos dados.

Para geração destes arquivos, foi utilizada a biblioteca SuperCSV26. A sua utilização

permitiu a gravação dos arquivos no formato especificado a partir de classes puras Java,

utilizando para isso o mecanismo de reflexão da linguagem.

A Figura 34 exibe um exemplo de indicadores de tempo real e de arquivo.

Tempo realArquivo (por nó de entrada/saída)

Arquivo (por veículo)

Figura 34: Ilustração das estatísticas geradas pelo plugin de simulação

25 CSV é um formato de arquivo que armazena dados tabelados, utilizando a vírgula e a quebra de linha para separar os valores. 26 http://supercsv.sourceforge.net/

Page 77: desenvolvimento de um sig de código aberto para simulação ...

75

4.5. CONSIDERAÇÕES FINAIS

Neste capítulo foram apresentados os passos para construção do simulador. O seu

desenvolvimento foi baseado no componente de software desenvolvido por Silva (2006),

utilizando a arquitetura OpenJump.

Inicialmente é explicada a arquitetura OpenJump para construção de plugins, utilizada na

integração entre o SIG e o simulador. Em seguida foram detalhadas as técnicas utilizadas

para transformar os dados cartográficos em uma estrutura de dados preparada para a

simulação de tráfego e os passos da construção da interface gráfica do simulador.

Por fim, a máquina de simulação, responsável por gerir todas as interações entre os

componentes do sistema foi explicado. Também foram apresentados o modelo de

movimentação de veículos utilizado e as informações estatísticas geradas pelo simulador.

No próximo capítulo são feitos experimentos a fim de avaliar a ferramenta desenvolvida.

Page 78: desenvolvimento de um sig de código aberto para simulação ...

76

5. EXPERIMENTOS

Este capítulo tem o objetivo de mostrar a avaliação do componente de software

desenvolvido. Para isso, foram feitas simulações para comparação dos tempos de

percurso do menor e melhor caminho em duas áreas de simulação análogas às utilizadas

por Viana Júnior (2004).

5.1. COMPARAÇÃO DO TEMPO DE PERCURSO DO MENOR E

MELHOR CAMINHO

Os trabalhos desenvolvidos por Viana Júnior (2004) e posteriormente por Silva (2006)

tratam, basicamente, do cálculo do melhor caminho entre dois pontos em uma rede

geométrica. Entende-se por melhor caminho aquele que permite o percurso entre os

pontos no menor tempo possível. Nestes trabalhos foram utilizadas as variáveis

comprimento do trecho e fluxo de veículos para calcular o trajeto de menor tempo. No

primeiro trabalho do projeto de pesquisa GEOPROC, desenvolvido por Viana Júnior

(2004), a validação do melhor caminho foi feita pelos taxistas, considerados os

especialistas em locomoção veicular. Para esta validação, foi escolhido um conjunto de

combinações no hipercentro de Belo Horizonte e calculados o menor e o melhor caminho

entre os pontos de origem e destino. Em seguida, os resultados destes cálculos foram

comparados com as escolhas feitas pelos taxistas. Conforme já exposto em seções

anteriores, esta validação não se mostrou eficiente.

Para avaliação dos resultados por meio da simulação de tráfego, como descrito neste

capítulo, foram escolhidas duas combinações dentre as utilizadas por Viana Júnior (2004).

Esta escolha se baseou nos critérios elencados abaixo:

• Diferença dos trajetos: as combinações que possuíam o melhor trajeto igual ao

menor foram descartadas;

• Extensão da área de simulação: em função de limitações do simulador de tráfego

construído neste trabalho, como a funcionalidade de zoom, as combinações que

possuíam uma área de extensão muito grande foram descartadas.

Page 79: desenvolvimento de um sig de código aberto para simulação ...

77

As etapas para realização dos testes são detalhadas a seguir:

A. Preparação dos dados

O primeiro passo para realização dos testes é a construção da base de dados tanto

cartográfica quanto alfanumérica. O ponto de partida foi a utilização dos mesmos dados

utilizados nos trabalhos anteriores. No entanto, a base cartográfica utilizada precisou ser

modificada para ser utilizada no simulador porque as restrições de conversão foram feitas

utilizando arcos de conversão. Geralmente, as bases cartográficas de trechos de

logradouros municipais não possuem estes arcos de restrição de conversão. Em função

disso, optou-se, neste trabalho, por utilizar um arquivo XML que contém informações de

proporção de conversão e restrições de conversão. A figura abaixo ilustra um mesmo

conjunto de trechos com e sem arco de conversão.

Arco de conversão

Figura 35: Trechos com e sem arcos de conversão

Feito o acerto dos arcos de conversão, a próxima etapa da construção da base de dados

foi a verificação dos sentidos de circulação das vias. O sentido de circulação é definido

pelo desenho da geometria e o acerto foi realizado por meio de uma funcionalidade do

próprio OpenJump que permite girar uma geometria. Durante esta etapa, os atributos que

indicam vias de mão dupla e preferenciais também foram informados.

O tratamento dos arcos de conversão, o sentido das vias de circulação e a definição dos

atributos de mão de dupla e vias preferenciais foram feitos em toda área do hipercentro.

Page 80: desenvolvimento de um sig de código aberto para simulação ...

78

Com a parte cartográfica e alfanumérica do hipercentro concluída, foram geradas as

áreas de simulação correspondentes às combinações escolhidas.

Com as áreas de simulação geradas, foram informadas as proporções de conversão dos

cruzamentos e a quantidade de veículos a serem gerados pelos nós de entrada da rede.

Como um dos objetivos do trabalho era a comparação entre os trajetos gerados no

trabalho de Viana Júnior (2004), os valores do atributo QVF (quantidade de veículos por

faixa) usados naquele trabalho também foram utilizados neste para a inferência das

proporções de conversão e definição dos fluxos de entrada na rede. No entanto, os

valores de QVF correspondem a uma faixa de tempo de quinze minutos. No simulador, as

informações de fluxo de veículos são consideradas por hora. Para contornar esta

situação, os valores da QVF foram multiplicados por quatro. A Figura 36 ilustra o cálculo

das proporções de conversão considerando os valores de QVF.

Proporção de Conversão

Fluxo com origem no trecho A = 156,8 + 211,7 = 368,5Proporção de conversão de A -> B = 211,7 / 368,5 = 57%Fluxo de A -> C = 156,8 / 368,5 = 43%

Figura 36: Cálculo da proporção de conversão de veículos durante uma simulação

B. Criação das camadas com os percursos do melhor e menor caminho

Os parâmetros utilizados na simulação foram os listados no Quadro 6. Todos os veículos

utilizados possuem as mesmas características.

Page 81: desenvolvimento de um sig de código aberto para simulação ...

79

A coleta das informações para análise dos resultados foi feita pelos veículos

instrumentados. Estes veículos são caracterizados por terem um percurso fixo, definido

por uma camada que contém o conjunto de trechos que formam este percurso. O

processo de criação destas camadas consiste em copiar da camada de trechos da área

de simulação o conjunto de feições que formam o percurso. Estas feições são copiadas

para uma camada nova e no momento da adição do veículo instrumentado na simulação

a camada que contém o percurso a ser seguido pelo veículo é escolhida. A figura a seguir

mostra, separadamente, a camada de trechos da área de simulação e uma camada

contendo um percurso qualquer.

Camada de Trechos da Área de Simulação

Camada contendo um Percurso

Camadas sobrepostas

Figura 37: Camada de percurso fixo para os veículos instrumentados

C. Experimentos

Para realização dos experimentos foram escolhidas duas combinações utilizadas por

Viana Júnior (2004). Para cada combinação, foram feitas três simulações distintas para os

percursos de melhor e menor caminho. Em cada simulação, foram inseridos dez veículos

instrumentados com o mesmo percurso (melhor ou menor), mas que entravam na rede

em passos de simulação diferentes. Os veículos foram inseridos na rede em intervalos

fixos de cinco segundos. Esta estratégia foi adotada para permitir a análise do

comportamento da viagem em momentos diferentes da simulação, considerando o

aumento do fluxo de veículos ao longo do tempo.

Page 82: desenvolvimento de um sig de código aberto para simulação ...

80

As variáveis de tempo de percurso e velocidade média foram coletadas para cada veículo

instrumentado em cada simulação. Para consolidação dos resultados das simulações foi

utilizada a média aritmética, que é uma medida de tendência central e é obtida com a

soma de todos os valores envolvidos dividida pela quantidade total desses valores.

A seguir são mostrados os testes para as duas combinações escolhidas:

COMBINAÇÃO 03

Esta combinação tem origem no cruzamento da Av. Paraná com a Rua Caetés e destino

no cruzamento das ruas Curitiba e Goitacazes. A figura a seguir ilustra a localização da

combinação no hipercentro e detalha a área de simulação tanto no SIG quanto no

simulador.

Localização no hipercentro Área de simulação no SIG Área de simulação no simulador

Figura 38: Detalhe da combinação de origem/destino 03

Adaptado de Viana Júnior (2004)

O percurso do menor e melhor caminho possuem extensões aproximadas de 741 e 805

metros respectivamente. A Tabela 1 mostra os dados coletados pela simulação desta

combinação e logo em seguida são apresentados os gráficos comparativos dos

resultados.

Page 83: desenvolvimento de um sig de código aberto para simulação ...

81

Tabela 1: Dados coletados na simulação da combinação 03

Distância 741 Distância 805

Número da Simulação Passo TempoVelocidade

MédiaTempo

Velocidade

Média

5 72 37,05 95 30,51

10 87 30,66 114 25,42 15 82 32,53 89 32,56 20 82 32,53 104 27,87 25 78 34,20 116 24,98 30 126 21,17 136 21,31 35 147 18,15 156 18,58

40 129 20,68 206 14,07 45 164 16,27 235 12,33 50 147 18,15 243 11,93

5 83 32,14 129 22,47 10 113 23,61 127 22,82 15 124 21,51 169 17,15 20 142 18,79 177 16,37

25 190 14,04 193 15,02 30 203 13,14 209 13,87

35 207 12,89 232 12,49 40 228 11,70 248 11,69

45 204 13,08 284 10,20 50 222 12,02 286 10,13

5 74 36,05 108 26,83 10 102 26,15 128 22,64 15 124 21,51 132 21,95

20 137 19,47 165 17,56 25 153 17,44 184 15,75

30 173 15,42 165 17,56 35 198 13,47 185 15,66 40 239 11,16 219 13,23 45 248 10,76 206 14,07 50 293 9 ,10 232 12,49

5 76,33 35,08 110,67 26,60 10 100,67 26,81 123,00 23,63

15 110,00 25,19 130,00 23,89 20 120,33 23,60 148,67 20,60 25 140,33 21,89 164,33 18,58 30 167,33 16,58 170,00 17,58 35 184,00 14,84 191,00 15,58 40 198,67 14,51 224,33 13,00 45 205,33 13,37 241,67 12,20 50 220,67 13,09 253,67 11,52

5 5,8 6 2 ,59 17,16 4,03

10 13,05 3 ,57 7,81 1,56 15 24,25 6 ,36 40,04 7,89 20 33,29 7 ,75 39,15 6,32 25 57,06 10,79 42,10 5,55 30 38,81 4 ,14 36,76 3,72 35 32,36 2 ,88 38,35 3,04

40 60,58 5 ,35 21,50 1,21 45 42,02 2 ,77 39,43 1,94 50 73,01 4 ,62 28,54 1,23

Melhor Caminho

1

2

3

Média

Desvio Padrão

Menor Caminho

Page 84: desenvolvimento de um sig de código aberto para simulação ...

82

Gráfico 1: Comparação do tempo de viagem na combinação 03

Gráfico 2: Comparação da velocidade média na combinação 03

COMBINAÇÃO 06

Esta combinação tem origem no cruzamento das ruas Pe. Belchior e Curitiba e destino no

cruzamento da Rua Tupinambás com Av. Amazonas. A Figura 39 mostra o detalhamento

da área desta combinação.

Page 85: desenvolvimento de um sig de código aberto para simulação ...

83

Localização no hipercentro Área de simulação no SIG Área de simulação no simulador

Figura 39: Detalhe da combinação de origem/destino 06

Adaptado de Viana Júnior (2004)

O percurso do menor e melhor caminho possuem extensões aproximadas de 771 e 992

metros respectivamente. A Tabela 2 mostra os dados coletados pela simulação desta

combinação e logo em seguida são apresentados os gráficos comparativos dos

resultados.

Page 86: desenvolvimento de um sig de código aberto para simulação ...

84

Tabela 2: Dados coletados na simulação da combinação 06

Distância 771 Distância 992

Número da Simulação Passo TempoVelocidade

MédiaTempo

Velocidade

Média

5 60 46,26 343 10,41

10 65 42,70 375 9,52 15 65 42,70 424 8,42 20 75 37,01 492 7,26 25 73 38,02 625 5,71

30 93 29,85 808 4,42 35 94 29,53 827 4,32

40 96 28,91 868 4,11 45 10 2 27,21 990 3,61 50 10 7 25,94 1100 3,25

5 63 44,06 392 9,11 10 72 38,55 470 7,60

15 86 32,27 514 6,95 20 10 1 27,48 549 6,50 25 99 28,04 766 4,66 30 12 8 21,68 1036 3,45 35 13 9 19,97 1045 3,42 40 13 7 20,26 1077 3,32

45 14 6 19,01 1098 3,25 50 15 4 18,02 1135 3,15

5 70 39,65 374 9,55 10 83 33,44 483 7,39 15 10 4 26,69 502 7,11

20 10 4 26,69 560 6,38 25 10 7 25,94 748 4,77

30 10 8 25,70 785 4,55 35 10 7 25,94 850 4,20 40 10 5 26,43 968 3,69 45 11 0 25,23 994 3,59 50 11 2 24,78 1075 3,32

5 64,33 43,32 369,67 9,69 10 73,33 38,23 442,67 8,17 15 85,00 33,89 480,00 7,49 20 93,33 30,39 533,67 6,71

25 93,00 30,67 713,00 5,05 30 109,67 25,74 876,33 4,14

35 113,33 25,15 907,33 3,98 40 112,67 25,20 971,00 3,71

45 119,33 23,82 1.027,33 3,48 50 124,33 22,92 1.103,33 3,24 5 5,13 3,36 2 4,79 0,66

10 9,07 4,64 5 8,96 1,17 15 19,52 8,13 4 8,87 0,81

20 15,95 5,74 3 6,50 0,48 25 17,78 6,46 7 6,74 0,58 30 17,56 4,08 138,75 0,60 35 23,16 4,83 119,78 0,49

40 21,55 4,46 104,53 0,40 45 23,44 4,28 6 1,23 0,20 50 25,81 4,28 3 0,14 0,09

Melhor Caminho

1

2

3

Média

Desvio Padrão

Menor Caminho

Page 87: desenvolvimento de um sig de código aberto para simulação ...

85

Gráfico 3: Comparação do tempo de viagem na combinação 06

Gráfico 4: Comparação da velocidade média na combinação 06

D. Análise dos Resultados

Analisando os resultados das simulações realizadas nas duas combinações selecionadas,

pode-se perceber que a escolha do melhor trajeto considerando apenas o comprimento

dos trechos e a contagem de veículos nas vias não se mostrou eficiente. Os gráficos

gerados mostram que os tempos de viagem são menores quando o percurso é menor,

assim como as velocidades médias são maiores em percursos também menores. Apesar

Page 88: desenvolvimento de um sig de código aberto para simulação ...

86

do fluxo de veículos ser uma variável importante no processo de cálculo do melhor trajeto,

existem outras variáveis que também precisam ser consideradas. Como exemplo, pode-

se citar os cruzamentos preferenciais, os semáforos e a fluidez do trânsito nas vias

envolvidas.

Considere duas vias paralelas de mesma extensão com a primeira sendo a principal com

alta fluidez de veículos e alto fluxo e a segunda uma via secundária com vários

cruzamentos sem preferência e baixo fluxo de veículos. Neste caso, o melhor trajeto

sugerido seria a via secundária devido ao baixo fluxo de veículos. No entanto, o percurso

pela via secundária possui várias paradas devido aos cruzamentos preferenciais,

acarretando um maior tempo de viagem. Na Figura 40 são mostrados os detalhes de um

cruzamento entre uma via secundária e uma via preferencial retirados da área de

simulação da combinação 06. Estes cruzamentos pertencem ao percurso selecionado

como sendo o melhor. Percebe-se, nos detalhes, que são geradas filas de veículos nestes

cruzamentos, o que pode explicar um tempo de percurso maior, mesmo que o fluxo de

veículos seja menor.

Figura 40: Detalhe de cruzamentos entre vias secundárias X preferenciais

Page 89: desenvolvimento de um sig de código aberto para simulação ...

87

5.2. CONSIDERAÇÕES FINAIS

Neste capítulo foram apresentados os experimentos realizados no simulador. Foram

utilizadas duas combinações de percursos de melhor e menor caminho, extraídas do

trabalho de Viana Júnior (2004).

Os resultados dos experimentos mostram que os melhores caminhos indicados no

trabalho de Viana Júnior (2004) não foram reproduzidos na simulação. Uma possível

causa para esta discrepância são as retenções que ocorrem em vias não preferenciais. O

comportamento observado sugere que vias com muito fluxo de veículos não possuem,

obrigatoriamente, maior impedância de transposição. É importante salientar que nos

experimentos realizados não foram consideradas interseções semaforizadas e vias com

mais de uma pista, em função de limitações da versão atual do simulador. Espera-se uma

diferença menor entre os tempos do menor e melhor caminho quando estas limitações

forem resolvidas.

A partir dos resultados obtidos, pôde-se observar a necessidade de adicionar outras

variáveis ao cálculo da ITT, de modo a obter um “melhor trajeto” de maior qualidade.

Page 90: desenvolvimento de um sig de código aberto para simulação ...

88

6. CONCLUSÃO

6.1. DISCUSSÕES FINAIS

O trabalho desenvolvido inicialmente por Viana Júnior (2004) no projeto GEOPROC

contribuiu de modo efetivo ao utilizar a lógica Fuzzy na sugestão do melhor caminho entre

dois pontos em um sistema viário. Posteriormente, Silva (2006) deu continuidade ao

projeto desenvolvendo modelos computacionais que permitam, além da automatização do

processo de coleta dos dados de entrada para o sistema fuzzy, o cálculo do atributo ITT e

a atualização dos valores associados aos arcos da rede. Além disso, Silva (2006) fez o

acoplamento destas funcionalidades a uma biblioteca de SIG gratuita, de código-fonte

aberto e extensível.

No entanto, somente no trabalho de Viana Júnior (2004) foi feita uma análise dos

resultados dos melhores trajetos sugeridos. Esta análise foi feita com base na

comparação dos resultados entre os trajetos sugeridos pelo SIG e os indicados pelos

taxistas. Esta abordagem se mostrou ineficiente.

Neste trabalho, buscou-se desenvolver um componente de software que permitisse a

execução de simulações microscópicas de tráfego urbano que permitissem comparar o

tempo de viagem entre os menores e melhores trajetos sugeridos pelo SIG. A partir

destas comparações, foi possível constatar que nem sempre o melhor caminho sugerido

no trabalho de Viana Júnior (2004) é o que possui o menor tempo de percurso. Logo, o

cálculo da ITT precisa ser evoluído para que os trajetos sugeridos pelo RTIGIS sejam

realmente os melhores.

Inicialmente foi feita uma contextualização teórica sobre o assunto simulação de tráfego, o

que permitiu o embasamento conceitual para o desenvolvimento deste trabalho. Este

arcabouço conceitual se mostrou muito importante ao longo do projeto porque garante

que os conceitos utilizados neste trabalho possam ser evoluídos de modo consistente em

trabalhos futuros.

Page 91: desenvolvimento de um sig de código aberto para simulação ...

89

Do ponto de vista do objetivo geral proposto, este foi alcançado satisfatoriamente. O

componente de software foi desenvolvido seguindo as premissas desejadas e as

avaliações dos trajetos sugeridos puderam ser feitas com sucesso. O plugin construído foi

integrado ao SIG OpenJump, seguindo a mesma linha adotada por Silva (2006). Isto

garante a compatibilidade entre os trabalhos desenvolvidos no projeto GEOPROC.

Com relação aos objetivos específicos, estes também foram alcançados plenamente,

conforme descrições abaixo:

• Modelar e implementar um plugin para extração das informações cartográficas da

área de simulação: este objetivo foi alcançado ao implementar o plugin para

criação da área de simulação. A Seção 4.3 descreve esta implementação;

• Modelar e implementar um simulador microscópico de tráfego urbano: o simulador

foi desenvolvido seguindo o paradigma da orientação a objetos. Esta

implementação foi descrita na Seção 4.4;

• Integrar o simulador ao SIG: a integração foi realizada utilizando a arquitetura de

construção de plugins disponibilizada pelo OpenJump;

• Definir os trajetos que serão avaliados no simulador: o Capítulo 5 trata dos

experimentos realizados e descreve os critérios utilizados na seleção das

combinações dos trajetos;

• Configurar os parâmetros de simulação para os trajetos escolhidos: os parâmetros

de simulação são descritos na Seção 4.4.3;

• Executar a simulação a fim de avaliar os resultados e comprovar a aplicabilidade

da ferramenta proposta: no Capítulo 5 são descritos os testes realizados com a

ferramenta.

6.2. CONTRIBUIÇÕES DO TRABALHO

Este trabalho contribui positivamente ao andamento do projeto GEOPROC ao

disponibilizar uma arquitetura extensível de simulação de tráfego. A existência do projeto

de um simulador de tráfego abre um leque muito grande de opções de estudos e

desenvolvimento de soluções futuras para o grupo de pesquisa.

Page 92: desenvolvimento de um sig de código aberto para simulação ...

90

Do ponto de vista acadêmico, a comparação dos resultados obtidos neste trabalho com

os experimentos realizados por Viana Júnior (2004) sugere que novas variáveis devem

ser incluídas no conceito de melhor caminho como, por exemplo, ocorrências de pontos

de retenção de tráfego (semáforos, cruzamentos preferenciais) e indicadores de fluidez do

trânsito.

A utilização dos conceitos de modelagem orientada a objetos e de padrões de projeto

permitiram o desenvolvimento de uma ferramenta que pode ser facilmente estendida,

possibilitando, por exemplo, o estudo de outros modelos de simulação de tráfego exigindo

um menor esforço de modelagem e desenvolvimento.

Por fim, destaca-se que toda a implementação feita neste trabalho utilizou o paradigma de

software livre. Logo, a ferramenta proposta neste trabalho foi construída sem nenhum

custo financeiro para aquisição de bibliotecas e/ou software. Isso permite a evolução das

funcionalidades de modo colaborativo e livre. Nesse contexto, a ferramenta construída

pode ser utilizada livremente pelos órgãos gestores do trânsito, contribuindo para uma

gestão mais eficiente do tráfego urbano.

6.3. PROPOSTAS PARA TRABALHOS FUTUROS

A construção de um simulador de tráfego é uma tarefa bastante complexa e extensa, o

que requer um longo tempo de desenvolvimento. Este trabalho não teve como objetivo

esgotar as funcionalidades de um simulador. As funcionalidades desenvolvidas neste

trabalho seguiram os requisitos impostos pelos objetivos propostos. Em função disso,

vários cortes tiveram que ser feitos de modo a atingir estes objetivos no prazo disponível.

Entretanto, várias propostas de melhorias e inovação foram identificadas ao longo do

trabalho. A evolução do módulo estatístico, o desenvolvimento de um ambiente de

simulação via WEB e a implementação de outros modelos de simulação de tráfego (car-

following não-linear, geração de veículos, gap-acceptance, lane changing) são algumas

delas. Ainda com relação ao plugin de simulação, pode-se citar a criação de interfaces

amigáveis para configuração da simulação, implementação de junções semaforizadas e

várias faixas de circulação nas vias como funcionalidades que agregam expressivo valor a

ferramenta. A modelagem do comportamento do motorista também é uma proposta

Page 93: desenvolvimento de um sig de código aberto para simulação ...

91

interessante de estudo, possibilitando, por exemplo, representar a agressividade do

condutor.

Quanto ao conceito de melhor caminho, sugere-se a inclusão de novos atributos ao

cálculo da ITT. A taxa de ocupação, um indicador de congestionamento, poderia ser um

destes atributos. A escolha do melhor caminho de modo dinâmico, considerando as

condições de tráfego atuais também é outra abordagem que pode ser estudada em

trabalhos futuros. Por fim, a evolução do algoritmo de Dijkstra para que este considere as

restrições de conversão no cálculo do menor caminho, evitando o uso dos arcos de

conversão, também pode ser considerada uma melhoria importante.

Page 94: desenvolvimento de um sig de código aberto para simulação ...

92

REFERÊNCIAS BIBLIOGRÁFICAS

ALMEIDA, P. E. M.; EVSUKOFF, A. G. Sistemas Fuzzy. In: REZENDE, S. O. Sistemas Inteligentes : fundamentos e aplicações. Barueri, SP: Manole, 2003. Cap.7, p. 169-201. ARAÚJO, D. R. C. Comparação das Simulações de Tráfego nos Modelos SA TURN e DRACULA. 2003. Dissertação (Mestrado em Engenharia de Produção) - Faculdade de Engenharia de Produção, UFRGS, Porto Alegre. BAZZAN, A. L. C.; KLÜGL, F. Sistemas Inteligentes de Transporte e Tráfego: uma Abordagem de Tecnologia da Informação. In: JORNADAS de Atualização em Informática, 2007. Rio de Janeiro. Anais das Jornadas de Atualização em Informática. Rio de Janeiro [s. Ed.]. v. 1. p. 2296-2337. BHAM, G. H. Comparison of Characteristics and Computational Per formance : Car-Following Versus Cellular Automata Models. Washington: TRB Committee on Artificial Inteligence, 2003. BRASILEIRO, L. A.; AGUIAR, J. Uma Análise sobre a Utilização de SIG-T no Roteamento de Veículos de Coleta de Resíduos de Serviços de Saúde. In: XIII CONGRESO Panamericano de Ingeniería de Tránsito Y Transportes, 2004. Albany/New York. Anais do XIII Congreso Panamericano de Ingeniería de Tránsito y Transportes. Albany [s. Ed.]. BUCKEY, D. J. Introduction to GIS. Disponível em http://bgis.sanbi.org/GIS-primer/index.htm. Acesso em: 10/12/2008. CÂMARA, G.; QUEIROZ, G. R. Arquitetura de sistemas de informação geográfica. In: CÂMARA, G.; DAVIS, C.; MONTEIRO, A. M. V. Introdução à Ciência da Geoinformação . Livro on-line, Instituto Nacional de Pesquisas Espaciais, 2000. Disponível em: http://www.dpi.inpe.br/gilberto/livro. Acesso em 18/09/2008. CASANOVA, M. A. et al. Banco de Dados Geográficos. São Paulo: MundoGEO. 2005. CHOPARD, B.; DUPUIS, A.; LUTHI, P. A cellular automata model for urban traffic and its application to the city of Geneva. Duisbourg: Proceedings of Traffic and Granular Flow, 1997. CHWIF, L. Redução de Modelos de Simulação de Eventos Discreto s na sua Concepção : Uma Abordagem Causal. 1999. Tese (Doutorado em Engenharia) – Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia Mecânica/EPUSP. São Paulo. CLARAMUNT, C.; JIANG, B.; BARGIELA, A. A new framework for the integration, analysis and visualization of urban traffic data wi thin geographic information systems. Transportation Research Part C 8, 2000, 167-184.

Page 95: desenvolvimento de um sig de código aberto para simulação ...

93

DAVIS, C.; FONSECA, F. Introdução aos Sistemas de Informação Geográficos . Belo Horizonte: Departamento de Cartografia/UFMG, 2001. DEILTEL, H. M.; DEILTEL, P. J. JAVA: como programar. 4. ed., Porto Alegre: Bookman, 2003. DIJKSTRA, E. W. A note on two problems in connexion with graphs. Numer. Math ., 1, 269-71, 1959. FARKUH NETO, A.; LIMA, R. S. Roteirização de veículos de uma rede atacadista com o auxílio de Sistemas de Informações Geográficas (SIG). Revista Pesquisa Desenvolvimento Engenharia de Produção , Itajubá, MG, v. 5, n. 1, p. 18-39, 2006. FAYAD, M. E.; SCHMIDT, D. C. Object-oriented Application frameworks. Communications of the ACM , v. 40, 10 p., 1997. FOTHERBY, T. Visual Traffic Simulation . Final Report, MEng Computer Degree, Imperial College, June/2002. GAMMA, E. et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Trad. Luiz A. Meirelles Salgado. Porto Alegre: Bookman, 2000. GONÇALVES, A. Multi-Agentes para Simulação em Sistemas de Informa ção Geográfica. 2003. Dissertação (Mestrado em Engenharia de Informática) - Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa, Lisboa. HARTMAN, D. Head Leading Algorithm for urban traffic modelling. In: PROCEEDINGS 16th European Simulation Symposium, 2004. Paper. Budapeste/Hungria [s.Ed.]. HOOGENDOORN, S.; HOOGENDOORN-LANSER, S.; SCHUURMAN, H. Fuzzy Perspectives in Traffic Engineering. Delft: Research Report, TRAIL Research School, 1998. KRAJZEWICZ, D.; HERTKORN, G.; WAGNER, P. An Example of Microscopic Car Models Validation using the open source traffic simulation SUMO. In: PROCEEDINGS 14th European Simulation Symposium, 2002. Dresden. Paper. Dresden/Germany [s. Ed.]. LANARI, C. et al. Sistemas de Informação Geográficas: caracterização, custos de implementação e o caso da Companhia Energética de Minas Gerais In: XIX ENCONTRO Nacional da Engenharia de Produção e V ICIE - International Congress of Industrial Engineering, 1999. Rio de Janeiro. Anais do XIX ENEGEP. Rio de Janeiro: UFRJ, 1999. v. único. LEWIS, S. Use of Geographic Information Systems in Transportation Modeling. ITE Journal, p. 34-38, march 1990. LIEBERMAN, E.; RATHI, A. K. Traffic Simulation. The revised monograph on traffic flow theory. EUA: Federal Highway Administration, 1997. Cap. 10. LIU, R. DRACULA Microscopic Traffic Simulator. Leeds: Institute of Transport Studies, University of Leeds, 1994. (Its Working Paper 431).

Page 96: desenvolvimento de um sig de código aberto para simulação ...

94

______. DRACULA 2.3, User Manual. Leeds: Institute of Transport Studies, University of Leeds, 2005. MIYAGI, P. E. Introdução a Simulação Discreta . São Paulo: Escola Politécnica da Universidade de São Paulo, 2004. MOURA, Ana Clara Mourão. Geoprocessamento na gestão e planejamento urbano / Ana Clara Mourão Moura. – 2. ed. – Belo Horizonte: Ed. Da autora, 2005. NAGEL, K.; SCHRECKENBERG, M. A cellular automaton model for freeway traffic. J. Phys. I France, v.2, p.2221, 1992. OPENJUMP. OpenJUMP Project . 2003-2006. Disponível em: http://openjump.org. Acesso em: 07/08/2007 OWEN, B. et al. A compendium of Traffic Model Validation Documentat ion and Recommendations: Phase I , Tasks A-H. USA: Department of Transportation, 1996. Disponível em url: < http://www.itsdocs.fhwa.dot.gov/JPODOCS/REPTS_TE/3892.pdf > Acesso em 15/01/2008. PANWAI, S.; DIA, H. Comparative Evaluation of Microscopic Car-Following Behavior. IEEE Transactions on Intelligent Transportation Sys tems , v. 6, n. 3, 2005. PINTO, A. B. et al. Utilização de um sistema de informação geográfica c omo plataforma para aplicação do modelo SATURN . Porto Alegre: LASTRA – Laboratório de Sistemas de Transportes, UFRGS, 1998. PORTUGAL, L. S. Simulação de tráfego: conceitos e técnicas de modelagem. Rio de Janeiro: Interciencia, 2005. ROSE, A. Uma avaliação comparativa de alguns sistemas de inf ormação geográfica aplicados a transportes . 2001. Dissertação (Mestrado em Engenharia) – Escola de Engenharia de São Carlos (EESC)/USP. São Paulo. SAKURADA, N.; MIYAKE, D. I. Aplicação da Simulação no Setor de Serviços: Um Estudo Comparativo do Processo de Modelagem de Lojas de Serviços e Serviços de Massa. Boletim técnico da Escola Politécnica da USP . BT/PRO, São Paulo, v. 1, n. BT`/PRO, p. 1-20, 2003. SANTOS, C. M.; SILVA, A. N. R.; PANICO, S. R. G. Avaliando a localização de postos de saúde numa cidade média brasileira com Auxílio d e um SIG-T . Engenharia civil UM, Braga, v. 1, n. 1, p. 47-58, 2000. SHEKLETON, S. A GPS Study of Car-Following Theory. In: CONFERENCE of Australian Institutes of Transport Research (Caitr), 2002. Sydney/Australia. Anais da Caitr. Sydney/Australia: School of Civil and Environmental Engineering the University of New Wales.

Page 97: desenvolvimento de um sig de código aberto para simulação ...

95

SILVA, G. Modelagem e Implementação de uma ferramenta intelig ente e de código aberto para inserção automática de inferência fuzzy em SIG convencionais. 2006. Dissertação (Mestrado em Modelagem Matemática e Computacional) - CEFET-MG. Belo Horizonte. SILVA, G.; VIANA JÚNIOR, G. F.; ALMEIDA, P. E. M. RTIGIS: um Sistema de Informação Geográfico Inteligente para Escolha de Trajetos com Geração Automática de Atributos Fuzzy. In: V ENCONTRO Nacional de Inteligência Artificial, 2005. São Leopoldo. Anais do XXV Congresso da Sociedade Brasileira de Computação. São Leopoldo [s.Ed.]. SILVA, L. C. Simulação de Processos . Disponível em http://www.agais.com/simula.htm. Acesso em: 26/09/2007. THIEMAN, S. Accident Data Use And Geographic Information System (GIS). Extraído de http://ntl.bts.gov/lib/000/500/573/00780103.pdf Acesso em 30/11/2008. VIANA JR., G. F. Um sistema de informação geográfico inteligente par a escolha de trajetos: uso do modelo de rede e da lógica fuzzy. 2004. Dissertação (Mestrado em Tecnologia) - CEFET- MG. Belo Horizonte. WANG, Y.; PREVEDOUROS, P. D. Synopsis of Traffic Simulation Models . Washington D.C.: Compendium of Papers from the 1996 Transportation Research Board Annual Meeting,1996. WU, Y.; MILLER, H.; HUNG, M. A GIS-based decision suport system for analysis of route choice in congested urban road networks. Journal of Geographical Systems , v. 3, p. 3-24, 2001. ZIVIANI, N. Projeto de Algoritmos: com Implementações em Pascal e C. 2. ed. São Paulo: Thomson Learning, 2004. ISBN: 8522103909.