Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Lambert Roadef 2008
1. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Modèle d’hybridation pour la résolution de CSP
ROADEF 2008, Clermont-Ferrand, France
Tony LAMBERT
LIFO, Rue Léonard de Vinci 45067 ORLEANS
Mercredi 27 février 2008
1 / 40
2. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Constraint programming process
Formulate the problem with constraints as a CSP
• constraint : a relation on variables and their domains
• Constraint Satisfaction Problem (CSP) : a set of
constraints together with a set of variable domains
CSP model
C2
Y
• X = {x1 , . . . , xn } set of n
C1 U
variables,
X
C4 C5
• D = {Dx1 , . . . , Dxn } set
Z T
of n domains,
C3
• C = {c1 , . . . , cm } set of
m constraints.
Variables Constraints
2 / 40
3. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Problems are modeled as CSPs (X , D, C)
Some variables to represent objects
(X = {X1 , . . . , Xn })
Domains over which variables can range
(D = D1 × . . . × Dn )
Some constraints to set relation between objects
C1 : X ≤ Y ∗ 3
C2 : Z = X − Y
...
3 / 40
4. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
CSP solving
A solution
• Given a search space S = Dx1 × ... × Dxn
• an assignment s is a solution if :
• s ∈ S and
• ∀c ∈ C, s ∈ c
Solving a CSP can be :
• compute whether the CSP has a solution (satisfiability)
• find A solution
• find ALL solutions
• find optimal solutions (global optimum)
• find A good solution (local optimum)
4 / 40
5. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Outline
Solving CSP
Hybrid solving : need a framework
Integrate split in GI
To an uniform framework
Conclusion
5 / 40
6. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
First approach
Complete Methods
• Search space : Dx1 × · · · × Dxn
• Enumerate all assignments
Backtracking
• search (backtrack)
• Select variables
• Split / enumeration
6 / 40
7. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Constraint propagation : reducing domains
Generally :
• reduce domains using constraint and domains
• → reduce the search space
Generic domain reduction :
• given a constraint C over x1 , . . . , xn with domains
D1 , . . . , Dn
• select a variable xi reduce its domain
• delete from Di all values for xi that do not participate in a
solution of C
7 / 40
8. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Constraint propagation
• constraint propagation mechanism : repeatedly reduce
domains
• replace a CSP by a CSP which is :
• equivalent (same set of solutions)
• “smaller” (domains are reduced)
8 / 40
9. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Second Approach
Incomplete methods
• heuristics algorithms
• Metaheuristics
two families
• Local search
• Simulated annealing [Kirkpatrick et al, 1983]
• Tabu Search [Glover, 1986]
• ...
• Evolutionary Algorithms
• Genetic Algorithms [Holland, 1975]
• Genetic programming [Koza, 1992]
• ...
9 / 40
10. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Incomplete methods
Definitions
• Explore a D1 × D2 × · · · × Dn search space
• Move from neighbor to neighbor (resp. generation to
generation) thanks to an evaluation function
• Intensification
• Diversification
Properties :
• focus on some “promising” parts of the search space
• does not answer to unsat. problems
• no guaranteed
• “fast” to find a “good” solution
10 / 40
11. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Local search
• Search space : set of possible configurations
• Tools : neighborhood and evaluation function
Neighborhood
Set of
of s
possible
configurations
LS(p) = p’
p=( s ,s , ..., s )
1 2 n
s p’ = ( s ,s , ..., s ,s )
3 1 2
s n n+1
4
s 6
s s
1 2
s 5
11 / 40
12. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Genetic algorithms
• Search space : set of possible configurations
• Tools : population, crossing,mutations, and evaluation
function
Population k
Croisement
Mutation
Population k+1
Nouvelle Population
12 / 40
13. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Hybridization : getting the best of the both
• Efficiency : faster complete solver
• Quality : better solutions (better optimum)
• Generally :
• Ad-hoc systems (designed from scratch)
• Dedicated to a class of problems
• Master-slave approaches (LS for CP, CP for LS)
13 / 40
14. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Hybridization : Overview
complete and incomplete methods combinations
collaborative combinations
integrative combinaisons
Incorporate a complete method in metaheuristics
Incorporate a metaheuristic in complete methods
14 / 40
15. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
CP for LS
Neighborhood
of s Set of
possible
configurations
s 3 s 4
s 6
s s
1 2 s 5
Reduced
search space
Valid neighborhood
of s
15 / 40
16. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
CP for GA
Set of
possible
configurations
Feasible population
16 / 40
17. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Hybridization : getting the best of the both
• Idea :
• fine grain hybridization
• finer strategies
• every technique at the same level
• one algorithm squeleton
• easier to modify, extend, compare, ...
17 / 40
18. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Constraint propagation framework
Can be seen as a fixed point of application of reduction functions
• reduction function to reduce domains or constraints
• can be seen as an abstraction of the constraints by
reduction functions
Chaotic iteration
• Compute a limit of a set of functions [Cousot and Cousot
77]
• monotonic and inflationary functions in a generic algorithm
to achieve consistency [Apt 97]
18 / 40
19. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Abstract model K.R. Apt [CP99]
For propagation (based on chaotic iterations)
Abstraction
Reduction functions
Constraint
Application
of functions
CSP
Fixed point
Partial Ordering
19 / 40
20. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Partial ordering and functions
Partial Ordering
Given a CSP (X , D, C)
• P(D) : all possible subset from D
: subset relation ⊇
•
=⇒ (P(D), ) is a partial ordering
Functions
Given a set F of functions on D, every f ∈ F is :
• inflationary : x f (x)
• monotonic : x y implies f (x) f (y )
• idempotent : f (f (x)) = f (x)
=⇒ Every sequence of elements d0 d1 ... with dj = fij (dj−1 )
stabilizes to a fix point.
20 / 40
21. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
A Generic Algorithm to reach fixpoint
for constraint propagation : ordering on size of domains
work on a CSP
F = { set of propagation functions}
X = initial CSP
G=F
While G = ∅
choose g ∈ G
G = G − {g}
G = G ∪ update(G, g, X )
X = g(X )
EndWhile
21 / 40
22. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Theoretical model for CSP solving
Reduction : by constraint propagation :
Ω Ω’
Ω CSP1 CSP2 CSP3
Constraint Propagation
Ω’ CSP1 CSP2’ CSP3
22 / 40
23. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Theoretical model for CSP solving
Reduction by domain splitting :
Ω Ω’
Ω CSP1 CSP2 CSP3
Split
Ω’ CSP1 CSP2’ CSP2’’ CSP2’’’ CSP3
23 / 40
24. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Theoretical model for CSP solving
Partial ordering :
Ω1
Application of a reduction :
domain reduction function or
Ω2
splitting function
Ω3
Set of CSP
Ω4
Ω5
Terminates with a fixed point : set of solutions or inconsistent CSP
24 / 40
25. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Motivation
• But : GA + CP + LS ?
=⇒ Notion of sample = generation
=⇒ Need to consider sample and individual at the same level :
CSP level
25 / 40
26. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Motivation
Reduced
search space Set of
possible
Valid neighborhood
configurations
of s
26 / 40
27. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Motivation
Reduced
search space Set of
possible
Valid neighborhood
configurations
of s
26 / 40
28. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Search Tree
CSP1
propagation
CSP1’
split
CSP2 CSP3
propagation
CSP2’ CSP3
split
CSP5
CSP4 CSP3
propagation
CSP5
CSP4 CSP3’
split
CSP6
CSP4 CSP5 CSP7 CSP8
propagation
CSP6’
CSP5 CSP7 CSP8
27 / 40
29. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Example : Local Search
CSP1 CSP2
Generate new samples CSP3 CSP5 CSP6 CSP7
CSP1 CSP2 CSP4 CSP8
CSP3 CSP5 CSP6 CSP7
CSP1 CSP2 CSP4 CSP8
Chose a sample
CSP3 CSP5 CSP6 CSP7
CSP1 CSP2 CSP4 CSP8
Generate new samples CSP7 CSP12
CSP10
CSP9 CSP11
CSP1 CSP6 CSP8
CSP7 CSP12
CSP10
CSP9 CSP11
CSP1 CSP6 CSP8
Chose a sample
CSP7 CSP12
CSP10
CSP9 CSP11
CSP1 CSP6 CSP8
28 / 40
30. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Example : Genetic algorithms
CSP3 CSP5
CSP1 CSP2 CSP4
Crossover CSP3 CSP5 CSP6
CSP1 CSP2 CSP4
Mutation CSP3 CSP5 CSP6 CSP7
CSP1 CSP2 CSP4
Selection CSP3 CSP5 CSP6 CSP7
CSP1 CSP4
29 / 40
31. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Break up methods
Basic components
• reducing is a search component
• splitting is a search component
• generating a neighborhood is a search component
• moving to sample is a search component
Basic behaviours
• splitting and generating a neighborhood
• reducing, selecting and moving to sample
30 / 40
32. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Basic fonctions
Sampling S :
P( X , C, P(D1 ) × · · · × P(Dn ) )
→ P( X , C, P(D1 ) × · · · × P(Dn ) )
{φ1 , . . . , φn } → {φ1 , . . . , φn , φn+1 }
s.t. ∃φi with φi φn+1
31 / 40
33. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Basic fonctions
Reducing R :
P( X , C, P(D1 ) × · · · × P(Dn ) )
→ P( X , C, P(D1 ) × · · · × P(Dn ) )
{φ1 , . . . , φi , . . . , φn } → {φ1 , . . . , φi , . . . , φn }
Where φi = ∅ or φ = X , C, Di and φ = X , C, Di s.t. Di ⊆ Di .
32 / 40
34. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Reduction functions (1)
Domain reduction (DR)
{φ1 , . . . , φi , . . . , φn } →DR {φ1 , . . . , φi , . . . , φn }
Where DR = Rm with m > 0
Split (SP)
{φ1 , . . . , φi , . . . , φn } →SP {φ1 , . . . , φ1 , . . . , φm , . . . , φn }
i i
Where SP = S m R
Local Search (LS)
{φ1 , . . . , φi , . . . , φn } →LS {φ1 , . . . , φi , . . . , φn }
Where LS = S m Rm−1
33 / 40
35. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Reduction functions (2) Genetic Algorithms
Crossover
{φ1 , . . . , φn } →CR {φ1 , . . . , φn , φn+1 }
Where CR = S
Mutation
{φ1 , . . . , φi , . . . , φn } →MU {φ1 , . . . , φi , . . . , φn }
Where MU = SR
Selection
{φ1 , . . . , φn } →SE {φ1 , . . . , φn }
Where SE = Rm .
34 / 40
36. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Examples
Memetic Algorithms
nbc samples are generated then some are used in a local
search process and finaly the population is reduced.
nbc p p nbmut taillepop n
(( S ( S R ) )R )
n times
Restrict population
local search
Generate Samples (crossover)
35 / 40
37. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Examples
Hybrid Algorithms
Local search, domains reduction, genetic algorithm and split
are executed sequentially.
n m l
( LS DR* GA SP )*
Until it reached a solution/all solutions/inconsistency
Split
Genetic Algorithm
Domain reduction
Local Search
36 / 40
38. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Properties
• a strategy is a sequence of words
∈ {DR, SP, LS, SE, CR, MU}
• is it finite sequences ?
• need conditions to avoid loops
37 / 40
39. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Conclusion
• A generic model for hybridizing complete (CP) and
incomplete (LS and GA) methods
• Implementation of modules working on the same structure
• Complementarity of methods : hybridization
38 / 40
40. SOLVING CSP HYBRID SOLVING : NEED A FRAMEWORK INTEGRATE SPLIT IN GI TO AN UNIFORM FRAMEWORK CONCLUSION
Modèle d’hybridation pour la résolution de CSP
ROADEF 2008, Clermont-Ferrand, France
Tony LAMBERT
LIFO, Rue Léonard de Vinci 45067 ORLEANS
Mercredi 27 février 2008
39 / 40