I'm a Computer Science researcher in combinatorial optimisation: the computational task of finding a needle in a huge haystack. For instance, in a Sudoku, there are many ways to assign numbers to the empty squares, yet only one that adheres to all the rules. Software that can express, solve, and explain such problems is applied heavily in logistics and decision making - from scheduling flights and assigning crews, to choosing facility locations and verifying safety-critical software.
Most recently, I was a postdoc at the DTAI lab, KU Leuven, working with Prof. Tias Guns. My main efforts went towards the development of the constraint modelling library CPMpy, especially its SAT solver backends. I also worked on encoding table constraints for ILP solvers, pseudo-Boolean solvers, explainability, and constraint acquisition.
I was introduced to optimisation during my MSc at Uppsala University, Sweden, through the courses of Prof. Pierre Flener. This led to a MSc thesis and subsequent PhD at Monash University in Melbourne, Australia, supervised by Prof. Peter Stuckey. The objective of my PhD was to solve optimisation problems with satisfiability (SAT) solvers. SAT solvers are extremely effective, but the catch is that they require a purely logical form of input. Since optimisation problems often impose constraints over non-logical integers (e.g. the numbers in each row of a Sudoku should be unique), the challenge is to translate from the integer to the logical in an effective manner. The research led to three publications, as well as the development of an open-source SAT encoding library.