Dr William Pettersson
- Research Software Engineer (School of Computing Science)
I am a Research Associate at the School of Computing Science, University of Glasgow. I am working on the IP-MATCH EPSRC project, under the supervision of Dr David Manlove. The goal of such research is to allow the best possible allocation of resources. For instance, one outcome of the project is an allocation of kidney donors to patients, or the allocation of student doctors to hospitals.
Prior to coming to Glasgow, I have lived in various cities in Australia working on parallel exact integer multi-objective optimisation algorithms. I am also an accomplished graph theorist and topologist, specialising in algorithms in graph decompositions and combinatorial topology respectively.
Very broadly, I am interested in solving problems with computers. This includes both complexity theory, the theoretical efficiency of an algorithm, as well as the practical running-time efficiency of an algorithm or approach.
Currently I am using integer programming to solve large and complex matching problems under the guidance of Dr David Manlove, and funded by EPSRC grant IP-MATCH. The goal of such research is to allow the best possible allocation of resources. For instance, one outcome of the project is an allocation of kidney donors to patients, or the allocation of student doctors to hospitals.
I have also spent significant time working on a software package called Regina. Regina is a mathematical software suite for combinatorial topologists. This work includes new algorithms, implementation of existing algorithms, and also various user-interface and user-experience updates.
My pet research projects are finding graph decompositions, often through computing. In this, I have researched various theoretical IP and LP techniques (such as constraint generation, Bender's decompositions) as well as more practical issues such as parallelisation techniques and even micro-optimisations in software. My big breakthrough in this area was the completion of the cycle decomposition problem, and I am currently, albeit slowly, working away on the Oberwolfach problem.
To aid various search engines, I here include some key research words and topics that interest me:
- Parameterised complexity and fixed-parameter tractability
- Graph algorithms, in particular colourings and decompositions
- Exact multi-objective integer programming
- Parallel algorithms
- Graph decompositions
- High performance computing
I have previously worked on parallel algorithms for exact multi-objective integer optimisation with A.Prof Melih Ozlen. In this work, I implemented the following parallel algorithms
moip_aira - An implementation of EPP, SPREAD and CLUSTER, as detailed in <forthcoming>
boxfinder - An implementation of the algorithm from Kerstin Dächert, Kathrin Klamroth (2015). A linear bound on the number of scalarizations needed to solve discrete tricriteria optimization problems. Journal of Global Optimization, 61(4), 643--676
kppm - An implementation of the algorithm from C. Dhaenens, , J. Lemesre, E.G. Talbi (2008). K-PPM: A new exact method to solve multi-objective combinatorial optimization problems. European Journal of Operational Research, 200(1), 45-53.
I am also a developer of Regina, a suite of mathematical software for combinatorial topologists.