Constraint and Variable Ordering Heuristics for Compiling Configuration Problems

To facilitate interactive design, the solutions to configuration problems can be compiled into a decision diagram. We develop three heuristics for reducing the time and space required to do this. These heuristics are based on the distinctive clustered and hierarchical structure of the constraint graphs of configuration problems. The first heuristic attempts to limit the growth in the size of the decision diagram by providing an order in which constraints are added to the decision diagram. The second heuristic provides an initial order for the variables within the decision diagram. Finally, the third heuristic groups variables together so that they can be reordered by a dynamic variable reordering procedure used during the construction of the decision diagram. These heuristics provide one to two orders magnitude improvement in the time to compile a wide range of configuration.

[1]  Barry O'Sullivan,et al.  Generating Corrective Explanations for Interactive Constraint Satisfaction , 2005, CP.

[2]  Wolfgang Küchlin,et al.  Formal methods for the validation of automotive product configuration data , 2003, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[3]  Masahiro Fujita,et al.  Efficient variable ordering using aBDD based sampling , 2000, DAC.

[4]  Janak H. Patel,et al.  Efficient variable ordering heuristics for shared ROBDD , 1993, 1993 IEEE International Symposium on Circuits and Systems.

[5]  Carsten Sinz Knowledge Compilation for Product Configuration , 2002 .

[6]  Gerhard Friedrich Elimination of Spurious Explanations , 2004, ECAI.

[7]  Henry A. Kautz,et al.  Constraints and AI planning , 2005, IEEE Intelligent Systems.

[8]  Paul Grünbacher,et al.  Decision-Oriented Modeling of Product Line Architectures , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[9]  Markus Stumptner,et al.  Configuring Large Systems Using Generative Constraint Satisfaction , 1998, IEEE Intell. Syst..

[10]  Richard J. Wallace,et al.  Partial Constraint Satisfaction , 1989, IJCAI.

[11]  Jon Doyle,et al.  A Truth Maintenance System , 1979, Artif. Intell..

[12]  S. Dongen A cluster algorithm for graphs , 2000 .

[13]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[14]  Paul Grünbacher,et al.  Architectural Knowledge in Product Line Engineering: An Industrial Case Stu , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[15]  Albert Haag,et al.  Sales Configuration in Business Processes , 1998, IEEE Intell. Syst..

[16]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[17]  R. M. Jensen,et al.  FAST BACKTRACK-FREE PRODUCT CONFIGURATION USING A PRECOMPILED SOLUTION SPACE REPRESENTATION , 2004 .

[18]  F. Somenzi,et al.  Who are the variables in your neighbourhood , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[19]  Richard Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD.

[20]  Alan F. Murray,et al.  Proceedings - IEEE International Symposium on Circuits and Systems , 2006 .

[21]  Masahiro Fujita,et al.  Sampling schemes for computing OBDD variable orderings , 1998, ICCAD '98.

[22]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD 1993.

[23]  Beate Bollig,et al.  Improving the Variable Ordering of OBDDs Is NP-Complete , 1996, IEEE Trans. Computers.

[24]  Ulrich Junker,et al.  QUICKXPLAIN: Preferred Explanations and Relaxations for Over-Constrained Problems , 2004, AAAI.

[25]  Reijo Sulonen,et al.  Modelling Configurable Products and Software Product Families , 2001 .

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