Projects

all projects now allocated
KNB1 Analysing Customer Service Records
transferred to Adrian O'Riordan
KNB2 Real-time Vehicle Routing
allocated
KNB3 Optimising fleets of autonomous vehicles for public transport
allocated
KNB4 Bodyswerve - avoiding other agents in path-finding
allocated
KNB5
Taxi! Analysing New York taxi trips
allocated
KNB6 Assorted projects in algorithms and optimisation
allocated

Project suggestions are listed on the right. These projects are suitable for either 4th year projects, or for MSc projects. Each of these project areas can be turned into multiple different projects for different students, but there is a limit to the number of projects I can supervise, so not all projects are guaranteed to be allocated. You are also welcome to suggest your own project, if they match my general interests outlined below. It is best to contact me first by email (k.brown @ cs.ucc.ie).

My interests are in intelligent decision making, particularly for cooperative, competitive and uncertain situations. We also build simulators which allow us to test different algorithms and protocols. For example, how can a group of autonomous vehicles cross a busy junction? How do we guide drivers and passengers to get best use out of a car pooling scheme? How can a group of sensor nodes coordinate themselves to cover mobile targets? How should a network of radios share the radio frequency to ensure that all messages are delivered?

My research is carried out in Insight, the centre for data analytics, in which we work on coordinated optimisation in response to dynamically changing data. I am also a funded investigator in Connect, the future telecommunications research centre, in which we optimise the operation of wireless networks. We are also about to start two new national projects: Enable, focused on urban mobility in smart cities, and Confirm, the centre for smart manufacturing.

Project List

KNB1: Analysing Customer Call Records

Withdrawn -- a variant on this project is now being offered by Adrian O'Riordan

We have access to a database of customer service chat records, agent notes and emails from a technology company over a 9-month period. This project will be to process that data and analyse the customer requests, looking for trends in the data, and discovering topics and concepts as they arise over time. The project is open-ended, and will require you to research new technologies for application to the data.
Requirements: You must be a confident programmer, you must be self-motivated, and you must be able to read current research papers.

KNB2: Real-time Vehicle Routing

Allocated

The Vehicle Routing Problem is a multi-agent version of the Travelling Salesman Problem - given a network, a set of locations to visit, and a set of vehicles, allocate routes to each vehicle so that all locations are visited in the shortest total time. We can extend the problem to include the pick-up and delivery of packages from one location to another, within given time-windows. This is the problem faced by manufacturing companies and courier companies, who must ship finished goods from factories to warehouses and retail outlets. But abstract algorithmic solutions rarely work in practice - trucks may be delayed because of road congestion, or goods may be delayed in manufacturing. When that happens, the pick-up and delivery schedules need to be changed in real-time to meet the deadlines and avoid financial penalties. In this project, we will look at the dynamic pick-up and delivery problem with time windows, consider how solutions might be implemented, and evaluate their ability to respond to changes in real time. Possible techniques include Large Neighbourhood Search, Genetic Algorithms, or Mathematical Programming.
Requirements: You must be a confident programmer, and you must be able to read current research papers.

KNB3: Optimising fleets of autonomous vehicles for public transport

Allocated

The advent of connected autonomous vehicles will cause a big shake-up in public transport. Taxis will be available on demand, bus routes can be optimised in real-time based on the people in the bus, and multiple vehicles can platoon together for more efficient use of the road space. But all of this will require careful coordination. In this project, we will look at centralised algorithms for dispatch of autonomous vehicles, perhaps integrating with scheduled public transport -- given a batch of requests for transport, locations and journeys of existing vehicles, and known bus and train schedules, find an optimal allocation of vehicles to journeys. Possible techniques include Genetic Algorithms, Large Neighbourhood Search, or other local search algorithms.
Requirements: You must be a confident programmer, and you must be able to read current research papers.

KNB4: Bodyswerve - avoiding other agents in path-finding

Allocated

Dijkstra's algorithm, and extensions, can be used to shortest paths in graphs. But sometimes we want to want to avoid other agents that are moving through the graph - for example, avoiding an enemy in a game, or avoiding a truck load of hazardous materials - but still get every agent to its destination as quickly as possible. In this project, we will look at extentions of Dijkstra's algorithm for avoiding mobile agents. Initially we will start with a pair of agents, with a known fixed path for one of them. We will then extend it to multi-agent scenarios, where all agent paths are configurable. We may also extend it to handle cases where we do not have full knowledge of the target path.
Requirements: You must be a confident programmer, and you must be able to read current research papers.

KNB5: Taxi! Analysing New York taxi trips

Allocated

In this project, we will analyse a public data set of taxi trips in New York City gathered over a number of years, stored as tuples of source, destination, start time, end time and distance. This is an open-ended project. The initial aim will be to highlight observable patterns in taxi use. Following that, the project can be extended in multiple ways, including predicting destinations, or inferring journey times.
Requirements: You must be a confident programmer, and you must be able to read current research papers.

KNB6: Assorted projects in algorithms and optimisation

Other projects are possible, by discussion. Possible topics include dynamic path finding in the presence of obstacles, scheduling of autonomous vehicles through a multi-lane junction, an exploration of constraint programming for manufacturing scheduling, and mobile apps for supporting urban mobility.
Requirements: You must be a confident programmer, you must have an idea of the areas you want to work in, and you must be able to read current research papers.