Abstract
Many combinatorial optimization problems can be formulated as 0/1 integer programs (0/1 IPs). The investigation of the structure of these problems raises the following tasks: count or enumerate the feasible solutions and find an optimal solution according to a given linear objective function. All these tasks can be accomplished using binary decision diagrams (BDDs), a very popular and effective datastructure in computational logics and hardware verification.
We present a novel approach for these tasks which consists of an output-sensitive algorithm for building a BDD for a linear constraint (a so-called threshold BDD) and a parallel AND operation on threshold BDDs. In particular our algorithm is capable of solving knapsack problems, subset sum problems and multidimensional knapsack problems.
BDDs are represented as a directed acyclic graph. The size of a BDD is the number of nodes of its graph. It heavily depends on the chosen variable ordering. Finding the optimal variable ordering is an NP-hard problem. We derive a 0/1 IP for finding an optimal variable ordering of a threshold BDD. This 0/1 IP formulation provides the basis for the computation of the variable ordering spectrum of a threshold function.
We introduce our new tool azove 2.0 as an enhancement to azove 1.1 which is a tool for counting and enumerating 0/1 points. Computational results on benchmarks from the literature show the strength of our new method.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Becker B, Behle M, Eisenbrand F, Wimmer R (2005) BDDs in a branch and cut framework. In: Nikoletseas S (ed) Proceedings of the 4th international workshop on efficient and experimental algorithms (WEA’05). Lecture notes in computer science, vol 3503. Springer, Berlin, pp 452–463
Behle M (2007) Another zero one vertex enumeration tool homepage. http://www.mpi-inf.mpg.de/~behle/azove.html
Behle M, Eisenbrand F (2007) 0/1 vertex and facet enumeration with BDDs. In: Applegate D, Brodal GS, Panario D, Sedgewick R (eds) Proceedings of the 9th workshop on algorithm engineering and experiments (ALENEX’07). SIAM, Philadelphia, pp 158–165
Bollig B, Wegener I (1996) Improving the variable ordering of OBDDs is NP-complete. IEEE Trans Comput 45(9):993–1002
Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput 35:677–691
Buro M, Büning HK (1993) Report on a SAT competition. Bull Eur Assoc Theor Comput Sci 49:143–151
Ebendt R, Günther W, Drechsler R (2003) An improved branch and bound algorithm for exact BDD minimization. IEEE Trans Comput-Aided Des Integr Circuits Syst 22(12):1657–1663
Friedman S, Supowit K (1987) Finding the optimal variable ordering for binary decision diagrams. In: Proceedings of the 24th ACM/IEEE design automation conference. IEEE Computer Society Press/ACM, Los Alamitos/New York, pp 348–356
Hoos HH, Stützle T (2000) SATLIB: An online resource for research on SAT. In: Gent IP, Walsh T (eds) Satisfiability in the year 2000. IOS Press, Amsterdam, pp 283–292
Hosaka K, Takenaga Y, Kaneda T, Yajima S (1997) Size of ordered binary decision diagrams representing threshold functions. Theor Comput Sci 180:47–60
Lee CY (1959) Representation of switching circuits by binary-decision programs. Bell Syst Tech J 38:985–999
Meinel C, Theobald T (1998) Algorithms and data structures in VLSI design. Springer, New York
Schrijver A (1986) Theory of linear and integer programming. Wiley, New York
Somenzi F (2005). CU decision diagram package release 2.4.1 homepage. Department of Electrical and Computer Engineering, University of Colorado at Boulder. http://vlsi.colorado.edu/~fabio/CUDD May 2005
Urquhart A (1987) Hard examples for resolution. J ACM 34(1):209–219
Wegener I (2000) Branching programs and binary decision diagrams. SIAM monographs on discrete mathematics and applications. SIAM, Philadelphia
Ziegler GM (1995) Lectures on polytopes. Springer, New York
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Behle, M. On threshold BDDs and the optimal variable ordering problem. J Comb Optim 16, 107–118 (2008). https://doi.org/10.1007/s10878-007-9123-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10878-007-9123-z