Negative thinking in branch-and-bound: the case of unate covering

We introduce a new technique for solving some discrete optimization problems exactly. The motivation is that when searching the space of solutions by a standard branch-and-bound (B&B) technique, often a good solution is reached quickly and then improved only a few times before the optimum is found: hence, most of the solution space is explored to certify optimality, with no improvement in the cost function. This suggests that more powerful lower bounding would speed up the search dramatically. More radically, it would be desirable to modify the search strategy with the goal of proving that the given subproblem cannot yield a solution better than the current best one (negative thinking), instead of branching further in search for a better solution (positive thinking). For illustration we applied our approach to the unate covering problem. The algorithm starts in the positive-thinking mode by a standard B&B procedure that generates recursively smaller subproblems. If the current subproblem is "deep" enough, the algorithm switches to the negative thinking mode where it tries to prove that solving the subproblem does not improve the solution. The latter is achieved by a new search procedure invoked when the difference between the upper and lower bound is "small". Such a procedure is complete: either it yields a lower bound that matches the current upper bound, or it yields a new solution better than the current one. We implemented our new search procedure on top of ESPRESSO and SCHERZO, two state-of-art covering solvers used for computer-aided design applications, showing that in both cases we obtain new search engines (respectively, AURA and AURA II) much more efficient than the original ones.

[1]  Srinivas Devadas,et al.  Solving Covering Problems Using LPR-based Lower Bounds , 1997, Proceedings of the 34th Design Automation Conference.

[2]  Tiziano Villa,et al.  Synthesis of FSMs: functional optimization , 1997 .

[3]  Tiziano Villa,et al.  Synthesis of FSMs: logic optimization , 1997 .

[4]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[5]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[6]  Olivier Coudert,et al.  New Ideas for Solving Covering Problems , 1995, 32nd Design Automation Conference.

[7]  Olivier Coudert,et al.  Two-level logic minimization: an overview , 1994, Integr..

[8]  Ieee Circuits,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems information for authors , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Aura II: Combining Negative Thinking and Branch-and-Bound in Unate Covering Problems , 1999, VLSI.

[10]  Srinivas Devadas,et al.  Solving covering problems using LPR-based lower bounds , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[11]  Tiziano Villa,et al.  Negative thinking by incremental problem solving: application to unate covering , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[12]  Alberto L. Sangiovanni-Vincentelli,et al.  Multiple-Valued Minimization for PLA Optimization , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Olivier Coudert,et al.  On solving covering problems , 1996, DAC '96.