肱二头肌

实现可伸缩并行搜索算法的库层次结构。本文描述了用于并行搜索的抽象库(ALPS)的设计,这是一个实现基于树搜索的可伸缩并行算法的框架。ALPS是专门为支持数据密集型算法而设计的,其中需要大量的数据来描述搜索树中的每个节点。由于数据存储需求和通信开销,以可伸缩的方式实现这样的算法是一个挑战。阿尔卑斯山综合了许多新的想法来应对这一挑战。本文还描述了另外两个库的设计,它们构成了建立在ALPS之上的层次结构。第一个是Branch,constraint,and Price Software(BiCePS)库,这个框架支持并行分支定界算法的实现,其中边界是通过求解某种松弛(通常是拉格朗日)来获得的。在这一层中,引入了与变量和约束相关联的全局数据对象的概念。这些全局对象提供了搜索树中各个子问题之间的连接,但它们给设计可伸缩算法带来了更多困难。另一个库是二头肌线性整数解算器(BLIS),它是二头肌的具体化,其中线性规划用于获得每个搜索树节点的边界。