School Timetabling Optimisation Using Artificial Bee Colony Algorithm Based on a Virtual Searching Space Method

: Although educational timetabling problems have been studied for decades, one type, the STP, has not developed as quickly as the other two types due to its diversity and complexity. Also, most of the STP research has only focused on the educators’ availabilities when studying the educator aspect, and the educators’ preferences and expertise have not been taken into consideration. This paper proposes a conceptual model for the school timetabling problem considering educators’ availabilities, preferences and expertise as a whole, and chooses a common real-world school timetabling scenario to study. A mathematical model is presented. A Virtual search space for dealing with the large search space is introduced, and the artificial bee colony algorithm is adapted and applied to the proposed model. The proposed approach is simulated with a random-generated large dataset. The experimental results demonstrate that the proposed approach is able to solve the STP and handle a large dataset in an ordinary computer hardware environment, which significantly reduces computational costs. Compared to the traditional CP method, the proposed approach is more effective and can provide more satisfactory solutions in considering educators’ availabilities, preferences, and expertise levels. In addition, this paper introduces a novel VSS method to reduce the search space. The proposed approach is simulated with a random-generated large dataset.

timetables complexifies the problems. For example, some schools [7,8] treated courses, educators and rooms as resources to be allocated, whereas some schools bound courses and educators as a pair to be assigned [8,9].
To solve STPs, many computational intelligent methods and approaches have been applied, which mainly are categorised as heuristic approaches and novel approaches [10,11]. Heuristic approaches consist of metaheuristics and hyper-heuristics. Metaheuristics approaches are inspired by natural phenomena aiming at seeking better solutions rather than the best solution [12,13]. Hyper-heuristics uses metaheuristics methods to select a metaheuristic to solve generalised solutions [14]. Novel approaches include hybrid approaches, fuzzy logic approaches and MAS. Hybrid approaches employ different methods to solve a problem in order to alleviate the weakness of a single method [15,16]. Fuzzy logic approaches aim to solve those problems which are hard to be quantitated and modelled as they do not have a precisive classification [17,18]. MAS deploys serval computational intelligent methods as an agent to play different roles to collaboratively fulfil a common goal [19].
Based on the abovementioned approaches, many applications are developed to solve STPs. In the metaheuristics field, Odeniyi, Omidiora, Olabiyisi and Aluko proposed a modified simulated annealing approach for Fakunle Comprehensive High School in Nigeria [20]. With the aid of the annealing scheme through the temperature parameter introduction, the approach successfully reduced the convergence time and computational cost brought by the annealing algorithm in dealing with large search spaces. A simple genetic algorithm (SGA) was adopted by Sutar and Bichkar [21] to solve an STP with knowledge augmented operators and probabilistic repair in the crossover step. The result of the modified approach against the OR-Library dataset [21] suggested SGA could produce faster solutions for GA-based optimization problems than the conventional GA method. In the hyper-heuristics area, Ahmed, Ozcan, Kheiri [22] combined five different selection hyper-heuristics with three-move acceptance methods to challenge the ITC2011 instances. The outcome indicated the approach was better than evolutionary algorithms [23] and an adaptive large neighbourhood search algorithm [24] but not when compared to hybridized simulated annealing (SA) and stagnation-free late acceptance hill climbing [25]. Hybrid approaches are combinations of various approaches. Those combined approaches for solving STPs include but are not limited to cat swarm optimization (CSO) with a local search algorithm [26], particle swarm optimization (PSO) with hybrid artificial fish swarm (AFS) [27]. Babaei, Karimpour and Oroji employed a fuzzy c-means clustering algorithm to solve STP for Islamic Azad University [28] to reduce redundancy and consider lecturers' preferences. When school timetabling is being planned, it will get multiple stakeholders involved, such as educators, heads of school and administrators, to negotiate. Therefore, MAS is often applied to simulate the process and the parties of the negotiation. Oprea [29] demonstrated that MAS could handle the negotiations between faculties and minimize resource conflicts, while Tkaczyk, Ganzha and Paprzycki [30] emulated the school timetabling workflow of the University of Gdansk with MAS.
Although many efforts have been made in the educational timetabling research field for decades, there has still been no consensus about the standard formulation and data format [8]. In addition, most of the STP researches only focused on educators' availabilities when they studied the educator aspect [6,31], and the attributes of educators' preferences and expertise were not taken into consideration. To address this issue, this paper chooses a common real-world school timetabling scenario to study and takes educators' preferences towards units (also known as 'courses' in some literature) and the corresponding expertise level into account. Based on the chosen scenario, this paper presents a model of the STP and proposes a modified ABC algorithm to solve the problem because the ABC algorithm has successfully solved ETPs in the course [32,33] and examination [15,34,35] timetabling fields. In addition, this paper introduces a novel VSS method to reduce the search space. The proposed approach is simulated with a random-generated large dataset.
The experiment results demonstrate the proposed approach is able to solve the STP and handle a large dataset in an ordinary computer hardware environment.
The contributions of this research include a conceptual model and its mathematical formulation for the STP considering educators' availabilities, preferences and expertise as a whole, a novel VSS method for reducing the computational cost of handling a large searching space and a modified ABC algorithm to solve the proposed STP model.
The organisation of this article is as follows. Section 2Error! Reference source not found. presents the problem formulation, including a conceptual model of the STP, identification of hard and soft constraints, and formulation of the objective function. Section 3 describes the proposed approach, consisting of a concept of educator allocation, a modified ABC algorithm and a VSS construction method. Section 4 simulates the proposed approach with a case based on a local university's business scenario. A comparison study between the proposed approach and the Constraint Programming (CP) is presented in Section 5. Section 6 concludes the article and indicates future works.

