7th International Workshop on
Deductive Databases and Logic Programming - DDLP'992nd International Workshop on
Optimization and Simulation of Complex Industrial Systems.
Extensions and Applications of Constraint-Logic Programming - OSC'99
Slim Abdennadher (Univ. Munich, Germany)We first introduce the basic ideas behind the family of constraint logic programming languages. Then we give a motivating example, syntax and semantics of Constraint Handling Rules, a special purpose language that will allow you to specify and implement constraint solvers at a high level of abstraction.
Solving Combinatorial Optimization Problems using Constraint Handling Rules
In this way, we will present the most common constraint domain and its solver: finite domains for scheduling.
The application we will demonstrate is a system solving the timetabling problem of universities. Timetabling the courses offered at a department of a University requires the processing of hard and soft constraints. Hard constraints are conditions that must be satisfied, soft constraints however may be violated, but should be satisfied as much as possible. In this talk, we show how to model the timetabling problem as a partial constraint satisfaction problem and give a concise finite domain solver implemented with Constraint Handling Rules that, by performing soft constraint propagation, allows for making soft constraints an active part of the problem solving process.
Henning Christiansen (Roskilde University, Denmark)Constraints solvers and constraints handling rules are a wellcome extension to logic programming that provides an enhanced expressibility and improved computational behaviour. In this talk we consider the representation of database integrity constraints as constraints in logic programming.
Integrity Constraints & Constraint Logic Programming
The constraint solver provides a partial evaluation of the integrity constraint leading statements about, e.g., a particular database, a particular update (similarly to earlier methods called simplification), or a particular query which can be read as an intentional answer.
Typical integrity constraints are global statements about the database and thus inherently inefficient to evaluate for a database update. The use of constraint logic provides an incremental evaluation of integrity constraints, typically removing one order of magnitude compared to a full evaluation of integrity constraints for each update.