Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Constraint Propagation as the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications."— Presentation transcript:

1 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

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

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]. Constraint Propagation as the Core of Local Search 3/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

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. Constraint Propagation as the Core of Local Search 4/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

5 A) CSP Description Phase Take for example the 4-Queens CSP:  It includes four variables: X 1, X 2, X 3, X 4.  The domain of each variable is {1, 2, 3, 4}.  The constraints between the variables are summarized into the phrase “no X i attacks X j.” B) Solution Phase We can use several search methods to solve a CSP. Constraint Programming: An Example Constraint Propagation as the Core of Local Search 5/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation X3X3 X1X1 X4X4 X2X2

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

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. Constraint Propagation as the Core of Local Search 7/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

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. Constraint Propagation as the Core of Local Search 8/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

9 N AXOS S OLVER : 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. Constraint Propagation as the Core of Local Search 9/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

10 Related Systems and Work Prominent CBLS systems include C OMET, E ASY L OCAL ++, H OT F RAME, 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 [K ANGAROO, 2011]. Constraint Propagation as the Core of Local Search 10/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

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: Constraint Propagation as the Core of Local Search 11/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation XiXi XjXj does not attack

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

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. Constraint Propagation as the Core of Local Search 13/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

14 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 X 1, X 2,..., X n, it holds that |D X1 |=1 ∧ |D X2 |=1 ∧ ··· ∧ |D Xn |=1 ⇒ |D Y |=1, where D X is the domain of X. Constraint Propagation as the Core of Local Search 14/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

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 X 1,..., X n is violated, then it holds depend (X 1 ) ∪ ··· ∪ depend (X n ) ⊆ 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}. Constraint Propagation as the Core of Local Search 15/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

16 The Propagation Algorithm Constraint Propagation as the Core of Local Search 16/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

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

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. Constraint Propagation as the Core of Local Search 18/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

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 N AXOS hybrid framework to mix direct and indirect methods. Constraint Propagation as the Core of Local Search 19/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

20 References 1.Freuder, E.C.: In pursuit of the holy grail. ACM Computing Surveys 28(4es), 63 (1996) 2.Hakim Newton, M.A., Pham, D.N., Sattar, A., Maher, M.: K ANGAROO : 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) 3.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) 4.Pothitos, N.: N AXOS S OLVER (2011), http://di.uoa.gr/~pothitos/naxos 5.Van Hentenryck, P.: C OMET : http://dynadec.com/ technology/constraint-based-local-search (2011) Constraint Propagation as the Core of Local Search 20/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation Thank You!


Download ppt "Constraint Propagation as the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications."

Similar presentations


Ads by Google