Skip to content


Track: Analytics Process

The Art and Practice of Using Mixed Integer Programming to Optimize Computer Systems

Monday, April 12, 4:30-5:10pm EDT

Mixed Integer Programming (MIP) is a declarative approach to solve optimization and decision problems. One formulates a mathematical model expressing the problem at hand, and a “black-box” solver performs the number crunching. Here, we introduce MIP from an informal, practitioner’s perspective. We discuss the art of crafting and solving MIP models to real-life problems typically arising in computer systems and products. We present common modeling tricks which make many MIP models “solvable in practice”. We also touch on engineering challenges revolving around MIP applications in production such as data quality, careful design, and an overall reliability. We illustrate our talk with multiple examples distilled from several years of experience of applying MIP at Google. Overall, we present compelling evidence that MIP has become a powerful – and often indispensable – tool to optimize and automate non-trivial decision making in the information technology industry.

Pawel Lichocki image

Pawel Lichocki

Pawel Lichocki

Software Engineer at Google

The speaker is a software engineer at Google within the Operations Research group. For the past several years, he has been contributing to dozens of projects relying on combinatorial optimization. In particular, he has been building and implementing many Mixed Integer Programming models in real-life, large-scale systems and products. His interests include both practical and theoretical aspects of optimization, as well as evolutionary biology, game theory and robotics. Most recently he is exploring the intersection between combinatorial optimization and machine learning. Outside of working hours, he most enjoys the current moment that is.