Packing and high-multiplicity problems
Approximation algorithms for packing problems, especially settings where many objects can be grouped into a small number of types.
Assistant Professor of Computer Science
I am an Assistant Professor in the Department of Mathematics and Computing at Mount Royal University in Calgary, Alberta. I also hold an appointment as an Adjunct Research Professor at Western University.
My work is centered on the design and analysis of efficient algorithms for difficult optimization problems.
My research focuses on algorithms, approximation algorithms, and combinatorial optimization. I design and analyze algorithms for hard optimization problems, such as packing, routing, and clustering problems.
My research program focuses on designing and analyzing efficient approximation algorithms for resource allocation problems. I develop polynomial-time approximation algorithms and approximation schemes that provide mathematically guaranteed bounds on solution quality.
I study optimization problems where exact solutions are computationally difficult, and I design algorithms with provable performance guarantees.
Approximation algorithms for packing problems, especially settings where many objects can be grouped into a small number of types.
Algorithms for routing problems that combine path selection with knapsack-style decisions, including the thief orienteering problem.
Algorithmic and experimental approaches to clustering problems such as k-median, including local search and neural-network-inspired algorithms.
A selection of recent work on approximation algorithms, packing, thief orienteering, and clustering.
Conference on Algorithms and Discrete Applied Mathematics. Springer Nature Switzerland, 2026.
LinkActa Informatica 62.2 (2025): 18.
LinkTheory of Computing Systems 69.2 (2025): 17.
LinkTheoretical Computer Science 1023 (2025): 114900.
LinkAt Mount Royal University, I teach the core data structures and algorithms courses across all four years of the computer science undergraduate program. I recently designed a new fourth-year algorithms course that is being offered in Winter 2027.
Introduction to object-oriented analysis and design, programming using an object-oriented language, and implementation of linked data structures. Issues of modularity, software design, and programming style are emphasized.
Data structures important to computer science are studied, including trees, graphs, and hash tables. Searching and sorting techniques are emphasized, along with associated algorithms and their time and space efficiency.
The design of algorithms and the analysis of their efficiency. Greedy algorithms, divide-and-conquer strategies, recursive backtracking, and dynamic programming are studied. Heuristic algorithms and NP-completeness are introduced.
This course explores advanced algorithmic techniques for solving complex optimization problems. Topics include flow networks, approximation algorithms for NP-hard combinatorial problems, randomized algorithms, and online algorithms.
I am always looking for motivated undergraduate students interested in algorithms and combinatorial optimization. If you are interested in a research project, please email me with your resume, your transcript, and a brief description of your background.
Department of Mathematics and Computing, Mount Royal University.
Assistant Professor of Computer Science
Department of Mathematics and Computing
Calgary, Alberta, Canada