jurnal teknologi maklumat dan sains kuantitatif

1 downloads 0 Views 1MB Size Report
DAN SAINS. KUANTITATIF. Kandungan. Muka Surat ... is particularly challenging in the field of artificial intelligence and expert systems. It is considered as.
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.