2.Problem Formulation
As the descriptions and terminology of STP are dramatically different from study to study [6], this section firstly defines the STP studied and the terms used in this paper. After that, hard constraints and soft constraints of the STP will be identified followed by the objective function formulation.

2.1.Terminology
A course refers to an academic program that students need to learn to gain university degrees, for example, in a Bachelor of Mobile Application degree, Mobile Application is the course name.
A unit refers to the academic subject within a course, e.g., Java Programming is a unit of the course Mobile Application.
A class refers to the particular teaching activity being scheduled in a timeslot in a day, which could be a lecture, a tutorial, a workshop and/or other educational activities.
An educator refers to the educational staff who delivers lectures, tutorials, workshops, etc.
A school week is from Monday to Friday. A school day is a day of a school week.

School Timetabling Concept Model
In this study, three parameters of educators have been taken into consideration: preferences, availabilities and expertise. The objective of the school timetabling is to allocate all the school educators to a scheduled course timetable that satisfies all the preferences, availabilities and expertise as much as possible. The conceptual model of the school timetabling is presented in Figure 1. In the beginning, a course timetable is preconstructed according to all university course information. That is, all the class activities have been scheduled with their timeslots in a school week. The course timetable has ensured that every single student will not take more than one unit at the same time. Educators provide their availabilities in a school week and their preferences along with preference levels against each unit. After that, the head of school will generate a school timetable by allocating educators to the scheduled course timetable according to educators' availabilities, preferences and expertise. The level of expertise against units is predefined by the head of school.

Notation
Set of timeslots that educator is available in the school week. If educator is available in a whole school week, then = {1, … , × } Set of timeslots that class is scheduled to in the school week. If class is scheduled in the first three hours of the school week, then = {1,2,3}

2.4.Hard Constraints
Hard constraints are those conditions that the solutions have to satisfy. In this study, the hard constraints listed below are binary values. If a hard constraint is violated, it will be given value zero, otherwise, value 1 will be assigned. The hard constraints are notated as and mathematically modelled as below: 1: No an educator can deliver more than one class simultaneously.
where i is the index of classes and j is the index of the educators; x are decision variables, which is explained in Equation 6.
4: one educator is allowed to teach no more than V classes in a school week where i is the index of classes and j is the index of the educators; x_{ij} are decision variables, which is explained in Equation 6.

2.5.Soft Constraints
Soft constraints are those conditions that the solutions do not have to satisfy but are preferably satisfied. The following soft constraints have been identified:  Educators will be assigned with the units most preferred.  Units will be allocated with the educators who are more capable to teach.  All units must be allocated with educators. In practice, some units cannot be allocated with educators. For example, when a unit has not been favoured by any educator, or when two units are only favoured by one educator, but these two units are time conflicted.

