I am interested in most aspects of algorithms and data structures, but my expertise lies in optimizing difficult, i.e., NP-hard, combinatorial problems with various techniques. My
dissertation showcases large parts of my toolkit, including Mixed Integer Programming (Gurobi and CPLEX), Constraint Programming (CP-SAT of Google’s ortools), SAT-solvers, Dynamic Programming, Graph Algorithms, Approximation Algorithms, Reinforcement Learning, Meta-Heuristics, etc. There is a large overlap with the fields of
Operations Research and
Mathematical Optimization, but I prefer the term
Algorithm Engineering as I am really focused on the algorithms and have primarily been educated by theoretical computer scientists. Thus, I am not just interested in just applying and combining these tools but also to understand how and why they work so well (or don’t). Currently, I am especially fascinated by CP-SAT because it smartly combines a lot of techniques, some of which seem unwise on first sight but work surprisingly well.