1 / 15

Markus Wagner Joint work with Tommaso Urli (Università degli Studi di Udine)

Constraint Satisfaction Problems and Multi-Objective Optimisation: first steps. Markus Wagner Joint work with Tommaso Urli (Università degli Studi di Udine). Constraint Programming.

Download Presentation

Markus Wagner Joint work with Tommaso Urli (Università degli Studi di Udine)

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 Satisfaction Problems and Multi-Objective Optimisation: first steps Markus Wagner Joint work with Tommaso Urli(Università degli Studi di Udine)

  2. 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.

  3. 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)

  4. 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 • …

  5. 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)

  6. 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) • …

  7. 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

  8. 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)

  9. 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…

  10. Constraint 2 Constraint 1 X = 5 Y = 1 Z = 4

  11. Constraint 2 Constraint 1 X ∈ [ 5,10] Y ∈ [-1, 1] Z ∈ [ 4,40]

  12. Constraint 2 X ∈ […,…] Y ∈ […,…] Z ∈ […,…] Constraint 1 X ∈ [ 5,10] Y ∈ [-1, 1] Z ∈ [ 4,40] X ∈ [ , ] Y ∈ [ , ] Z ∈ [ , ] X ∈ […,…] Y ∈ […,…] Z ∈ […,…] X ∈ [ , ] Y ∈ [ , ] Z ∈ [ , ]

  13. Constraint 2 Constraint 1 X ∈ [ 5,10] Y ∈ [-1, 1] Z ∈ [ 4,40] X ∈ [ , ] Y ∈ [ , ] Z ∈ [ , ] X ∈ […,…] Y ∈ […,…] Z ∈ […,…] X ∈ [ , ] Y ∈ [ , ] Z ∈ [ , ] X ∈ [ 5,5+a] Y ∈ [ 0, a] Z ∈ [ 8,8+a]

  14. 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?)

More Related