I'm a Lecturer within Computing Science and Mathematics at Stirling, and a member of the Data Science and Intelligent Systems and Computational Mathematics and Optimisation research groups. I am also a Visiting Fellow in Civil and Building Engineering at Loughborough University. I'm interested in explainable or value-added optimisation: techniques that yield optimal or near-optimal solutions but also reveal underlying information about the problem to help people make informed decisions. My main focus is in metaheuristics, including evolutionary algorithms and estimation of distribution algorithms; related issues such as fitness modelling (and mining such models), handling constraints and multiple objectives, and decision support. I am also interested in the underlying theory of what makes particular algorithms suited to particular problems. I have applied this work to application areas including scheduling and simulation-based optimisation in civil engineering and transport, software engineering, healthcare, and art.
I have some teaching and supervision responsbilities which can be found here, and if you'd like to have a chat about anything (though ideally related to one of the things mentioned in these pages) please get in touch: you can view my availability here. I'm particularly interested in speaking with you if you'd like to do an honours or MSc project with me. If you're really interested in one of my research lines you might also consider doing a PhD: there are several possible lines of funding for such things that can be explored.
Together with Ken Reid I coordinate the COSMOS series of tutorials within the division. These are for staff and students in Computing and Maths to share skills with each other on a variety of topics. Please get in touch if you have any suggestions for sessions (either as a speaker or listener).
I coordinate seminars for the Data Science research group. We are keen to hear of interesting applications or uses of data science from non-computing disciplines and industry. We have an informal format where the speaker shares their problem or gives an overview of their data for about half an hour, then there is 30-60 minutes of open discussion time within the group. We hope this will lead to fruitful new interdisciplinary collaborations. Please get in touch if you'd like to present something!
I lead the Being Connected research programme at University of Stirling, which brings together researchers from several disciplines to investigate how data science approaches can be used to explore and tackle division in society.
I am currently working on the TRANSIT project, funded by the EPSRC, on which I am a co-investigator. This project is working with several academic and industrial partners to develop automated routing algorithms for taxiing aircraft that are robust to uncertainty and more realistic than existing methods.
This year I will also be leading a small project funded by the Royal Society of Edinburgh (Scottish Crucible) called "Crowd-sourcing the aural identities of places by evolutionary optimisation". This is joint with Suk-Jun Kim at University of Aberdeen, and Stella Chan and Szu-Han Wan at Edinburgh University, and will be looking at developing a distributed platform to use evolutionary algorithms to explore the sounds and collective memories associated with geographic locations.
In 2015-2016 I worked on the project FAIME: A Feature based Framework to Automatically Integrate and Improve Metaheuristics via Examples. This was all about recognising features of problems and algorithms so we can match up algorithms to problems that they can easily solve. The aim was to automatically design new algorithms for problems, based on the problems' features.
I have also recently worked on the project DAASE (Dynamic Adaptive Automated Software Engineering), and am still working with some colleagues under the DAASE banner. The project is looking at automated approaches to tackling software engineering problems. My focus is currently on using search-based methods to improve existing code (e.g. making a simulator more accurate, or making code that causes the computer running it to consume less power), and on making the search algorithms solve problems in a more intelligent way. When I first came to Stirling I worked on the project SANDPIT: Integrating and Automating Airport Operations, in which I focussed on real-world aircraft ground movement (allocating taxi routes to aircraft), specifically approaches to handling uncertainty and sourcing free real-world data sets for the problem.
If you've come here looking for the GM Tools for manipulating airport ground movement data, then please visit the GM Tools project page at GitHub. Benchmark datasets can be found in the collection at ASAP Nottingham.
Here is a video produced by Microsoft to highlight the research, and particularly the role that the Azure cloud platform played (I was grateful to receive a year-long grant for free use of Azure from them). A case study is also now available.
I have always been fascinated by computing and in particular artificial intelligence techniques. I particularly enjoy the interplay between the theoretical side of understanding what makes different algorithms tick and the huge range of interesting application areas that have meaningful real-world value (or are just fun!). My work has settled around approaches to dealing with real-world optimisation problems; handling uncertainty, solving problems with hard constraints and multiple objectives, dealing with long simulation run-times and analysis of optimisation results to better help with decision making.
I completed a Computer Science BSc(hons) in 2005 at Robert Gordon University in Aberdeen, Scotland. During the last year of that degree I was funded by the Carnegie Trust to conduct a short-term research project in applying genetic algorithms to cancer chemotherapy scheduling. My interest in this area grew, leading to an honours project in timetabling with memetic algorithms. I then progressed to work for a PhD, entitled Multivariate Markov Networks for Fitness Modelling in an Estimation of Distribution Algorithm. This covered a range of applications for evolutionary algorithms, and focussed on the construction of fitness models to support the evolutionary process. I continued to research alongside a job as a software engineer in industry during 2008-2010, where I was working in the sector of oil, gas and renewable energy. I returned to full-time as a research associate in the building energy group at Loughborough University, and subsequently came to the CHORDS research group (now part of the Data Science RG) here at Stirling in 2013.
I grew up in rural Aberdeenshire, spent a while in the big city (well, Aberdeen), moved to Loughborough for a bit then on to Stirling. I'm a Christian, husband to Jay and father of four great wee girls, and embrace my inner geek as much as possible. I like to build things, fix things and figure out how stuff works, I like "proper" Sci Fi like Asimov and Arthur C Clarke and Prefer Picard. I sometimes make sounds on a guitar, but am a good deal better at mixing the music of others. I helped establish the toast appreciation society at RGU, and after setting up the debating society there found I quite liked that too. I don't like mushrooms. I sometimes blog about family life here and about technical matters here.
My Erdos-Bacon number is currently a rather disappointing 9 (4+5). This is computed as follows: Alexander E. I. Brownlee > Edmund K. Burke > Peter J. Brucker > Alan J. Hoffman > Paul Erdos (AMS has a longer trail of 5 coauthors but misses some more recent work); appearances (thanks to the MS video above) Alexander Brownlee > Jason Atkin > Marcus du Sautoy > Marcus Brigstocke > Ricky Gervais > Kevin Bacon. It might be a bit better thanks to a brief TV appearance when I was a teenager, but I can't find it anywhere! If anyone has a photographic memory of Grampian TV's output, I'd like to hear from them.
-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/GM/GS d s:s- a C++++$ UL+++ P++ L++>++++ E---- W++ N+ o+ K- w O- M-- V+ PS+ PE- Y+ PGP+ t++@ 5- X R- tv+ b+ DI++ D+ G e++++ h---- r+++ y++++ ------END GEEK CODE BLOCK------