School of Computer Science
Life Impact The University of Adelaide
Markus Wagner
Joint work with Tommaso Urli(Università degli Studi di Udine)
Constraint Satisfaction Problems and Multi-Objective Optimisation: first steps
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.
2
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)
3
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• … 4
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)
5
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
7
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)
8
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…9
X [ , ]∈Y [ , ]∈Z [ , ]∈
X [ , ]∈Y [ , ]∈Z [ , ]∈
X […,…]∈Y […,…]∈Z […,…]∈
Constraint 1
12
Const
rain
t 2
X [ 5,10]∈Y [-1, 1]∈Z [ 4,40]∈
X […,…]∈Y […,…]∈Z […,…]∈
X [ , ]∈Y [ , ]∈Z [ , ]∈
X [ , ]∈Y [ , ]∈Z [ , ]∈
Constraint 1
13
Const
rain
t 2
X [ 5,10]∈Y [-1, 1]∈Z [ 4,40]∈
X [ 5,5+a]∈Y [ 0, a]∈Z [ 8,8+a]∈ X […,…]∈
Y […,…]∈Z […,…]∈
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?) 14