EVBDD-based algorithms for integer linear programming, spectral transformation, and function decomposition

Edge-Valued Binary-Decision Diagrams (EVBDD's) are directed acyclic graphs that can represent and manipulate integer functions as effectively as Ordered Binary-Decision Diagrams OBDD's) do for Boolean functions. They have been used in logic verification for showing the equivalence between Boolean functions and arithmetic functions. In this paper, we present EVBDD-based algorithms for solving integer linear programs, computing spectral coefficients of Boolean functions, and performing function decomposition. These algorithms have been implemented in C under the SIS environment and experimental results are provided. >

[1]  A. Land,et al.  An Automatic Method for Solving Discrete Programming Problems , 1960, 50 Years of Integer Programming.

[2]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..

[3]  Masahiro Fujita,et al.  Spectral Transforms for Large Boolean Functions with Applications to Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[4]  F. Somenzi,et al.  A New Algorithm for 0-1 Programming Based on Binary Decision Diagrams , 1993 .

[5]  Massoud Pedram,et al.  Boolean matching using binary decision diagrams with applications to logic synthesis and verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[6]  Chen-Shang Lin,et al.  On the OBDD-Representation of General Boolean Functions , 1992, IEEE Trans. Computers.

[7]  Sarma B. K. Vrudhula,et al.  BDD Based Decomposition of Logic Functions with Application to FPGA Synthesis , 1993, 30th ACM/IEEE Design Automation Conference.

[8]  Kurt Spielberg,et al.  Enumerative Methods in Integer Programming , 1979 .

[9]  Shih-Chieh Chang,et al.  Technology Mapping via Transformations of Function Graphs , 1992, ICCD.

[10]  A. Land,et al.  Computer Codes for Problems of Integer Programming , 1979 .

[11]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[12]  Tsutomu Sasao,et al.  FPGA Design by Generalized Functional Decomposition , 1993 .

[13]  Gautam Mitra Investigation of some branch and bound strategies for the solution of mixed integer linear programs , 1973, Math. Program..

[14]  G. Nemhauser,et al.  Integer Programming , 2020 .

[15]  P. Hammer,et al.  Order Relations of Variables in 0-1 Programming , 1987 .

[16]  V. Joseph Bowman,et al.  Partial Orderings in Implicit Enumeration , 1977 .

[17]  Peter L. Hammer,et al.  Boolean Methods in Operations Research and Related Areas , 1968 .

[18]  Fabio Somenzi,et al.  A Symbolic Algorithms for Maximum Flow in 0-1 Networks , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[19]  G. Ribiere,et al.  Experiments in mixed-integer linear programming , 1971, Math. Program..

[20]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[21]  R. J. Dakin,et al.  A tree-search algorithm for mixed integer programming problems , 1965, Comput. J..

[22]  E. Balas An Additive Algorithm for Solving Linear Programs with Zero-One Variables , 1965 .

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

[24]  Sarma Sastry,et al.  Edge-valued binary decision for multi-level hierarchical verification , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[25]  E. A. Trachtenberg,et al.  Design automation tools for efficient implementation of logic functions by decomposition , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[27]  Richard M. Karp,et al.  Minimization Over Boolean Graphs , 1962, IBM J. Res. Dev..

[28]  Yung-Te Lai,et al.  Edge-valued binary decision diagrams for multi-level hierarchical verification , 1992, DAC '92.

[29]  Stanley L. Hurst,et al.  Spectral techniques in digital logic , 1985 .

[30]  C. K. Yuen,et al.  Comments on "The Application of the Rademacher-Walsh Transform to Boolean Function Classification and Threshold Logic Synthesis" , 1976, IEEE Trans. Computers.

[31]  L. G. Mitten Branch-and-Bound Methods: General Formulation and Properties , 1970, Oper. Res..

[32]  Norman J. Driebeek An Algorithm for the Solution of Mixed Integer Programming Problems , 1966 .

[33]  J. Shapiro A Survey of Lagrangian Techniques for Discrete Optimization. , 1979 .

[34]  Jennifer Wallis,et al.  On Hadamard matrices , 1975 .

[35]  Bogdan J. Falkowski,et al.  Effective computer methods for the calculation of Rademacher-Walsh spectrum for completely and incompletely specified Boolean functions , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[36]  C.R. Edwards The Application of the Rademacher–Walsh Transform to Boolean Function Classification and Threshold Logic Synthesis , 1975, IEEE Transactions on Computers.

[37]  Alberto L. Sangiovanni-Vincentelli,et al.  Communication based logic partitioning , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[38]  Toshihide Ibaraki,et al.  The Power of Dominance Relations in Branch-and-Bound Algorithms , 1977, JACM.