3804
Enhanced Heuristic Teaching Timetabling
Algorithm Using Genetic algorithm
Mbunge Elliot, Fashoto Stephen Gbenga, Mnisi Emmanuel J.
Abstract— The University teaching timetabling problem is a combinatorial optimization problem in which a set of events has to be s cheduled in time slots and located in suitable rooms. This problem is in class NP-hard problems that are very difficult to solve with the classical algorithms. Several studies exist to resolve the many conflicting constraints that exist in a timetable schedule using computational intelligent approaches. These computational intelligent approaches simply search the domain space for a goal state that satisfies the problem constraints. Among these techniques, evolutionary algorithms proved to perform well to optimize the extreme timetabling constraints. A weighted sum formula was used to prioritize lecturers according to their availabilities handles conflicts. The algorithm incorporates several operators (selection, crossover, muta tion) to enhance search efficiency and also ensure that the best chromosomes that are selected. The genetic algorithm was tested and compared with a set of other algorithms from the literature. The experimental results showed that the genetic algorithm was able to produce feasible results for the university teaching timetable. Future research can focus on applying iterative search techniques to find the best optimal solutions with regards to lecturer s’ and students’ availability especially for students repeating courses from the previous semesters.
Index Terms—Heuristic, timetabling problem, Machine learning, Fuzzy logic, Simulated Annealing, Tabu Search, Hybrid methods, Hidden Markov Model, Computational intelligence, Genetic Algorithms.
—————————— ——————————
1.
I
NTRODUCTIONA heuristic algorithm is a technique used to solve problems more efficiently in a faster way than traditional methods [1]. Heuristic algorithms aim at providing a generalized solution to a combinatorial optimization problem such as but not limited to timetabling [2, 3]. According to Suresh et al. [4], the timetabling problem is an NP-hard optimization problem which lacks analytical solution methods. Such problem involves the allocation of certain resources, subject to constraints [5], into a limited number of time slots with the ultimate goal of satisfying a set of stated objectives to the highest possible extent. Timetabling problem has been a daunting and challenging scheduling task in the different domain including sport, education [6], transport [7], healthcare centres [8]. The rapid increase of enrolment especially in higher institutions of learning has led to the timetabling problem because of requirements and constraints involved in timetabling courses, lecturers, examinations and other supporting infrastructure and facilities [9] without complimenting lecture rooms, laboratories and robust and feasible solutions [10]. The growing numbers of lessons open for students from different departments with a large number of conflicting constraints which eventually cause timetabling to be very difficult. Due to the complexity of timetabling problems, most studies concentrated on heuristic algorithms to find good approximate solutions [11, 5, 12]. In addition to that, several scholars applied computational intelligence techniques including machine learning (ML), Genetic Algorithms (GA), Fuzzy Logic, Hidden Markov Model (HMM), Lagrangian heuristic, Simulated Annealing (SA), Tabu Search (TS), and Linear Integer Model to address timetabling problems [13, 14, 15, 16, 17, 18, 19, 20].
Problem Statement
Globally, timetabling is a problem for all educational institutions that periodically arise every academic term or semester [21, 22]. Oude, et al. [23] state that timetabling is a quite challenging and difficult task due to various arguments and constraints that need to be considered when timetabling. These constraints are categorized into two: soft and hard constraints. Hard constraints are those that need to be fulfilled for the timetable to be feasible, whereas soft constraints are those that affect the quality of a timetable [24].
Constraints
The hard constraints considered in this work are: no course can be double-booked: a course can be taught once at a given timeslot; no instructor (lecturer) can be double-booked: each instructor can lecture one course at a given time period; no student can be double-booked: each student can attend one course at a given timeslot; no room can be double-booked: each class or lab can be taught only once at a given timeslot; instructor-venue-lecture assignment: each instructor may teach a limited number of hours and lectures to each venue, which is predefined by input data; no room may be assigned to a course with the number of enrolled students greater than its capacity.
The soft constraints that are equivalently penalised are: instructors’ teaching hours’ distribution: ensure each instructor teaching hours are evenly distributed among the days; a student has a course scheduled in the last timeslot of the day; a student has more than two consecutive courses in a day; a student has a single course in any day.
RESEARCH OBJECTIVE
The study aimed to design and develop an enhanced heuristic teaching timetabling system using computational intelligence technique as a solution to the university teaching timetabling problem.
2
R
ELATEDW
ORKGAs to solve course timetabling problem. Fuzzy set models measure of violations of constraints in fitness function to cater for inherent uncertainty and ambiguity involved in real-life data. It is worth noting that fuzzy models do not come with a search algorithm [28], they simply adopt techniques from other areas.
Alberto et al. [29] and Valentina et al. [30] applied lagrangian heuristic approaches to solve real-world train timetabling problem in a railway node. Lagrangian heuristic approaches form a broad unit of methods that work well in efficiently finding low-cost solutions for many problems. Beginning with an initial solution, Ahmed and Ed [31] suggest that the current best feasible solution is updated by approximately solving a relaxation of the problem at hand using an iterative Lagrangian optimization scheme, and applying several times a basic heuristic driven by the Lagrangian dual information Valentina et al [30]. The main purpose underlying Lagrangian optimization iterative method is producing or increasingly reliable Lagrangian costs, while diversifying the search in the last iterations, when the Lagrangian bound is very close to convergence. Lagrange relaxation calls for the maximum profit timetabling solution. This is repeated until the Lagrangian relaxation attains the best maximum solution in all possible solutions.
Oussama et al. [32]; Ahmed and Ed [31] explored the Hidden Markov Model (HMM) for the tuning of metaheuristics in airline scheduling problems and high school timetabling problems. Hidden Markov Model represents probability distributions over sequences of observations.’ They provide a conceptual toolkit for building complex models just by drawing an intuitive picture. The HMM is normally used to generate sequences of low-level heuristics where low-level heuristic represent hidden states of the model [31]. Each state (low-level heuristic) has a transition probability to move to another state (or itself) and a sequence-based acceptance strategy probability to decide whether a sequence of heuristics is constructed.
Nurlida et al. [33] and Khang, et al. [34]applied simulated annealing to model a course timetabling system. SA is a probabilistic metaheuristic method or a stochastic algorithm which searches the solution space using stochastic hill-climbing [35]. It evaluates two solutions -the current and neighbour solutions that aim to reduce the effect of the local optima on a local search heuristic [36]. At each stage, a solution is generated and the new solution is acceptable if it improves the previous solution [31]. SA application to the timetabling problem is relatively straightforward. That is, atoms are replaced by elements and system energy is replaced by the timetable cost. An initial allocation is made in which elements are placed in a randomly chosen period. The temperature is used to control the probability of an increase in cost and relates to the temperature of a physical substance. An element is moved if the change in cost is accepted, either because it lowers the system cost, or the increase is allowed at the current temperature. The cost is used to reflect the quality of the timetable. According to Ahmed and Keedwell [31], the cost of generating a solution can be calculated from two components: the cost of removing an element from a period and the cost of inserting an element in the period. As a result, the cost of removing or rather inserting an element consists of a class cost, a teacher cost and a room cost. This is done until the overall system cost is zero or else is within the acceptable levels and hence a feasible timetable is
generated.
Hybrid methods begin with one or more initial solutions and employ search strategies such as the TS or SA, to obtain the optimal solution while attempting to avoid local optima in the process [37]. Esraa and Ghada [38] suggest the use of constructive heuristics to produce the initial solution where the feasible timetable is obtained through the addition and removal of the appropriate events (courses) from the schedule based on room availability. This is further improved through employing a randomized iterative improvement algorithm with composite neighbourhood structures and SA acceptable criterion [39]. To further enhance the quality of the timetable a hill-climbing method, where the best solution obtained from employing a randomized iterative improvement algorithm is assigned to a randomly chosen time slot. This is repeated until a termination criterion is satisfied.
According to Burke, et al. [12] and Mushi [40], Tabu Search(TS) is a global heuristic technique which tries to avoid falling into local optima by creating a special list called Tabu. Any recently selected solution is put into a Tabu list so that it becomes a ‘taboo’ for a short period of time, depending on the list length. This creates more chances of improvement by moving into unexplored sections of the search space, as cycling in the same solution is minimized. TS methods guide heuristic improvement so it is not confounded by the absence of improvement movements through the use of the search history information [41]. Haroldo, et al. [41]suggest that the design of a TS algorithm involve the construction procedure that will provide an initial solution, the movement type applied in the search process and also the type of memory structures to be used. These components are described as follows:
Constructive Algorithm: The constructive algorithm is made up of a greedy randomized constructive procedure. The purpose of the randomized constructive procedure is to have control of the randomization degree of the initial solution. Now, to produce a solution, step-by-step, Haroldo, et al. [41] suggest that the priority scheduling algorithm be used. That is the principle of allocating the most urgent lectures in the most appropriateperiods
Tabu Search Components: The TS procedure starts from the initial solution provided by the constructive algorithm and, at each iteration, fully explores the neighbourhood N(Q) to select the next movement. The movement, in this case, consists in the swap of two values in the timetable of a teacher i ∈ {1…, t}. A short-term memory containing the reverse movements performed updates to prevent cycles. Once a movement m
3806 feasibility. Mushi [40]discusses a Tabu Search algorithm that
generates timetables by heuristically minimizing penalties over infeasibilities. The algorithm begins with creating an initial timetable by simply assigning each event to the earliest possible timeslot and earliest feasible room. The goal is creating an initial solution that is feasible and that is accomplished through satisfying all hard constraints. The Tabu search is then employed to get the best solution by considering various important decisions on the original tabu search algorithm and they include; selection of the type of moves, aspiration criteria, and stopping criteria.
Genetic Algorithms have been broadly studied in timetabling, regarding different attributes of timetabling problems [43]. Nurmi and Kyngas[44] applied the genetic algorithm to find solutions to teaching timetabling problem. The algorithm employs a greedy hill-climbing mutation operator for regeneration purposes. The mutation operator moves lessons between periods. Simulated annealing is used to choose a period intelligently. Periods are chosen to reduce the timetable cost. The algorithm has been used to solve timetabling problems from data sets found in the OR-Library. Izah et al. [45] investigated a GA technique that aims at reducing the conflicts and optimizes the fitness function. The algorithm considers the number of students in each class, class time, and class size, time accessibility in each class and lecturer who is in charge of the classes. Wilhelm and Jürgen [46] developed a system with a friendly user interface based on a Genetic Algorithm where problem-specific chromosomes representation and knowledge-augmented genetic operators have been created and these operators intelligently prevent building illegal timetables. The package was tested and it produced satisfactory results. Raghavjee and Pillay [47]implemented a genetic algorithm to solve five generated teaching timetabling problems. The algorithm starts by generating an initial population using a sequential construction method employing the largest degree heuristics. The initial population is refined iteratively using the mutation operator and a variation tournament is used to select each generation’s parents. This algorithm found the solution for all the five problem sets and produced good results as compared to other techniques employed on the same problem sets. An extension of this work caters for both hard and soft constraints [47]. This time around the authors opted for a two-step approach. The first step focuses on producing feasible solutions whereas the second is responsible for minimizing the soft constraint cost, without introducing infeasibilities to the solution. The system was tested on a real-world timetabling problem and satisfactory results were produced.
2.2 Hybrid Methods
Research has shown that hybridised methods often perform better than individual approaches as they are benefited from the advantages of both techniques with careful design [48]. Initialization is also one of the important issues in GAs. For example, Fuzzy Inference Based System can be easily applied to timetabling problems and solve problems quickly. It might be good initialisation techniques for GAs, TS or SA, whose starting points in the search space sometimes affect the quality of the evolved solutions significantly.
Arindam and Kajal [28]discussed a methodology utilizing a Fuzzy set that models the measure of violation of soft constraints in the fitness function to deal with inherent
ambiguity and indistinctness involved in real-life data. The proposed approach satisfies all hard constraints problem and attains a considerably better score in satisfying soft constraints [28]. Zuters [49] applied a genetic algorithm incorporated with neural networks to teaching timetabling problems. The neural network is used to calculate the fitness function and is trained on timetables used over the past years. This hybrid system was tested on eight teaching timetabling problems and appealing results were obtained.
Norberciak [50] describes a universal method for solving large, highly constrained timetabling problems in various domains. The method is based on an evolutionary algorithm framework and employs a Tabu search to quicken the solution-finding process. After generating the initial population, the evolutionary algorithm begins to operate. The population is created in subsequent generations utilizing the classical genetic roulette, 20% of the population is, however, always preserved from the previous generation. Random initialization has been used as a reference in evaluating the other method. Sets of events, , are chosen at random for each timeslot k, the one that breaks the least number of hard constraints is assigned to the timeslot. Tabu search is employed to speed up the solution-finding process. Hyper-heuristics are applied to establish the algorithm’s operating parameters. The method has been used to solve three timetabling problems with promising results of extensive experiments.
Liam et al. [51] applied a new hybrid algorithm for timetabling problems, consisting of three phases: a constraint programming phase to develop an initial solution, a simulated annealing phase to improve the quality of solution and a hill-climbing phase for further improvement. The first phase of the method is used primarily to obtain an initial timetable satisfying all the constraints. The initial timetable produced by the first phase is used as the starting point for the simulated annealing phase. The hill-climbing algorithm starts with an initial solution and processes each event e in some order by considering every neighbour in which e can be allocated a different session from the one which was previously allocated. The algorithm does so until a feasible solution is obtained or rather a stopping criterion has been reached. This algorithm solved various benchmark instances and the results showed that the hybrid algorithm was competitive with the state-of-the-art methods.
Hamed et al. [52]used a two-step method to solve the university problem of teaching timetable among departments. The first step uses a fuzzy multi-criteria decision-making comparison and further employed local search algorithms with seven neighbourhood structures and random iteration. The former is used to remove ambiguity and soft constraints of common lecturers. The later is applied to avoid trapping into local optima and improve the fuzzy multi-criteria comparison over preferences of lecturers among the departments. The second step clusters the timetable generated in the first phase based on the preferences and soft constraints of common lecturers.
Simulated Annealing
which is steadily decreased as the search continues [53]. To control the probability of the acceptance of the worse moves in the search, the temperature is used within a cooling schedule. Khang et al. [34]proposed a simulated annealing approach to the timetabling problem. It starts from a randomly generated initial solution and operates by evaluating the randomly selected neighbour (move) of the current solution. The method always accepts improving moves with respect to the objective function whereas worse candidate moves are accepted based on certain probability determined by the Boltzmann probability,
P, given by:
being the difference of the objective function evaluation between the current and the candidate solutions and t is a parameter (temperature) that decreases periodically during the search process with respect to some cooling schedule. The quality of the final solution is entirely dependent on the choice of the cooling schedule. The faster the cooling schedule, the quicker the neighbourhood optima can be acquired. On the contrary, the slower the cooling schedule, the more far-reaching the search will be. This usually yields a high-quality solution; however, in doing so, it takes significantly more time than problem-specific methods [11].
The choice of the solution space and neighbourhood, as well as the cooling schedule, can significantly affect the quality of the solution produced by any simulated annealing implementation. To address that issue, Darrall, et al [54]carried out a robust two-phase approach where feasible solutions from the first phase are fed to the simulated annealing process in the second phase to improve the overall soft constraint satisfaction. Diverse neighbourhoods and cooling schedules were applied over a variety of timetabling problems. The author further investigated whether the sampling of neighbourood significantly affects the solution quality. Tests conducted on real timetabling instances from different universities showed quality results. The problem, however, encountered with this approach is that dealing with solutions in different phases may result in poor solutions from the initial phase. Due to this issue, a backtracking technique was anticipated [55].
Abramson [56] investigated simulated annealing that was implemented in a multiprocessor. In this approach, atoms correspond to elements of the timetable and energy to the cost of the timetable. To allow scheduling to be more flexible, assignments are made to room groups rather than individual rooms. In addition to that, the simulated annealing algorithm was applied in the problem of teaching timetable with a new neighborhood structure on real-world teaching timetabling problems. The neighbourhood structure in this simulated annealing algorithm performs a sequence of moves. The heuristic swaps between timeslots in search of the best local optima than swapping two assignments as done in the standard simulated annealing. When tested on two sets of benchmark instances, the computational results prove without a doubt that the proposed heuristic outclasses existing approaches.
Machine Learning Techniques
Mortaza et al. [22], Omid & Yuri[57], Vassilios et al. [58], Zhibin et al. (2018) and Edmund et al. [59]applied machine learning (ML) approaches to develop the heuristic timetabling
algorithm. ML approach is a branch of artificial intelligence that provides systems with the ability to learn automatically and improve themselves based on large quantities of data without being explicitly programmed or without the intervention of a human. The main aim is to make computers learn automatically from the experience [60]. ML enables machines to make reasonable predictions and decisions making through various training paradigms such as supervised learning, unsupervised learning, semi-supervised (hybrid) learning and reinforced learning. Supervised learning uses training dataset and the targeted or desired output to train the algorithm [61, 62]. For each epoch, an error function is calculated to adjust the algorithm’s output value and to harmonize the update of weights connected to the hidden layer and those connected to the output layer by adding one term to the conventional error function. However, supervised learning algorithms suffer from the local minima problem and slow convergence rate [63, 64]. With unsupervised learning, there is no inclusion of desired outputs in the training dataset. Semi-supervised learning is a combination of supervised learning and unsupervised learning [65, 66, 67]. Reinforcement learning award reward for the correct computation and punishment for the wrong output value. Therefore, timetabling, events are grouped into clusters such that no two events in a particular cluster conflict. These clusters are generated and fixed at the beginning of the algorithm [37]. From these clusters of events, a timetable is produced.
Carrasco and Pato [68] applied neural networks to teaching timetabling problem. The authors tested two neural network simulations, a discrete neural network simulation with discrete user-take-all neurons and Potts mean-field annealing simulation with continuous Potts neurons. These networks were implemented and tested on five teaching timetabling problems made accessible by Abramson and Smith [62]The discrete neural network outclassed the Potts neural network in solving the teaching timetabling problems. Mortaza et al. [22], Omid and Yuri [57], Vassilios et al. [58] and Edmund et al. [59] applied machine learning approaches to develop a heuristic timetabling algorithm. This was accomplished through modelling the update formula used in various optimization algorithms as a neural network with parameters. This makes the algorithm expressive and enables it to choose any update formula or their combinations through the provision of an entire set of parameter values. Again, this gives the algorithm a broad search space for accomplishing the objectives. In this way, the training system is trained on roughly the entire solution space and as a result, it yields a bigger probability of predicting a better move, hence a feasible solution to teaching timetabling problems.
3808 search algorithm. When tested in a real-world timetabling
problem, the method proved to be capable of solving various timetable problems made accessible.
Ahmed and Keedwell [31] constructed a Hidden Markov Model approach to deal with the problem of heuristics selection in Hyper-heuristics to give solutions to teaching timetabling problems. The authors presented an to-implement, easy-to-maintain, and sequence-based selection hyper-heuristic to solve teaching timetabling problems using the benchmark of unified real-world instances collected from different countries.
3
M
ETHODThe study applied the heuristic genetic algorithm to develop a timetabling system. Genetic approach (GA) is a subset of a larger class of evolutionary algorithms that describe a set of techniques inspired by natural selection such as inheritance, mutation, and crossover [37]. GAs require both a genetic representation of the solution domain and a fitness function to evaluate the solution domain. The technique generates a population of candidate solutions and uses the fitness function to select the optimal solution by iterating with each generation Izah et al. (2017). The algorithm terminates when the satisfactory fitness level has been reached for the population or the maximum generations have been reached. This approach uses three main operators namely; selection, crossover and mutation as depicted in Figure 1. These operators are applied to get the best results. That is, the GA assigns a course in what class, at what time and instructor by using programming. The initial population is produced randomly. The chromosome is normally representations as a bit string. Hence all possible information should be contained in the chromosome
The Initial Population- A population of a solution is initialized randomly. For a timetable to be generated, the core course should be considered first. The course is selected randomly, and each course is assigned to a randomly selected period of time with the number of students enrolled in that course without violating any constraint [45].
Evaluate Fitness: Izah et. al (2017) define a fitness function as a problem objective function. It gives the value that indicates if the solution is best or not. The fitness evaluation ensures if the looping process of the GA is terminated or not [70]. The fitness function in the timetable problem is the inverse of the number of students with class clashes. Hence the lesser the number of students with conflicts, the greater the class fit is.
Genetic Algorithm consists mainly of three basic operators; selection, evaluate fitness, crossover /and mutation. The idea here is that the genetic algorithm assigns course c in room r at time t as taught by lecturer l.
From Figure 1, the Pseudo Code of the Genetic Algorithm as represented as;
Invoke new Timetable;
Initialize Population of candidate solutions;
Evaluate Fitness function;
While (stopping criterion is not satisfied) {
Perform Selection on the candidate solutions; (Select two parents, and from the candidate solutions)
Perform Crossover to evolve solutions;
(Offspring = crossover ( , )
Perform Mutation to preserve genetic variety of the solutions;
(Mutate (Offspring) calculate Fitness (Offspring) Invoke timetabler:
}
Return results
Figure 1: The schematic overview of the Genetic algorithm
3.1 Chromosome Representation
The chromosome represents an array of genes as complete timetable. This contains all possible information about the timetable. That is
(1)
f (c, t, l, r) = 1
if and only if course c has lecturer l assigned in room r at time
t.
3.2 Initialize Population
The first generation of the population is randomly initialized. This is achieved through the generation of chromosomes and keep them in an array list. For a timetable to be produced, a course c is randomly selected, assigned to a randomly selected timeslot to the respective classroom. This is done without violating the constraints.
3.3 Evaluate Fitness
This is an objective function of our problem. After the initial population of timetable has been produced, the fitness function evaluates and analyzes the solution. It then computes the solution overall fitness values as the sum of weighted scores and penalties for all constraints.
d)
×
h
×
1.)
-p/((n
-1
=
f
(2)where p is the number of times a lecturerid is contained in the timeslot, n is the number of students majors in the university, h
is the number of hours per day and lastly, d is the number of days per week. The value subtracted from 1 will approach zero if there are no conflicts.
3.4 Selection
Genetic Algorithm operator and is usually used to select only from the best 10% chromosomes. After the fitness value has been computed, the fittest will be selected.
3.5 Crossover and Mutation
Again this is a GA operator applied to evolve solution populations and find the best solution that has a high probability to survive the next iteration. In this phase, having selected chromosomes f and m, call them father and mother respectively, we produce an offspring in such that each course, its timeslot, room and lecturer assignment comes from one of the parents. This is accomplished through generating, for each course of the periods such that the timetable defined by
(3)
is feasible. n is an offspring which has inherited some properties from mother m and others father f. At this point, the fitness value of the two-parent chromosomes will be computed and the best will be carried on to the transferred to the new offspring.
Mutation is a process of altering one or more gene values in chromosomes from its initial state. This phase will be used to maintain genetic diversity from one generation. After the mutation process, the fitness value is recomputed and if the new fitness value is fitter then the whole process stops and get the solution. However, if the new fitness value is not fitter, then the process will restart from fitness evaluation to selection, crossover and mutation until stopping criteria or rather an objective function is accomplished.
4
R
ESULTSThe studied case is of the Faculty of Science and Engineering, University of Eswatini (UNESWA), Kingdom of Eswatini. Personnel builds the timetable based on a semester course plan communicated by the academic departments. The Faculty of Science and Engineering is divided into seven departments [71]. There are a significant number of specialities starting from the second academic’s year to final year based on students’ respective majors [72]. The academic week starts on a Monday – Friday and lectures start from 7:00 am to 6:00 p.m. The numbers of lecturers involved are around 70 and the number of courses offered is approximately 120, however, some courses are borrowed from other faculties based on student’s majors [72]. The enhanced heuristic genetic algorithm developed in this study was applied to solve a number of benchmark instances. The algorithm is compared to other state-of-the-art timetabling methods and they are outlined as follows:
SA1 Simulated Annealing Algorithm developed by Zhang et al. [77]
SA2 Simulated Annealing Algorithm developed by Randall [73]
GA1 Genetic Algorithm developed in Raghavjee & Pillay [9]
GA2 Genetic Algorithm developed by Mahmoud et al. [78]
TS Tabu Search and GS a Greedy Search are cited in Kate et al. [79]
TFH Timeslot-filling heuristic approach to course timetabling described in Micheal & Gȕnther [80]
Table 1:HDTT instances comparative results for selected approaches and the proposed algorithm
Method HDTT4 HDTT5 HDTT6 HDTT7 HDTT8
B C
A C
B C
A C
B C
A C
B C
AS B
C AC
SA1 0 0 0 0 0 0 0 0 0 0.4
SA2 0 0 0 0.
3
0 0. 8
0 1.2 0 1.9
GA1 0 0 0 0 0 0 0 1.06
7
0 1.73 3
GA2 0 0 0 0 0 0 0 0 0 0.6
TS 0 0.
2
0 2. 2
3 5. 6
4 10.9 13 17.2
TFH 0 0 0 0.
6
0 2. 1
0 2.5 0 3.1
Enhance d heuristic algorithm
0 0 0 0 0 0 0 0.1 0. 2
0.4
Table 1 shows the results of the performance of the proposed genetic algorithm when compared to other timetabling algorithms in literature tested by Randall & Abramson [73]. The benchmark problem instances are not very large in terms of number of classes, lecturers as well as the number of venues. They are however dense in terms of the number of assignments and are said to be hard to solve with classical methods. A lecturer has a unique id and can only attend one event per timeslot, and each student can only attend one event per timeslot. Venues can only be booked once per timeslot. The experiment was carried out on the hdtt instances using a personal computer. The best and average results are given over 20 runs. The BC column indicates the best cost attained and the AC column indicates the average cost of all runs. The table shows that the Enhanced heuristic algorithm gives better solutions comparable with the other algorithms. To compare the developed algorithm with other heuristic algorithms there are benchmark datasets (also used by D. Abramson and H. Dang 1993) found in OR-Library which is a collection of test data sets for a variety of Operational Research problems [73]. The data files describe five timetabling problems: hdtt4, hdtt5, hdtt6, hdtt7, and hdtt8. The
3810 teacher T3 in room R4); hdtt4note (contains the dimensions of
the problem, in this case 4 classes, 4 teachers, 4 rooms, 30 periods, and 120 requirements); hdtt4req (contains a requirements matrix extracted from the list of requirements). This is the format of the five timetabling problem instances are as follows:
HTTD4: no. of timeslots = 30, no. of teachers = 4, no. of rooms = 4, no. of classes = 4 and no. of events = 59
HTTD5: no. of timeslots = 30, no. of teachers = 5, no. of rooms 5, no. of classes = 5 and no. of events = 88
HTTD6: no. of timeslots = 30, no. of teachers = 6, no. of rooms = 6, no. of classes = 6, and no. of events = 125
HTTD7: no. of timeslots = 30, no. of teachers = 7, no. of rooms = 7, no. of classes = 7, and no. o events = 154
HTTD8: no. of timeslots = 30, no. of teachers = 8, no. of rooms = 8, no. of classes = 8, and no. of events = 197
All algorithms were able to find feasible solutions in all runs, the cost is just only the violations of the soft constraints. Tests performed on real data from the University of Eswatini, Faculty of Science and Engineering are shown in Table 2, Table 3 and Table 4.
Table 2: Generated Timetable for Bachelor of Science (BSc) first year students
Student group
Events [course, room_id, lecturer_id, timeslot]
Day
BSc 1st - Year
[MAT111, 0, 1, 7 - 7:50] [CSC111, 2, 0, 8 - 8:50] [BIO101, 1, 1, 10 - 11:50] [PHY101, 26, 2, 14 - 14:50] [MAT11, 0, 1, 15 - 15:50] [ACS101, 18, 48, 17 - 17:50]
Monday
BSc 1st - Year
[CSC101, 10, 14, 7 - 7:50] [PHY101, 26, 2, 9 - 9:50] [CSC111, 2, 0, 10 - 10:50] [BIO111, 0, 1, 11 - 11:50] [CSC111, 2, 0, 13 - 13:50] [CHE105, 20, 5, 14 - 14:50] [CHE105, 20, 5, 16 - 16:50] [PHY01, 26, 2, 17 - 17:50]
Tuesday
BSc 1st - Year
[CHE105, 20, 5, 8 - 8:50] [CSC111, 2, 0, 9 - 9:50] [MAT111, 0, 1, 11 - 11:50] [BIO101, 1, 1, 12 - 12:50] [PHY101,26,2, 14 - 14:50] [CSC11, 2, 0, 15 - 15:50]
Wednesday
BSc 1st - Year
[GEP11, 24, 6, 7 - 8:50] [CHE105, 20, 5, 9 - 9:50] [GEP11, 24, 6, 14 - 14:50] [PHY101, 26, 2, 15 - 15:50] [CHE105, 20, 5, 17 - 17:50]
Thursday
BSc 1st - Year
[GNS113, 22, 49, 7 - 7:50] [GEP111, 24, 6, 13 - 13:50] [ACS101, 18, 48, 14 - 15:50] [GNS113, 22, 49, 16 -16:50]
Friday
Table 3: Generated Timetable for Bachelor of Science
(BSc) Second year students
Student Group
Classes [course, room_id, lecturer_id, timeslot]
Day
BSc 2nd - Year
[BIO251, 41, 35, 7 – 7:50] [PHY211, 45, 11, 8 – 8:50]
[BIO251, 41, 35, 9 – 9:50] [PHY221, 46, 12, 10 – 10:50]
[CSC213, 8, 21, 11 – 11:50] [BIO261, 43, 26, 12 – 12:50] [GEP221, 28, 19, 13 -13:50] [CSC201, 4, 15, 14 – 14:50] [PHY211, 45, 11, 15 – 15:50] [BIO241, 39, 25, 16 –16:50] [BIO261, 43, 26, 17 –17:50]
Monday
BSc 2nd - Year
[MAT211, 12, 64, 7 – 7:50] [CSC211, 6, 17, 8 – 8:50] [BIO241, 39, 25, 9 – 9:50] [MAT221, 14, 55, 10 – 10:50] [GEP221, 28, 19, 11 – 11:50] [MAT231, 15, 22, 12 –12:50] [CSC201, 4, 15, 13 – 13:50] [CSC213, 8, 21, 14 –14:50] [PHY201, 44, 16, 15 –15:50] [PHY221, 46, 12, 16 – 16:50] [GEP221, 28, 19, 17 –17:50]
Tuesday
BSc 2nd - Year
[CSC213, 8, 21, 7 – 7:50] [CSC211, 6, 17, 8 – 8:50] [CHE241, 36, 9, 9 – 9:50] [MAT211, 12, 64, 10 – 10:50] [GEP221, 28, 19, 11 – 11:50] [CHE201, 31, 4, 13 –13:50] [PHY211, 45, 11, 14 –14:50] [MAT221, 14, 55, 15 –15:50] [CHE241, 36, 9, 16 – 16:50] [GEP221, 28, 19, 17 –17:50]
Wednesday
BSc 2nd - Year
[MAT221, 14, 55, 7 – 7:50] [GEP211,29, 18, 8 – 8:50] [BIO261, 43, 26, 9 – 9:50] [MAT231, 15, 22, 10 – 10:50] [CHE211, 32, 13, 11 – 11:50] [CHE221, 33, 7, 12 –12:50] [CHE241, 36, 9, 13 – 13:50] [BIO251, 41, 35, 14 –14:50] [CSC201, 4, 15, 15 –15:50] [BIO211, 38, 34, 16 –16;50] [GEP211, 29, 18, 17 –17:50]
Thursday
BSc 2nd - Year
[CSC211, 6, 17, 7 – 7:50] [GEP211, 29, 18, 8 – 8:50] [GEP211, 29, 18, 9 – 9:50] [BIO241, 39, 25, 10 – 10:50] [CSC213, 8, 21, 11 – 11:50] [BIO211, 38, 34, 12 – 12:50] [GEP211, 29, 18, 13 –13:50] [CHE221, 33, 7, 14 –14:50] [CSC211, 6, 17, 15 – 15:50] [GEP221, 28, 19, 16 –16;50] [MAT231, 15, 22, 17 – 17:50]
Friday
(BSc) Third year students
Student Group
Events[course, room_id, lecturer_id,
timeslot] Day
BSc 3rd - Year
[CHE322, 57, 33, 7 - 7:50] [CSC321, 51, 24, 8 - 8:50] [MAT324, 73, 36,9 - 9:50]
[CSC311, 50, 20, 10 -10:50] [MAT340, 72, 59, 11 - 11:50] [PHY311, 79, 52, 12 - 12:50] [PHY301, 25, 53, 13 - 13:50] [PHY301, 25, 53, 14 - 14:50] MAT340, 73, 36, 14 -14:50] [MAT311, 71, 65, 15 - 15:50] [CHE342, 1, 29, 16 - 16;50] [BIO301, 62, 3, 17 -17:50]
Monday
BSc 3rd – Year
[MAT311, 71, 65, 7 - 7:50] [CHE312, 58, 10, 8 - 8:50] [CSC311, 50, 20, 9 - 9:50] [PHY311, 79, 52, 10 - 10:50] [CSC371, 53, 23, 11 -11:50] [CHE312, 58, 10, 12 - 12:50] [GEP316, 77, 50, 13 - 13:50] [GEP312, 75, 56, 15 - 15:50] [PHY351, 82, 42, 16 - 16:50] [PHY341, 80, 51, 17 -17:50]
Tuesday
BSc 3rd – Year
CHE322, 57, 65, 7 - 7:50] [CHE302, 56, 39, 8 - 8;50] [PHY332, 60, 47, 9 - 9:50] [PHY341, 80, 51, 10 - 10:50] [CSC371, 53, 23, 11 - 11:50] [CHE342, 1, 29, 12 - 12:50] [CHE332, 60, 47, 13 -13:;50] [CSC321, 51, 24, 14 -1 4:50] [GEP312, 75, 56, 15 - 15:50] [MAT340, 72, 59, 16 - 16:50] GEP312, 75, 56, 17 - 17:50
Wednesday
BSc 3rd – Year
[MAT311, 71, 65, 7 - 7:50] [PHY311, 79, 52, 8 - 8:50] [CHE332, 60, 47, 9 - 9;50] [GEP316, 77, 50, 10 -10:50] [MAT324, 73, 36, 11 - 11;50] [CSC311, 50, 20, 12 - 12;50] [ MAT340, 72, 59, 13 - 13:50] [CSC321, 51, 24, 14 -14:50] [GE316, 77, 50, 15 - 15:50] [CSC371, 53, 23, 16 - 16:50] [PHY341, 80, 51, 17 -17:50]
Thursday
BSc 3rd - Year
[CHE312, 58, 10, 7 - 7:50] [CHE302, 56, 39, 8 - 8:50] [CSC321, 51, 24, 9 - 9:50] [PHY311, 79, 52, 10 - 10:50] [CHE302, 56, 39, 11 - 11;50] [CSC311, 50, 20, 12 - 12:50] [CHE322, 57, 38, 13 -13:50] [GEP316, 77, 50, 14 - 14:50] [BIO301, 62, 3, 15 - 15:50] [CSC371, 53, 23, 16 - 16:50] [CSC311, 50, 20, 17 - 17;50]
Friday
CONCLUSION
University teaching timetabling is an NP-Hard problem. Generating teaching timetables is a crucial task faced by many universities that requires time and effort of the involved personnel. Evolutionary algorithms have proven that they perform well in the area of teaching timetabling, particularly in their ability to consider and optimize, the extreme constraints that may be found in universities. In this study, a genetic algorithm is presented for timetabling problems faced by the University of Eswatini. Simple weighted sum formulas used to prioritize lecturers according to their availabilities. By representing the timetable indirectly, the technique invokes
timetable generation routines for generating the complete timetable. The algorithm incorporates several operators to enhance search efficiency and also ensure that the chromosomes that are selected are really the best ones. These operators as employed in this work include; selection, crossover and mutation. In comparing the optimal solutions with the manual solution, it is evident that the algorithm satisfies all hard constraints of the problem. Hence, future research would focus on applying iterative search techniques to find the best optimal solutions with regards to lecturers’and students’availability carrying courses from the previous semesters.
DATA AVAILABILITY
To compare the developed algorithm with other heuristic algorithms, there are benchmark datasets (also used by D. Abramson and H. Dang 1993) found in OR-Library which is a collection of test data sets for a variety of Operational
Research problems on the website:
http://people.brunel.ac.uk/~mastjjb/jeb/info.html. The other
data used to support the findings of this study are available from the corresponding author upon request.
CONFICT OF INTEREST
Authors declare that there is no confict of interest regarding the publication of this article
REFERENCES
[1] K. Vincent, N. Matthew and S. Spencer, "Heuristic algorithms," 2014. [Online]. Available: https://optimization.mccormick.northwestern.edu/index.ph p/Heuristic_algorithms. [Accessed 22 09 2018].
[2] L.,. Tan, O. Joe, L. Yu-Beng and B. Jetol, "Implementation of Constraint Programming and Simulated Annealing for Examination Timetabling Problem," Computational Science and Technology, vol. 481, pp. 175-184, 2018.
[3] P. Nelishia and Ö. Ender, "Automated generation of constructive ordering heuristics for educational timetabling," Annals of Operations Research, vol. 275, no. 1, p. 181–208, 2019.
[4] L. Suresh, K. Ajinkya, T. Akash, M. Manasi and C. Yogesh, "Genetic Algorithm: Paradigm Shift over a Traditional Approach of Timetable Scheduling," in Proceedings of the 3rd International Conference on Frontiers of Intelligent Computing: Theory and Applications (FICTA) 2014, Switzerland, 2014.
[5] A. Aderemi, S. Babatunde and A. Montaz, "A heuristic solution to the university timetabling problem," International Journal for ComputerAided Engineering and Software, vol. 26, no. 8, pp. 972-984, 2009.
[6] B. Rakesh, Gupta and i. Pallav, "A new hybrid algorithm for university course timetabling problem using events based on groupings of students," Computers & Industrial Engineering, vol. 78, pp. 12-25, 2014.
[7] L. Zekang, H. Shiwei, S. Rui and H. Sijia, "Optimizing Vehicle Scheduling Based on Variable Timetable by Benders-and-Price Approach," Journal of Advanced Transportation, vol. 2019, pp. 1-13, 2019.
3812 Cees, "Learning physical examination skills outside
timetabled training sessions: what happens and why?," Advanceds Health Science Education, vol. 17, no. 3, p. 339–355, 2012.
[9] Raghavjee and Pillay, "A genetic algorithm selection perturbative hyper-heuristic for solving the school timetabling problem," Operations Research Society of South Africa, vol. 30, no. 1, p. 39–60, 2014.
[10]H. F. Joselynn, "The Effect of the Gainful Employment Regulatory Uncertainty on Student Enrollment at For-Profit Institutions of Higher Education," Research in Higher Education, p. 1–25, 2019.
[11]S. Abdullah and R. H. Abdul, "A Hybrid Approach for University Course Timetabling," IJCSNS International Journal of Computer Science and Network Security, vol. 8, no. 8, 2008.
[12]E. Burke, G. Kendall and E. Soubeiga, "A Tabu-Search Hyperheuristic for Timetabling and Rostering," Journal of Heuristics,, vol. 9, pp. 415-470, 2003.
[13]W. Peter, G. Matthias and O. Norbert, "A Hybrid Genetic Algorithm for School Timetabling," Springer Link, pp. 455-464, 2002.
[14]N. Anirudha, P. Manisha and G. Abhijeet, "An Algorithm to Automatically Generate Schedule for School Lectures Using a Heuristic Approach," International Journal of Machine Learning and Computing, vol. 2, no. 4, pp. 492-495, 2012.
[15]D. T. Nguyen, "Solving Timetabling Problem Using Genetic and Heuristic Algorithms," Qingdao, 2007. [16]A. Aderemi, S. Babatunde and A. Montaz, "A heuristic
solution to the university timetabling problem," Engineering Computations, vol. 26, no. 8, pp. 972-984, 2009.
[17]A. Kheiri and K. Ed, "A Hidden Markov Model Approach to the Problem of Heuristic Selection in Hyper-Heuristics with a Case Study in High School Timetabling Problems," Evolutionary Computation, vol. 25, no. 3, pp. 473-501, 2017.
[18]A. Chaudhuri and D. Kajal, "Fuzzy Genetic Heuristic for University Course Timetable Problem," International Journal of Advances in Soft Computing and its Applications, vol. 2, no. 1, pp. 101-118, 2010.
[19]S. Suliadi, I. Ahmad, A. Maselan and R. Siti, "A Heuristics Approach for Classroom Scheduling Using Genetic Algorithm Technique," Journal of Physics, pp. 1-7, 2017.
[20]S. Haroldo, O. Luiz and S. Marcone, "An Efficient Tabu Search Heuristic for the School Timetabling Problem," Springer Link, vol. 3059, pp. 468-481, 2004.
[21]B. B. Guilherme, J.,. -P. Camilo and L. B. Denise, "Development of a linear programming model for the University Course Timetabling Problem," Gestão and Produção, vol. 24, no. 1, pp. 40-49, 2017.
[22]D. Mortaza, D. Feizi and Abdi, "Timetabling: A State-of-the-Art Evolutionary Approach," International Journal of Machine Learning and Computing, vol. 3, no. 3, pp. 255-258, 2013.
[23]V. Oude, Jansen, Hans and v. Hillegersberg, "Practices in timetabling in higher education institutions: a systematic
review," Annals of Operations Research volume , vol. 275, p. 145–160, 2019.
[24]K. Iosif, T. Ioannis and B. Grigorios, "A Comparative Study of Modern Heuristics on the School," Algorithms, vol. 8, no. 3, pp. 723-742, 2015.
[25]H. Asmuni, B. Edmund, G. Jonathan and M. Barry, "Fuzzy Multiple Heuristic Orderings for Examination Timetabling," London , 2004.
[26]A. Leena, Ö. Ender and K. Ahmed, "Solving high school timetabling problems worldwide using selection hyper-heuristics," Expert Systems with Applications, vol. 42, no. 13, pp. 5463-5471, 2015.
[27]C. Fatih and K. Merve, "A Fuzzy Logic and Binary-Goal Programming-Based Approach for Solving the Exam Timetabling Problem to Create a Balanced-Exam Schedule," Internation Journal of Fuzzy Systems, pp. 119-129, 2015.
[28]C. Arindam and D. Kajal, "Fuzzy Genetic Heuristic for University Course Timetable Problem," Software Computer Applications, vol. II, no. 1, pp. 100-104, 2010. [29]C. Alberto, M. Michele, T. Paolo and L. Pier, "A
Lagrangian heuristic algorithm for a real-world train timetabling problem," Discrete Applied Mathematics, vol. 154, no. 1, pp. 738-753, 2006.
[30]C. Valentina, F. Fabio and P. Martin, "Approaches to a real-world Train Timetabling Problem in a railway node," Omega, vol. 58, pp. 97-110, 2016.
[31]K. Ahmed and E. Keedwell, "A HiddenMarkov Model Approach to the Problem of Heuristic Selection in Hyper-Heuristics with a Case Study in High School Timetabling Problems," Massachusetts Institute of Technology, 2017.
[32]A. Oussama, S. Malek and E. A. Abdellatif, "Investigation of hidden markov model for the tuning of metaheuristics in airline scheduling problems," IFAC-PapersOnLine, vol. 49, no. 3, pp. 347-352, 2016.
[33]B. Nurlida, I. Waidah and M. Norita, "A Simulated Annealing for Tahmidi Course Timetabling," Procedia Technology, vol. 11, pp. 437-445, 2013.
[34]N. Khang, P. Tung, L. Nga, D. Nguyen and T. Nuong, "Simulated Annealing-Based Algorithm for a Real-World High School Timetabling Problem," Hanoi, Vietnam, 2010.
[35]C. Pierre, "Stochastic Optimization Algorithms," 2007.
[Online]. Available:
https://arxiv.org/ftp/arxiv/papers/0704/0704.3780.pdf. [Accessed 27 October 2018].
[36]S. Swatman, "A Comparison of Heuristic Approaches to Timetable Generation at Science Park," 2016.
[37]N. Maciej, "A HYBRID METHOD FOR SOLVING
TIMETABLING PROBLEMS BASED ON THE
EVOLUTIONARY APPROACH," Wroclaw, 2006.
[38]A. Esraa and E. K. Ghada, "A Utilization-based Genetic Algorithm for Solving the University Timetabling Problem (UGA)," Alexandria Engineering Journal, vol. 55, no. 2, pp. 1395-1409, 2016.
[39]S. Abdullah, "HEURISTIC APPROACHES FOR UNIVERSITY TIMETABLING PROBLEMS," 2006.
UNIVERSITY COURSE TIMETABLING PROBLEM," African Journal of Science and Technology (AJST) , pp. 34 - 40, 2006.
[41]G. S. Haroldo, S. O. Luiz and J. S. Marcone, "An Efficient Tabu Search Heuristic for the School Timetabling Problem," 2006.
[42]P. Valdecy and G. C. Helder, "Linear Integer Model for the Course Timetabling Problem of a Faculty in Rio de Janeiro," Advances in Operations Research, 2016. [43]D. Corne, P. Ross and H. Fang, "Evolutionary timetabling:
Practice, prospects and work in progress," Proceedings of UK planning and scheduling SIG workshop, 1994.
[44]K. Nurmi and J. Kyngäs, "A Framework for School Timetabling Problem," MISTA, pp. 386-393 , 2007.
[45]R. A. Izah, S. Suliadi, A. Maselan and N. R. Siti, "A Heuristics Approach for Classroom Scheduling using Genetic Algorithm Technique," Journal of Science and Technology, vol. 9, no. 3, pp. 10-15, 2017.
[46]E. Wilhelm and K. Jürgen, "A genetic algorithm solving a weekly course-timetabling problem," Springer, pp. 198-211, 2005.
[47]R. Raghavjee and N. Pillay, "Evolving solutions to the school timetabling problem," In Proceedings of the world congress on nature and biologically inspired computing (NaBIC’09), pp. 1524-1527, 2009.
[48]R. Qu, "Case-based reasoning for course timetabling problems," 2002.
[49]J. Zuters, "An Ensemble of Neural Networks as Part of a GAbased Model to Solve the School Timetabling Problem," 2017. [Online]. Available: http://home.lu.lv/~janiszu/papers/2006_neural_ensemble. pdf. [Accessed 8 April 2020].
[50]M. Norberciak, "Universal Method for Timetable Construction based on Evolutionary Approach," World Academy of Science, pp. 91-96, 2006.
[51]M. Liam, B. Natashia, H. Barry and S. Peter, "A Hybrid Algorithm for the Examination Timetabling Problem," Practice and Theory of Automated Timetabling, pp. 207-231, 2002.
[52]B. Hamed, K. Jaber and H. Amin, "Generating an optimal timetabling for multi-departments common lecturers using hybrid fuzzy and clustering algorithms," Methodologies and Application, vol. 23, p. 4735–4747, 2019.
[53]E. H. L. Aarts, J. Korst and W. Michiels, "Simulated annealing," 2005.
[54]H. Darrall, J. Sheldon and J. Alan, "The Theory and Practice of Simulated Annealing," International Series in Operations Research & Management Science, vol. 57, pp. 287-319, 2003.
[55]R. Qu, E. Burke, B. McCollum, L. Merlot and S. Lee, "A survey of search metodologies and automated system developement for examination timetabling," Journal of Scheduling, vol. 12, no. 1, pp. 55-89, 2009.
[56]Abramson, "Constructing School Timetables Using Simulated Annealing: Sequential and Parallel Algorithms," Management Science, vol. 37, no. 1, pp. 77-83, 1991. [57]G. Omid and N. Yuri, "Train routing and timetabling via a
genetic algorithm," IFAC Proceedings Volumes, vol. 45, no. 6, pp. 158-163, 2012.
[58]I. Vassilios, X. Ioannis and N. Grigorios, "Solving the high school timetabling problem using a hybrid cat swarm optimization-based algorithm," Applied Soft Computing, vol. 52, pp. 277-289, 2017.
[59]B. Edmund, H. Matthew, K. Graham, O. Gabriela, Ö. Ender and R. W. John, "A Classification of Hyper-heuristic Approaches," International Series in Operations Research & Management Science , vol. 146, pp. 449-468, 2019.
[60]Techsparks, "Hot topic for project and thesis - Machine Learning - Techsparks," [Online]. Available: https://www.techsparks.co.in/hot-topic-for-project-and-thesis-machine-learning/. [Accessed 22 09 2018].
[61]Z. Janis, "A Supervised Learning Process Using Randomly Generated Training Patterns to Obtain an Evaluative Neural Network," 2006. [Online]. Available: http://home.lu.lv/~janiszu/papers/2006_random_ext.pdf. [Accessed 25 October 2018].
[62]E. Mbunge, M. Ralph, C. Nation and C. Antony, "Fraud Detection in E-Transactions using Deep Neural Networks - A Case of Financial Institutions in Zimbabwe," International Journal of Science and Research, vol. 6, no. 9, pp. 1036-1040, 2017.
[63]S. S. Ana, A. M. Itaza, M. Suraya and A. Normah, "Backpropagation neural network with new improved error function and activation function for classification problem," Kuala Lumpur, 2012.
[64]C. Xiaoming, T. Zheng, V. Catherine, L. Songsong and O. Toshimi, "A modified error backpropagation algorithm for complex-value neural networks," International Journal of Neural Systems, vol. 15, no. 06, pp. 435-443, 2005. [65]C. Alejandro, F. Ricardo and S. Mariela, "Semi-supervised
learning: When and why it works," arXiv, pp. 1-24, 2018.
[66]Z. Xiaojin and G. Andrew, " Semi-Supervised Learning," Morgan and Claypool publishers, vol. 3, no. 1, pp. 1-4, 2009.
[67]M. Elliot and R. Talent, "A Robust And Scalable Four Factor Authentication Architecture To Enhance Security For Mobile Online Transaction," INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH, vol. 7, no. 3, pp. 139-143, 2018.
[68]M. P. Carrasco and M. Pato, "A comparison of discrete and continuous neural network approaches to solve the class/teacher timetabling problem," European Journal of Operational Research, vol. 153, no. 1, pp. 65-79, 2004. [69]D. L. Cassioli, Locatelli, Schoen and Sciandrone,
"Machine learning for global optimization," Computational Optimization and Applications, vol. 51, p. 279–303, 2012. [70]B. A. Emilia, "LECTURE TIMETABLING USING
HEURISTIC TECHNIQUE," 2012.
[71]University of Eswatini, "Faculty of Science and Engineering," 2019. [Online]. Available: http://www.uniswa.sz/academics/science. [Accessed 17 June 2019].
[72]UNESWA Calendar, "Uneswa-calendar2018/2019," 2018.
[Online]. Available:
3814 -calendar2018.pdf. [Accessed 17 June 2019].
[73]M. Randall and D. Abramson, "A general meta-heuristic based solver for solving combinatorial optimisatoion problems," Comput. Optim. Appl., vol. 20, no. 2, pp. 185 - 210, 2001.
[74]Abramson and Dang, "Welcome to OR-Library," 1993.
[Online]. Available:
http://people.brunel.ac.uk/~mastjjb/jeb/info.html. [Accessed 12 January 2019].
[75]S. Khuri, T. Walters and Y. Sugono, "A Grouping Genetic Algorithm for Colouring the Edges of Graphs," Proceedings of the ACM/SIGAPP Symposium on Applied Computing, pp. 422 - 427, 2000.
[76]S. Suliadi, I. Ahmad, A. Maselan and R. Siti, "A Heuristics Approach for Classroom Scheduling Using Genetic Algorithm Technique," Journal of Physics: Conference Series, vol. 995, 2018.
[77]R. Zhang and W. Cheng, "A hybrid immune simulated annealing algorithm for the job shop scheduling problem," Applied Soft Computing, vol. 10, no. 1, pp. 79-89, 2010. [78]S. Mahmoud, N. Mahmoud and M. M. Mohammad,
"Optimal Localization of Shopping Centers Using Metaheuristic Genetic Algorithm," Journal of Optimization in Industrial Engineering, vol. 13, no. 1, pp. 167-176, 2020.
[79]S. Kate, A. David and D. David, "Hopfield neural networks for timetabling: formulations, methods, and comparative results," Computers & Industrial Engineering, vol. 44, no. 2, pp. 283-305, 2003.