2.6.Objective Function
The objective of this study is to maximise both all educators' satisfaction and all units' quality of teaching, in other words, to let the units be taught by the most qualified educators and to let the educators teach their most preferred units. When a unit is allocated with an educator, its allocation quality will be decided by the educator's expertise level and associated preference level, subject to the hard constraints being satisfied. This study defines the objective value of a class allocation as shown in Equation 5, which is the multiplication of preferences ( ) and expertise ( ) values given to class .
where refers to the preference of educator toward class ; represents the expertise of educator to class .
According to the concept model, the course timetable is preconstructed. The STP can be transferred to an allocation problem. Figure 2 is the bipartite graph for the STP. Therefore, the STP optimization model can be presented as: Where ∈ {1,2, . . . , }; ∈ {1,2, . . . , }; u is the number of unallocated units (if all the units are allocated, then u will be set to be 1).

3.The Proposed Approach
This section firstly presents a basic concept of allocating educators to the scheduled course timetable. Based on the concept, a modified ABC algorithm is introduced. After that, a novel method named VSS is proposed to solve the gigantic searching space issue.

3.1.The Basic Concept of Educator Allocation
The research aims to allocate educators to a scheduled course timetable and attempts to satisfy their availabilities, preferences and expertise as much as possible. The allocation concept can be illustrated in Figure 3.
In Figure 3, the left side is an example of a scheduled course timetable listing the classes along with their weekdays, start times and durations. The educator ID column is to be filled with the IDs of the educators who are allocated to the classes. Weekdays and start times indicate which weekday the class is allocated to and at what time the class will start. Duration shows how long the class will last. On the right side of Figure 3, the educator list is presented including educator ID, preference and expertise, and availability columns. The educator ID column lists educators' IDs ( ∈ {1,2, . . . , }); the preference and expertise column stores a two-dimensional table, exampled in Table 1, which has K rows and three fields storing all the unit IDs, and their preferences and the expertise levels of an educator against those units. If an educator has no interest to teach a class, for example in Table 1, then the preference and expertise will be filled with 0; otherwise, the corresponding level number will be put. The availability column contains a one-dimensional array converted from the two-dimensional school week timetable exampled in The basic process of allocating educators is to match each educator against a unit. Figure 3 can be used as an example to explain the process. Assuming that is capable ("capable" means the expertise value is not equal to zero) and available to teach , and are capable to teach and , but only is available to teach . Firstly, the program will consult the first unallocated educator from the educator list, which is , and allocate it to the first unallocated class, which is , as is capable and available. Then, the corresponding cell on 's availability table will be marked with "N". After that, becomes the first unallocated educator. However, is not available to teach , therefore the consecutive unallocated educator, that is , will be consulted. As is capable and available, so will be assigned to . When 's allocation is finished, becomes the first unallocated educator and will be consulted for the . As is capable and available to teach , thus takes . When all the educators and their profiles have been consulted, a timetable solution would be outputted. Table 2. The number of elements in the availability array is × . The availability column indicates the availabilities of each educator in a school week. If an educator is available at, for example, 8 a.m. on Monday in Table 2, then the first cell of the array will be marked with a Y, otherwise, an N will be stored.

Class ID
Weekday Start time  The basic process of allocating educators is to match each educator against a unit. Figure 3 can be used as an example to explain the process. Assuming that is capable ("capable" means the expertise value is not equal to zero) and available to teach , and are capable to teach and , but only is available to teach . Firstly, the program will consult the first unallocated educator from the educator list, which is , and allocate it to the first unallocated class, which is , as is capable and available. Then, the corresponding cell on 's availability table will be marked with "N". After that, becomes the first unallocated educator. However, is not available to teach , therefore the consecutive unallocated educator, that is , will be consulted. As is capable and available, so will be assigned to . When 's allocation is finished, becomes the first unallocated educator and will be consulted for the . As is capable and available to teach , thus takes . When all the educators and their profiles have been consulted, a timetable solution would be outputted.
note: Y refers to available, N means unavailable. This table will be converted to be a one-dimensional array. The total number of cells of the array equals to the multiplication of × . The index 1 refers to the first timeslot of the first day. The index × indicates the last timeslot of the last day.
With the concept of educator allocation, it is known that a specific educator list sequence subjected to the course timetable will always output the same school timetable. For instance, in Figure 3, educator will always be assigned to the class , even if educator might be more suitable (e.g., has a higher value than ), as will be consulted before . Therefore, an educator list can be considered as a solution and therein changing the educator list sequence can obtain different solutions, from which it can be reasoned that the number of possible solutions is the number of permutations of the educator list, in other words, is the factorial of the number of educators. All of the possible solutions form the entire solution searching space. However, the number of educators in a university could be over 100, meaning that the number of solutions will be gigantic and lead to the impossibility of seeking the best solution by traversing the whole searching space. Therefore, an artificial intelligence algorithm is needed.

