DOI QR코드

DOI QR Code

A Novel and Effective University Course Scheduler Using Adaptive Parallel Tabu Search and Simulated Annealing

  • Xiaorui Shao (Industrial Science Technology Research Center, Pukyong National University) ;
  • Su Yeon Lee (JRTech Co., Ltd) ;
  • Chang Soo Kim (Information Systems, Pukyong National University)
  • 투고 : 2023.10.23
  • 심사 : 2024.03.11
  • 발행 : 2024.04.30

초록

The university course scheduling problem (UCSP) aims at optimally arranging courses to corresponding rooms, faculties, students, and timeslots with constraints. Previously, the university staff solved this thorny problem by hand, which is very time-consuming and makes it easy to fall into chaos. Even some meta-heuristic algorithms are proposed to solve UCSP automatically, while most only utilize one single algorithm, so the scheduling results still need improvement. Besides, they lack an in-depth analysis of the inner algorithms. Therefore, this paper presents a novel and practical approach based on Tabu search and simulated annealing algorithms for solving USCP. Firstly, the initial solution of the UCSP instance is generated by one construction heuristic algorithm, the first fit algorithm. Secondly, we defined one union move selector to control the moves and provide diverse solutions from initial solutions, consisting of two changing move selectors. Thirdly, Tabu search and simulated annealing (SA) are combined to filter out unacceptable moves in a parallel mode. Then, the acceptable moves are selected by one adaptive decision algorithm, which is used as the next step to construct the final solving path. Benefits from the excellent design of the union move selector, parallel tabu search and SA, and adaptive decision algorithm, the proposed method could effectively solve UCSP since it fully uses Tabu and SA. We designed and tested the proposed algorithm in one real-world (PKNU-UCSP) and ten random UCSP instances. The experimental results confirmed its effectiveness. Besides, the in-depth analysis confirmed each component's effectiveness for solving UCSP.

키워드

1. Introduction

University course scheduling problem (UCSP), also called timetabling, is vital to implementing intelligent teaching systems in the university to improve efficiency and reduce labor costs [1], [2]. Its purpose is to arrange teaching resources such as professors, students, and rooms within a fixed timeslot to satisfy several constraints [3], [4], and it has been proved to be an NP-complete problem [5]. In previous years, the university staff solve UCSP by hand. They first arrange the simple course and then the completed one, which takes much time and is easily trapped and difficult to extricate oneself since UCSP’s continuance. If one fails, the staff needs to adjust all of the others. In addition, with the increasing number of faculties, students, and courses, the real UCSP is increasingly complex. Solving complex UCSP instances by hand is difficult and even not possible. Therefore, one automatic and accurate UCSP method is necessary.

Similar to other optimization problems, such as job shop scheduling problem (JSSP) [6]–[8], route planning (RP) [9], and traveling salesman problems (TSP) [10], [11], UCSP is one optimization problem [12]. They aim to develop one algorithm that can attach the optimal goals. Especially, JSSP is to arrange all jobs at corresponding machines with a minimum make-span; DP breaks one huge-mode problem into several small groups to find the shortest path; and UCSP arranges all teaching resources, including courses, rooms, faculties, students, and timeslots by minimizing one defined fitness score. The only difference between UCSP and JSP is that UCSP has some hard constraints to be satisfied and cannot be broken out. Meanwhile, some soft constraints should be satisfied most during the solving. Therefore, the methods used for solving JSSP and DP also could be applied to solving UCSP. This manuscript mainly gives the related references for JSSP and UCSP since they are highly related.

The current methods for solving the optimization mentioned above problems mainly contain two branches. One is the exact approach [13], [14], which aims at finding the best solution through modeling one complex mathematical function. Another is the approximation-based approach, which aims at finding one near-optimal solution. The exact methods contain mathematical programming (MP) methods. E.g., Gomes et al. [15] used integer linear programming (ILP) to solve one of JSSPs, the flexible job shop scheduling problem (FJSSP). Boland et al. proposed a new ILP to solve UCSP [2]. Even though the exact approach could give optimal solutions for the above optimization problems, it cannot solve large instances to satisfy modern universities' needs since it requires numerous computation and time resources [16]. Therefore, most current research for solving the above optimization problems focuses on approximation-based methods.

