Benchmarking ordering techniques for nonserial dynamic programming

Benchmarking ordering techniques for nonserial dynamic programming
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

Five ordering algorithms for the nonserial dynamic programming algorithm for solving sparse discrete optimization problems are compared in this paper. The benchmarking reveals that the ordering of the variables has a significant impact on the run-time of these algorithms. In addition, it is shown that different orderings are most effective for different classes of problems. Finally, it is shown that, amongst the algorithms considered here, heuristics based on maximum cardinality search and minimum fill-in perform best for solving the discrete optimization problems considered in this paper.


💡 Research Summary

The paper investigates how the choice of variable elimination ordering influences the performance of the non‑serial dynamic programming (NSDP) algorithm when solving sparse discrete optimization (DO) problems. NSDP solves a DO problem by successively eliminating variables according to an ordering; the ordering determines the size of intermediate cliques and therefore the computational complexity. Finding an optimal ordering is NP‑complete, so practical implementations rely on heuristics.

Five well‑known ordering heuristics are examined: Minimum Degree (MD), Nested Dissection (ND), Maximum Cardinality Search (MCS), Minimum Fill‑in (MIN‑FILL), and Lexicographic Breadth‑First Search (LEX‑BFS). MD repeatedly removes the vertex with the smallest degree, turning its neighbourhood into a clique. ND recursively partitions the graph using the METIS library and eliminates the separator vertices. MCS selects at each step the vertex that has the largest number of already‑selected neighbours. MIN‑FILL chooses the vertex whose neighbourhood requires the fewest additional edges to become a clique. LEX‑BFS assigns labels to vertices based on a breadth‑first traversal and eliminates them in lexicographic order.

Implementation details: the core NSDP routine was written in Python; MD and ND were re‑implemented in C/C++ for speed; graph handling used NetworkX. Ordering functions were taken from the BOOST library (MD), METIS (ND), CHOMP‑ACK (MCS), and custom code for MIN‑FILL and LEX‑BFS. Test instances were drawn from the CSP‑2 hypergraph library, covering real‑world industrial benchmarks (Daimler‑Chrysler, NASA, ISCAS) and synthetic grids and cliques. In total, 33 instances were grouped into five families: “dubois”, “bridge”, “adder”, “pret”, and “NewSystem”. Experiments were run on an Intel Core 2 Duo 2.66 GHz machine with 2 GB RAM under Linux 2.6.35.

Results are presented in tables and bar charts. MIN‑FILL achieved the shortest runtime in 19 out of 33 cases (57.6 %), MCS in 9 cases (27.3 %), LEX‑BFS in 3 cases (9.1 %), MD in 2 cases (6.0 %), and ND never produced the best time. Within the “dubois”, “adder”, and “bridge” families, MIN‑FILL and MCS consistently outperformed the others, while MD and ND were the slowest. In the “pret” family, MIN‑FILL dominated dramatically, confirming its suitability for problems with relatively low degree and limited connectivity. Conversely, for the “NewSystem” family, MCS and LEX‑BFS were superior, and MIN‑FILL ranked third, illustrating that the effectiveness of a heuristic depends heavily on the underlying graph structure (e.g., average degree, treewidth, clique size).

The authors conclude that (1) variable ordering has a decisive impact on NSDP runtime, (2) no single heuristic is universally optimal; the best choice varies with problem class, and (3) among the five methods studied, MCS and MIN‑FILL provide the most robust performance across a wide range of sparse DO problems. They suggest future work on block elimination combined with sophisticated partitioning techniques to further exploit sparsity and improve scalability.


Comments & Academic Discussion

Loading comments...

Leave a Comment