Constraint Satisfaction Problems and Multi

advertisement
School of Computer Science
Constraint Satisfaction Problems and
Multi-Objective Optimisation: first steps
Markus Wagner
Joint work with Tommaso Urli
(Università degli Studi di Udine)
Life Impact The University of Adelaide
Constraint Programming
A technology for declarative description and effective solving
of large, particularly combinatorial, problems especially in
areas of planning and scheduling.
History
• c-networks and c-satisfaction studied in AI since the ’70s
• Since the ’80s: systematic use of constraints
Programming: the process of the generation of requirements
(constraints) and solution of these requirements, by
specialized constraint solvers.
1
Applications
Examples
• Computer graphics (geometric coherence)
• Natural language processing (efficient parsing)
• Database systems (data consistency)
• Operations research (real-world)
• …
Current research
• Foundational issues
• Implementation aspects
• (new applications)
2
Constraints
What is a constraint?
Logical relation among variables
 restricts possible values that variables can take
 represents some partial knowledge about the variables of
interest
Properties
• Declarative (no computational procedure to enforce)
• Additive (order not of interest, just the conjunction)
• Non-directional (constraint on X,Y can be used to infer
constraint on X given a constraint on Y)
• Rarely independent
• …
3
Constraint Satisfaction Problem
A Constraint Satisfaction Problem (CSP) consist of:
• a set of variables X={x1,...,xn},
• for each variable xi, a finite set Di of possible values
(their domains),
• and a set of constraints restricting the values that the
variables can simultaneously take.
A solution to a CSP is an assignment of a value from its
domain to every variable, in such a way that every
constraint is satisfied.
(one assignment, all assignments, “best” assignment)
4
How to solve CSPs? (1/2)
Systematic search algorithms (slow)
• Generate and test, Backtracking (iteratively improvements)
Consistency techniques
• Binary constraints:
achieve node/arc/path consistency
Constraint propagation
• Forward checking
(prevent future conflicts,
earlier pruning)
• …
How to solve CSPs? (2/2)
Variable/value ordering
• "Deal with hard cases first: they can only get more difficult
if you put them off.”
And many other techniques…
Heuristic and stochastic algorithms
• Incrementally alter inconsistent value assignments
• Use “repair” or “hill-climbing” metaphor to move towards
more and more complete solutions
• Incomplete
6
Heuristic and stochastic algorithms
Guiding ideas
• hill climbing (better evaluation value) and gradient descent
• minimise the number of conflicts
• tabu search
• EAs, …
How to deal with constraints
• Transform constraints into an objective, and the EA pursues
the objective (indirect constraint handling)
• Enforcing a direct constraint handling in the EA (objective?)
• Mixed approach (optimise some objectives and satisfy
some constraints at the same time)
7
Our approach
Explore the benefits of using the multi-objective algorithm
AGE, which has proven to work 'relatively' independent of
the number of objectives.
Objectives
• Each constraint is a single objective
• the degree of violation becomes the objective value of a
solution (limits us to mathematical expressions)
Goal
• Find a solution that covers the origin.
Example…
8
Constraint 2
X = 5
Y = 1
Z = 4
Constraint 1
9
Constraint 2
X ∈ [ 5,10]
Y ∈ [-1, 1]
Z ∈ [ 4,40]
Constraint 1
10
Constraint 2
X
Y
Z
∈
X
∈
Y
∈
Z
X
[
Y∈
[
Z∈
[
∈
∈ [ , ]
, ]
∈
, ]
[,[5,10]
]
∈[-1,
[ ,1] ]
, ]
X ∈ […,…]
[ 4,40]
Y ∈ […,…]
Z ∈ […,…]
X ∈ […,…]
Y ∈ […,…]
Z ∈ […,…]
Constraint 1
11
Constraint 2
X ∈ [ 5,5+a]
Y ∈ [ 0, a]
Z ∈ [ 8,8+a]
X
Y
Z
∈
X
∈
Y
∈
Z
X
[
Y∈
[
Z∈
[
∈
∈ [ , ]
, ]
∈
, ]
[,[5,10]
]
∈[-1,
[ ,1] ]
, ]
[ 4,40]
X ∈ […,…]
Y ∈ […,…]
Z ∈ […,…]
Constraint 1
12
Status
• We can solve very easy instances (but are too slow)
• We do not want to beat other CSP-EAs (“trivial”), but
“proper solvers”.
Problem
• archive grows quickly (AGE technicality), slowing us down
• So far: general purpose variation operators
Next steps
• Interval arithmetic and problem-specific variation operators
• Hybridization of a “proper solver” with our approach as a
heuristic
• Identify strengths and weaknesses (Fuzzy/weighted CSP?) 13
Download