CombOptNet: Fit the Right NP-Hard Problem by Learning Integer Programming Constraints
This addresses the fundamental problem of bridging algorithmic and neural reasoning for researchers in ML/AI, though it appears incremental as it builds on existing integer programming solvers.
The paper tackles the challenge of integrating logical reasoning with machine learning by creating neural network layers that learn both cost terms and constraints for integer programming solvers, achieving competitive performance on a computer vision keypoint matching benchmark.
Bridging logical and algorithmic reasoning with modern machine learning techniques is a fundamental challenge with potentially transformative impact. On the algorithmic side, many NP-hard problems can be expressed as integer programs, in which the constraints play the role of their "combinatorial specification." In this work, we aim to integrate integer programming solvers into neural network architectures as layers capable of learning both the cost terms and the constraints. The resulting end-to-end trainable architectures jointly extract features from raw data and solve a suitable (learned) combinatorial problem with state-of-the-art integer programming solvers. We demonstrate the potential of such layers with an extensive performance analysis on synthetic data and with a demonstration on a competitive computer vision keypoint matching benchmark.