JURNAL TEKNOLOGI MAKLUMAT DAN SAINS KUANTITATIF

advertisement
Jilid4,BH. 1,2002
JURNAL
TEKNOLOGI
MAKLUMAT
DAN SAINS
KUANTITATIF
Kandungan
Muka Surat
The effects of nonnormality on the performance of the linear
discriminant function for two dependent populations
Yap Bee Wah, Ong Seng Huat
Examination timetabling with genetic algorithms
Azman Yasin, Nusnasran Puteh, Hatim Mohamad Tahir
Numerical solution for one dimensional thermal problems
using the finite element method
Hisham Bin Md. Basir
1
1
11
25
y
,.
LJ
Pemodelan tuntutan insurans bagi perbelanjaan perubatan
(kajian kes)
Noriszura Hj. Ismail, Yeoh Sing Yee
Applications of leverenz theorem in univalent functions
i$lh' Aishah Sheikh Abdullah
Keutamaan pemilihan bidang dan tempat pengajian:
Pendekatan konjoin kabur
Nadzri Bin Mohamad, Abu Osman Bin Md. Tap
Universiti Teknologi MARA
45
59
67
2H^^
Jurnal Tek. Makiumai & Sains Ivuaraitatif Jilid 4. Bil. I. 2002 {11 -24)
Examination timetabling with genetic algorithms
A z m a n Yasin
Nurnasran Puteh
H a t i m M o h a m a d Tahir
School of Information Technology, Universiti Utara Malaysia, 06010 Sintok, Kedah
Abstract
Timetabling is a scheduling activity which is considered a difficult task. The search space is extremely large and
thus, it takes a considerable human time and effort to obtain a feasible solution. There are various techniques
that have been used to automate the construction of examination timetables. This research investigates the use
of Genetic Algorithms (GAs) in scheduling final examination timetable for the distance-learning unit (Unit
Pendidikan Jarak Jauh-UPJJ) in Universiti Utara Malaysia (UUM).
There are two kinds of constraints involved. The first is the hard constraint, which must be fulfilled
for the timetable to be feasible. In this case there must be no student clash. The second is the soft constraint,
which can be violated but still maintains the feasibility of the solution, ie. there should be no student with three
exams in a row.
First we develop a GA timetable system using a client-server model. We then run the system with
multiple concurrent clients, each with different GAs parameters but with the same number of exam time slots.
We found that the system is not only capable of producing several feasible solutions to the user but also produces
them in a reasonable amount of time. Finally, we investigate the effect of varying the GAs operators to the
obtained feasible solution.
Keywords: Genetic Algorithms; Time-tabling; Client-server
1.
Introduction
The main objective in generating examination timetable is to ensure that resources are shared efficiently
so that all requirements and constraints are fulfilled within a limited time. This is a difficult task that
is particularly challenging in the field of artificial intelligence and expert systems. It is considered as
computationally N P c o m p l e t e orNondeterministic Polynomia problem (E. G. CofFman, 1976; Davis,
1991).
Generating examination timetable is a problem of scheduling a set of events such as exams,
lectures and tutorials to specific time slots and at the same time it must fulfill certain constraints such
as no person or resource can be in more than one location at the same time and there should be
enough space available in each location for the number of people expected to be there. There are
e-mail: yazman(fl uum.edu.my; nasranio uum.edu.my; hatimf« uum.edu.my
12
many methods to find some satisfying solution (i.e. not necessarily the best solution), for example
hill climbing, tabu search, simulated annealing and genetic algorithm.
The current system of generating exam timetables in Universiti Utara Malaysia uses the
clustering and heuristic method. The search space is extremely large and thus, it takes a considerable
human time and effort to obtain a feasible solution. Although it can produce good exam timetable,
the process is tedious.
This research investigates the behaviour and performance of using Genetic Algorithms
(GAs) as a method of generating examination timetable. The scheduling problem studied was for
the UUM BBA Distance Learning (UPJJ) final examination.
2.
Background and related work
There have been numerous studies related to the problem of generating timetable using Genetic
Algorithm. One of the first applications presented is in Abramson & Abela (1991). The problem that
has to be solved was scheduling classes, teachers, and rooms into a fixed number of periods, in such
a way that no teacher, class and room was used more than once in a period. The timetable was
represented as a fixed set of 3_tuples each containing a class number, a teacher number and a room
number. A label replacement algorithm is used in order to solve two inherited problems. A parallel
algorithm was used during the process of generating new population. Results show that the application
of parallelism in this manner can speed up the timetabling solution quite dramatically.
In Corne et al. (1992) a solution to the timetabling problem known as Modular Exam
Scheduling Problem (MESP) was described. MESP refers to examinations scheduling problem for
students by considering several constraints such as that no student should take more than one exam
at a time, each student should take if possible not more than two exams in one day, otherwise the
exams should not be in consecutive slots, etc. This problem was represented by using chromosome
with its length equal to the number of examinations (or events) and each position with a related
value. Several experiments have been performed with different variations of the GA. The reported
results were encouraging given that they are better than the ones produced by the course organizers.
Ross et al. (1994) gives specific details of continuing work carried out on solving
timetabling problems by genetic algorithms. The work presents possible variations of the parameters
of the genetic algorithm and the results obtained when applied to real timetabling problems. The
paper presents several variations that have been found to be the most appropriate to run GAs in the
timetabling problem.
Other aspects of handling constrained problems with genetic algorithms are presented in
Richardson et al. (1989). The paper provides some guidelines for constructing penalty functions in
Genetic Algorithms. A technique for three dimensional problems using planes and derivative is
proposed. Meanwhile Michalewicz & Janikow (1991) described the used of linear constraints to
solved constrained problem. Their systems are called GENECOP.
The Procedings First International Conference on the Practice and Theory of Automated
Timetabling (Burke & Ross, 1996) contains several papers related to the application of GAs to the
solution of the Timetabling Problem (TTP). Ergul (1996) for example, shows an application of GAs
to solve two real instances of examinations scheduling in a Technical University in Turkey.
Burke (1996) presents a memetic algorithm to solve the Exam Timetabling Problem (ETTP).
The memetic algorithm uses special ways for generating the initial population, special kinds of
mutation operators such as the light mutation and heavy mutation in combination with hillclimbing
which are used to reschedule examinations from one period to another.
13
The work reported by Paechter et al. in (1996) introduces the extensions to a memetic
algorithm using suggestion lists of possible timeslots for each event to solve a lecture and tutorial
TTP. The system was tested for an instance of a real problem with 525 events and results show that
the selfish and cooperative mutation operators are useful to increase the quality of the algorithm
presented. A recombination operator based on the Formal Theory of memetic algorithm introduced
by Radcliffe et al. (1992) called respect and assortment produces a suggestion list for each child
which keeps an ancestral tree (from parents, grandparents, etc) of suggestions. In particular, it is
interesting to look at the use of GAs to solve TTP, since usually conventional methods are inadequate
when other constraints, besides the edge constraint, are simultaneously considered. Therefore, for
simple graph_colouring problems it is useful to investigate in detail whether GAs can do well. Work
in this direction has been carried out by Terashima (1995) and Eiben et al. (1998).
3.
Methodology
A general timetabling problem is one where events (el,e2...) have to be performed at specific times
(tl,t2...). In the distance learning BBA final exam timetabling problem, the events are exams, and the
times are separate time slots. There are two time slots per day. Thus, if the exams are to be scheduled
in five days, there are altogether 10 time slots that are numbered from 1 to 10. We apply Genetic
Algorithms to the yearly BBA final exam timetable-scheduling problem, optimizing a timetable so
as to avoid students' clashes and maximize individual students' rest period between exams. The
format of actual time slots allocated is shown in Table 1.
Table 1: Actual time slots allocation
TIMETABLE
Time Slot
AM
9.00- 11.30
PM
2.00 - 5.30
There are two kinds of constraints: (i) hard constraint and (ii) soft constraint. The hard
constraint is that a student cannot take two different exams at the same time. Whereas, the soft
constraint is that students should not have three or more exams in a row.
Using Genetic Algorithms we choose to represent a solution as a chromosome with subjects/
courses as its genes. Each gene is assigned with a random number that represents a time slot allocated
for the subject. For example, if there are six subjects in the exam which are scheduled in a period of
two days (four time slots), a chromosome in this case will have six genes and each gene will have a
random integer number which value range from one to four. Figure 1 below shows an instance of a
chromosome described.
Figure 1: A chromosome with length of six genes.
14
Figure 1 represents a timetable (not necessary a good one!), where subject 1 is held in time slot 3,
subject 2 is in time slot 1, subject 3 is in time slot 2, subject 4 is in time slot 2, subject 5 is in time
slot 4 and subject 6 is in time slot 1.
3.1
Fitness evaluation
Once a population of chromosomes has been generated, the fitness of each individual chromosome
must be computed. In our case, the fitness is a single integer number where its value is proportional
to the ability of the chromosome represents in fulfilling all the constraints. To construct the fitness
function, we choose an approach that uses a penalty function that computes the fitness as (constant penalty) (Goldberg, 1989). Initially, each chromosome in the population is assigned with a constant
value that represents a maximum fitness score. During the evaluation phase, each student's exam
schedule is compared against all the chromosomes for any constraints violation. A penalty is given to
a chromosome for each constraint it violates by subtracting the penalty score from the constant
value, hence reducing its fitness. To differentiate between hard and soft constraint, we use two different penalty score; a higher penalty score for the hard constraint and a lower penalty score for the soft
constraints. After the evaluation phase is completed, the fitness of every chromosomes in the population are obtained. These are critical for the next phase, which is the reproduction phase.
3.2
Reproduction
During the reproductive phase of the GA, chromosomes are selected from the population and recombined, by using the mechanisms of crossover and mutation to produce offspring which build the
population in the next generation. We used the Roulette-Wheel selection method to randomly select
parents for the mating process. This simple selection scheme is also called stochastic sampling with
replacement (Baker, 1987) This method favours the fitter chromosomes in its selection procedure
because a good chromosome occupies a large interval as opposed to a less fit one which has a
smaller interval.
After selecting two parents, the crossover process is applied. There are several kinds of
crossovers but in this research we used only one type that is one-point crossover. In one-point
crossover, we have to select only one crossover position. This is done by randomly generating a
number which is less than or equal to the chromosome length. Then, all the genes before and at the
crossover position are kept unchanged in both parents while the genes after the position are swapped
Crossover position
Parents
3 5 4
T
16 7 2
t
Offspring
3 5 4 2 5
Figure 2: One-point Crossover.
Crossover position
14 7 '2536
19
5.2
Effects of Parameters Variations
For the purpose of this experiment, the acceptable solution was called GAl. The first test was to find
out the effect on GA performance with respect to GAl when both crossover and mutation rates are
increased and then decreased. In this test, for the first part, the crossover rate was increased from 0.7
to 0.9 and mutation rate was increased from 0.3 to 0.5. This run is called GA2. For the second part,
called GA3, the crossover rate was reduced from 0.7 to 0.5 and the mutation rate was reduced from
0.3 to 0.1. Table 2 shows the parameters for GAl, GA2 and GA3.
Table 2: Parameters for GAl, GA2 & GA3
Run
Crossover Rate
Mutation Rate
Population Size
GAl
0.7
0.3
50
GA2
0.9
0.5
50
GA3
0.5
0.1
50
After running GA2, it was found that it still produced an acceptable solution, which violated no
constraints at all, and it was obtained in the 543rd generation, which is fewer as compared to GAl.
However, it took 1954.7 seconds, which is longer than GAl, but this is not surprising as there were
more number of crossovers and mutations applied in each generation in GA2.
The result of running GA3 showed that it failed to produce an acceptable solution after the maximum
generation (1000) have been generated. Although there was no student clash but there was one
occurrence of student with three subjects in a row. Table 3 summarizes the result of running GA2
and GA3 and compares them with GAl.
Table 3: Results of GA1-GA3
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
No.of
Clash
No.of
Three in
a row
GAl
GA2
GA3
0.7
0.9
0.5
0.3
0.5
0.1
50
50
50
Yes
Yes
No
767
543
1635.9
1954.7
-
-
0
0
0
0
0
1
The second test conducted was to examine the effect of varying only the crossover rate with respect
to GAl. Other parameters were kept unchanged. To achieve this, two runs, GA4 and GA5, were
made. In GA4, the crossover was increased to 0.9 and in GA5, it was decreased to 0.3 as shown in
table 4 below.
Table 4: Parameters for GAl, GA4 & GA5
Run
Crossover Rate
Mutation Rate
Population Size
GAl
0.7
0.3
50
GA4
0.9
0.3
50
GA5
0.3
0.3
50
20
The result of enhancing crossover rate, as in GA4, showed that not only an acceptable solution was
successfully produced but also it was obtained faster if compared to GA1. This time it was achieved
in the 430th generation and the duration was 777.52 seconds. Reducing the crossover rate, as in GA5,
also produced an acceptable solution. In this case, it took longer to be produced if compared to GA4.
Specifically, it took 547 generation in 897.76 seconds. However these figures are still better than
that of GAL Table 5 shows the result of running GA4 and GA5 as compared to GAL
Table 5: Results of GA4 - GA5
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
No.of
Clash
GA1
GA4
GA5
0.7
0.9
0.3
0.3
0.3
0.3
50
50
50
Yes
Yes
Yes
767
430
547
1635.9
777.52
897.76
0
0
0
No.of
Three in
a row
0
0
0
Next, the third test in the experiment attempted to find out the effect of maintaining the crossover
rate as in GAlbut changing only mutation rate to the performance of the GA. For this purpose, in
one run, GA6, the mutation was increased to 0.5 and in another run, GA7; the mutation rate was
reduced to 0.1. These parameters are shown in table 6.
Table 6: Parameters for GA1, GA6 & GA7
Run
GA1
GA6
GA7
Crossover Rate
0.7
0.7
0.7
Mutation Rate
0.3
0.5
0.1
Population Size
50
50
50
The results from running GA6 demonstrated that an acceptable timetable was still able to be produced. This occurred at the 450th generation and the time taken was 818.33 seconds. Thus, increasing the mutation rate gave better results than the original run GA1. On the other hand, reducing the
mutation rate as in GA7, produced undesirable result. In this case, an acceptable timetable failed to
be produced since the best that was obtained violated the hard constraint. This timetable was not
feasible at all compared to one that violates only the soft constraint. Table 7 shows the result of
running GA6 and GA7 as compared to GA1.
Table 7: Results of GA6 - GA7
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
No.of
Clash
GA1
GA6
GA7
0.7
0.7
0.7
0.3
0.5
0.1
50
50
50
Yes
Yes
No
767
450
1635.9
818.33
-
-
0
0
1
No.of
Three in
a row
0
0
0
15
Crossover is not always applied to all parents selected for mating. The probability of crossover being performed is determined by the crossover rate. In our experiment, the crossover rates
ranging between 0.3 (30%) to 0.9 (90%) were chosen. Generally, a high crossover rate is used to
encourage good mixing of chromosomes. If crossover is not applied, offspring are produced simply
by duplicating the parents. This gives an individual a chance of passing on its genes without the
disruption of crossover.
Next, mutation is randomly applied to the offspring produced. The likelihood of mutation
being applied depends on the mutation rate. We used mutation rates ranging between 0.1 (10%) to
0.5 (50%). Mutation will randomly alters a gene in a chromosome and in our case, it changed one of
the subjects' time slot with a random number that ranges between 1 to largest time slot. The alteration prevents the population from becoming saturated with chromosomes that look alike. However,
mutation rate generally should not be high because a large mutation rate increases the probability of
destroying good chromosomes. Figure 3 shows the mutation process that changes the time slot for
subject 5 from 5 to 1.
Mutation Position
I
Offspring
3 5 4 2 5 3 6
y
Mutated Offspring 3 5 4 2 1 3 6
Figure 3: A single mutation.
In addition, elitism can also be applied during the GA runtime. Elitism is a GA strategy that copies
the chromosome with the best fitness from parent's generation to the offspring's generation. This
ensures that the best chromosome in each generation will not disappear due to the random selection. In all of our experiments, the elitism operator was constantly turned on.
4.
System design and implementation
To test the suitability and capability of the GA, the research team designed and developed a scheduling
system using Java. The architecture of the system is client-server (2-tier) and the use of Java ensures
that the client machine can be of any platform as long as it has the Java Virtual Machine (JVM, 96)
installed. Furthermore, with this architecture, there is no need to carry around the large database,
which primarily consists of student and subject data, since they reside in the single server. Connection
to the database is through a type III Java Database Connection (JDBC) driver. Figure 4 shows the
conceptual framework of the system.
16
CLIENT
SERVER
JDBC
Driver
Timetable
System
DATABASE
(students &
subjects)
Figure 4: Timetable System Conceptual Framework.
The system has been tested using test data that consist of 870 students and 80 subjects. The tests were
conducted with two main purposes; (i) to generate an acceptable solution and (ii) to observe the
effects of parameters variations. The number of time slot was maintained at 10. Elitism was applied
in every run in this experiment to improve the performance of the system. Figure 5 shows a screen
shot of the main window when GA system is running whereas Figure 6 shows a screen shot of two
chromosomes viewed during runtime.
_:-.c
barton
r EXAMS TTMETA.BLE:
jggjgipy»r
....
II
HS
I
• «
Figure 5: Screen Shot of the Main Window When GA is running.
17
Figure 6: Screen Shot of the Two Chromosomes Viewed During Runtime.
5.
Experimental results
The first part of the experiment is to find a solution that is optimal according to UPJJ by running
multiple clients each with different parameters but with the same number of time slots. The second
part is to examine the effects to the optimal solution obtained in respect to different kinds
of crossover, mutation and population sizes.
5.1
Acceptable Solution
The GA timetable system was executed for a considerable number of times on several clients where
in each execution, different parameters were used. However, the number of slots was fixed at 10
(UPJJ requirement is that the exam period is 5 days). The objective is to find the first solution that
violates neither the hard nor the soft constraints. It was found that the solution was obtained in a run
that used crossover rate of 0.7, mutation rate of 0.3 and population size of 50. This particular
chromosome (or timetable) is shown in Figure 7. It has the maximum fitness (130500) since there
are no constraint violations and thus, no penalty point is deducted. The detail of this chromosome is
shown in Figure 8. It can be seen that this timetable has no student clash and no student with three
subjects in a row. Also, it was generated in the 767th generation that took 1635.9 seconds.
K!
•
••
AMI 01
AN1042
•322
i
|l;;:;;:;;:;;:::::;;r:;;;:;;;;;:
!BB!0:
BB1032
KF1013
PM101
PN3053
PU2023
a
PU3C33
PW2
SI2013
SSS2023
TM1003
TS1013
:023
Fitne-r.?
ii
3
F
1130500
Figure 7: The Acceptable Timetable
Ml
I'M
Laporan Kromosom Terbaik
Tiada clash
Tiada perturutan
Kromosom ini dihasilkan dim. generasi ke: 787
Tempoh masa yg diambil ialah
: 1835.9 saat
Figure 8: Report of Acceptable Timetable.
m
19
5.2
Effects of Parameters Variations
For the purpose of this experiment, the acceptable solution was called GAl. The first test was to find
out the effect on GA performance with respect to GAl when both crossover and mutation rates are
increased and then decreased. In this test, for the first part, the crossover rate was increased from 0.7
to 0.9 and mutation rate was increased from 0.3 to 0.5. This run is called GA2. For the second part,
called GA3, the crossover rate was reduced from 0.7 to 0.5 and the mutation rate was reduced from
0.3 to 0.1. Table 2 shows the parameters for GAl, GA2 and GA3.
Table 2: Parameters for GAl, GA2 & GA3
Run
Crossover Rate
Mutation Rate
Population Size
GAl
0.7
0.3
50
GA2
0.9
0.5
50
GA3
0.5
0.1
50
After running GA2, it was found that it still produced an acceptable solution, which violated no
constraints at all, and it was obtained in the 543rd generation, which is fewer as compared to GAl.
However, it took 1954.7 seconds, which is longer than GAl, but this is not surprising as there were
more number of crossovers and mutations applied in each generation in GA2.
The result of running GA3 showed that it failed to produce an acceptable solution after the maximum
generation (1000) have been generated. Although there was no student clash but there was one
occurrence of student with three subjects in a row. Table 3 summarizes the result of running GA2
and GA3 and compares them with GAl.
Table 3: Results of GA1-GA3
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
No.of
Clash
No.of
Three in
a row
GAl
GA2
GA3
0.7
0.9
0.5
0.3
0.5
0.1
50
50
50
Yes
Yes
No
767
543
1635.9
1954.7
-
-
0
0
0
0
0
1
The second test conducted was to examine the effect of varying only the crossover rate with respect
to GAl. Other parameters were kept unchanged. To achieve this, two runs, GA4 and GA5, were
made. In GA4, the crossover was increased to 0.9 and in GA5, it was decreased to 0.3 as shown in
table 4 below.
Table 4: Parameters for GAl, GA4 & GA5
Run
Crossover Rate
Mutation Rate
Population Size
GAl
0.7
0.3
50
GA4
0.9
0.3
50
GA5
0.3
0.3
50
20
The result of enhancing crossover rate, as in GA4, showed that not only an acceptable solution was
successfully produced but also it was obtained faster if compared to GA1. This time it was achieved
in the 430th generation and the duration was 777.52 seconds. Reducing the crossover rate, as in GA5,
also produced an acceptable solution. In this case, it took longer to be produced if compared to GA4.
Specifically, it took 547 generation in 897.76 seconds. However these figures are still better than
that of GA1. Table 5 shows the result of running GA4 and GA5 as compared to GA1.
Table 5: Results of GA4 - GA5
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
Ncof
Clash
GA1
GA4
GA5
0.7
0.9
0.3
0.3
0.3
0.3
50
50
50
Yes
Yes
Yes
767
430
547
1635.9
777.52
897.76
0
0
0
No.of
Three in
a row
0
0
0
Next, the third test in the experiment attempted to find out the effect of maintaining the crossover
rate as in GAlbut changing only mutation rate to the performance of the GA. For this purpose, in
one run, GA6, the mutation was increased to 0.5 and in another run, GA7; the mutation rate was
reduced to 0.1. These parameters are shown in table 6.
Table 6: Parameters for GA1, GA6 & GA7
Run
GA1
GA6
GA7
Crossover Rate
0.7
0.7
0.7
Population Size
50
50
50
Mutation Rate
0.3
0.5
0.1
The results from running GA6 demonstrated that an acceptable timetable was still able to be produced. This occurred at the 450th generation and the time taken was 818.33 seconds. Thus, increasing the mutation rate gave better results than the original run GA1. On the other hand, reducing the
mutation rate as in GA7, produced undesirable result. In this case, an acceptable timetable failed to
be produced since the best that was obtained violated the hard constraint. This timetable was not
feasible at all compared to one that violates only the soft constraint. Table 7 shows the result of
running GA6 and GA7 as compared to GA1.
Table 7: Results of GA6 - GA7
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
No.of
Clash
GA1
GA6
GA7
0.7
0.7
0.7
0.3
0.5
0.1
50
50
50
Yes
Yes
No
767
450
-
1635.9
818.33
-
0
0
1
Ncof
Three in
a row
0
0
0
21
Finally, the last test was conducted to see the effect of varying population size to the GA performance. To achieve this, one ran called GA8, was carried out with its population size increased to 100
and another run called GA9, was performed with its population size decreased to 30. All other
parameters were fixed as in GA1. Table 8 shows these parameters for GA8 and GA9 as compared to
GA1.
Table 8: Parameters for GA1, GA8 & GA9
Run
Crossover Rate Mutation Rate Population Size
GA1
GA8
GA9
0.7
0.7
0.7
0.3
0.3
0.3
50
100
30
The outcome of GA8 showed that it failed to produce an acceptable solution. The best that it managed had one soft constraint violated even though the hard constraint was fulfilled. Similarly, the
result of reducing the population size in GA9 produced unacceptable solution with one soft constraint violated. Thus, the effect of both increasing and reducing the population size was reducing
the performance of the GA. Table 9 shows the result of running GA8 and GA9 with respect to GA1.
Table 9: Results of GA8 - GA9
Run
Xover
Rate
Mutation
Rate
Population
Size
Acceptable
Solution
Generation
Time
(sec.)
No.of
Clash
GA1
GA8
GA9
0.7
0.7
0.7
0.3
0.3
0.3
50
100
30
Yes
No
No
767
1635.9
-
-
0
0
0
5.3
No.of
Three
in a
row
0
0
1
Evaluation as an exam timetable scheduling tool
Our Genetic Algorithms timetable scheduling has been successful in producing good and acceptable
exam timetables for UPJJ. The system has been able to produce several solutions to the scheduler
who only has to pick one that suits most. Thus, the research has shown that GA is a suitable method
that can be used to generate good and optimal timetables in the sense that it has been able to fulfill the
enlisted constraints:
•
Clash
This is the only necessary hard constraint. Any timetable which violates this constraint is an
illegal timetable. Our Genetic Algorithms timetable scheduling has demonstrated that it can
handle this constraint. The current timetable scheduling system would use heuristics method
such as arranging the most popular modules first to avoid most potential clashes, while
Genetic Algorithms solve it by setting a high punishment on clashes to get rid of clash
situations effectively.
C_l Three Exams-in-row
This is also a constraint that should be avoided, though it is not as serious as the one described
above. The timetable should be able to spread the student's load as much as possible. This
situation happens very often in the current scheduling system, and it is the main cause of
complaints from students which lead to revision of the timetable. Genetic Algorithms solve
this problem by setting a low or middle punishment to prevent this situation. It has been
shown that although in certain runs this constraint was violated, the number of occurrence
were minimal.
22
5.4
Results from Genetic Algorithms Experimentation
The experiments that were conducted with the Genetic Algorithms and its results are as follows:
• Different Crossover And Mutation Rates
A moderate mutation rate (ranging from 0.3 to 0.5) is preferable since it has been able to
produce acceptable solutions. Also, varying the crossover rates, from a high 0.9 to a low
0.3, has not affect the performance of the GA (still able to produce acceptable solutions) as
long as the mutation rates were kept at the moderate level. However, at the rate of 0.9, the
time taken to produce the best solution is faster, requiring less number of generations. These
results can be attributed to the constructive role that crossover plays in GA as noted by
Holland (1975).' In addition, crossover is important in terms of achieving a higher level of
survival. Although mutation is not unimportant, it cannot perform the constructive role as
well as crossover. It is better in terms of disruption and in our case, it only serves to create
diversity in the population. In general, mutation rate should not be high because a high
mutation rate could destroy good chromosomes since each gene has a larger possibility of
being changed.
•
Different Population Sizes
Using a medium population size (50) in each generation has been shown to be better than
using a large (100) or small (30) population size, which failed to produce acceptable solutions.
Based on Goldberg et al. (1992), the optimal population size depends on the size of the
problem and therefore, the size of the chromosomes. In our case, population size of thirty
(30) can be considered as small that caused quick convergence to a local optimal and failed
to find the best solution. On the other hand, population size of one hundred (100) can be
considered as unsuitable (i.e. too large) for our problem that a larger number of generations
might be needed to find the best solution at the expense of requiring a larger amount of
time.
5.5
Limitations
Although the constraints considered in this research are sufficient to UPJJ, there are additional
constraints that can also be included to make the system capable of producing better solutions. Some
of them include considerations for rooms/locations as well as lecturer preferences.
Furthermore, one function that the system lacks is the capability to print the students' exam
schedule slips. This function should be added before the system can be fully operational to UPJJ.
6.
Conclusion
There are two aspects of the results and conclusions of this work that can be made.
Firstly, evaluating the project in terms of the usefulness of the programs written as a tool for exam
timetable schedulers. Secondly, using the experiments and experience of the project to gain knowledge
about the effectiveness of different parameters of Genetic Algorithms.
23
References
Abramson, D. & Abela, J. April 1991. A parallel genetic algorithm for solving the school timetabling
problem. Technical report, Division of Information Technology, C.S.I.R.O.
Burke, E.K., Newall, J.P., & Weare, R.F. 1996. Amemetic algorithm for university exam timetabling.
In E. Burke and P. Ross, editors, Practice and Theory of Automated Timetabling, LNCS 1153.
Springer-Verlag.
Corne, D., Fang, H.L. & Mellish C. 1992. Solving the modular scheduling problem with genetic
algorithms. In Proceedings of the 6th Int. Conference: Industrial and Engineering Applications of
AI. Edinburgh, Scotland.
Davis, L. 1991. Handbook of Genetic Algorithms. Van Nostrand Reinhold.
Coffman, E.G. 1976. Computer and Job-Shop Scheduling Theory. John Wiley and Sons, Inc.
Eiben, A.E., van der Hauw, J.K., & van Hemert, J.I. 1998. Graph colouring with adaptive evolutionary algorithms, Journal of Heuristics, 4(1).
Ergul, A. 1996. GA-based examination scheduling experience at middle east technical university.
In E. Burke and P. Ross, editors, Practice and Theory of Automated Timetabling, LNCS 1153.
Springer Verlag.
Goldberg, D.E. 1989. Genetic Algorithm in search, optimization and machine learning. AddisonWesley.
Goldberg, D. E., Deb, K., and Clark, J. H. 1992. Genetic Algorithms, Noise, and the Sizing of
Populations. Complex Systems, Vol. 6, Complex Systems Pub., Inc.,, pp. 333-362.
Grefenstette, J.J. 1986. Optimization of control parameters for genetic algorithms. IEEE Trans
SMC. 16:122-128.
Holland, J.H. 1975. Adaptation in Natural and Artificial Systems. MIT Press.
The Java Virtual Machine. 1996. Sun Microsystems White Paper, Sun Microsystems.
Michalewicz, Z. & Janikow, C.Z. 1991. Handling constraints in genetic algorithms. In Proceedings
of the 4th International Conference in GAs. Morgan Kauffman.
Paechter, P., dimming, A., Norman,M.G., & Luchian, H. 1996. Extension to a memetic timetabling
system. In E. Burke and P. Ross, editors. Practice and Theory of Automated Timetabling, LNCS
1153. Springer-Verlag.
Radcliffe, N.J. 1992. Non-linear genetic representations. In Manner and Manderick, editors, Proceedings of Parallel Problem Solving from Nature, pages 259-268. Elsevier.
Richardson, J.J, Palmer, M.R, Liepins, G., & Hilliard, M. 1989. Some guidelines for genetic algorithms with penalty functions. In Proceedings of the 3rd International Conference in GAs, pages
191-197. Morgan Kauffman.
Ross, P., Corne, D., & Fang, H.L. 1994. Timetabling by genetic algorithms: Issues and approaches.
Technical Report AIGA-006-94, Edinburgh University
Terashima-Marin, H. 1995. Genetic algorithms and conventional graph colouring methods for solving
simple and random timetabling problems. In Proceedings de la XII Reunion Nacional de Inteligencia
Artificial.
24
Biographies
Nurnasran Puteh is a lecturer at the School of Information Technology, Universiti Utara Malaysia.
He has taught several programming courses (Java & C), operating systems and computer organization. His research interest include distributed computing objects, multi-agents system, genetic algorithm and data grids. Currently, he is pursuing his PhD at Universiti Sains Malaysia in the area of
distributed bioinformatics data integration using agents.
Azman Yasin is a lecturer at the School of Information Technology, Universiti Utara Malaysia
where he teaches artificial intelligence and distributed system courses. His research interest include
fuzzy logics, genetic algorithm and information retrieval. Currently, he is pursuing his PhD at
Universiti Kebangsaan Malaysia in the area of information retrieval using GA and fuzzy logics.
Hatim Mohd Tahir is a lecturer at the School of Information Technology, Universiti Utara Malaysia.
He has previously taught at School of Mathematical and Computer Sciences, Universiti Teknologi
MARA. He has wide experience in teaching in the area of data communications, computer networks and security. His research interests are mobile agents, biometrics, computer and network
security.
Download