The branch-and-bound algorithm based on decision diagrams introduced by Bergman et al. in 2016 is a framework for solving discrete optimization problems with a dynamic programming formulation. It works by compiling a series of bounded-width decision diagrams that can provide lower and upper bounds for any given subproblem. Eventually, every part of the search space will be either explored or pruned by the algorithm, thus proving optimality. This paper presents new ingredients to speed up the search by exploiting the structure of dynamic programming models. The key idea is to prevent the repeated exploration of nodes corresponding to the same dynamic programming states by storing and querying thresholds in a data structure called the Barrier. These thresholds are based on dominance relations between partial solutions previously found. They can be further strengthened by integrating the filtering techniques introduced by Gillard et al. in 2021. Computational experiments show that the pruning brought by the Barrier allows to significantly reduce the number of nodes expanded by the algorithm. This results in more benchmark instances of difficult optimization problems being solved in less time while using narrower decision diagrams.
翻译:基于Bergman等人2016年推出的决定图的分支和约束算法是用动态编程配方解决离散优化问题的框架。它通过汇编一系列能够为任何子问题提供下限和上界界限的带宽决定图发挥作用。最终,搜索空间的每一个部分都将通过算法加以探索或调整,从而证明是最佳的。本文介绍了通过利用动态编程模型的结构加快搜索速度的新要素。关键的想法是防止反复探索与同一动态编程国家相对应的节点,办法是在称为“屏障”的数据结构中储存和查询阈值。这些阈值以以前找到的部分解决方案之间的支配地位关系为基础。这些阈值可以通过整合Gillard等人在2021年采用的过滤技术而得到进一步加强。计算实验表明,“屏障”带来的剪切技术可以大大减少由算法扩展的节点数目。这导致更多的困难优化问题的基准案例在较少的时间内得到解决,同时使用较窄的决定图表。