Abstract
When implementing a propagator for a constraint, one must decide about variants: When implementing min , should one also implement max ? Should one implement linear equations both with and without coefficients? Constraint variants are ubiquitous: implementing them requires considerable effort, but yields better performance. This abstract shows how to use views to derive propagator variants where derived propagators are perfect in that they inherit essential properties such as correctness and domain and bounds consistency. Techniques for systematically deriving propagators are developed, and the abstract sketches an implementation architecture for views that is independent of the underlying constraint programming system. Evaluation of views implemented in Gecode shows that derived propagators are efficient and that views often incur no overhead. Views have proven essential for implementing Gecode, substantially reducing the amount of code that needs to be written and maintained.
This is a summary of the paper View-based propagator derivation by Christian Schulte and Guido Tack, Constraints 18(1), 75–107 (2013).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Baptiste, P., Le Pape, C., Nuijten, W.: Constraint-based Scheduling. International Series in Operations Research & Management Science. Kluwer Academic Publishers (2001)
Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 191–206. Springer, Heidelberg (1997)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley Professional (2005)
IBM Corporation: IBM ILOG CP Optimizer V2.3 User’s Manual (2009)
Laburthe, F.: Choco: Implementing a CP kernel. In: Beldiceanu, N., Harvey, W., Henz, M., Laburthe, F., Monfroy, E., Müller, T., Perron, L., Schulte, C. (eds.) Proceedings of TRICS: Techniques foR Implementing Constraint Programming Systems, a Post-Conference Workshop of CP 2000, pp. 71–85 (2000)
Milner, R., Tofte, M., MacQueen, D.: The Definition of Standard ML. MIT Press, Cambridge (1997)
Puget, J.F.: A implementation of CLP. In: Proceedings of the Second Singapore International Conference on Intelligent Systems (SPICIS), Singapore, pp. B256–B261 (November 1994)
Schulte, C., Tack, G.: Perfect derived propagators. In: Stuckey, P.J. (ed.) CP 2008. LNCS, vol. 5202, pp. 571–575. Springer, Heidelberg (2008)
Schulte, C., Tack, G.: View-based propagator derivation. Constraints 18(1), 75–107 (2013), http://dx.doi.org/10.1007/s10601-012-9133-z
Van Hentenryck, P., Saraswat, V.A., Deville, Y.: Design, implementation, and evaluation of the constraint language cc(FD). Journal of Logic Programming 37(1-3), 293–316 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Schulte, C., Tack, G. (2014). View-Based Propagator Derivation. In: O’Sullivan, B. (eds) Principles and Practice of Constraint Programming. CP 2014. Lecture Notes in Computer Science, vol 8656. Springer, Cham. https://doi.org/10.1007/978-3-319-10428-7_71
Download citation
DOI: https://doi.org/10.1007/978-3-319-10428-7_71
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10427-0
Online ISBN: 978-3-319-10428-7
eBook Packages: Computer ScienceComputer Science (R0)