1 / 20

Constraint Propagation as the Core of Local Search

Constraint Propagation as the Core of Local Search. Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications University of Athens. Constraint Propagation as the Core of Local Search 1 /20.

waylon
Download Presentation

Constraint Propagation as the Core of Local Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Constraint Propagationas the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications University of Athens Constraint Propagation as the Core of Local Search 1/20

  2. Constraint Propagation as the Core of Local Search – Presentation Structure • Introduction to Constraint Programming • Constraint-Based Local Search • Intermediate Variables • Assignment Propagation • Experiments Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 2/20

  3. Introduction to Constraint Programming • Constraint Programming (CP) is a popular paradigm for solving Constraint Satisfaction Problems (CSPs). • Its power stems from the separation of the solving algorithms phase, from the CSP specification phase [Freuder, 1996]. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 3/20

  4. Constraint Programming Architecture A) CSP Description Phase We use the following triplet to state a CSP: • The variables of the problem. • The domains of the variables. • The constraints between the variables. B) Solution Phase We search for an assignment to the variables, that does not violate the constraints. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 4/20

  5. Constraint Programming: An Example A) CSP Description Phase Take for example the 4-Queens CSP: • It includes four variables: X1, X2, X3, X4. • The domain of each variable is {1, 2, 3, 4}. • The constraints between the variables are summarized into the phrase “no Xi attacks Xj.” B) Solution Phase We can use several search methods to solve a CSP. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 5/20

  6. Constraint-Based Local Search “Constraint-Based Local Search (CBLS) is the idea of specifying local search algorithms as two components: • A high-level model describing the applications in terms of constraints, constraint combinators, and objective functions. • A clearly separated search procedure that implicitly takes advantage of the model in a general fashion.” [van Hentenryck, 2011] Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 6/20

  7. CBLS and Its Relation to Constraint Programming So, CBLS keeps intact the independent declaration phase, but employ local search procedures to seek a solution in the second phase. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 7/20

  8. Local Search Methods The central idea in local search is to assign values to all the variables and then to iteratively try to modify the assignment in order to make it a solution More specifically, local search methods (such as hill climbing, simulated annealing, etc.) exploit the conflict sets notion, i.e. the constraints that are violated due to an assignment. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 8/20

  9. NAXOS SOLVER: Our CP+CBLS System Our contribution was to provide a CBLS framework, with a generic problem specification ability that is absolutely same to the non-local-search (i.e. constructive) CP systems [Pothitos, 2011]. In the solution phase, we focused on implementing a freely available platform to design existing and new local search methods, by providing to the user a simple way to access conflict sets. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 9/20

  10. Related Systems and Work Prominent CBLS systems include COMET, EASYLOCAL++, HOTFRAME, etc. Existing systems cannot be integrated into constructive search CP systems, and usually do not provide efficient tools to design custom local search methods. Besides, the state-of-the-art of these systems are proprietary and/or unavailable, and it is difficult to figure out their internal mechanisms [KANGAROO, 2011]. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 10/20

  11. Intermediate Variables Intermediate variables or invariants or dependent variables are practical for stating a CSP in a real CP system. E.g., in the N-Queens problem, it is pretty much theoretical to state the constraint: does not attack Xi Xj Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 11/20

  12. Intermediate Variables in Practice But it is common in a real CP solver to state: ≠ Xi' := Xi+i Xj' := Xj+j Xi Xj ≠ Xj'' := Xj-j Xi'' := Xi-i ≠ Note that Xi', Xj', Xi'', and Xj'' are intermediate variables. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 12/20

  13. Issues when Local Search Adopts Intermediate Variables While intermediate variables come in handy when stating a problem (in a real programming language), in the solution phase we should get rid of them, because their assignments actually depend on the non-intermediate variables. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 13/20

  14. Assignment Propagation • When a value is assigned to a variable, the assignment is propagated to the constraint network. • It should hold the property that: If a constrained variable Y is intermediate with regard to the variables X1, X2, ..., Xn, it holds that |DX1|=1 ∧ |DX2|=1 ∧ ··· ∧ |DXn|=1 ⇒ |DY|=1, where DX is the domain of X. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 14/20

  15. Updating Conflict Sets When an assignment of a variable is incompatible with another assignment, we add the tuple of the conflicting variables to the corresponding set. Proposition: If a constraint which involves the variables X1, ..., Xn is violated, then it holds depend(X1)∪···∪depend(Xn) ⊆ ConflictSet, where depend(X) is the set of non-intermediate variables that the intermediate X depends on. If X is not intermediate, then we suppose depend(X)={X}. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 15/20

  16. The Propagation Algorithm Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 16/20

  17. Experiments We have implemented several local search methods on top of this propagation/conflict-set engine, such as hill climbing, simulated annealing etc. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 17/20

  18. Hill Climbing and Simulated Annealing We also compared systematic search to local search. The latter scales far better, using the same CP solver and CSP specification. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 18/20

  19. Conclusions and Future Work Our goal is to provide a flexible platform for both the specification of a problem and the design of local search methods. Beyond facilitating the compound constraints expression, intermediate variables were the key feature for propagating assignments. A future direction is to enrich the available methods, by adopting e.g. genetic algorithms. It will be also interesting and easy, to describe a methodology for exploiting NAXOS hybrid framework to mix direct and indirect methods. Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 19/20

  20. References Freuder, E.C.: In pursuit of the holy grail. ACM Computing Surveys 28(4es), 63 (1996) Hakim Newton, M.A., Pham, D.N., Sattar, A., Maher, M.: KANGAROO: An Efficient Constraint-Based Local Search System Using Lazy Propagation. In: Lee, J. (ed.) CP 2011. LNCS, vol. 6876, pp. 645–659. Springer, Heidelberg (2011) Hoos, H.H., Tsang, E.: Local search methods. In: Rossi, et al. (eds.): Handbook of Constraint Programming, ch. 5, pp. 135–167. Elsevier Science, Amsterdam (2006) Pothitos, N.: NAXOS SOLVER (2011), http://di.uoa.gr/~pothitos/naxos Van Hentenryck, P.: COMET: http://dynadec.com/ technology/constraint-based-local-search(2011) Thank You! Intro to CP CBLS Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 20/20

More Related