The approximation-based methods for solving the above optimization methods could be divided into meta-heuristic and learning-based methods. The recent popular learning-based method could solve UCSP and JSP faster but relies on meta-heuristic approaches to generate labels. Hence, the performance is still far from meta-heuristic methods [7], [8], [17]. As a result, this manuscript mainly investigated the meta-heuristic methods for solving JSSP and UCSP. The metaheuristic methods contain genetic algorithm (GA) [18], Tabu search [19], simulated annealing (SA) [20], particle swarm optimization (PSO) [21], etc. E.g., Kuri [22] proposed a new island GA to solve JSSP, and the experiments on 52 JSSP data sets confirmed its effectiveness; Dehghan-Sanej et al. [14] utilized SA for medium- and large-sized JSSP instances; Xu et al. [23] tested the effectiveness of GA for hydro unit economic load dispatch; A hybrid method based on GA and Tabu are proposed to solve flexible JSSP problems [16], in which GA is used to find the global solution path, the found global path is fed into Tabu search to find the best local path. Besides, several pieces of research related to PSO for JSSP could be found from [24]–[26].

Compared to the application of meta-heuristic methods in the domain of JSSP, the references related to UCSP are relatively few. Mainly, Abdullah et al. [27] proposed a GA-based algorithm by minimizing the number of timetable violations of soft constraints. Awad et al. [28] proposed an adaptive Tabu search algorithm to solve large-scale UCSP instance. Leite et al. [29] proposed a fast SA (FastSA) to solve an examination timetable problem, the experimental results proved that it uses 17% less evaluations, on average, and a maximum of 41% less evaluations on one instance compared to standard SA. Chen et al. [30] utilized PSO with local search to solve timetable problem. Besides, a recent study [31] combined GA and machine learning methods to solve UCSP, in which GA is used to generate the intimal solution, and a machine learning algorithm is used to detect if these models can accurately approximate the evaluation function for UCSP. Turabieh et al. [32] applied fish swarm algorithm to solve this problem on Socha data set. One Tabu-based algorithm with random partial neighborhood search is developed in [33] to solve UCSP. More details about the UCSP's definition, trends, and perspectives can be found in [34], [35]

The above-mentioned metaheuristic approaches already obtained acceptable solutions. However, they only use one algorithm to select the next step in the solution, limiting its performance. Besides, they lacked more comprehensive and in-depth analysis to demonstrate their effectiveness. Therefore, this paper proposes a new approach that combines Tabu search and SA in a parallel mode to solve UCSP effectively and quickly. The proposed method first generates the initial solution by the first fit algorithm, which saves much time compared to the random initialization. Then, we designed one union move selector that consists of two changing move selectors to provide diverse solutions to improve performance. The diverse solutions from two changing move selectors are fed into Tabu search and SA algorithms in parallel to filter out unacceptable moves that break out some soft constraints. At last, we designed an adaptive decision algorithm to choose the best next-step move from Tabu and SA solutions to construct the final solution path. Benefiting from the excellent design of the proposed method structure, it generates a robust initial solution and diverse moves. It fully uses Tabu search and SA algorithms to solve UCSP effectively.

Moreover, we illustrate the proposed method’s advantages compared to the current methods, as listed in Table 1. The table showed that the exact approach is the most straightforward and optimal but is time- and computation-consumption. Besides, it cannot deal with large UCSP instances. The existing meta-heuristic methods are near-optimal, but they consider one single algorithm, except [16] utilized one cascade GA+Tabu, so the performance can still be improved. The learning-based method is fast but needs to be more accurate since it relies on other metaheuristic algorithms. In contrast, the proposed method is one near-optimal method, whose speed is faster, the performance is higher than the existing metaheuristic algorithms due to the excellent design of the first fit and parallel mode of Tabu and SA algorithms, which has been proved in Section 3.

Table 1. The comparison between the proposed method for UCSP and others

E1KOBZ_2024_v18n4_843_4_t0001.png 이미지

The main contributions of this work are summarized as follows:

• We proposed a novel and practical framework to solve UCSP problems effectively and fastly. Its effectiveness has been confirmed on one real-world UCSP data set and ten random data sets.

• A parallel structure of Tabu and SA is designed to help the proposed method generate diverse moves to improve performance. Besides, it is easy to apply in other optimization tasks such as JSSP, RP, and TSP.

• We proposed a new evaluation metric for validating the UCSP algorithm, called normalized score in Eq. (3), which normalizes all soft constraints into one same level to compare them fairly.

• We did an in-depth analysis of the proposed method to confirm each component’s effectiveness.

The remainder of this manuscript is arranged as follows. Section 2 introduces the proposed method in detail. In Section 3, we verified the proposed method on one real-world UCSP instance and did an in-depth analysis to discuss the proposed method. Section 4 concludes this manuscript.

2. The Proposed Methods

2.1 Problem Definition

UCSP is to arrange teaching materials including courses C = {C1, C2. . . , Cn, … , CN}, faculties Pr = {Pr1, Pr2, … , Prp … , Prp}, students S = {S1, S2, … , Sq … , … , SQ} to a set of rooms R = {R1, R2, … , Ro, … , RO}, timeslots TS = {TS1, TS2, … , TSm, … , TSM} accurately. Where N, P, Q, O, and M are corresponding courses, faculty, students, rooms, and timeslot numbers. It requires meeting all hard and most soft constraints during the solving process. If the solution breaks out of any hard constraints, this solution will be treated as an infeasible solution. One good solution satisfies all hard constraints and has the highest scores for all soft constraints.

