Decision Diagrams (DDs) have emerged as a powerful tool for discrete optimization, with rapidly growing adoption. DDs are directed acyclic layered graphs; restricted DDs are a generalized greedy heuristic for finding feasible solutions, and relaxed DDs compute combinatorial relaxed bounds. There is substantial theory that leverages DD-based bounding, yet the complexity of constructing the DDs themselves has received little attention. Standard restricted DD construction requires $O(w \log(w))$ per layer; standard relaxed DD construction requires $O(w^2)$, where $w$ is the width of the DD. Increasing $w$ improves bound quality at the cost of more time and memory. We introduce implicit Decision Diagrams, storing arcs implicitly rather than explicitly, and reducing per-layer complexity to $O(w)$ for restricted and relaxed DDs. We prove this is optimal: any framework treating state-update and merge operations as black boxes cannot do better. Optimal complexity shifts the challenge from algorithmic overhead to low-level engineering. We show how implicit DDs can drive a MIP solver, and release ImplicitDDs, an open-source Julia solver exploiting the implementation refinements our theory enables. Experiments demonstrate the solver outperforms Gurobi on Subset Sum. Code (https://github.com/IsaacRudich/ImplicitDDs.jl)
翻译:决策图已成为离散优化领域的一种强大工具,其应用正在迅速增长。决策图是一种有向无环分层图;受限决策图是寻找可行解的一种广义贪心启发式算法,而松弛决策图则用于计算组合松弛界。已有大量理论工作利用基于决策图的定界方法,但构建决策图本身的复杂性却鲜有关注。标准的受限决策图构建每层需要 $O(w \log(w))$ 时间;标准的松弛决策图构建每层需要 $O(w^2)$ 时间,其中 $w$ 为决策图的宽度。增加 $w$ 可以提高定界质量,但代价是更多的时间和内存消耗。我们提出了隐式决策图,将边隐式而非显式存储,从而将受限和松弛决策图的每层复杂度降低至 $O(w)$。我们证明这是最优的:任何将状态更新与合并操作视为黑盒的框架都无法做得更好。最优复杂度将挑战从算法开销转移到了底层工程实现。我们展示了隐式决策图如何驱动混合整数规划求解器,并发布了 ImplicitDDs——一个开源的 Julia 求解器,它利用了我们的理论所支持的实现优化。实验表明,该求解器在子集和问题上优于 Gurobi。代码(https://github.com/IsaacRudich/ImplicitDDs.jl)