Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

University Timetabling System Development with Evolution Strategies and Simulated Annealin, Study notes of Computer Science

The development of a university timetabling system using evolution strategies and simulated annealing algorithms. The system takes teacher schedules and student survey data as input and optimizes the assignment of time slots to classes based on constraints. Two types of constraints, strict and generous, are introduced to optimize the score. The document also includes sample results and algorithms for both evolution strategies and simulated annealing.

Typology: Study notes

Pre 2010

Uploaded on 08/07/2009

koofers-user-rvx
koofers-user-rvx 🇺🇸

10 documents

1 / 14

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Development of University Timetabling System By
Using Evolution Strategies and Simulated Annealing
Endi Wu
EDS PLM Solutions
Troy, MI USA
Endi.wu@ugs.com
Submitted to Dr. Chan-Jin Chung, LTU/MCS Department, in partial fulfillment of the requirements for
MCS 7033 Collaborative Research Project II class in Fall 2001
1. System Input Format
There are two files needed to create for scheduling. One is teacher schedule file that
includes time slots, room available, and teacher’s preference for the class. The other is
student survey data that includes time preferred by student for classes. The structure of
two files as follows:
Teacher schedule file:
T0 T1 T2 T3
3
C0 *
C1 *
C2 *
C3 T0
C4 T1
Class taught time, * means can be
taught at any time, otherwise, this class
can be taught at only that specific time
R
oo
m
s
ava
il
ab
l
e
at
o
n
e
t
im
e
s
l
ot
Tim
e
s
l
ots
ava
il
ab
l
e
Student survey file:
0 C1 T1
1 C1 T0
2 C1 T2
3 C1 T1
4 C2 T1
5 C3 T0
6 C4 T1
Class ID
Preferable Time
Student ID
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Partial preview of the text

Download University Timetabling System Development with Evolution Strategies and Simulated Annealin and more Study notes Computer Science in PDF only on Docsity!

Development of University Timetabling System By

Using Evolution Strategies and Simulated Annealing

Endi Wu

EDS PLM Solutions Troy, MI USA Endi.wu@ugs.com

Submitted to Dr. Chan-Jin Chung, LTU/MCS Department, in partial fulfillment of the requirements for MCS 7033 Collaborative Research Project II class in Fall 2001

1. System Input Format

There are two files needed to create for scheduling. One is teacher schedule file that includes time slots, room available, and teacher’s preference for the class. The other is student survey data that includes time preferred by student for classes. The structure of two files as follows:

Teacher schedule file:

T0 T1 T2 T

C0 *

C1 *

C2 *

C3 T

C4 T

Class taught time, * means can be taught at any time, otherwise, this class can be taught at only that specific time

Rooms available at one time slot

Time slots available

Student survey file:

0 C1 T

1 C1 T

2 C1 T

3 C1 T

4 C2 T

5 C3 T

6 C4 T

Class ID

Preferable Time

Student ID

2. Algorithm

Timetabling is the assignment of time slots to a set of events, subject to constraints on these assignments. The NP-complete classes and time slots that bring highest score is a constraint satisfaction problem after evaluating student preferable time. Here I introduce two algorithms with different kinds of constraints to optimize the score.

2.1 Evolutionary Algorithm, 1 plus 1 Basic algorithm is initialize one schedule, using this schedule to generate another schedule by random method, compare two schedule, higher score schedule will survive and generate next schedule until no generate can be produced. During the reproducing, a legal schedule needs to be found such that no room is expected to accommodate more than one class at a time. The constraints for this problem can be hard (strict) or generous.

2.1.1 Strict rule Strict constraints are usually constraints that physically cannot be violated. This includes events that must not overlap in time, such as:  Class must be taught by the specified time appointed by professor  One class taught by only one time

Algorithm

Schedule(parent)=Initialize schedule (init file )

For gen=1 to Maximum generation do Schedule(child) = generate(Schedule(parent)) While HardConstraint(Schedule(child) return ture If ( Score(Schedule(child) ) < Score(Schedule(parent)) ) Schedule(parent) = Schdule(child) End for

2.1.2 Generous rule Generous constraints are usually constraints that can be violated in certain range. Because sometime illegal schedule will be adjusted to good result

Algorithm

Schedule(parent) = Initialize schedule (init file )

For gen=1 to Maximum generation

Schedule(child)=generate(Schedule(parent))

if (GeneralConstraint(Schedule(child))

2.2.1 Strict rule

Algorithm

Initialize T

Generate random configuration X (^) old

WHILE T > T (^) min DO FOR i = 1 to Nc DO

generate new configuration, X (^) new

IF (! HighContraint(X (^) new ) ) IF (inRange) X (^) old = X (^) new ENDIF ELSE continues

ENDIF ELSE

calculate new score, E (^) new

calculate E = E (^) new – E (^) old IF E < 0 or random < prob = e - E/T^ THEN

X (^) old = X (^) new E (^) old = E (^) new END IF END FOR

reduce T END WHILE

2.2.2 Generous rule

Algorithm

Initialize T

Generate random configuration X (^) old

WHILE T > T (^) min DO FOR i = 1 to Nc DO

generate new configuration, X (^) new

IF (! HighContraint(X (^) new ) ) Break; ENDIF ELSE

calculate new score, E (^) new

calculate E = E (^) new – E (^) old IF E < 0 or random < prob = e - E/T^ THEN

X (^) old = X (^) new E (^) old = E (^) new END IF END FOR

reduce T END WHILE

3. Sample Result

Sample Result Include

Large number of classes

  1. EC Strict with 150 classes, 2760 preferable time 2. EC Generous with 150 classes, 2760 preferable time
  2. SA Strict with 150 classes, 2760 preferable time
  3. SA Generous with 150 classes, 2760 preferable time (Picture only)

Medium number of classes

  1. SA Strict with 150 classes, 1337 preferable time
  2. SA Generous with 150 classes, 1337 preferable time
  3. EC Strict with 150 classes, 1337 preferable time 8. EC Generous with 150 classes, 1337 preferable time (Picture only)

Small number of classes

  1. EC Strict with 2 classes, 43 preferable time 10. EC Generous with 2 classes, 43 preferable time
  2. SA Strict with 2 classes, 43 preferable time
  3. SA Generous with 2 classes, 43 preferable time (Picture, final class assignment using program and manpower)

Class Assignment using program:

  1. EC Strict with 2 classes, 43 preferable time Result:

C0 T C1 T Score: 20

2. EC Generous with 2 classes, 43 preferable time Result:

C0 T C1 T Score: 20

  1. SA Strict with 2 classes, 43 preferable time Result:

C0 T C1 T Score: 20

  1. SA Generous with 2 classes, 43 preferable time Result:

C0 T C1 T Score: 20

Class assignment using manual calculation

C0 C


T0 T0 6+5 = T0 T1 6+10= T0 T2 6+7= T1 T0 5+5= T1 T1 5+10= T1 T2 5+7 = T2 T0 10+5= T2 T1 10+10= T2 T2 10+7=

So result:

C0 T C1 T Maximum Score = 20

4. Summary Results 1. Evolution Strategies (ES) with 1/5 rule performs better than Simulated Annealing (SA) according to the graph result from large to medium size of classes. 2. Generous rule is approach to handle illegal schedules, which works fine with both ES and SA. 3. ES with Generous rule once gave the best result ever found before while I was testing the system. For 150 classes, it gave about 460.