My research is generally in theoretical and computational discrete optimization, machine learning, high-performance computing, and complexity theory. More specifically, my research interests include exploration of the theoretical foundations of discrete optimization, duality theory, and development of methodologies for solving a wide range of discrete optimization problems, such as multi-objective, multi-stage stochastic, multi-level/game theoretic/hierarchical, and inverse optimization problems. Algorithmic approaches include mathematical optimization, decomposition methods, and reinforcement learning. Computationally, I focus on development of high-quality open-source implementations, including frameworks for parallel search and decomposition-based algorithms, as well as solvers for a wide range of problem classes. I also work on applications of discrete optimization, such as routing problem, interdiction problems, energy applications, and healthcare.