1
Fuzzy Multiple Heuristic Ordering for Course Timetabling
Hishammuddin AsmuniEdmund K. Burke
Jonathan M. Garibaldi
UKCI2005 – London, UK
Automated Scheduling, optimisAtion and Planning (ASAP) Group, School of Computer Science and IT
University of Nottingham Jubilee Campus, Wollaton Road
Nottingham, NG8 1BB, UK
2
Outline
• Introduction to Timetabling Problem• Graph Based Heuristic Ordering• Sequential Construction Algorithm• Fuzzy Modeling• Experimental Results
• Problem Definitions• Results
• Conclusions and Future Work
3
Course Timetabling ProblemMonday Tuesday Wednesday Thursday Friday
S1 C1S2 C2S3 C3S4 C4S5 C5. .. .. .. CN
ST
Time slot 1Time slot 2
C1 C2 C3 C4
C1 S1 S1S3 S3
C2 S1 S1S4 S4
C3 S1S3 S1S4 S3S4
C4 S3 S4 S3S4
Assign the set of events to time slots, subjects to specified constraints
Which event should be scheduled first ?
• randomly• based on how difficult to schedule the event
4
Graph Based Heuristic OrderingC1 C2 C3 C4
C1 9 5
C2 7
C3 9 3
C4 5 7 3 C4
C1
C3
C2
Largest Degree (LD) First
The degree of an event is simply a count of the number of other events which conflict in the sense that students are enrolled in both events. This heuristic orders events in terms of those with the highest degree first
Heuristic use to measure event difficulties to be scheduled:
C4
C1
C3
C2
5
Graph Based Heuristic OrderingC1 C2 C3 C4
C1 9 5
C2 7
C3 9 3
C4 5 7 3 C4
C1
C3
C2
Heuristic use to measure event difficulties to be scheduled:
Weighted Largest Degree (WLD) First
This heuristic also based on LD. Beside the number of events in conflict, the total number of students involved in the conflict are taken into account as well.
C4
C1
C3
C2
6
Graph Based Heuristic OrderingC1 C2 C3 C4
C1 9 5
C2 7
C3 9 3
C4 5 7 3 C4
C1
C3
C2
Heuristic use to measure event difficulties to be scheduled:Largest Coloured Degree (LCD) First
This heuristic is based on LD. For this heuristic, only events which already assigned to the schedule are considered as the events which will cause conflict.
C4
C1
C3
C2
7
Graph Based Heuristic OrderingC1 C2 C3 C4
C1 9 5
C2 7
C3 9 3
C4 5 7 3 C4
C1
C3
C2
Heuristic use to measure event difficulties to be scheduled:
Largest Enrollment (LE) First
The number of students enrolled for each event is used to order the events (the highest number of student first).
C4
C1
C3
C2
8
Graph Based Heuristic OrderingC1 C2 C3 C4
C1 9 5
C2 7
C3 9 3
C4 5 7 3 C4
C1
C3
C2
Heuristic use to measure event difficulties to be scheduled:Least Saturation Degree (SD) First
The number of time slots available is used to order the events. The basic motivation is that events with less time slots available are more likely to be difficult to be scheduled. The fewer time slots that are available, the higher up the ordering is the event.
C4
C1
C3
C2
9
Fuzzy ModelingChoose heuristics combination from
heuristic list – SD, LD, LE, wLD and LCD
Generate fuzzy rules that related to heuristics chosen.
Define fuzzy membership functions for each heuristic
Sequential Constructive Algorithm
Calculate events difficulty to be scheduled
Problem Definitions
Constructive Initial Solution
Iterative improvement
‘Optimal’ Solution
Assign event to timeslot
Anymore events?
Reorder events
Ordered events with decreasingly difficulty
Yes No
General Framework
Non-fuzzy single heuristic ordering
10
Rescheduling scheduled events
1 2 3 4 . . . P
Unscheduled events
Insert event ex
List of events that conflict with exBump back event
move event to other timeslot
11
Sequential Constructive Algorithm Fuzzy ModelingChoose heuristics combination from
heuristic list – SD, LD, LE, wLD and LCD
Generate fuzzy rules that related to heuristics chosen.
Define fuzzy membership functions for each heuristic
Calculate events difficulty to be scheduled
Problem Definitions
Constructive Initial Solution
Iterative improvement
‘Optimal’ Solution
Assign event to timeslot
Anymore events?
Reorder events
Ordered events with decreasingly difficulty
Yes No
Fuzzy Multiple Heuristic Ordering
Non-fuzzy Single Heuristic Ordering
12
Fuzzy Model – Fixed Fuzzy Rules
LE LDS M H
SD SD SDS M H S M H S M H
S S VS VS S S VS M S SM S S VS H M M H M MH H S S H M M VH H M
S - SmallM - MediumH – HighVS – Very SmallVH – Very High
If LD is High and SD is Small and LE is High then examweight is Very High
13
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium high
cp
Fuzzy Model - Membership Function
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium high
cp
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium
cp
0
0.5
1
0 1
small medium high
cp
TUNING !
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium high
cp
14
Problem Definition (1) : Data set
Dataset No of courses
No of Students
No of rooms
Small1 100 80 5Small2 100 80 5Small3 100 80 5Small4 100 80 5Small5 100 80 5Medium1 400 200 10Medium2 400 200 10Medium3 400 200 10Medium4 400 200 10Medium5 400 200 10Large 400 400 10
15
Problem Definition (2)
1. No student is required to attend more than one course at the same time2. A course can only be scheduled to a room which satisfies the features required by the course3. A course can only be scheduled to a room which has enough room to accommodate all students registered for it4. Only one course can be scheduled in one room at any time slot
Task - Assign courses to time slots that must satisfy the
following hard constraints :
16
Problem Definition (3)
1. No student should be scheduled to attend only one course on a day
2. No course should be scheduled at the last time slot of the day for any student
3. No student should be scheduled to attend more than two courses consecutively in any one day
Objective -
Minimise violation of the following soft constraints :
17 Experimental Results : Comparison of solution quality
Single Heuristic Ordering
Dataset Best Fuzzy LD SD LCD LE WLD
Small1 10 78 31 48 79 80
Small2 9 45 44 55 34 52
Small3 7 28 30 42 41 27
Small4 17 42 50 48 51 48Small5 7 41 29 74 43 47
Medium1 243 423 345 433 465 445
Medium2 325 - 398 - - -Medium3 249 - 298 - - -Medium4 285 - 403 - - -Medium5 132 296 252 307 399 445Large 1138 - - - - -
- : infeasible solution
18 Experimental Results : Comparison of number of “rescheduling procedures”
Single Heuristic Ordering
Dataset Best Fuzzy LD SD LCD LE WLD
Small1 0 0 0 0 0 0
Small2 0 0 0 0 0 0
Small3 0 0 0 0 0 0
Small4 0 0 0 0 0 0Small5 0 0 0 0 0 0
Medium1 0 40 0 122 60 59
Medium2 0 200* 0 200* 200* 200*Medium3 0 200* 0 200* 200* 200*Medium4 1 200* 0 200* 200* 200*Medium5 0 2 0 51 41 40Large 307 500* 500* 500* 500* 500*
* : maximum number of “rescheduling procedures” allowed
19 Experimental Results : Comparison with other methods
Dataset Our Best Results
Graph Based Hyper
Heuristic
VNS with Randomized Improvement
Tabu Search Hyper
Heuristic
Local Search
Ant Algorithm
Small1 10 6 0 1 8 1
Small2 9 7 0 2 11 3
Small3 7 3 0 0 8 1
Small4 17 3 0 1 7 1
Small5 7 4 0 0 5 0
Medium1 243 372 242 146 199 195
Medium2 325 419 161 173 202.5 184
Medium3 249 359 265 267 - 248
Medium4 285 348 181 169 177.5 164.5
Medium5 132 171 151 303 - 219.5
Large 1138 1068 - 1166 - 851.5
20
Conclusions
•Better solutions can be produced when events are ordered by several heuristic ordering simultaneously
•Tuning the fuzzy model can improve the performance
•No generic fuzzy model that suits all the datasets
21
Future Work
• investigating other combinations of heuristic ordering
• investigating different sets of fuzzy rules and fuzzy membership functions
• exploring the use of more sophisticated optimization algorithms to search for optimal fuzzy model
22
Thank You
UKCI2005 – London, UK
Fuzzy Multiple Heuristic Ordering
for Course Timetabling
23
Linear Weighting
W(ej) = wdLDj + weLEj + wsSDj where j = 1,2, . . . N; wd= we = ws= {0.0, 0.1, …, 1.0} if N <= 400; or wd= we= ws= {0.0, 0.25, 0.5, 0.75, 1.0} if N > 400; and wd, we, ws are weighting factors for LD, LE and SD respectively.
24
Heuristic Ordering : single vs multiple
LD LEe1 30 40e2 10 30e3 50 20e4 20 35e5 39 10e6 10 43e7 10 20e8 19 25e9 27 15e10 45 30
LD LEe3 50 20e10 45 30e5 39 10e1 30 40e9 27 15e4 20 35e8 19 25e2 10 30e6 10 43e7 10 20
LD LEe6 10 43e1 30 40e4 20 35e2 10 30e10 45 30e8 19 25e7 10 20e3 50 20e9 27 15e5 39 10
LD LE weighte10 45 30 0.7e3 50 20 0.6e1 30 40 0.55e5 39 10 0.52e4 20 35 0.5e6 10 43 0.5e9 27 15 0.47e8 19 25 0.47e2 10 30 0.4e7 10 20 0.35
unordered orderedby LD
orderedby LE
orderedby
weight
Heuristic ordering use to measure the difficulty to schedule an event:• largest degree (LD) - number of other events in conflict • Largest enrolment (LE) - number of students enrolled • Saturation degree (SD) - number of clash free timeslots available
25
Fuzzy Inference Graphics representation:
w2
T-norm
w1
C’weight
z is zCOA
LD LELD is 7 LE is 35Crisp value
high
weight
medium high
LD LE
Rule 1 If LD is medium AND LE is high then weight is high
fast
weight
small medium
LD LE
Rule 2 If LD is small AND LE is medium then weight is medium
26
Best Membership FunctionsCAR-F-92
CAR-S-91
HEC-S-92
saturation degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
mediumsmall
largest enrollment
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
examw eight
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium high
largest degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium high
saturation degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
largest enrollment
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
examw eight
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium high
largest degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
highmediumsmall
saturation degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
largest enrollment
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
examw eight
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium high
27
Best Membership Functions (continue)STA-F-83
UTA-S-92
YOR-F-83
largest degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small highmedium
saturation degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
largest enrollment
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
examw eight
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium high
largest degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small highmedium
saturation degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
largest enrollment
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
examw eight
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium high
largest degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
saturation degree
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
largest enrollment
0
0.5
1
0 0.2 0.4 0.6 0.8 1
medium highsmall
examw eight
0
0.5
1
0 0.2 0.4 0.6 0.8 1
small medium high