Workshops of the

International Conference on Applications of Prolog - INAP'99

Tokyo, Japan, September 3-5, 1999

7th International Workshop on

Deductive Databases and Logic Programming - DDLP'99

2nd International Workshop on

Optimization and Simulation of Complex Industrial Systems.
Extensions and Applications of Constraint-Logic Programming - OSC'99

Supported by CompulogNet

Invited Talks

Slim Abdennadher (Univ. Munich, Germany)
Solving Combinatorial Optimization Problems using Constraint Handling Rules

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.
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)
Integrity Constraints & Constraint Logic Programming

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