Half Reification and Flattening
Usually propagation-based constraint solvers construct a constraint network as a conjunction of constraints. They provide propagators for each form of constraint c. In order to increase expressiveness, systems also usually provide propagators for reified forms of constraints. A reified constraint b ↔ c associates a truth value b with a constraint c. With reified propagators, systems can express complex combinations of constraints using disjunction, implication and negation by flattening. In this paper we argue that reified constraints should be replaced by half-reified constraints of the form b → c. Half-reified constraints do not impose any extra burden on the implementers of propagators compared to unreified constraints, they can implement reified propagators without loss of propagation strength (assuming c is negatable), they extend automatically to global constraints, they simplify the handling of partial functions, and can allow flattening to give better propagation behavior.
KeywordsRelational Semantic Boolean Variable Global Constraint Complex Constraint Resource Constrain Project Schedule Problem
Unable to display preview. Download preview PDF.
- 6.Frisch, A.M., Grum, M., Jefferson, C., Hernandez, B.M., Miguel, I.: The design of ESSENCE: A constraint language for specifying combinatorial problems. In: Procs. of IJCAI 2007 (2007)Google Scholar
- 12.PSPlib (Project scheduling problem library), http://22.214.171.124/psplib/
- 16.Van Hentenryck, P.: The OPL Optimization Programming Language. MIT Press, Cambridge (1999)Google Scholar
- 17.Van Hentenryck, P., Saraswat, V., Deville, Y.: Constraint processins in cc(FD) (1991) (manuscript)Google Scholar