fuzzy multiple heuristic ordering for course timetabling

27
1 Fuzzy Multiple Heuristic Ordering for Course Timetabling Hishammuddin Asmuni Edmund 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

Upload: elmo

Post on 22-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

UKCI2005 – London, UK. Fuzzy Multiple Heuristic Ordering for Course Timetabling. Hishammuddin Asmuni Edmund K. Burke Jonathan M. Garibaldi. Automated Scheduling, optimisAtion and Planning (ASAP) Group, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 2: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

2

Outline

• Introduction to Timetabling Problem• Graph Based Heuristic Ordering• Sequential Construction Algorithm• Fuzzy Modeling• Experimental Results

• Problem Definitions• Results

• Conclusions and Future Work

Page 3: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 4: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 5: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 6: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 7: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 8: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 9: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 10: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 11: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 12: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 13: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 14: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 15: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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 :

Page 16: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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 :

Page 17: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 18: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 19: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 20: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 21: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 22: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

22

Thank You

UKCI2005 – London, UK

Fuzzy Multiple Heuristic Ordering

for Course Timetabling

Page 23: 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.

Page 24: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 25: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 26: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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

Page 27: Fuzzy Multiple Heuristic Ordering  for Course Timetabling

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