Fast domain propagation of linear constraints has become a crucial component of today's best algorithms and solvers for mixed integer programming and pseudo-boolean optimization to achieve peak solving performance. Irregularities in the form of dynamic algorithmic behaviour, dependency structures, and sparsity patterns in the input data make efficient implementations of domain propagation on GPUs and, more generally, on parallel architectures challenging. This is one of the main reasons why domain propagation in state-of-the-art solvers is single thread only. In this paper, we present a new algorithm for domain propagation which (a) avoids these problems and allows for an efficient implementation on GPUs, and is (b) capable of running propagation rounds entirely on the GPU, without any need for synchronization or communication with the CPU. We present extensive computational results which demonstrate the effectiveness of our approach and show that ample speedups are possible on practically relevant problems: on state-of-the-art GPUs, our geometric mean speed-up for reasonably-large instances is around 10x to 20x and can be as high as 180x on favorably-large instances.
翻译:线性限制的快速传播已成为当今混合整数编程和假螺旋优化的最佳算法和解算器的重要组成部分,以达到顶峰的性能。输入数据中的不规则形式包括动态算法行为、依赖结构和宽度模式,使得在GPU上以及更一般而言在具有挑战性的平行结构上有效实施域传播。这是在最先进的解算器中,域传播仅是单一线条的主要原因之一。在本文中,我们为域传播提供了一种新的算法和解算法,(a) 避免这些问题,并允许在GPU上高效实施,并且(b) 能够完全在GPU上运行传播轮,而不需要与CPU同步或沟通。我们提出了广泛的计算结果,表明我们的方法的有效性,并表明在实际相关的问题上可以实现充分的加速:在最先进的GPUPS上,我们合理规模的几何测平均速度约为10x至20x,并且可以达到180x的优势大区。