Overview

Velox

Using genetic algorithms to optimally modify traffic light sequences to produce an on-demand traffic flow system.

Project undertaken as part of BSc Hons. Software Systems under the supervision of Keith Maycock.

Background

Why propose such a project

An inefficient traffic system causes many problems, and in a world of ever-increasing road usage, it is important to optimize a city's road networks.

In Ireland alone, there were 284,173 vehicles licensed for the first time in 2008. Dublin City Council' Canal Cordon Count showed that the number of private cars has increased for three years in a row. It also showed an increase in taxis and a decrease in pedestrians.

http://www.rte.ie/news/2009/0414/cars.html

As time goes on and the price of purchasing a vehicle falls, the above figure will increase even further. This means that there will be more and more vehicles on the road.
With this in mind, we need to improve traffic management in an efficient and safe manner.

At present, our traffic management system is inefficient.
Each time we wait needlessly at a vacant junction, we are wasting petrol and money.

But how can the traffic network be optimized?

The traffic light sequences could be modified to produce an on-demand traffic flow system that is defined by the number of cars and their locations.
I intend to use a genetic algorithm to optimize the lights sequence at n junctions so that the wait time of x cars is minimized to be as low as it can be.

Aims

To produce an on-demand traffic flow system

The aim of this project, is to simulate and optimize an active traffic network.
The project should simulate a traffic grid that consists of

  • x roads
  • y junctions
  • z traffic lights.
The application will then populate the grid with n vehicles.
Using the environment as its variables, the application will produce the most optimal solution of signals and timings for the traffic lights, demonstrating how we can provide an on-demand, dynamic, traffic management system.

Technologies

How can we implement this?

I have chosen to implement this using the Ruby programming language.
Ruby is a dynamic , elegant , open-source programming language .

The visual reference to accompany this application will also be developed using RubyGame , an open-source ruby port of the popular PyGame library.

Source code control will be provided by Git .

Behaviour driven development will be encouraged by the continued use of RSpec .

And, all of this will be implemented on top of the Ubuntu operating system.

Being an open-source advocate, it is important to me to use open-source software.