3.2.ABC Algorithm
The ABC algorithm is chosen for the proposed STP for its ability to solve multivariable, multimodal optimisation problems efficiently. Also, the ABC algorithm can be easily implemented without requiring many parameters. The ABC algorithm is inspired by the behaviours of honeybees and was introduced by Karaboga [36]. It simulates the ways that honeybees forage for food sources, which helps bees efficiently and effectively seek better food sources in a vast area. The mechanisms the ABC algorithm uses include positive feedback, negative feedback, fluctuations and multiple interactions. These four mechanisms help the bees to explore new food sources and to avoid over-populating a source, and also ensure information can be shared with each bee. Labour division is another feature of the ABC algorithm. Bees are categorised to be employee bees, onlooker bees and scout bees. Employee bees are responsible for new food source exploration; onlooker bees are in charge of food source analysis and exploitation; scout bees avoid food source exhaustion.
The ABC algorithm consists of four stages: population, employee bee, onlooker bee and scout bee stages.
In the solution population stage, the ABC algorithm randomly populates several solutions (bees) in a searching space with Equation 7.
where i is one of the nodes in the searching space, d is dimension. and is the upper bound and low bound for the dimension d.
In the employee bee stage, neighbours of the populated solutions will be looked for with Equation 8.
where k is randomly chosen from the searching space and ≠ . is randomly generated in the range of [-1,1].
is a neighbour of . The probability of each employee bee will be calculated with Equation 9.
In the onlooker bee stage, a random number [0,1] will compare to for each employee bee, if the random number is better than a , an onlooker bee will be sent to look for a neighbour of the employee. A parameter called trail will be used in this stage. Trail limits the times that a food source has been explored. If the exploration time reaches the trail and the better neighbour has not been found, the food source will be abandoned.
In the scout bee stage, the onlooker bee(s), whose food source(s) is abandoned, will become scout bee(s) and randomly populate a new solution. The equation scout bees use is similar to Equation 7.

A Modified ABC Algorithm for Proposed STP
The modified ABC algorithm is presented in Figure 4. To adapt the ABC algorithm, some modifications have been made to suit the investigated problem. The modifications are described as follows. Before food source initialisation, a scheduled course timetable will be retrieved from the course database followed by the educator profiles data retrieval (Step 1 in Error! Reference source not found.). The examples of course timetable and educator profile are illustrated in Error! Reference source not found.. Since the boundary (Equation 7 and 8) of the searching space and the current neighbourhoods are needed to be known when bees are foraging for food sources, the searching space will be formed beforehand. However, as mentioned before, the number of solutions is gigantic, so this research proposes a VSS to tackle this dilemma. The VSS is detailed in Section 3.4. To construct the final solutions from the food sources that bees forage from the VSS (Step 03, 09, 15 and 19 in Error! Reference source not found.), the school timetable construction will be applied and detailed in Section 3.5. The objective values of constructed final solutions will be evaluated with Equation 6 (Steps 04, 10 and 16 in Error! Reference source not found.).

3.4.Virtual Searching Space Construction
VSS aims to provide an entire solution pool for the proposed algorithm rather than constructing a gigantic searching space. As discussed above, the searching space is formed through permutation manipulation with the magnitude of the factorial number of educators. Thus, it would be impractical to physically construct the whole searching space as it would exceed the memory capacity of ordinary computers not to mention the computational time for generating all the solutions for each educator list. To tackle this dilemma, we propose a novel VSS approach. VSS does not construct a searching space by the direct permutations. Instead, it "imagines" the solutions to be allocated in the searching space in the way as exampled in Error! Reference source not found.. Assume one bee is employed and four educators are to be allocated, then the searching space will be similar to Error! Reference source not found. with four regions (A, B, C and D) and 24 possible solutions (hereafter referred to as columns) numbered.
In the food source initialisation phase (Step 03 in Error! Reference source not found.), VSS does not need to know the solutions' coordinators in the searching space as any educator list combination will be in the solution pool. VSS randomly generates an educator sequence B-A-D-C (Column 8).
In the neighbour seeking phase, VSS swaps the positions of A and C in Column 8 to obtain Column 10. The swap method can decide the distance, vector and boundary of neighbour solutions with the following rules: Rule 1: Fixing top element(s) can confine the boundary of the neighbourhood. For example, when the first element "B" is fixed, the neighbourhood will be in B region. When "B-A" is fixed, there are only two neighbours, B-A-C-D (Column 7) and B-A-D-C (Column 8). This rule confines the upper bound and low bound for a dimension as and in Equation 7.
Rule 2: The relationship of swapping elements determines the orientation. For example, if the higher element (A) switches with the lower one (C) (in practice, higher/lower element refers to higher/lower indexed element, which could be alphabetic order or numerical order.), the orientation will be rightward, vice versa. This rule plays the rule as in Equation 8. Rule 3: The positions and distance between swapping elements decide the distance of neighbours. For example, if swapping the last two elements, "D" and "C" in B-A-D-C (Column 8), the neighbour is right next to each other. If swapping higher elements, like "A" and "D" the neighbour is three steps away. This rule plays the role of k in Equation 8.
These three rules have been successfully applied to a large dataset with 150 educators experimented in Section 4.

