Skip to content

Latest commit

 

History

History
70 lines (40 loc) · 3.18 KB

README.md

File metadata and controls

70 lines (40 loc) · 3.18 KB

🚘🚦🚘 Traffic light simulator 🚘🚦🚘

Software for calculation and visualisation of optimized traffic lights in randomly generated cities
Project done for an engineering thesis
Date of completion: 📆 28.01.2023 📆

About The Project

Thesis title: Modelowanie i symulacja ruchu ulicznego: analiza i optymalizacja (Traffic modeling and simulation: analysis and optimization)

This program deals with the application of an evolutionary algorithm to optimize the traffic throughput by adjusting traffic lights accordingly. An application has been developed that allows the traffic light system to be configured in such a way, so that the average travel time of vehicles is as short as possible. For this task, an algorithm was used genetic algorithm, which, after previously generating or loading a stored grid of city streets, can reduce the waiting time of cars in traffic congestion by several times. The program detects areas with increased traffic intensity and independently finds effective solutions using today's popular traffic light change patterns such as the so-called "green waves" or e.g., less frequent changing of traffic lights on the outskirts of cities. Thanks to these measures, the travel time of cars passing in those areas has decreased.

Thesis information

Features

  • Create your own simulation configuration
  • Visualization of simulation results
  • Changing the speed of visualization
  • Changing camera position and zooming in and out

Demo

image

2024-01-19-21-49-27.webm

Before optimization

przed_optymalizacja.webm

After optimization

po_optymalizacji.webm

Technologies Used

Java Gradle LibGDX

Getting started

Keep in mind that the project was created only to study the optimization of lights and visualize the created simulations. It is not a full-fledged application and no further contributions or adaptation of the product for broader use is envisioned here.

  1. Clone repository: git clone https://github.com/marcol13/traffic-light-simulator
  2. Set your own configuration in /core/src/com/put/urbantraffic/Settings.java
  3. Run /desktop/src/com/put/urbantraffic/DesktopLauncher.java

Contributors

@marcol13

@kezc

@mackurzawa

@PawelZ4krzewski