The design of a large-scale system -- be it a computing system, a human system, or a combination of the two -- in any domain generally involves a variety of problems including capacity estimation; placement, allocation, scheduling and rescheduling of resources; identification of a desirable operating state and transitioning from the current operating state to the desired one; among others. Further, the entities involved in such systems share and exchange information with each other; such information communication often needs to be secure and confidential.

While such problems are easy to solve when the size of the system is small, the scale and complexity of most industrial-scale systems (involving, for instance, tens of thousands of servers, thousands of applications, and hundred thousand people, etc.) renders most simple approaches infeasible or impractical. In fact, in many cases, an optimal solution to these problems is computationally intractable. The mission of the Applied Algorithms and Optimization Group is to design algorithms that are efficient, both in theory and in practice, to address the challenges of such large-scale systems.