3.5.School timetable construction
The proposed approach will not generate a timetable solution directly. Instead, it will randomly select educator lists from VSS as the food sources of the modified ABC algorithm. After that, the food sources will be passed to the timetable constructor to output complete solutions. The steps 03, 04, 10 and 16 in Error! Reference source not found. are the entries food sources passed to the school timetable constructor. Error! Reference source not found. demonstrates the construction process.
A class will be selected from the scheduled course timetable subsequently to match an unallocated educator in the given educator list. If the educator is allocatable due to her/his preference and availability, then the class will be assigned to that educator. Otherwise, the consecutive educator will be consulted. The scheduled course timetable will be traversed at particular times depending on the number of classes (parameter V) that an educator is allowed to deliver in a school week. If all the classes have been allocated with an educator, a constructed school timetable will be returned (steps 03, 04, 10 and 16 in Error! Reference source not found.). Otherwise, the unallocated classes will be revisited to seek the educators who are capable and available to teach those classes despite the limitation of the V. When the program reaches the end of the course timetable again, a school timetable will be returned regardless even if there may be some unallocated classes left. The extra revisiting aims to minimise the number of unallocated classes and provides suggestions to the head of school to negotiate with those educators who have the relevant expertise but do not prefer to teach the classes.

4.Experiment
The experiment follows the proposed school timetabling conceptual model as illustrated in Figure 1. The scenario is detailed as below.  The course timetable is prescheduled and fixed based on the course enrolment information. The class activities have been scheduled in the weekly timeslots.  Before planning a school timetable, educators will submit their expression of interest to the administration, including the units they want to teach and the preferences towards each unit. IF (the educator is available and prefer to teach the class) 6 : Allocate the educator to the class 7 : Modify the educator's availability 8 : IF (all classes are allocated with an educator) 9 : Return constructed School Timetable 10 : FOR (each unallocated class in the course timetable) 11 : FOR (L) 12 : IF (the educator can and is available to teach the class) 13 : Allocate the educator to the class 14 : Modify the educator's availability 15 : Return constructed School Timetable


Educators need to provide their unavailability form in the school week. The number of unavailable hours cannot be more than 3 hours.  The head of school will confirm and adjust each educator's expertise against a unit.  The goal of the school timetabling is to satisfy educators' preferences and classes' qualities and attempt to ensure every unit is allocated with an educator.

4.1.Experimental settings
According to the proposed conceptual model in Error! Reference source not found., this research set the following parameters to randomly generate a dataset consisting of a predefined course timetable and an educator roster along with their availabilities, preferences and expertise levels. After that, the generated dataset will be simulated with the proposed approach.
Maximum unavailable timeslots an educator can have in a week: 3 The proposed approach has been experimented in the below environment. Programming language: JAVA  The computer hardware system is Intel® Core™ i7-1065G7 1.30GHz Processor with 16.0 GB of memory Ten samples have been configured in Error! Reference source not found. to experiment with the proposed algorithm with four ABC parameters: number of bees, neighbour range, number of iterations and number of traits. The number of bees presents the number of solution population; neighbour range confines the coverage of an exploration area of a bee; number of iterations is set to test whether increasing search times will improve the result; and number of traits determines the depth of exploitation of a food source. Each sample is tested ten times.

