We propose a fast method for exactly enumerating a large number of all cost-bounded solutions for combinatorial problems using Zero-suppressed Binary Decision Diagrams (ZDDs). Enumerating cost-bounded solutions is an important task to know the exact ranking of any given solution, and it enables statistical p-value evaluation and quality-controlled random sampling. Our method is based on a backtracking search for a given ZDD representing the set of all feasible solutions. The key idea is to integrate “BDD operation cache” technique and “interval-memoizing” technique with a depth-first manner of backtracking procedure. The computation time of the algorithm is empirically bounded by the input and output sizes of ZDDs. It can be significantly faster than existing enumeration systems, especially when the input and output ZDDs are well-compressed and the range of the cost constraint is large. As application examples, we applied our method to a set of difficult instances of the Hamiltonian cycle/path problems. Although it is NP-hard to find any one feasible solution without cost constraints, we tried more difficult problems to enumerate all cost-bounded solutions, and succeeded in implicitly enumerating all cost-bounded solutions for many nontrivial instances which contain billions of solutions. As cost constraints often appear in many real-life situations, our method will be useful in various fields, including data mining, statistical testing, hardware/software design, and many other operations research problems.
Read full abstract7-days of FREE Audio papers, translation & more with Prime
7-days of FREE Prime access