FROM MY ACADEMIC WORK
Research
Fast, exact, and heuristic methods for combinatorial optimization: from general integer programming models to practical scheduling problems.
Integer & binary programming
Many hard discrete problems can be expressed through integer variables, linear constraints, and an objective function. My work has explored preprocessing, conflict graphs, cutting planes, and heuristics for solving these models more effectively.
Open-source solvers make these techniques available to a much wider community. Two projects connected to my work are COIN-OR Cbc and Python-MIP.
Timetabling
Educational timetabling assigns events to timeslots while respecting the availability of teachers, classes, and other resources. The challenge is to avoid conflicts and produce useful schedules.
Our team's GOAL solver won the Third International Timetabling Competition (ITC 2011).

Project scheduling
Jobs compete for limited resources and follow precedence constraints: some activities cannot begin until others finish. Finding an efficient schedule requires handling both constraints together.
Our team placed third in the MISTA 2013 challenge on multi-mode resource-constrained multi-project scheduling.
