Presentation is loading. Please wait.

Presentation is loading. Please wait.

Paper Presentation Classroom Assignment using Constraint Logic Programming [Slim Abdennadher, Matthias Saft, Sebastian Will] University of Munich Presented.

Similar presentations


Presentation on theme: "Paper Presentation Classroom Assignment using Constraint Logic Programming [Slim Abdennadher, Matthias Saft, Sebastian Will] University of Munich Presented."— Presentation transcript:

1 Paper Presentation Classroom Assignment using Constraint Logic Programming [Slim Abdennadher, Matthias Saft, Sebastian Will] University of Munich Presented by: Amira Gamal Eldin 13 July 2006

2 Introduction Discussion problem: scheduling a set of courses into a fixed number of rooms, given a fixed timetable. Using CLP: adapts to changing scheduling characteristics RoomPlan System (2000): for room scheduling in the University of Munich, Computer Science department, maximum of 1000 courses

3 How? Solution uses “ glass-box ” approach using CHR, to write our own constraint solver. Hard Constraints: conditions that must be satisfied. Soft Constraints: satisfied as far as possible. Quality: measures the set of satisfied constraints.

4 Constraint Model Each constraint is given a weight  to express its importance. Wishes are expressed as: Wish(Type, CourseDate, Wished, Weight) WHERE: Type = wish type (room, building, equipment) CourseDate = course date identifier Wished = instance of the wish Weight = weight/importance of wish

5 Hard Constraints Given infinite weight E.g. Occupation time of a room by courses must not overlap all_distinct(course_date_variables) Assigning a course date variable to the wished room: assignment(CDate,CDateVar), CDateVar::Dom, wish(room, CDate, RoomWish, infinite) assignment(CDate, CDateVar), CDateVar :: Dom, CDateVar :: [RoomWish]. (binding the room to the wished room + removes the wish)

6 Soft Constraints Example of rule handling already satisfied soft constraints assignment(CDate,CDateVar), CDateVar::[RoomWish], wish(room,CDate,RoomWish,Weight), scoreWish(Up) Weight \== infinte, | assignment(CDate,CDateVar), CDateVar::[RoomWish].

7 Soft Constraints II Example rule where the room constraint is violated (wished room is not contained in the domain of the course date variable) so the upper bound of the score is decreased. assignment(CDate,CDateVar), CDateVar::Dom, wish(room, CDate, RoomWish, Weight), scoreWish(Up) Weight \== infinte, \+member (RoomWish, Dom) | assignment(CDate,CDateVar), CDateVar :: Dom, scoreWish(Up-Weight).

8 Soft Constraints III Wish score to use? score(A),score(B) A=<B | score(A) (remove larger of two upper bounds) To fail whenever the score of an assignment in a current branch is better than the last score: Last_score(LastScore), score(Up) LastScore >= Up | false

9 Conclusion RoomPlan System was developed using Sicstus Prolog, and its interface using Java AWT 1.1. CHR was used to extend the existing finite domain solver to deal with soft constraints. The system dealt with different constraints by giving them weights and calculating the cost function during the propagation of constraints. Equations were used to calculate the strength of the soft constraints.


Download ppt "Paper Presentation Classroom Assignment using Constraint Logic Programming [Slim Abdennadher, Matthias Saft, Sebastian Will] University of Munich Presented."

Similar presentations


Ads by Google