  Traffic is a problem in many urban areas worldwide. Traffic flow is dictated
by certain devices such as traffic lights. The traffic lights signal when each
lane is able to pass through the intersection. Often, static schedules
interfere with ideal traffic flow. The purpose of this project was to find a
way to make intersections controlled with traffic lights more efficient. This
goal was accomplished through the creation of a genetic algorithm, which
enhances an input algorithm through genetic principles to produce the fittest
algorithm. The program was comprised of two major elements: coding in Java and
coding in Simulation of Urban Mobility (SUMO), which is an environment that
simulates real traffic. The Java code called upon the SUMO simulation via a
command prompt which ran the simulation, received the output, altered the
algorithm, and looped. The SUMO component initialized a simulation in which a 1
x 1 street layout was created, each intersection with its own traffic light.
Each loop enhanced the input algorithm by altering the scheduling string
(dictates the light changes). After the looped simulations were executed, the
data was then analyzed. This was accomplished by creating an algorithm based
upon regular practice, timed traffic lights, and comparing the output which was
comprised of the total time it took for all vehicles to exit the system and the
average time it took each individual vehicle to exit the system. These
different variables: the time it took the average vehicle to exit the system
and total time for all vehicles to exit the system, where then graphed together
to provide a visual aid. The genetic algorithm did improve traffic light and
traffic flow efficiency in comparison to traditional scheduling methods.
