Learning Linear Programs from Data
Elias Arnold Schede, Samuel Kolb, Stefano Teso · 2019
Linear Programming lies at the core of mathematical modelling and optimization. Designing linear programs (LPs) is a difficult and expensive process, as it requires both mathematical programming and domain expertise, and it involves both designing an objective function and feasibility constraints. To support this design process, we propose INCALP, an algorithm for inducing linear programs from examples. Since the objective can often be learned with standard techniques (e.g. regression), INCALP learns the hard constraints only. It does so by encoding constraint learning as a mixed integer linear program. INCALP achieves significant efficiency gains by considering gradually larger subsets of examples, and terminating as soon as a suitable program is found. In addition, INCALP encourages both compactness and sparsity of the learned program. Our empirical analysis on synthetic data and textbook problems highlights the promise of the approach.