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.
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.