Improving optimization by learning constraints with neural networks

Constraint Learning by Optimizing over Trained Neural Networks: A Pragmatic Tutorial

Machine Learning

Summary

Sometimes, when solving problems like scheduling or planning, it’s hard to write down all the rules or goals perfectly. This paper shows how to use neural networks, a type of AI, to learn these rules from data and then include them in the problem we want to solve. The authors explain practical ways to do this efficiently without making the problem too slow or complicated. They also show with an example that smaller and simpler neural networks can still be very helpful for this purpose.

What this means in practice

  • For operations teams: Build optimization tools that learn and include complex constraints from real-world data to solve scheduling and resource allocation problems faster.
  • For control engineers: Develop control systems models that approximate complex objectives with neural networks to simplify optimization calculations in real-time applications.

Authors

Jiaxiao Fang, Thiago Serra

Abstract

Constraint learning is an emerging paradigm of modeling optimization problems with the help of machine learning. In this paradigm, trained machine learning models are embedded into the optimization model. For example, we can learn constraints empirically from available data, or we can avoid using a nonlinear objective function by learning a simpler approximation for it. Neural networks become a compelling option if the machine learning models must capture more elaborate and nuanced relationships. However, optimization models embedding neural networks may become too large or too slow to solve. In this tutorial, we present practical considerations for an effective and efficient use of constraint learning with neural networks and validate it with a case study highlighting the benefit of smaller and sparser networks.