Addressing Examination Timetabling Problem Using a Partial Exams Approach in Constructive and Improvement

: The paper investigates a partial exam assignment approach for solving the examination timetabling problem. Current approaches involve scheduling all of the exams into time slots and rooms (i


Introduction
Examination timetabling problem has been intensely studied because it is a complex problem and has practical significance in educational institutions.The problem involves a set of exams that have to be placed into a number of time slots and rooms, subject to numerous hard and soft constraints [1].Hard constraints must be fully satisfied for the timetable to be feasible.Soft constraints should be satisfied as much as possible, with the minimisation of the soft constraint violations providing a quality timetable.The examination timetabling problem is a real-world combinatorial optimisation problem that is difficult to solve due to having numerous constraints and limited resources (i.e., time slots and rooms) in allocating a large number of exams.There are two types of examination timetabling problem: capacitated and un-capacitated.In the un-capacitated version, the capacity of the rooms is not considered, whereas the capacitated variant considers room capacity as a hard constraint.
Examination timetabling is a type of scheduling problem that has NP-hard complexity and thus many researchers have investigated stochastic methods such as heuristic and meta-heuristic approaches to find optimal or near-optimal solutions.Until recently, numerous approaches have been proposed in scientific literature to solve the examination timetabling problem.
In earlier research, graph heuristic orderings were widely used for addressing timetabling problems [2][3][4].Carter et al. [5] developed a software for the examination timetabling problem where several graph colouring heuristic orderings were successfully employed.Kahar and Kendall [6] used four graph heuristic orderings for the University Malaysia Pahang examination timetabling problem (a real-world university examination timetabling problem), which produced feasible solutions for all datasets and which were of better quality than the university's solutions.Asmuni et al. [7] proposed a fuzzy concept with graph heuristic orderings to construct feasible solutions for the timetabling problem.Pillay and Banzhaf [8] used a hierarchical combination of graph heuristic orderings in their proposed hyper-heuristic framework for examination timetabling problem.Four heuristic combination lists were generated using low-level heuristics including Saturation degree (SD), Largest degree (LD), Largest weighted degree (LWD) and Largest enrollment (LE).Similar approach of graph colouring hyper-heuristics for constructing exam timetable was also proposed by Sabar et al. [9].Graph heuristic orderings have received considerable attention because they are straightforward and effective in constructing initial feasible solutions.However, they are not suitable for improving of solution vectors.
In time scheduling literature, great deluge (GD) algorithm, a local search meta-heuristic, has been proposed to improve the initial solution quality.Dueck [10] applied GD to the travelling salesman problem and observed that GD was able to perform better than simulated annealing (SA) and hill climbing (HC).Burke and Newall [11] utilised GD and other local search methods individually for the Toronto exam dataset and found that GD was superior in terms of exploration.Burke and Bykov [12] designed flex-GD for the examination timetabling problem.They increased the flexibility of GD by adding features such as an adaptive acceptance condition for each particular move and repairing infeasible moves with Kemp chains.This approach was tested on the Toronto dataset and outperformed other reported approaches.Landa-Silva and Obit [13] proposed a variant of GD where a non-linear decay rate and an increasing boundary level were introduced.The boundary level was decreased nonlinearly to avoid the algorithm being too greedy, whereas converging to a local optimum was avoided by increasing the boundary level.The approach was able to produce good quality solutions.Müller [14] used a GD algorithm combined with Iterative Forward Search (IFS) and HC for examination timetabling problem.IFS produced the initial solution, which was then improved by HC until reaching a local optimum.GD was used to improve the solution further.This multi-phase approach was shown to be effective in the ITC2007 timetabling competition.McCollum et al. [15] implemented an extended GD to tackle the ITC2007 exam dataset.The proposed approach used a reheating mechanism in the GD algorithm when no improvement was found after a number of iterations.The methodology produced good quality solutions.Kahar and Kendall [16] highlighted the application of the GD algorithm for solving a real-world examination timetabling problem faced by Universiti Malaysia Pahang.They employed a modified GD algorithm and experimented with different initial solutions and neighbourhood structures.The approach produced better results than the authors' previous approach of graph heuristic orderings [6].Hybridising GD with other approaches has also been effective for university course timetabling problems.Abdullah et al. [17] combined GD with tabu search.The approach generated the best solution from four neighbourhood moves and increased the boundary level randomly when no improvement was found for a specific period.Experimental results were competitive compared to other reported works.Turabieh and Abdullah [18] hybridised GD with the Electromagnetic Mechanism (EM).This approach produced good results when tested on Toronto and ITC2007 exam datasets.Fong et al. [19] hybridised a modified GD (Imperialist Nelder-Mead great deluge) with an artificial bee colony algorithm (ABC) to improve the global exploration capability of the basic ABC.This approach was shown to be effective in the course timetabling problem.Abuhamdah [20] used modified GD for clustering problems in the medical domain.A list was created that stored previous boundary levels when a better solution was obtained.However, no improvement for a certain number of iterations updated the boundary level by a value selected randomly from this list.The approach performed better than basic GD in clustering problems.Besides, GD has been used successfully in other optimisation problems such as course timetabling [13], patient-admission [21] and rough set attribute reduction [22].
Several other local search meta-heuristic approaches have been reported to address the time scheduling problem.Burke and Bykov [23] employed late-acceptance hill climbing-a variant of hill climbing-for examination timetabling problem.Here a list of a specific length was used to delay comparison between candidate solutions with the current best solution.Bykov and Petrovic [24] proposed step counting hill climbing algorithm.The idea was based on employing the current cost as an acceptance boundary for the next several steps.This algorithm produced better solutions than hill climbing search methods.Battistutta et al. [25] employed SA with feature-based tuning for timetabling problem.The tuning process selected the most important parameters and fixed the value of other ones.This tuning mechanism was able to produce competitive results.SA in examination timetabling was also reported in the literature [26].The notable features of local search meta-heuristic approaches are that they are simple, can avoid convergence into local optima and take fewer parameter settings (one or two).However, the effectiveness of this strategy highly depends on neighbourhood structure and the quality of the initial solution.
Another category of solution approaches includes population-based meta-heuristic and hyper-heuristic approach.Alinia Ahandani et al. [27] investigated a discrete particle swarm optimisation for the examination timetabling problem.The particle's position was updated using mutation and crossover, and its position was improved using three types of local searches.The approach provided satisfactory results when tested on the Toronto dataset.Another similar approach in addressing the timetabling problem is combining the particle swarm optimisation algorithm with a local search approach [28].Bolaji et al. [29] proposed a hybrid ABC for solving un-capacitated examination timetabling problems.The hybridisation of an ABC with harmony search algorithm and local search was performed in two phases so that exploration and exploitation can be balanced.Another population-based approach Prey-predator algorithm has recently been used to solve some instances of Toronto dataset [30].Memetic algorithm has also been popular for examination timetabling problem.Adaptive co-evolutionary memetic algorithm [31], a cellular memetic algorithm [32] and memetic algorithm based on Multi-objective Evolutionary Algorithm with Decomposition (MOEA/D) [32] have been reported to be effective in producing a quality exam timetable.Demeester et al. [33] presented a hyper-heuristic framework based on tournament selection in genetic algorithm.At the lower level of the hyper-heuristic, the number of move operations for each problem type was selected.Higher-level heuristics encompassed selection processes of these low-level heuristics and four move acceptance criteria.In the study, random selection performed better than intelligent selection.The approach was implemented on both examination and course timetabling problems, and it tended to produce quality solutions.Anwar et al. [34] investigated a harmony search hyper-heuristic approach for ITC2007 exam dataset.A basic harmony search algorithm was employed as a high-level heuristic that controlled the low-level heuristics.Two neighbourhood structures, move and swap, were employed.The approach was able to produce some better results than state-of-the-art approaches.Recently, Nelishia Pillay and Özcan [35] has examined two hyper-heuristic strategies for examination timetabling, which are arithmetic heuristics (AHH) and hierarchical heuristics (HHH).In general, above hyper-heuristic and population-based approaches tend to be effective in producing quality timetable solutions, but they are complex and often require more parameter settings.
It is observed from the literature that examination timetabling is often addressed in two stages.At the first stage, one or more complete initial feasible solution(s) is constructed.At the second stage, the quality of the feasible solution(s) is improved [7,16,36].Initial feasible solution(s) are usually produced using graph heuristic orderings, and the solution vector(s) are improved using meta-heuristics such as hill climbing, simulated annealing, tabu search, GD algorithm and genetic algorithm.Frequently, in the sequential approach, result(s) produced by the improvement step is biased by the initial solution(s), with good initial solution(s) tending to result in good improved solution(s) [16,37].Moreover, the improvement techniques are occasionally incapable of working effectively in generating the quality solution in the case of badness (local optima) of the initial solution [38,39].Hence the improvement algorithms must possess a good ability to explore (breadth) the search area as well as the capability to focus on the promising search area (depth).This makes the whole (sequential approach) search methodologies dependent on the improvement strategy, and sometimes the improvement strategy is unable to work effectively.Therefore, another approach is required that could encourage the search to produce quality solutions.
This paper proposes a new approach that includes partial graph heuristic orderings with a modified great deluge algorithm (PGH-mGD) for solving the examination timetabling problem.The strategy partially schedules a pool of exams, which are selected based on graph heuristic orderings and exam assignment value.These partially scheduled exams are improved using a modified GD.The procedure then schedules the next pool of selected examinations.This process continues until all examinations have been scheduled.This proposed approach is tested on two well-known examination timetabling problems, namely Toronto and ITC2007 exam dataset.To evaluate the performance, PGH-mGD is compared with traditional graph heuristic orderings with a modified great deluge algorithm (TGH-mGD) and related state-of-the-art methods.
In this paper, we use different graph heuristic orderings as a solution construction because they are straightforward and effective in constructing feasible solutions.In earlier research, several static graph colouring approaches such as Largest degree (LD), Largest weighted degree (LWD) and Largest enrollment (LE) were reported to construct timetables [5,6,40].Another ordering named Saturation degree (SD) showed better performance than static orderings due to its dynamic property [9].Subsequently, SD was hybridised with static orderings and exhibited better results compared to SD in terms of solution construction [41,42].We have used both hybridised and static approaches for constructing the timetable.The motivation for using GD in the improvement phase is due to its consistently good performance in addressing different scheduling problems.These include job shop scheduling [43], university timetabling problems [13,16,24,44], vehicle routing problem [45], feature selection problem [46,47] dynamic facility layout problem [48] and patient-admission problem [21].In addition to having the ability to avoid local optima, GD has only one parameter to be tuned.In this proposed approach, we have used a modified GD algorithm that use reheating mechanism to better avoid local optima.This type of strategy has showed effectiveness in several scheduling problems [15,16,20,21].
The rest of the paper is structured as follows.Section 2 provides a brief introduction on examination timetabling problem followed by a description and mathematical formulations of the examination benchmark datasets (i.e., Toronto and ITC2007 exam datasets).Section 3 describes a general overview of graph heuristic orderings and GD.Section 4 presents our proposed PGH-mGD and Section 5 describes TGH-mGD.The experimental setup for the examination timetabling problem is shown in Section 6.The experimental results are presented in Section 7, whereas the results are discussed and analysed in Section 8. Concluding remarks and suggestions for future research are provided in Section 9.

Examination Timetabling Problem
In this section, we give a general definition of the examination timetabling problem and then describe two examination timetabling benchmark datasets, namely Toronto and ITC2007 datasets.

Definition
Examination timetabling problem can be defined as the process of allocating a set of examinations E = {e 1 , e 2 , . .., e m } into a limited number of time slots T = {t 1 , t 2 , . .., t n } and rooms (optional) R = {r 1 , r 2 , . .., r p } subject to a set of constraints C = {c 1 , c 2 , . .., c q }, where m, n, p, q ∈ Z + .There are two types of constraints: hard constraints and soft constraints.An examination timetable produces a feasible solution when only hard constraints are considered.A common hard constraint is that two examinations taken by the same student must be assigned in different time slots.Soft constraint satisfaction is associated with solution quality.The more we minimise the number of soft constraint violations, the better we will produce a quality exam timetable.A simple example of a soft constraint is to spread the examinations as evenly as possible over the time periods.
The examination timetabling problem is categorised into capacitated and un-capacitated.In a capacitated examination timetabling, room capacity is considered as a hard constraint, but an un-capacitated one does not consider room capacity.Two datasets that have been frequently mentioned for examination timetabling problem are Toronto and ITC2007 exam datasets.Toronto dataset is an un-capacitated and more popular dataset in research communities, whereas the ITC2007 exam dataset is a capacitated, more realistic and more difficult to solve.These two datasets are described in the following subsections.

Problem Description
The most widely used examination benchmark dataset was introduced by Carter and Laporte [5].This dataset is also known as the Toronto dataset and is available in Reference [49].This dataset is an un-capacitated examination timetabling benchmark dataset, and it considers an unlimited number of seats.There are 13 instances in the Toronto dataset.They are shown in Table 1.In this table, conflict density indicates the difficulties of instances with respect to examinations in conflict.This is measured by counting the number of events in which examinations have conflicted with each other, followed by dividing it with the total number of events aggregating both conflicted and non-conflicted examinations with each other.The Toronto dataset has one hard and one soft constraint, which are defined as follows: • Hard constraint: One student can attend only one exam at a time (it is known as a clashing constraint).

•
Soft constraint: Conflicting examinations are spread as far as possible.This constraint measures the quality of the timetable.

Problem Formulation
The objective of the Toronto dataset problem is to satisfy the hard constraint and minimise the penalty value of the soft constraint violations.The formulations of the Toronto examination timetabling problem as well as the objective function, which are adopted from Carter et al. [5], are defined as follows.

•
N is the number of exams.

•
M is the total number of students.
where each element in the matrix is the number of students taking examination i and j, and where i, j ∈ {1, . .., N}.Each element c ij is n if examination i and examination j are taken by n students (n > 0), otherwise c ij is zero.
is the time slot associated with examination k, and k ∈ {1, . .., N}.
The objective function of the problem is expressed in Equation ( 1).Its aim is to minimise the proximity cost, that is, reducing the penalty value of the soft constraint violation as much as possible. where and subject to where Equation ( 2) presents the penalty cost of the examination i and this cost is calculated by multiplying the proximity value with the conflict matrix.Equation (3) indicates the proximity value between the two examinations.Based on Equation (3), penalty value 16 is given in the case of assigning two examinations of a student consecutively; penalty value 8 is used if a student has a time slot gap between examinations.In this way, a penalty value 4, 2 and 1 are given for 2, 3 and 4 time slot gap between examinations, respectively.It is also noted that the penalty value zero is given for more than 4 time slot gap between examinations of a student.Equation ( 4) indicates the hard constraint of the problem.

Problem Description
The 2nd international timetable competition (ITC2007) examination dataset was established to facilitate researchers to carry out exploration on real world examination timetabling problems to reduce the gap between theory and practice.It is a capacitated problem where a set of examinations is allocated into limited time slots and rooms subject to a set of numerous real-world hard and soft constraints.To allocate each examination at most one room and time slot is a requirement of the dataset.Although more than one examination can be allocated into a single room, splitting individual examinations among rooms is strictly prohibited.
There are eight instances which are publicly open for the ITC2007 exam dataset, and each of the instances has several hard and soft constraints.They are shown in Table 2 and are available in Reference [50].This dataset contains many additional elements compared to previous benchmark datasets, thus increasing the depth and difficulty of the problem.Descriptions of some important features, including the number of time slots, the number of rooms, room capacity, time slot length, period hard constraints, room hard constraints, front load expression and different hard and soft constraints are highlighted as follows:

•
Number of examinations: Every instance has a specific number of examinations.Each individual examination has a definite duration with a set of students who enrolled for the examination.

•
Number of time slots: Every instance has a specific number of time slots or periods.There are some time slots that have penalties.Besides, penalties are associated with two examinations in a row, two examinations in a day, examination spreading and later period.

•
Number of rooms: Every instance has some predefined rooms where examinations have to be placed.This collection of rooms is assigned to every time slot of an instance.Also, some rooms are associated with penalties.

•
Room capacity: Different room has a different capacity.It is observed that ITC2007 exam dataset does not allow splitting of an examination into several rooms, albeit multiple examinations can be assigned in a single room.

•
Time slot length: All of the time slots of an instance have either different or same time slot duration.
The penalty is involved when the different duration of examinations share the same room and period.

•
Period hard constraint-AFTER: For any pair of examinations (e1, e2), this constraint means e1 must be assigned after e2.Some of the instances have more complex constraints where the same examinations are associated with AFTER constraint more than one time.For instance, e1 AFTER e2; e2 AFTER e3.This increases the complexity for the dataset ( see Exam_1 and Exam_8).

•
Period hard constraint-EXCLUSION: For any pair of examinations (e1, e2), this constraint means e1 must not be assigned with e2.

•
Period hard constraint-EXAM-COINCIDENCE: For any pair of examinations (e1, e2), this constraint means e1 and e2 must be placed in the same time slot.

•
Room hard constraint-EXCLUSIVE: This constraint indicates an examination must be assigned in an allocated room.Any other examinations must not be assigned in this particular room.Only three instances (Exam_2, Exam_3, and Exam_8) have this constraint.

•
Front load expression: It is expected that examinations with a large number of students should be assigned at the beginning of the examination schedule.Every instance defines the number of larger examinations.Another parameter is the number of last periods to be considered for penalty.
If any larger examination falls in that period, an associated penalty is included.A feasible examination timetable is occurred when each examination of an instance is assigned in a single room and a time slot without violating hard constraints.The hard constraints of ITC2007 exam dataset are defined as follows: • H1.One student can sit only one exam at a time.

•
H2.The capacity of the exam will not exceed the capacity of the room.

•
H3.The examination duration will not violate the duration of the period.• H4.There are three types of examination ordering that must be respected.
-Precedences: exam i will be scheduled before exam j. -Exclusions: exam i and exam j must not be placed at the same period.-Coincidences: exam i and exam j must be scheduled in the same period.
• H5.Room exclusiveness must be kept.For instance, an exam i must take place only in room number 206.
The quality of an examination timetable is related to satisfying the soft constraint, albeit can be violated if required.The soft constraints of ITC2007 exam dataset are summarised as follows: The objective of solving the ITC2007 exam dataset is to satisfy all five hard constraints and minimise the violations of seven soft constraints (penalty) so that a quality examination timetable can be produced.The mathematical formulation of the ITC2007 exam dataset is shown below.

Problem Formulation
A formal model for the ITC2007 exam dataset presented here has been adopted from the model proposed by McCollum et al. [51].The formal model, such as the mathematical formulation, provides a rigorous definition of the problem.To develop the mathematical model of ITC2007 exam dataset, the following notation has been used in Reference [51].If a student s takes two examinations i and j, where j is placed in a period that is immediately after the period used for examination and examination i and examination j is held on the same day, then C 2R s gets an increment of 1.Therefore, the mathematical model of soft constraint S1 is as follows: Considering all students, If a student s takes two examinations i and j, where they are placed into the non-consecutive period but are held on the same day, then C 2D s gets an increment of 1.Therefore, the mathematical model of soft constraint S2 is as follows: Considering all students, If a student s takes two examinations i and j, and they are placed in a distinct period in such a way that there is a gap g between them and j is after i, then C PS s gets an increment of 1.Therefore, the mathematical model of soft constraint S3 is as follows: Considering all students, C N MD pr is a non-negative penalty which is the number of different duration in period-room pair minus one.Therefore, the mathematical model of soft constraint S4 is as follows: The overall penalty, Front load penalties are applied with f E i = 1 and f P p = 1.Therefore, the mathematical model of soft constraint S5 is as follows: The mathematical model of room penalties of soft constraint S6 is as follows: The mathematical model of period penalties of soft constraint S7 is as follows: To formulate the objective function, each soft constraint is multiplied by its weight factor, and then results are totalled.The objective function is presented below, and its overall goal is to minimise the violation of soft constraints.Table 3 presents the weights associated with soft constraints for the ITC2007 exam dataset.Weights are not included with C P and C R in the objective function because they are already covered in their definition.Interested readers can get the detailed description of this examination track, constraints, and objective functions in References [51,52].
subject to following hard constraints (H1 to H5).
∀(i, j) ∈ H a f t , ∀p, q ∈ P, with p ≤ q X P ip + X P jq ≤ 1 ∀(i, j) ∈ H coin , ∀p ∈ P X P ip = X P jp (22) ∀(i, j) ∈ H excl , ∀p ∈ P X P ip

Graph Heuristic Orderings
The examination timetabling problem can be modelled using a graph colouring problem where all vertices are considered as examinations, and an edge between any pair of vertices represents conflicting examinations.That is, those conflicting examinations have at least one student in common and cannot take place in the same time slot.As the graph colouring problem is a NP-hard problem, graph heuristic orderings are used to tackle the problem in polynomial time [5].In the context of examination timetabling, a graph heuristic ordering strategy measures the difficulty index of the exams and orders them in such a way that the most difficult exam to be scheduled will be assigned first to a proper time slot.Graph heuristic orderings are popular approaches that are used to construct an initial timetable [5,53].The most commonly used graph heuristic orderings seen in the literature are described as follows:

•
Largest degree (LD): In this ordering, the number of conflicts is counted for each examination by checking its conflict with all other examinations.Examinations are then arranged in decreasing order such that exams with the largest number of conflicts are scheduled first.

•
Largest weighted degree (LWD): This ordering is similar to LD.The difference is that in the ordering process the number of students associated with the conflict is considered.

•
Largest enrolment (LE): The examinations are ordered based on the number of registered students for each exam.

•
Saturation degree (SD): Examination ordering is based on the availability of the remaining time slots where unscheduled examinations with the lowest number of available time slots are given priority to be scheduled first.The ordering is dynamic as it is updated after scheduling each exam.

Great Deluge Algorithm
The great deluge (GD) algorithm is a local search meta-heuristic algorithm proposed by Dueck [10].The inspiration of this algorithm originated from the behaviour of a hill climber seeking a higher place to avoid rising water levels during a deluge.Like simulated annealing (SA), this algorithm avoids local optima by accepting worse solutions.However, SA uses a probabilistic function for accepting a worse solution, whereas GD uses a more deterministic approach.GD is also less dependent on parameter tuning compared to SA.The only parameter in the GD algorithm is a decay rate, used for controlling the boundary or acceptance level.In a minimisation problem, the initial boundary level (water level) usually starts with the quality of the initial solution.During the search, a new candidate solution is accepted if it is better than or equal to the current solution.However, a solution worse than the current solution is accepted when the quality of the candidate solution is less than or equal to the predefined boundary level B. This boundary level is then lowered according to a parameter called the decay rate (∆B).This parameter is important as the speed of the search depends on the decay rate.The procedure of GD algorithm is shown in Algorithm 1.
Algorithm 1: GD algorithm.Randomly select a feasible solution s * ∈ N(s)

Definition and an Illustrative Example
In this section, we describe the proposed PGH-mGD for the examination timetabling problem.The proposed approach partially schedules a group of exams that are selected based on a graph heuristic orderings and exam assignment value v.These partially scheduled exams are then improved using a modified GD algorithm.The procedure continues to schedule the next group of selected exams based on v and graph heuristic orderings.This above procedure repeats until the scheduling of all exams.The exam assignment value v plays an important role in the partial scheduling of the exams.This parameter can be defined in the following way: Supposing that N represents a list of exams, and v is an integer equal to or less than N (0 < v ≤ N).Then v can be defined as the number of exams selected for scheduling (from the unscheduled list of exams).Here we have represented the v value as a percentage of the total exam N.For instance, if N is equal to 165, then 25% of v value would correspond to 41 (i.e., rounding of 41.25) exams being chosen for scheduling.
A simple example has been presented in Figure 1 to understand the overall PGH-mGD approach.Assuming that we have to schedule nine examinations e1, e2, e3, e4, e5, e6, e7, e8 and e9 into four time slots t1, t2, t3 and t4 and three rooms r1, r2 and r3.Initially, the timetable is empty, and all nine examinations are ordered according to a graph heuristic ordering.Let us consider v is equal to 50%.Therefore, five exams (i.e., e7, e3, e5, e9 and e1) will be selected for scheduling.These five exams are assigned into random time slots and rooms while ensuring feasibility is maintained, resulting in a partially constructed timetable.This timetable is then improved using a modified GD algorithm, aiming to reduce the penalty cost.After improving the timetable, the PGH-mGD will again select the next pool of exams (i.e., e8, e4, e2 and e6) from the ordered list that has been rearranged using a graph heuristic ordering.When four examinations are assigned properly, the timetable contains all nine examinations.The timetable is improved again, and finally, a complete timetable is returned.

PGH-mGD Algorithm
PGH-mGD deals with partial solutions followed by improvement until all exams have been scheduled.The PGH-mGD algorithm is shown in Algorithm 2. In addition to LD, LWD and LE orderings, here we use three hybrid graph heuristic orderings such as SD-LD, SD-LWD and SD-LE to measure the exam difficulty.For example, In SD-LD, exams are ordered according to SD followed with LD, and the exam at the top of the list is scheduled first.Initially, a graph heuristic ordering is selected from the heuristic list (line 1).The exam assignment value v is assigned, which indicates how many exams at a time will be scheduled (line 2).An iterative process starts with ordering the un-scheduled exams using a selected heuristic ordering (line 4).Next, a subset of exams is selected in sequence based on v from the ordered exams set (line 5).This subset of exams is called the current partial exams set.Fulfilling the required hard constraints, these partial exams are then scheduled into predefined time slots and rooms (for the ITC2007 exam dataset).During scheduling, if an exam fails to be assigned into a time slot (after several tries), an exam resolution manager is used, which attempts to handle these exams (line 6).The partial exam scheduling and exam resolution manager are described in Algorithms 3 and 4, respectively.When exams have been successfully scheduled, these exams are removed from the unscheduled exam set and inserted into the scheduled exam set (line 8).Next, the penalty cost is calculated based on the scheduled exams (line 9).In the next step, the modified GD algorithm (see Algorithm 5) is used to improve the quality of partially scheduled exams with the aim of satisfying the soft constraints (line 10).The above process repeats for the next batch of partial exams until all exams have been scheduled.Finally, the procedure checks whether the solution vector has satisfied all hard constraints (line 11), and no examinations are in the blacklist.The penalty value of the solution vector is then stored as the final solution (line 12).Algorithm 3 presents the partial exam scheduling procedure.In scheduling the exams, the selected exams are kept in a partial ordering list (line 1).An iterative procedure starts with selecting the first exam e in the list (line 3).A pseudo-random number is generated for time slot t and room r (for the ITC2007 exam dataset) for scheduling this exam (line 5).If the hard constraints are satisfied, the exam is removed from the partial ordering list and added to the partial scheduling list (line 8).Then, the next exam is selected for scheduling until all exams have been successfully scheduled.However, when it is not possible to schedule an exam after a few iterations (line 10), a mechanism called ExamResolutionManager (see Algorithm 4) is employed to assist the scheduling exam (line 11).If this mechanism can successfully schedule exam e, the exam is added to the partial scheduling list after being removed from the partial ordering list (lines 12-13).However, the exam e is moved to the blacklist when the mechanism fails to schedule the exam (lines 14-15).The above procedure repeats until the scheduling of all exams.The partial scheduling list is set as current partial scheduled examinations (line 16).Finally, if the blacklist contains unscheduled examinations, they are given high priority to be scheduled in the next attempt (line 17).That is, in the next partial ordering selection, blacklisted examinations are ordered (scheduled) first, followed by other examinations in the unscheduled list.

Exam Resolution Manager Procedure
Algorithm 4 illustrates the ExamResolutionManager procedure.As mentioned previously, when a particular exam cannot be scheduled (after several tries), it is considered as a complexExam (lines 1-2).From the current partial scheduling vector, the number of conflicting exams with complexExam in each time slot is calculated (lines 3-5).The time slots are then sorted in ascending order based on the number of conflicting exams (line 6).Next, the time slot that has less conflicted exams with the complexExam is chosen (line 8).The conflicting exams (with complexExam) are moved to a different time slot(s), ensuring feasibility (line 9).If they are moved successfully, the complexExam is assigned to the selected time slot and room of the timetable, the partial scheduled vector is updated, and the procedure is terminated indicating the success of scheduling the complexExam (lines 10-14).Otherwise, the next less-conflicted time slot is taken, and the same process is executed until all available time slots have been checked.Algorithm 5 shows the proposed modified GD algorithm used for improving the partially constructed solution.At the start, a partial solution vector s, generated from a graph heuristic ordering, is taken as an initial solution (Algorithm 3).The penalty value of this solution f (s) is calculated, which is also set as the initial boundary level B (lines 1-3).Then the number of iterations I, neighbourhood structure n, and desired value D are defined (lines 4-6).The decay rate β is initialised dynamically as (B − D)/I, and s is set as best solution s best (lines 7-8).Until the stopping condition is met, the following steps are executed.Neighbourhood structures are employed on the current solution s, and a set of new solutions is created.Among these solutions, one is considered as the candidate solution s * and its penalty cost f (s * ) is calculated (line 10).When this penalty cost is less than or equal to the current cost, or less than or equal to boundary level B, the candidate solution s * is set as a current solution (lines [11][12].Next, the current boundary level is updated as B ← B − β * random(1, 5) (line 13).The candidate solution s * is set as the best solution only if the penalty cost of this candidate solution f (s * ) is less than or equal to the cost of the best solution f (s best ) (lines [14][15].This algorithm encourages exploration by increasing the boundary level if the solution is not improved in M iterations (i.e., using the reheating mechanism [16,54]).Usually, a smaller value for M would encourage exploration, whereas a larger value would discourage exploration.Therefore, we have chosen M such a way that it can maintain the balance between exploration and exploitation.In this study, parameter M is set to 50 based on our preliminary experiment.The boundary level, B is then increased by adding a random number between 1 and 5 (line 17).Note that instead of standard formula (i.e., constant increment) to update the boundary level, the level is updated with a certain number (between 1 and 5 in this experiment) in order to allow some flexibility in accepting a worse solution.Abdullah et al. [17] also employed randomness in updating the boundary level and found efficiency for solving the timetabling problem.Finally, the best solution s best is returned as a partial best solution after the required number of iterations (line 18).Algorithm 5: Modified GD for improvement of partial scheduled exams.18 return s best as a partial best solution

TGH-mGD Algorithm
Algorithm 6 illustrates TGH-mGD approach that is implemented to compare with PGH-mGD.In TGH-mGD, the ordering uses six graph heuristic orderings which are LD, LWD, LE, SD-LD, SD-LWD and SD-LE.In each heuristic ordering, an initial feasible solution and its penalty cost are generated (lines 5-6).These steps are continued for 30 times for each of the heuristic orderings.Thirty iterations are chosen as we wish to generate a comparatively large pool of initial solutions for each of the instances.This will assist in selecting a good quality initial solution that will be employed in the improvement phase.After determining the best initial solution, an improvement phase is carried out using the same modified GD algorithm as described in Algorithm 5 (lines 7-8).Finally, the penalty cost is calculated.It is noted that during implementing modified GD in TGH-mGD, the only change is that instead of partial solution vector we use complete solution vector.ExamResolutionManager (see Algorithm 4) is also used when examinations have difficulty finding appropriate time slots and rooms.Calculate initial feasible penalty 7 Select the best penalty cost and solution vector 8 Use modified GD for improvement (Algorithm 5) 9 if the final solution vector satisfies all hard constraints then 10 return the final penalty cost as a result

Experimental Setup
Both PGH-mGD and TGH-mGD are validated with the Toronto and ITC2007 exam datasets.We examine the effect of exam assignment values v, graph heuristic orderings and execution time on solution quality.The experiment is repeated 30 times with different random seeds.The program is coded in Java (Java SE 7) and performed on a PC with following configurations: Intel Core i7 (3 GHz), 4 GB RAM and Windows 10 OS.

Toronto Dataset
For the Toronto benchmark dataset, twelve instances are tested.Four different v values are considered: 10%, 25%, 50% and 75%.Six different graph heuristic orderings including LD, LWD, LE, SD-LD, SD-LWD and SD-LE are employed in partial construction phases.Termination criterion for Toronto dataset is the time duration, and we investigate with three execution times such as 600 s, 1800 s and 3600 s.In the Toronto dataset, three neighbourhood structures are considered: Move-an examination is randomly selected and moved to a random time slot.• N2: Swap-Two examinations are randomly selected, and their time slots are swapped.• N3: Swap time slot-Two time slots are randomly selected, and all examinations between the two time slots are swapped.
The above three neighbourhood structures are used during the improvement phase.However, we only accept neighbourhood moves that lead to an improvement.

ITC2007 Exam Dataset
We experiment with eight instances from the ITC2007 exam dataset.Six graph heuristic orderings LD, LWD, LE, SD-LD, SD-LWD and SD-LE are used to construct partial solutions.We use v = 5% and v = 10%.We experiment with two-time duration: 600 s and 3600 s.In the ITC2007 exam dataset, the following neighbourhood operations are employed:

•
N1: An examination is randomly selected and is moved to a random time slot and room.• N2: Two examinations are randomly selected, and their time slots and rooms are swapped.• N3: After selecting an examination, it is moved to a different room within the same time slot.• N4: Two examinations are selected randomly and moved to different time slots and rooms.
During the improvement phase, a neighbourhood (i.e., N1, N2, N3 and N4) is selected randomly and it is applied only if the solution is feasible; otherwise, a different neighbourhood structure will be selected.the other five instances, the improvement is below 4%.For eight instances, SD-LD produces the best results.This might be because the more conflicted exams are being prioritized.It is also observed that, on most occasions, a lower v tends to produce the best results.As can be seen, in the nine instances out of twelve, lower v (10%) produces the best results.
In a statistical analysis, we perform a t-test with a confidence level at 0.05.The null hypothesis (H0) is that there is no difference between TGH-mGD and PGH-mGD, whereas the alternative hypothesis (H1) states PGH-mGD performs better than TGH-mGD.Referring to Table 5, it is observed that the p-values of all instances are lower than the confidence level of 0.05, indicating that H0 is rejected and H1 is accepted.We therefore conclude that the performance of PGH-mGD is significantly better than TGH-mGD for the Toronto dataset.Column A shows instances.Column B is the best initial solution with graph heuristic orderings with TGH-mGD approach.Column C and D show the best and the average cost after improvement with the modified GD algorithm, respectively.In PGH-mGD, column E and F show the best and the average cost respectively with their graph heuristic orderings (column G) and v value (column H).Column I shows the improvement of PGH-mGD over TGH-mGD by comparing their best-reported results.Column J shows the p-values of t-test result.

Experimental Results with ITC2007 Exam Dataset
Table 6a,b present the penalty values for the ITC2007 exam dataset with v = 5% and v = 10%.The termination criteria is 600 s and 3600 s.Therefore, four different result sets are obtained.In all cases, we highlight the best and the average penalty costs for all the problem instances.Referring to Table 6a,b, when we increase the termination criterion from 600 s to 3600 s with the same v value, the penalty costs decrease for PGH-mGD (and TGH-mGD).However, when v value is increased from 5% to 10% (using the same time duration), the penalty values tend to be higher for PGH-mGD.We obtain the best results for most of the instances (6 out of 8 instances) with v = 5% and time duration of 3600 s in PGH-mGD.Comparison between TGH-mGD and PGH-mGD for ITC2007 exam dataset is shown in Table 7.For all of the eight instances, PGH-mGD produces better quality solutions compared to TGH-mGD.It is observed that a maximum improvement is obtained on Exam_2, with 59.14% improvement.Exam_3 and Exam_4 have around 50% improvement.Three exams including Exam_1, Exam_5 and Exam_7 have an average of around 40% improvement, whereas Exam_8 and Exam_6 obtain 30.45% and 13.61% improvement, respectively.We can see that PGH-mGD tends to improve the solution quality by employing lower v value, as six out of eight problem instances it produces the best results with v = 5%.For all instances, hybrid graph heuristic orderings produce the best results as they can handle the complex exams well.We have carried out a t-test with a confidence level at 0.05.The null hypothesis (H0) is that there is no difference between TGH-mGD and PGH-mGD, and the alternative hypothesis (H1) is PGH-mGD performs better than TGH-mGD.The results indicate that p-values of all instances are smaller than the confidence level (0.05), indicating that H0 is rejected, and H1 is accepted.Therefore, the difference between these two approaches is significant for the ITC2007 exam dataset, with the performance of PGH-mGD being better than TGH-mGD.Column A shows instances.Column B is the best initial solution with graph heuristic orderings with TGH-mGD approach.Column C and D show the best and the average cost after improvement with the modified GD algorithm, respectively.In PGH-mGD, column E and F show the best and the average cost respectively with their graph heuristic orderings (column G) and v value (column H).Column I shows the improvement of PGH-mGD over TGH-mGD by comparing their best-reported results.Column J shows the p-values of t-test result.

Comparison with the State-of-the-Art Approaches
In this section, the proposed PGH-mGD has been compared with other approaches presented in the scientific literature for solving the Toronto and ITC2007 exam datasets.For each instance, we take the best results obtained from the PGH-mGD approach to compare with other reported results.
Ranking and average raking are computed in the following way.Let us consider total n approaches are compared for m given instances in terms of their best results.For a given instance, each approach of m is given ordinal value O K where 1 ≤ O K ≤ n and 1 ≤ K ≤ m.This value indicates the ranking of the corresponding instance.Then each approach sums all its O K values for m instances and computes the average value.Finally, all of the approaches are ranked according to their average values.

Toronto Dataset
Table 8 presents the best results of the proposed approach with state-of-the-art methods on the Toronto dataset.We have ranked all the approaches according to the penalty costs (shown in brackets) of each instance.For each approach, the average rank of all Toronto instances is computed.
It is observed from Table 8 that we have been able to produce solutions for all of the twelve instances of the Toronto dataset.Our approach outperforms Sabar et al. [9] and Alinia Ahandani et al. [27] in all problem instances.Apart from instance rye-s-93, for all other instances, our approach achieves better results than the approaches proposed by Carter et al. [5], Abdul Rahman et al. [41], Pillay and Banzhaf [8], Qu et al. [55] and Nelishia Pillay and Özcan [35].Moreover, we have obtained better results than the results reported by Turabieh and Abdullah [56] for all instances except for kfu-s-93, lse-f-91 and rye-s-93.For six instances (car-s-91, car-f-92, ear-f-83, rye-s-93, tre-s-92, uta-s-92), we have produced better results than Burke et al. [57].While comparing among all approaches, our approach has produced the best results for five instances car-s-91, car-f-92, ear-f-83, tre-s-92 and uta-s-92, and the second best results for instances hec-s-92, kfu-s-93, sta-f-83, ute-s-92

Discussion and Analysis
It is clear from the above experimental results that the PGH-mGD approach performs better than the TGH-mGD approach for solving both Toronto and ITC2007 exam datasets.It is also observed that lower v, the longer time duration and hybrid graph heuristic orderings can reduce the penalty costs (i.e., produce quality solutions) in the PGH-mGD approach.Our best results are comparable with the reported results from the scientific literature (see Tables 8 and 9), with several cases producing the best results.The PGH-mGD approach can produce feasible solutions for all datasets because the ExamResolutionManager procedure helps to handle any deadlock faced during the scheduling process.As ITC2007 exam dataset is a heavily constraint problem compared to Toronto dataset, the ExamResolutionManager procedure is used more often in the ITC2007 exam dataset than in the Toronto dataset.One limitation of the partial examination approach is that in the case of some examinations with high conflict densities and complex hard constraints, it is occasionally stuck in obtaining feasible solutions, thus increasing the computational time.
In TGH-mGD, a good initial solution is first chosen from the construction phase, and then it is improved so that a good final solution is obtained.According to Kahar and Kendall [16], it is observed that in a sequential (i.e., traditional) approach, good initial solution(s) tend to produce good improved solution(s).However, with the partial examination assignment approach, we can improve the partial solution many times, especially with small v, and this improvement activity encourages the improvement phase to produce a good quality solution.Additionally, modified GD promotes exploration (with the reheating mechanism), allowing the search to escape from local optima.Hence the partial examination assignment approach (i.e., PGH-mGD) is able to produce quality solutions (for all instances) compared to the traditional approach (i.e., TGH-mGD).

Conclusions and Future Work
In this paper, a partial exam assignment strategy has been proposed for addressing the examination timetabling problem.In this approach, partially selected exams that are obtained based on a parameter named exam assignment value v are constructed using graph heuristic orderings, and then solution quality is improved using a modified GD algorithm until all exams have been scheduled.Both TGH-mGD and PGH-mGD are tested on two different benchmark datasets-Toronto and ITC2007 exam track, with each benchmark having its own distinctive features.Experimental results and statistical analysis indicate that PGH-mGD produces better results compared to the TGH-mGD algorithm for all instances of the datasets.To study the effectiveness of the proposed approach, we experiment with different v values, termination criteria (time duration) and graph heuristic orderings.It is observed that, with smaller v and the longer time duration, PGH-mGD approach tends to produce quality solutions.In comparison with state-of-the-art methods, our approach has produced the five best results for the Toronto dataset, with promising results obtained for other seven instances of the dataset.Although we have produced one best result for the ITC2007 exam dataset, our obtained results of other instances are competitive with the reported results from the scientific literature.For future work, the following suggestions might be worthy of investigation.

•
The partial construction phase could be extended and improved by introducing adapting ordering strategies or fuzzy logic that may select the appropriate heuristics (i.e., LD, LE, LWD) for exam ordering.

•
The partial improvement phase can also be improved by incorporating other meta-heuristic approaches, such as SA, tabu search and genetic algorithms, or hybridising of meta-heuristics.

•
This paper has studied the impact of different exam assignment value v on the penalty cost.However, it would be worthwhile to study the effect of dynamic or adaptive exam assignment value on the penalty cost.

Figure 1 .
Figure 1.An Illustration of PGH-mGD for examination timetabling procedure.

Algorithm 2 :1 6 7 if current partial exams are scheduled successfully then 8 3 : 3 Select an exam, e 4 while until some iterations do 5 Select a random time slot t and room r 6 if all hard constraints are satisfied then 7 8 9 Break the loop 10 if e is not scheduled then 11 Handle 15 Remove
PGH-mGD approach.Choose a heuristic ordering H ∈ {LD, LWD, LE, SD − LD, SD − LWD, SD − LE} 2 Set examination assignment value, v 3 while until the end of all exams assigned to time slots do4 Order the unscheduled exams using heuristic H and put into an unscheduled set 5 Select partial exams from the ordered list based on examination assignment value, v Schedule partial exams and use complex exam manager if needed for scheduling (see Algorithms 3 and 4) Remove them from the unscheduled set and insert into a scheduled set 9 Calculate (temporary) penalty cost of all scheduled exams so far 10 Use modified GD algorithm for the improvement of the penalty value (see Algorithm 5) 11 if the final solution vector satisfies all hard constraints and the blacklist is empty then 12 return final penalty cost as a result Algorithm Scheduling partial exams. 1 Set partial ordering list 2 while ordering list is not empty do Assign the exam e into time slot t and room r Remove e from the partial ordering list and add to the partial scheduling list it by ExamResolutionManager (Algorithm 4) 12 if e is successfully scheduled then 13 Remove e from the partial ordering list and add to the partial scheduling list 14 else e from the partial ordering list and insert into a blacklist 16 Set the partial scheduling list as current partial scheduled Examinations that have been scheduled 17 Handle unscheduled examinations of the blacklist if it is not empty 4.3.Scheduling Procedure of Partial Exams

Algorithm 4 :1 5 Count the number of conflicted exams with complexExam 6 8 De-queue time slot t 9 10 if all conflicted exams are scheduled then 11 Move complexExam in any available room in time slot t 12 if complexExam is scheduled successfully then 13 Update partial scheduling vector 14 return from the loop with success 4 . 5 .
ExamResolutionManager procedure.Select the unscheduled exam e 2 complexExam ← e 3 Select the current partial exam scheduled vector 4 for each time slot do Sort all the time slots in ascending order according to the number of conflicts with the complexExam and insert into a queue Q 7 while there exists a time slot in Q do Schedule conflicted exams in other time slot(s) Improvement Using Modified GD
Two Exams in a Row: There is a restriction for a student to sit successive exams on the same day.
• S2.Two Exams in a Day: There is a restriction for a student to sit two exams in a day.• S3.Spreading of Exams: The exams are spread as evenly as possible over the periods so that the preferences of students such as avoiding closeness of exams are preserved.• S4.Mixed Duration: Scheduling exams of different duration should be avoided in the same room and period.• S5.Scheduling of Larger Exams: There is a restriction to assign larger exams at the late of the timetables.• S6.Room Penalty: Some rooms are restricted, and an associated penalty is imposed if assigned.• S7.Period Penalty: Some periods are restricted, and an associated penalty is imposed if assigned.
that is 1 iff examination i is subject to front load penalties, 0 otherwise.: A boolean value that is 1 iff period p is subject to FRONTLOAD penalties, 0 otherwise.• w P p : A weight that indicates a specific penalty for using the period p. • y pq : A Boolean value that is 1 iff period p and q are in the same day, 0 otherwise.
r : Size of room r ∈ R.•w R r : A weight that indicates a specific penalty for using the room r. • P: Set of periods.• d P p : Duration of period p ∈ P. s : Two in a day penalty for student s.• C 2D : Two in a day penalty for the entire set of students.• C PS s : Period spread penalty for student s.• C PS : Period spread penalty for the entire set of students.• C N MD : No mixed duration penalty.• C FL : Front load penalty.• C p : Soft period penalty.• C R : Soft room penalty.• H a f t : Pair of examinations set where in each pair (e 1 , e 2 ) ∈ H a f t , the examination e 1 must be assigned after the examination e 2 .• H coin : Pair of examinations sets where in each pair (e 1 , e 2 ) ∈ H coin , the examination e 1 and e 2 must be assigned at the same period.• H excl : Pair of examinations set where in each pair (e 1 , e 2 ) ∈ H excl , the examination e 1 and e 2 must not be assigned at the same period.• H sole : A set of examinations where each examination e ∈ H sole is allocated to a room r and no other examinations are allocated in this room.

Table 3 .
Weights of the ITC2007 exam dataset.

1
Set the initial solution s 2 Calculate initial cost function f (s) 3 Boundary level B ← f (s) 4 Set a decay rate ∆B 5 while stopping criteria do not meet do 6Define neighbourhood N(s)

1
Set the initial partial solution s from the partial graph heuristic 2 Calculate initial cost function f (s) 3 Set an initial boundary level B ← f (s) 4 Set the number of iterations I 5 The number of neighbourhood structures n 6 Set the desired value D 7 Set initial decay rate β ← (B − D)/I 8 Set best solution s best ← s 9 while stopping criteria do not meet do 10 Calculate neighbour solutions by applying neighbourhood structure (N 1 , N 2 , . ..N n ) and consider the best solution as candidate solution f (s * ) 11 if f (s * ) ≤ f (s) or f (s * ) ≤ B then 12 s ← s * 13 Boundary level B ← B − β * random(1, 5) 14 if f (s * ) ≤ f (s best ) then 15 s best ← s * 16 if no solution improves in M iterations then 17 Boundary level B ← B + random(1, 5)

Table 5 .
Comparisons of results between TGH-mGD and PGH-mGD for Toronto dataset.

Table 6 .
Penalty values of ITC2007 exam dataset for different termination criteria.

Table 7 .
Comparisons of results between TGH-mGD and PGH-mGD for the ITC2007 exam dataset.