We utilized a set of problem cases to describe UCSP in this manuscript. Firstly, five hard constraints are given:

H1: RoomTimeHardConflict. One room Ro can accommodate at most one course at the same timeslot TSm.

H2 CourseTypeHardConflict: The room Ro should meet the course's functional requirements roomtype. For example, some courses require devices such as computers and functional machines, while others do not.

H3 RoomSizeHardConflict: The room size roomsize must be equal to or larger than the applied student's numbers studentnubmer.

H4 TeachingHardConflict: One faculty Prp can teach at most one course Cn at the same timeslot TSm.

H5 StudentHardConflict: One student Sq can only attend one course Cn at most at the same time TSm.

Secondly, the five soft constraints are listed as follows:

S1 FacultyRoomStability: The faculty Prp prefers to teach in one fixed room Ro.

S2 FacultyTimePreference: The faculty Prp has his preferred time duration TS for each course Ro.

S3 FacultyTeachingMode: The faculty Prp prefers to teach in a sequential mode.

S4 StudentStudyingMode: The student Sq dislikes studying in a sequence mode.

S5 CourseDepartmentConsistency: The course Cn and room Ro should be consistent with its department.

According to the definition of UCSP, we can write the optimization function during solving, as shown in Eq. (1). Where Shard is the score of hard constraints, which is equal to zero by default. If the solution breaks out any hard constraints (occurring hard constraints conflicts), we will give one negative score, indicating that this solution is infeasible. It ensures that all given solutions are feasible. The Ssoft is the score for soft constraints, the sum of five soft constraints: SS1, SS2, SS3, SS4, and SS5 . The coefficients 𝑎1, 𝑎2, 𝑎3, 𝑎4 , and 𝑎5 illustrate each soft constraint's reward/penalize level. Especially if the solution satisfies one soft constraint, the Ssoft will be given one reward (positive value) with different coefficients. In contrast, if the solution breaks out one soft constraint, the Ssoft will be penalized one negative value with corresponding weights. Generally, 𝑎1 = 𝑎2 = 𝑎3 = 𝑎4 = 𝑎5 = 1(reward)/ −1(penalize), and its influence will be discussed later in Section 3.5.

Score = Shard + Ssoft

= 0 + Ssoft

= 𝑎1SS1 + 𝑎2SS2 +𝑎3SS3 + 𝑎4SS4 +𝑎5SS5       (1)

2.2 UCSP Objects

The UCSP solution refers to three objects: Room R, Course C, and Timeslot TS, and they are defined in Table 2. Significantly, the UCSP factor (Room R and Timesolt TS) cannot change during solving while Entity (Course C) changes, and Decision object (Timetable Ttable) gives the final solution and the corresponding score {roomlist, courselist, score}. The term ‘id’ is used to identify each sample of each object, the Fact object Room R = {id: int, name: str, roomtype: str, size: str, department: str}, where name is the course name, roomtype records some the functional type for each room, size is the room capacity, and department records its owner. Fact Timeslot TS records the day of the week dayofweek, course start starttime, and end time endtime. Course C consists of its name subject, teaching faculty faculty, department department, student group studentgroup, and applied number studentnumber, course type coursetype, faculty preferable time refertime, corresponding timeslot timesolt, and room room.

Table 2. Defined objects.

E1KOBZ_2024_v18n4_843_5_t0001.png 이미지

The pseudo-code utilized the defined objects to control hard and soft constraints, as in algorithms 1 and 2. Breaking out the constraint will be penalized by adding one negative value, and satisfying the constraint will be rewarded with one positive value, as described in Eq. (1). Breaking out any hard constraint means the solution is infeasible. In the algorithms, the UCSP solution course list that recorded some course objects {C1, C2, … , Ci, … , CN} controls corresponding constraints. The operation “. ” means object’s attributes. Moreover, we defined the faculty-liked and student-disliked time duration as 12 hours, which is flexible and can be changed into any proper time duration.

Algorithm 1: Pseudo-code for controlling hard constraints

JAKO202415157702463_algor 1.png 이미지

Algorithm 2: Pseudo-code for controlling soft constraints

JAKO202415157702463_algor 2.png 이미지

2.3 The Proposed Method

This manuscript proposed a novel and effective parallel Tabu and SA structure to solve UCSP, as shown in Fig. 1. t consists of five steps: UCSP instance construction, giving initial solution, generating possible moves, Tabu+SA filters out unacceptable moves, and selecting the next move using an adaptive decision algorithm, respectively. Each step is explained in the subsequent subsections.

