Sistema de Otimização Semafórica Baseada em Algoritmo Genético Multiobjetivo

Projeto de Formatura da Escola Politécnica da USP · Engenharia de Computação

Ver no GitHub

Resumo

O crescimento populacional e a intensificação da urbanização têm provocado um aumento expressivo do fluxo veicular, principalmente em grandes centros urbanos. Este fator ocasiona um tráfego cada vez mais intenso, com grandes tempos de espera e filas de veículos quilométricas. Desta forma, a presença de semáforos bem configurados se mostra essencial para garantir a segurança e fluidez do tráfego de veículos. Soluções inteligentes baseadas em Inteligência Artificial podem mitigar este problema.

Neste contexto, o presente trabalho propõe o desenvolvimento de um software voltado à otimização de políticas semafóricas em cenários representativos, por meio da modelagem do problema como uma otimização multiobjetivo, resolvida com o emprego de um algortimo evolucionário.

Motivação

A motivação para o desenvolvimento deste projeto está diretamente relacionada aos desafios enfrentados pelas cidades modernas no gerenciamento do tráfego. O aumento da frota veicular, aliado à limitação da infraestrutura, exige soluções mais inteligentes que permitam reduzir o tempo de deslocamento e minimizar impactos ambientais. Ao mesmo tempo, já há tecnologias de simulação e otimização propícias ao desenvolvimento de ferramentas de software que podem auxiliar órgãos de trânsito e pesquisadores a avaliar diferentes estratégias de controle antes de sua aplicação prática. O projeto, portanto, é motivado tanto pela relevância social quanto pela oportunidade de aplicar conceitos de engenharia de software, algoritmos de otimização e sistemas inteligentes em um problema de grande impacto.

Objetivo

O objetivo deste projeto consiste no desenvolvimento de um software capaz de otimizar a política semafórica de uma malha viária qualquer, empregando um algoritmo genético multiobjetivo.

Metodologia

Para a otimização semafórica da rede viária estudada, o primeiro passo foi modelar o problema, definindo os dados de entrada, as variáveis de otimização e as métricas utilizadas na função objetivo. Os dados de entrada caracterizam o cenário de tráfego a ser otimizado e são compostos pela geometria do trecho viário e pelas rotas dos veículos que cruzam a região no intervalo analisado. As variáveis de otimização correspondem aos tempos de verde dos semáforos e aos offsets responsáveis pelo sincronismo entre eles, definindo assim a política semafórica adotada.

As métricas selecionadas para avaliar a qualidade do tráfego foram o máximo comprimento de fila registrado e o tempo médio em que os veículos permanecem parados. A primeira métrica, por ser um máximo, está ligada a uma via específica e penaliza situações em que há acúmulo excessivo de veículos. A segunda, por ser uma média, representa o desempenho geral do sistema, favorecendo soluções que mantêm o fluxo nas vias com maior demanda. Como a minimização de um objetivo não implica na minimização do outro, justifica-se o uso de uma abordagem multiobjetivo.

Em seguida, foi proposta uma integração entre o algoritmo genético multiobjetivo NSGA-II [1], implementado pela biblioteca Pymoo [2], e o simulador SUMO (Simulation of Urban Mobility) [3]. A comunicação entre os sistemas foi realizada por meio da biblioteca TraCI, que permite alterar, em tempo real, a política semafórica e acessar as métricas necessárias para a avaliação das soluções. O algoritmo evolucionário mantém uma população de políticas semafóricas, avaliando cada indivíduo por meio de simulações no SUMO e utilizando os resultados para guiar o processo de seleção, recombinação e mutação ao longo das gerações. A Figura 1 exemplifica a arquitetura do sistema implementado.

Arquitetura_Sistema
Figura 1 – Arquitetura do sistema

Por fim, para validar a metodologia proposta, foi realizada a calibração de um cenário real no SUMO [4], utilizando dados do cruzamento das avenidas São Paulo e Giovanni Battista, em Santo André – SP. O programa foi executado 10 vezes, cada uma com populações iniciais distintas, de forma a ampliar a diversidade das soluções encontradas. Foram utilizados 50 gerações e uma população de 30 indivíduos. A Figura 2 consiste em uma captura de tela do cenário calibrado sendo simulado.

Rede_Calibrada
Figura 2 – Rede calibrada no SUMO

Resultados

Ao analisar o conjunto das execuções, observa-se que todas soluções dominam completamente o caso tradicional, apresentando melhorias expressivas nas duas métricas objetivo do algoritmo. A Figura 3 representa a fronteira de Pareto final a qual é constituída dois pontos azuis, - consistem nas duas melhores soluções - e por um ponto lanranja, que é a solução corrente. Como estas duas soluções obtiveram um ganho de desempenho de 66.3% e 66.9% em relação ao cenário tradicional, pode-se afirmar que o algoritmo foi capaz de identificar configurações de tempo de verde que reduzem significativamente o tempo de espera e a formação de filas, oferecendo alternativas mais eficientes para o controle semafórico que a implementada atualmente.

Fronteira de Pareto
Figura 3 – Fronteira de Pareto final e solução corrente

Esse comportamento também é observado individualmente em praticamente todas as execuções individualmente, visto que as soluções encontradas superam o caso corrente em ambas as métricas otimizadas. Mesmo nos poucos cenários em que as melhores soluções apresentam desempenho semelhante à solução corrente, como ocorreu na Execução 1, o valor da métrica composta, que corresponde à média aritmética das duas métricas objetivo, demontra que o algoritmo ainda assim produz resultados melhores para o sistema.

Portanto, podemos afirmar que os resultados obtidos demonstram que o NSGA-II [1] foi capaz de gerar soluções significativamente superiores ao cenário tradicional de tempos semafóricos. As fronteiras de Pareto obtidas ao longo das execuções mostram que o algoritmo encontrou, de forma consistente, alternativas que reduzem tanto o tempo médio de espera quanto o tamanho das filas.

Conclusão

Os experimentos mostraram que o sistema proposto conseguiu otimizar os tempos semafóricos mesmo com limitações computacionais. Devido ao alto custo de simulações longas, utilizou-se 1800 segundos, população de 30 indivíduos e 50 gerações, o que reduziu a eficácia potencial do algoritmo, mas ainda permitiu obter melhorias significativas no tempo médio de espera e no tamanho das filas.

Algumas soluções tiveram desempenho semelhante em simulações completas, indicando que restrições de tempo e capacidade podem impedir a convergência para resultados mais robustos. Assim, recomenda-se o uso de populações maiores, mais gerações e simulações completas em aplicações práticas e trabalhos futuros.

Mesmo com tais limitações, os resultados indicam que a abordagem baseada em algoritmos evolutivos e simulação de tráfego é promissora para a otimização de tempos semafóricos em interseções urbanas.

Autores

Integrantes:

Orientador

Coorientador

Referências

  1. Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. Meyarivan. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II.
  2. J. Blank and K. Deb. pymoo: Multi-Objective Optimization in Python.
  3. Pablo Alvarez Lopez, Michael Behrisch, Laura Bieker-Walz, Jakob Erdmann, Yun-Pang Flötteröd, Robert Hilbrich, Leonhard Lücken, Johannes Rummel, Peter Wagner, Evamarie Wießner. Microscopic Traffic Simulation using SUMO.
  4. Projeto da Disciplina PTR 3514 – Sistemas Inteligentes de Transporte, Escola Politécnica da USP, 2023.