论文标题
从最佳决策中学习线性程序
Learning Linear Programs from Optimal Decisions
论文作者
论文摘要
我们提出了一个灵活的基于梯度的框架,用于从最佳决策中学习线性程序。线性程序通常使用相关成本和约束的先验知识手动指定。在某些应用程序中,必须从最佳决策的观察结果中学到线性程序。从最佳决策中学习是一个特别具有挑战性的双层问题,许多相关的反优化文献专用于特殊情况。我们解决了一般问题,共同学习所有参数,同时允许弹性的成本,约束和损失功能的参数化。我们还应对学习线性程序的特定挑战,例如空的可行区域和非唯一的最佳决策。实验表明,我们的方法成功地学习了合成线性程序和最低成本的多商品流量实例,而以前方法不直接适用。我们还提供了均匀内部点算法的快速批处理模式Pytorch实现,该算法通过隐式分化或反向传播来支持梯度。
We propose a flexible gradient-based framework for learning linear programs from optimal decisions. Linear programs are often specified by hand, using prior knowledge of relevant costs and constraints. In some applications, linear programs must instead be learned from observations of optimal decisions. Learning from optimal decisions is a particularly challenging bi-level problem, and much of the related inverse optimization literature is dedicated to special cases. We tackle the general problem, learning all parameters jointly while allowing flexible parametrizations of costs, constraints, and loss functions. We also address challenges specific to learning linear programs, such as empty feasible regions and non-unique optimal decisions. Experiments show that our method successfully learns synthetic linear programs and minimum-cost multi-commodity flow instances for which previous methods are not directly applicable. We also provide a fast batch-mode PyTorch implementation of the homogeneous interior point algorithm, which supports gradients by implicit differentiation or backpropagation.