E1KOBZ_2024_v18n4_843_7_f0001.png 이미지

Fig. 1. The proposed parallel Tabu+SA for solving UCSP

2.2.1 UCSP Instance Construction

According to the definition of UCSP in Section 2, it generally consists of three parts: timeslot, room, and course that describe all related teaching. A detailed description of them is shown in Table 2. Depending on the university, each part contains unique samples to be stored in one list object (Timesoltlist, Roomlist, and Courselist). We define one UCSP instance with M timeslots, O rooms, and N courses, as shown in Eq. (2).

\(\begin{align}U C S P_{\text {instance }}=\left\{\begin{array}{c}T S=\left\{T S_{1}, T S_{2}, \ldots, T S_{m}, \ldots, T S_{M}\right\} \\ R=\left\{R_{1}, R_{2}, \ldots, R_{o}, \ldots, R_{O}\right\} \\ C=\left\{\mathrm{C}_{1}, \mathrm{C}_{2} \ldots, \mathrm{C}_{\mathrm{n}}, \ldots, \mathrm{C}_{\mathrm{N}}\right\}\end{array}\right.\end{align}\)       (2)

2.2.2 Generating Initial Solution

The constructed USCP instance is fed into one construction heuristic algorithm, the first fit algorithm [36], to generate the initial solution solutionin. The first fit arranges only one entity course Cn at once by its default order and casecondsnnot be assigned in the next round. The algorithm is terminated after all courses are assigned, which can save much time finding a better solution, even if it cannot ensure the optimal solution. It gives one fast available solution to guide other algorithms to find the better solution.

2.2.3 Generating Multiple Possible Moves

The moves defined in this manuscript are to construct a new UCSP neighbor solution of the original solution to keep the diversity of the solution to increase the performance. We especially defined a union of change move selectors to generate the possible moves for the next step. One is for course object C = {C1, C2. . . CN} and timeslot value TS = {TS1, TS2 … TSM}, another one is for object course and room value R = {R1, R2 … Ro}. The principle of change move is automatically changing the value into another one. For example, from C1TS1 to C1TS2, the original solution assigns C1 at TS1 while the neighbor solution assigns it at TS2. Each move selector will iterate all possible moves to the construction solution during the solving. After two move selections, one union move selector combines CnTSm and CnRo for the next step, increasing the solution's diversity in both timeslots and rooms to improve the performance.

Algorithm 3: Tabu search to filter out unacceptable moves

JAKO202415157702463_algor 3.png 이미지

Algorithm 4: SA algorithm to filter out unacceptable moves

JAKO202415157702463_algor 4.png 이미지

2.2.4 Filter Out Unacceptable Moves

To select efficient moves, we designed a Parallel Tabu+SA structure to filter out unacceptable moves generated by step 3. Mainly, Tabu search is used to find USCP's global solution that can avoid falling into local optimal, and SA is used to find its robust solution by several steps. This good design makes the solution take into account both the advantages of Tabu and SA and keeps the diversity of choice to select the potential next step's move. A detailed explanation of Tabu and SA is shown in algorithms 3 and 4.

2.2.5 Selecting Next Move

Select the next move using one adaptive decision algorithm. The algorithm selects the move with the highest score. If Tabu and SA have similar score, they will randomly select one to execute. To complete one USCP instance, the proposed method will run iteratively until all courses satisfy all hard constraints and most soft constraints.

3. Experimental Verification

To verify the effectiveness of the proposed method for solving UCSP, we implement the proposed method based on the operating system of Windows 10 with intel(R) Core(TM) i7-7700 CPU @3.60GHz, and RAM 32.0 GB, on one real-world data set, the department of information systems at Pukyong National University (PKNU) and ten random UCSP instances. The programming language is Python 3.6, and the basic library is Optapy [37].

3.1 PKNU-UCSP Instance

The UCSP instance for the department of information systems at PKNU, for graduate students only, consists of eight rooms R = {R1, R2, . . , R8}, and two functional room types are considered: teaching room and practice room that consists of some computers. Where R1 and R4 are for practice rooms, and others are teaching rooms. The eight rooms’ capacities are {40,40,20,25,30,20,10,40}; and the owners of these rooms are departments {D1, D4, D3, D2, D2, D2, D2, D4}. The courses only can be arranged from Monday to Friday. Each day has three courses starting from 9:00 am and ending at 21:30. That is, fifteen timeslots TS = {TS1, TS2, … , TS15} corresponding to 9:00-12:30, 13:00-16:30, and 18:30-21:30 for five days are taken into account, respectively. Besides, one week has 17 courses C = {C1, C2, C3, … , C17} touched by six faculties Pr = {Pr1, Pr2, … , Pr6}, where C7, C8, C9, C10, C14 and C15 are practice courses and others are not; and the corresponding student groups for 17 courses are {17th, 18th, 17th, 19th, 20th, 17th, 19th, 21st, 20th, 18th, 19th, 20th, 22nd, 17th, 18th, 18th, 19th}, which indicated the students entrance year. More details of the Courselist object are given in Table 3. Notice that the faculties’ preferred time is a subset of their available time using a questionnaire.

Table 3. PKNU UCSP instance Courselist description.

E1KOBZ_2024_v18n4_843_9_t0001.png 이미지

E1KOBZ_2024_v18n4_843_10_t0001.png 이미지

3.2 Solving PKNU UCSP Instance using The Proposed Method

The results use the proposed method for solving the PKNU-UCSP instance, as shown in Table 4. The results are shown with the format of the Course(Faculty|Studentgroup|Room). The results showed that the proposed method satisfied all hard and soft constraints. It arranges all practice courses correctly and only uses three rooms, which reduces the management cost for cleaning the room, delivering keys, etc. For instance, one room was arranged once at one timeslot (H1). Assigning practice courses C7, C8, C9, C10, C14 at rooms R4, R1, R4, R4, R4 to satisfy (H2), accordingly; Assigning C8 at R1, not R4, since applied C8 students are 40 and the size of R4 is 25, which satisfies (H3). Besides, all professors and students only take one course simultaneously (H4 and H5).

Table 4. Solving PKNU UCSP instance using the proposed method.

E1KOBZ_2024_v18n4_843_10_t0002.png 이미지

Moreover, the solution satisfies the most soft constraints. For instance, faculties Pr1, Pr2, and Pr4 like teaching in only one fixed room, R1, which satisfies S1. Most courses are arranged according to the faculty's preferred time (S2). Each faculty took courses in a sequence mode (S3), while students who took courses are not (S4). Professor Pr1 likes teaching on Friday in the same room, R1, in a sequence mode, but the students are not. Besides, the course and room are arranged with the consistency of department, like C4 and R1 belonging to department D1. However, some soft constraints have been broken out, such as Pr5 teaches C15 at R4 and C5 at R5 (S1).

3.3 Comparative Analysis

To validate the effectiveness of the proposed method and explore each component’s effectiveness for UCSP, we designed and compared the proposed method with other optimization algorithms, including Tabu search algorithm [19], SA [20], and Tabu+SA without first fit construction heuristic algorithm (Proposedwo).

The scheduling scores, defined in Eq. (1), showed that all methods could solve the PKNU-UCSP instance since they do not break out any hard constraints. However, the proposed parallel Tabu+SA performs the best, obtaining the highest soft constraints score (4). All methods broke once for S1 and received the same score of 25 for S2, except SA is 24. For S3 and S4, all methods broke out 17 or 18 times, and the proposed method outperforms the others with a total score of 4. The performance of each comparative method is ranked as The proposed>Tabu>Proposedwo>SA.

From the findings, we can conclude that the usage of Tabu has improved by three scores, and SA has improved by one score, which is conducted by comparing the proposed method with SA and Tabu alone accordingly. Besides, the first fit could give the initial solution to help the proposed method meet S5.

E1KOBZ_2024_v18n4_843_11_f0001.png 이미지

Fig. 2. The comparative results in terms of satisfied soft constraints

3.4 The Effectiveness of Parallel Structure Design

The proposed method adopts one parallel Tabu+SA structure to keep the diversity of the moves. To validate its effectiveness, we compare the proposed method with the cascade Tabu and SA, which is motivated by [16]. The results use scheduling scores, as shown in Fig. 3. The proposed method has a parallel structure, while Proposedcascade has a cascade structure. The settings of the Proposedcascade are identical to the proposed method except for the structure. The results showed that the proposed method outperforms the cascade structure, which wins one score in S1 soft constraint, and others are identical. Significantly, the proposed method only breaks out once for S1 while the Proposedcascade breaks out twice, which causes more inconvenience for the faculties.

E1KOBZ_2024_v18n4_843_12_f0001.png 이미지

Fig. 3. The effectiveness of parallel Tabu+SA structure.

Moreover, we give the scheduling results of the cascade Tabu+SA structure to show the difference, as shown in Table 5. Compared to the proposed method using parallel structure, the cascade structure requires four rooms {R1, R2, R4, R8} while the parallel structure only requires three rooms {R1, R4, R5}, which reduces maintenance cost. Besides, the parallel structure arranges all courses for faculty Pr1 on Friday, which satisfies the S1. However, the cascade structure arranges them on Monday and Friday. These findings confirmed the effectiveness of the proposed parallel structure. In addition, the results showed that the parallel structure solves the PKNU-UCSP instance using 100.68 seconds while the cascade structure spent 106.73 seconds, which proved that the proposed parallel structure is faster.

Table 5. Solving PKNU-UCSP instance using the Propsoedcascade.

E1KOBZ_2024_v18n4_843_12_t0001.png 이미지

3.5 The Effectiveness of Each Soft Constrain Weight

The fitness score given in Eq. (1) for the proposed method sets all soft constraints as the same impact by default, that is, 𝑎1 = 𝑎2 = 𝑎3 = 𝑎4 = 𝑎5 = 1/−1 . We designed some sub-experiments to explore its effectiveness. Significantly, the weights for each soft constraint are set from 1 to 5, ignoring the positive or negative, causing the case of satisfying or breaking decide it. The total score of each setting is given in Table 6. The x-axis sets all weights the same from 1 to 5, while the y-axis sets different weights for each soft constraint. The results with the format of Nscore(SS1, SS2, SS3, SS4, SS5), where Nscore is a total normalized score calculated using Eq. (3), one related score element-wise calculation. The Weightsvector is one five-tuple vector that records the corresponding weights. For instance, the values of Weightsvector at 𝑎3 =2 and 𝑎1 = 𝑎2 = 𝑎4 = 𝑎5 = 2 equals (2,2,2,2,2), and its \(\begin{align}\text {Nscore}=\frac{-2}{2}+\frac{50}{2}+\frac{-34}{2}+\frac{-34}{2}+\frac{28}{2}=4\end{align}\).

Table 6. The effectiveness of each soft constrain weight (‘-’ indicated did not break out the constrain)

E1KOBZ_2024_v18n4_843_13_t0001.png 이미지

\(\begin{align}\text {Nscore}=\operatorname{sum}\left(\frac{\left(\mathrm{S}_{\mathrm{S}_{1}}, \mathrm{~S}_{\mathrm{S}_{2}}, \mathrm{~S}_{\mathrm{S} 3}, \mathrm{~S}_{\mathrm{S}_{4}}, \mathrm{~S}_{\mathrm{S}_{5}}\right)}{\text { Weights }_{vector}}\right)\end{align}\)       (3)

The findings indicated that the proposed method is sensitive to soft constrain weights. Setting the rate 𝑎1: 𝑎2: 𝑎3: 𝑎4: 𝑎5 with 3:1:1:1:1 receives the highest score of 66.33. Besides, setting them in one same ratio performs the same, which receives four scores. Some cases, such as 𝑎2=2 and others are 1, 𝑎3=3, and others are 4 or 5, 𝑎5=5, and others are 2, receive negative scores that indicate they break out most soft constraints. However, it just takes a small ratio, four out of 25 cases in total, which shows that the proposed method is easy to adjust. The results suggested that we set a relatively big weight (3) for S3 and tiny weights (1) for others that could receive the best results. The best timetabling results for the PKNU-UCSP instance are given in Table 7. The most significant difference between Table 7 and Table 4 is that the faculties in the former teach the course in a remarkably continuous mode.

Table 7. Solving PKNU UCSP instance using the proposed method with the best parameters

E1KOBZ_2024_v18n4_843_13_t0002.png 이미지

3.6 The Generality of the Proposed Method

To validate the proposed method's generality for solving UCSP, we randomly generate 10 UCSP instances based on the PKNU-UCSP instance, described in Table 3 but the element (course, timeslot, and room) will be randomly matched, the other configurations are same to the original PKNU data set. The reason we did not compare the proposed method on other public data sets is they have different constraints. It is hard to compare fairly without their source codes. We generated 10 UCSP instances randomly but five times broke the hard constraints for the room size caused by random matching (the room limitations). The successful five-time average results that broke or satisfied soft constraints are shown in Fig. 4. The findings indicated that the proposed method has a significant priority for solving UCSP. Especially, it won four cases out of five constraints: S1, S2, S4, and S5 with average satisfied/broken numbers of {-1.6,23.0,-15.60,7.80}, respectively. For the S3, the Tabu search algorithm performs slightly better than the proposed method. Besides, we calculated the normalized score for each UCSP instance to see their differences, as shown in Fig. 5. The results indicated that the proposed method performs the best for all five instances. Especially for the fourth instance, the proposed method receives a score of 6 while the other two are 2. The average normalized score for five UCSP instances showed that the proposed method received the highest score of 1.6 while SA and Tabu received scores of -0.4 and 0.4, respectively. These findings confirmed the generality of the proposed method for solving UCSP.

E1KOBZ_2024_v18n4_843_14_f0001.png 이미지

Fig. 4. The generality test based on ten random UCSP instances.

E1KOBZ_2024_v18n4_843_14_f0002.png 이미지

Fig. 5. The average timetabling score for each UCSP instance.

4. Conclusions

This paper presents one novel and practical approach, parallel Tabu+SA, to solve UCSP. Firstly, it utilizes the first fit algorithm to give the initial solutions, and then one union change move selector is designed to increase the diversity of potential moves. The Tabu search and SA algorithms are designed in parallel to select the next move with the highest score. This sound design fully uses Tabu search and SA to help the proposed method increase accuracy. Besides, an adaptive decision selection algorithm is designed to select the next move from Tabu and SA solutions automatically. The experimental verification based on the PKNU real case and ten random UCSP instances verified the proposed method's effectiveness. Moreover, one ablation study confirmed each component's effectiveness in the proposed method.

In summary, the proposed method could solve USCP and easily transfer to other scheduling problems. Besides, the proposed normalized score calculation could be utilized to compare other optimization problems more fairly. In the future, we will test the proposed method’s effectiveness on other optimization problems and develop one editable web application for easy use. Also, we will compare the proposed method with more leading algorithms to validate its effectiveness.

Acknowledgement

Thanks to the officer at the department of the information system of PKNU, who assisted us in collecting the data PKNU-UCSP to test the proposed method’s generality. The data can be requested from the corresponding author on a reasonable basis.

참고문헌

  1. R. Tian, H. Si, Z. Guo, X. Zhao, and Y. Feng, "Realization of course scheduling system based on improved genetic algorithm," in Proc. of ICCSE 2021 - IEEE 16th Int. Conf. Comput. Sci. Educ., pp. 1072-1076, 2021.
  2. N. Boland, B. D. Hughes, L. T. G. Merlot, and P. J. Stuckey, "New integer linear programming approaches for course timetabling," Comput. Oper. Res., vol. 35, no. 7, pp. 2209-2233, 2008.
  3. E. K. Burke and S. Petrovic, "Recent research directions in automated timetabling," Eur. J. Oper. Res., vol. 140, no. 2, pp. 266-280, 2002.
  4. S. Imran Hossain, M. A. H. Akhand, M. I. R. Shuvo, N. Siddique, and H. Adeli, "Optimization of University Course Scheduling Problem using Particle Swarm Optimization with Selective Search," Expert Syst. Appl., vol. 127, pp. 9-24, 2019.
  5. M. Azmi Al-Betar and A. Tajudin Khader, "A hybrid harmony search for university course timetabling," in Proc. of Multidiscip. y Int. Conf. Sched. Theory Appl., no. August, pp. 10-12, 2009.
  6. T. Gabel and M. Riedmiller, "Adaptive Reactive Job-Shop Scheduling With Reinforcement Learning Agents," Int. J. Inf. Technol. Intell. Comput., vol. 24, no. 4, 2008.
  7. X. Shao and C. S. Kim, "Self-Supervised Long-Short Term Memory Network for Solving Complex Job Shop Scheduling Problem," KSII Trans. Internet Inf. Syst., vol. 15, no. 8, pp. 2993-3010, 2021.
  8. X. Shao and C. S. Kim, "An Adaptive Job Shop Scheduler Using Multilevel Convolutional Neural Network and Iterative Local Search," IEEE Access, vol. 10, pp. 88079-88092, 2022.
  9. Y. Lan, Q. Zhai, X. Liu, and X. Guan, "Fast Stochastic Dual Dynamic Programming for Economic Dispatch in Distribution Systems," IEEE Trans. Power Syst., vol. 38, no. 4, pp. 3828-3840, 2022.
  10. G. Laporte, H. Mercure, and Y. Nobert, "Generalized travelling salesman problem through n sets of nodes: the asymmetrical case," Discret. Appl. Math., vol. 18, no. 2, pp. 185-197, 1987.
  11. S. Abbas, F. Ashraf, F. Jarad, M. S. Sardar, and I. Siddique, "A Drone-Based Blood Donation Approach Using an Ant Colony Optimization Algorithm," C. - Comput. Model. Eng. Sci., vol. 136, no. 2, pp. 1917-1930, 2023.
  12. A. Bashab et al., "Optimization Techniques in University Timetabling Problem: Constraints, Methodologies, Benchmarks, and Open Issues," Comput. Mater. Contin., vol. 74, no. 3, pp. 6461-6484, 2023.
  13. F. Pezzella, G. Morganti, and G. Ciaschetti, "A genetic algorithm for the Flexible Job-shop Scheduling Problem," Comput. Oper. Res., vol. 35, no. 10, pp. 3202-3212, 2008.
  14. K. Dehghan-Sanej, M. Eghbali-Zarch, R. Tavakkoli-Moghaddam, S. M. Sajadi, and S. J. Sadjadi, "Solving a new robust reverse job shop scheduling problem by meta-heuristic algorithms," Eng. Appl. Artif. Intell., vol. 101, p. 104207, 2021.
  15. M. C. Gomes, A. P. Barbosa-Povoa, and A. Q. Novais, "Optimal scheduling for flexible job shop operation," Int. J. Prod. Res., vol. 43, no. 11, pp. 2323-2353, 2005.
  16. X. Li and L. Gao, "An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem," Int. J. Prod. Econ., vol. 174, pp. 93-110, 2016.
  17. G. R. Weckman, C. V. Ganduri, and D. A. Koonce, "A neural network job-shop scheduler," J. Intell. Manuf., vol. 19, no. 2, pp. 191-201, 2008.
  18. S. Katoch, S. S. Chauhan, and V. Kumar, "A review on genetic algorithm: past, present, and future," Multimedia Tools and Applications, vol. 80, pp. 8091-8126, 2021.
  19. G. Fred, "Tabu Search: A Tutorial," Interfaces (Providence), vol. 20, no. 4, pp. 74-94, 1990.
  20. B. Dimitirs and S. John, "Simulated annealing," Stat. Sci., vol. 8, no. 1, pp. 10-15, 1993.
  21. L. Asadzadeh, "A local search genetic algorithm for the job shop scheduling problem with intelligent agents," Comput. Ind. Eng., vol. 85, pp. 376-383, 2015.
  22. M. Kurdi, "An effective new island model genetic algorithm for job shop scheduling problem," Comput. Oper. Res., vol. 67, pp. 132-142, 2016.
  23. B. Xu, P. A. Zhong, Y. F. Zhao, Y. Z. Zhu, and G. Q. Zhang, "Comparison between dynamic programming and genetic algorithm for hydro unit economic load dispatch," Water Sci. Eng., vol. 7, no. 4, pp. 420-432, 2014.
  24. L. Gao, C. Peng, C. Zhou, and P. Li, "Solving flexible job-shop scheduling problem using general particle swarm optimization," in Proc. of 36th Int. Conf. Comput. Ind. Eng. ICC IE 2006, pp. 3018-3027, 2006.
  25. W. Wisittipanich and V. Kachitvichyanukul, "Differential Evolution Algorithm for Job Shop Scheduling Problem," Ind. Eng. Manag. Syst., vol. 10, no. 3, pp. 203-208, 2011.
  26. H. W. Ge, L. Sun, Y. C. Liang, and F. Qian, "An effective PSO and AIS-based hybrid intelligent algorithm for job-shop scheduling," IEEE Trans. Syst. Man, Cybern. Part ASystems Humans, vol. 38, no. 2, pp. 358-368, 2008.
  27. S. Abdullah and H. Turabieh, "Generating university course timetable using Genetic Algorithms and local search," in Proc. of 3rd Int. Conf. Converg. Hybrid Inf. Technol. ICCIT 2008, vol. 1, pp. 254-260, 2008.
  28. F. H. Awad, A. Al-Kubaisi, and M. Mahmood, "Large-scale timetabling problems with adaptive tabu search," J. Intell. Syst., vol. 31, no. 1, pp. 168-176, 2022.
  29. N. Leite, F. Melicio, and A. C. Rosa, "A fast simulated annealing algorithm for the examination timetabling problem," Expert Syst. Appl., vol. 122, pp. 137-151, 2019.
  30. R. M. Chen and H. F. Shih, "Solving university course timetabling problems using constriction particle swarm optimization with local search," Algorithms, vol. 6, no. 2, pp. 227-244, 2013.
  31. P. Kenekayoro, "Incorporating Machine Learning to Evaluate Solutions to the University Course Timetabling Problem," arXiv:2010.00826, 2020.
  32. Turabieh, H., Abdullah, S., McCollum, B., McMullan, P., "Fish Swarm Intelligent Algorithm for the Course Timetabling Problem," in Proc. of Rough Set and Knowledge Technology, RSKT 2010, pp. 588-595, 2010.
  33. Y. Nagata, "Random partial neighborhood search for the post-enrollment course timetabling problem," Comput. Oper. Res., vol. 90, pp. 84-96, 2018.
  34. M. C. Chen, S. N. Sze, S. L. Goh, N. R. Sabar, and G. Kendall, "A Survey of University Course Timetabling Problem: Perspectives, Trends and Opportunities," IEEE Access, vol. 9, pp. 106515-106529, 2021.
  35. S. Ceschia, L. Di Gaspero, and A. Schaerf, "Educational timetabling: Problems, benchmarks, and state-of-the-art results," Eur. J. Oper. Res., vol. 308, no. 1, pp. 1-18, 2023.
  36. A. A. Bertossi, L. V Mancini, and F. Rossini, "Fault-Tolerant Rate-Monotonic First-Fit Scheduling in Hard-Real-Time Systems," IEEE Transactions on Parallel and Distributed Systems, vol. 10, no. 9, pp. 934-945, 1999.
  37. https://github.com/optapy/optapy.