His work focuses on machine learning and optimization, with a specific focus on applications in smart energy systems. From an algorithmic standpoint, he has worked on fast optimization algorithms for a number of problems and for general convex programs, large-scale probabilistic modeling, stochastic optimization, and reactive machine learning algorithms. On the application side, he has worked on energy disaggregation, probabilistic forecasting for energy systems, and model predictive control techniques for industrial control in the electrical grid.