4.2.Experimental results
The experiment results for each sample listed in Error! Reference source not found. are shown in Error! Reference source not found.. Three key results demonstrating the performance of the proposed approach are chosen, which are values of the objective function, time spent and number of unallocated classes. Objective function values are calculated with Equation 6. Time spent presents computational time spent on the given samples. Unallocated class indicates the number of classes that cannot be allocated educators.
There are 27 unallocated classes, which has been manually reviewed and confirmed that those failures are due to educators' availabilities or interests. This is also because of the data quality resulting from all the experimental data being randomly generated. For example, two classes only can be taught by educator A, but these two classes share a timeslot with each other, or some classes have not been chosen by any educator. For this scenario, the educational administration will need to solve the issue manually, such as negotiating with educators and recruiting new educators. For simplifying the data comparison, the number of unallocated classes shown in Error! Reference source not found. and Error! Reference source not found. has been offset by 27.
Based on the result, the following conclusion could be drawn.  The proposed approach can obtain a feasible solution in a gigantic searching space in a short time.  Overall, although Sample A uses the least bees and iterations with a smaller neighbour range and traits, it achieves acceptable results within several seconds of execution. Therefore, the settings for Sample A are recommended for the proposed approach.
Besides, with the aid of VSS, the computational cost has been significantly released. Since VSS will not generate the entire searching space, the actual computational cost for forming the searching space is the cost of generating real solutions. The computational cost ( ) of forming the searching space can be calculate with the Equation 10.
Set the number of bees as , number of iterations as then the number of solutions that the program (detailed in Error! Reference source not found.) generates in one run is (*each bee populates one solution and at most generates two neighbour solutions, so each bee at most generates three solutions in one iteration.) As explained above, the scale of the entire searching space is the factorial of the number of educators, that is !. Therefore, the reducing computational cost can be calculated with Equation 11.
Given that the result of factorial generally is gigantic, computational cost will be considerably reduced.

5.Comparison Study
With the purpose of verifying the performance of the proposed approach in solving STPs, a CP is implemented for the comparison study since STPs are considered constraint satisfaction problems and CP has been proven to successfully solve various problems, including timetabling [37]. The CP applied to the investigated problem is demonstrated in Error! Reference source not found.. The steps of testing data retrieval and solution population are the same as the ones detailed in the initialisation stage in step 1 of Error! Reference source not found.. After that, unassigned classes and the populated educator list will be consecutively visited. If the consulting educator satisfies the constraints of expertise and availability of the selected class, the educator will be allocated to the class. If none of the educators can be allocated to the current class, the class will remain unassigned and the consecutive class will be selected to look for an eligible educator. If the number of unassigned classes exceeds the limitation, backtracking will be triggered. If all the classes have attempted to be assigned an educator, a solution will be outputted and then its objective function value will be evaluated. If the backtracking reaches the first class of the course timetable, the current solution is not feasible and another solution will be populated.
To allow the modified ABC algorithm and CP be more comparative, the CP will be fed with Sample A, shown in Error! Reference source not found., which can reach a better solution with the smallest population and iteration. As it is known that there are 27 unassignable classes in the dataset, to avoid over-backtracking, the compared approach sets up a backtracking trigger with the value 27, which is the N parameter in Error! Reference source not found.. This comparison study tests both the proposed modified ABC algorithm and CP ten times. The results of time spent in program execution, the number of unallocated classes and the objective function value will be compared. The comparison results are represented in Error! Reference source not found.. Overall, the modified ABC algorithm can find out a better solution than CP in terms of hard constraint satisfaction and objective function optimisation. Although the proposed ABC is slower than CP in program execution, one second time difference for a practical scenario is insignificant.

6.Conclusion
This research aims at providing an effective solution for solving an STP with the considerations of educators' availabilities, preferences and expertise as a whole. STP is an ETP that has not advanced as quickly as the other two types due to its diversity and complexity. Most of the STP research only focused on educators' availabilities rather than taking educators' preferences and expertise into considerations. This paper proposed a conceptual model of STP and introduced a novel VSS method to reduce the searching space. A modified ABC algorithm is applied to the STP model.
The proposed approach is simulated with a random-generated large dataset. The experimental results demonstrate that the proposed approach is able to solve the STP and handle a large dataset in an ordinary computer hardware environment thereby significantly reducing computational costs. Compared to the traditional constraint programming method, the proposed approach is more effective and can provide more satisfactory solutions in considering educators' availabilities, preferences and expertise levels.