Particle swarm optimization for solving thesis defense timetabling problem

ABSTRACT


INTRODUCTION
The thesis defense is a mandatory activity to be taken by students in Universitas Multimedia Nusantara (UMN). Indonesian ministry of education and culture regulates Indonesian universities to have this activity in their 4 years undergraduate curriculum (bachelor). In general, there exists at least three participants in a defense session: the student, the supervisor, and the examiner. In UMN, specifically in the Department of Informatics, there are four participants, including the moderator of the session. Thus, the size of the department and the number of students determine the time needed to create the timetable for the thesis defense sessions. Related work in [1] uses local search, integer programming (IP), and constraint programming (CP) for comparison in solving the thesis defense timetabling problem that applies to some Italian universities. Based on the experimental analysis, it is also found that the problem is solvable in NP-complete, and according to the personnel involved, it has reduced the time spent in the overall procedure by several worker-days for each graduation period.
In this work, the particle swarm optimization (PSO) algorithm introduced by J. Kennedy and R. Eberhardt is used [2]. In the PSO algorithm, the population is called a swarm, and each individual is called particle [3]. In [4,5], the PSO algorithm successfully optimizes and solves the scheduling problems with multiple constraints. The PSO algorithm has excellent robustness and useful in different application environments with little modification [6]. The PSO algorithm also delivers the same optimal solution than other algorithms with faster computing time and a faster convergence rate than other algorithms, such as the genetic TELKOMNIKA Telecommun Comput El Control  Particle swarm optimization for solving thesis defense timetabling proble (Gilbert Christopher) 763 algorithm [7]. PSO algorithm also successfully implemented in some computer science problem, such as knapsack problem [8,9] and job-shop problem [10,11] and some real-life cases, such as optimization of reservoir operation [12], task scheduling in grid [13,14] resource-constrained project scheduling [15], cloud computing [7,16,17], and employee scheduling [18].
Scheduling is allocating resources in a specific time to produce or finish a task. The scheduling problem is a complex combinatorial problem because there is more than one solution and is locally optimal. Scheduling problem is classified as a non-deterministic polynomial-time hard (NP-Hard) problem. In scheduling problem, there are two types of constraint: a hard constraint and soft constraint. The hard constraint is a constraint that cannot be violated, and soft constraint is a constraint that can be violated. However, the violation must be minimized to get the optimal solution [19].
This paper defines the problem formulation that applies to the Department of Informatics at Universitas Multimedia Nusantara. The fitness functions tailored to the problem formulation are developed with both hard and soft constraints. The goal is to try to optimize the timetabling process by minimizing the soft constraints violations. The proposed approach is implemented in a web-based platform using the Python programming language and the Flask framework. The application is tested using real-world instances and evaluated using the end-user computing satisfaction (EUCS) with a 6-point Likert scale [20,21]. The rest of this paper is organized as follows; section 2 briefly describes the research method used for this study, including problem formulation, particle swarm optimization (PSO), and the design and implementation work. Section 3 describes the results of the study and the performance evaluation. Section 4 concludes this paper with some discussions on future work.

RESEARCH METHOD 2.1. Problem formulation
In Universitas Multimedia Nusantara (UMN), thesis defense sessions are allocated into two weeks per batch. Within a single batch, the number of students going for their thesis defense is not limited by the department. In the Department of Informatics at UMN, 18 department members are all eligible to be the committee of the sessions. Sessions are meetings where students defend their thesis in front of a committee, and some sessions might overlap in time [1]. Faculty members are characterized by their academic level and research areas. Students are allowed to have at least one supervisor and at most two supervisors. The department assigns the examiner and moderator of the sessions. Another consideration is the quota for each department member to become a committee of a session. Department member that holds a position in the university is limited to a lower number of sessions.
As customary, constraints are divided into hard and soft ones. The former must always be satisfied, whereas the latter compose the objective function that is optimized (minimized) during each iteration in the PSO. There is only one hard constraint that applies to all, which is the time availability of each participant. There must not exist overlapping sessions for any of the participants. The soft constraints are: − Quota: The maximum number of sessions that are allocated for each of the department members. − Academic Level: The academic level of the department member that is regulated by the government. − Experience: The previous experience in moderating the sessions.
− ResearchArea: The conformity of the examiner's research areas with the thesis.
The objective function is obtained by summing up the violations of all soft constraints. In practical cases, the separation in hard and soft constraints can be modified by the user, who could relax some of the hard constraints by turning them into soft ones and assigning them a weight. It is also possible to add weight for each of the soft constraints chosen by the users. For the sake of simplicity, this work sticks to the classification provided above.

Particle swarm optimization
In general, the particle swarm optimization (PSO) algorithm consists of three steps: first, to initialize each particle's position and velocity, second is to update the velocity, and third is to update the position. These three steps are repeated until the stop condition is met, or the maximum iteration is reached. The initial position and velocity of each particle are generated randomly using (1) and (2) where x represents position and v represents velocity [22][23][24][25].
The velocity is updated by using (3). The inertia factor (w), cognitive learning rate (c1 and c2), and random numbers (r1 and r2) are the parameters that influence the update of the velocity [22].
The final step in each iteration is to update each particle's position using (4) [22]. Figure 1 shows the application workflow. First, the user must input the data that is used to the application. After the data entered, the application will start scheduling using the PSO algorithm, beginning with the schedule for the thesis defense, then the examiner, and the moderator of the thesis defense. After the scheduling process is done, the optimized schedule will be shown by the application. There are three fitness functions developed and used in this research. The first fitness function (fSupervisor) defined by (5) is to set the initial schedule consisting of the student and the supervisor. The second fitness function (fExaminer) defined by (6) is for scheduling the examiner. The third fitness function (fModerator) defined by (7) is for scheduling the moderator. The goal is to find the global minimum for each of these fitness functions.  Figure 2 shows the implementation flowchart of the PSO algorithm for the application. There are three phases of the PSO module, as described in the implementation flowchart. The first PSO module is to initialize the session consisting of student and supervisor. The second is to assign an examiner to the session, and the last is to assign a moderator to the session. In this implementation, vmax is not limited to allow the particle to fly through an excellent solution. In addition to that, the position is normalized to be in the range between 0 and 39. The normalization is to follow with the nature of the problem, where there are 40 time slots within two TELKOMNIKA Telecommun Comput El Control  Particle swarm optimization for solving thesis defense timetabling proble (Gilbert Christopher) 765 weeks with five working days and eight hours a day. The maximum number of iteration for each fitness function is set to 20 in this work, and the user can alter this. The implementation is targeted to run until it finds the solution; it will restart the whole process when no solutions to be found. Violations on the hard constraint is not allowed.

End-user computing satisfaction (EUCS)
The dimension of EUCS are content, accuracy, format, ease of use, and timeliness. This model is mainly based on the end-user's computing satisfaction model of Doll and Torkzadeh. The model is shown in Figure 3 [26].

RESULTS AND ANALYSIS
The application is tested using four test-cases specifics for the application. The variables for the test are given in Table 1. Each of the test-cases is executed ten times to measure the overall performance of the  The results for test-case number two is shown in Table 3. The average number of iterations required to generate the schedule is 18.2 ≅ 19 iterations. The average execution time is 3.19 secs with the fastest is 0.18 seconds on the first iteration, and the latest is 6.56 seconds on the seventh iteration. The average number of violations on the soft constraints is 3.2 ≅ 4. The results for test-case number three is shown in Table 4. The average number of iterations required to generate the schedule is 2,823.6 ≅ 2,824 iterations. The average execution time is 450.19 secs with the fastest is on the ninth iteration with 41.04 secs, and the latest is on the forth iteration with 1,312.97 seconds. The average number of violations on the soft constraints is 3.9 ≅ 4. The results for test-case number four is shown in Table 5. The average number of iterations required to generate the schedule is 76 iterations. The average execution time is 18.69 seconds with the fastest is 4.47 seconds on the sixth iteration, and the latest is 36.94 seconds on the fifth iteration. The average number of violations on the soft constraints is 3.6 ≅ 4. Based on the comparison of test-case number one and test-case number two shown in Figure 4, the application's overall performance is best in the second batch. In this period, the optimization process runs faster due to no overlapping sessions between thesis defense sessions and department members' teaching schedules. This same characteristic is also embodied in another comparison shown in Figure 5, where the application performs less in test-case number 3 compare to test-case number 4. The evaluation of the application is measured using EUCS in an interview with the end-user of this application. The EUCS questionnaire aims to measure the content, accuracy, format, ease of use, and application timeliness. Figure 6 displays the EUCS result with the overall score is 4.3 out of 6. The highest score is 5 out of 6 for the ease of use factor. Content scores the lowest with 3.8 out of 6. The content could be improved in future work to add more explanation and information regarding the application and the whole process.

CONCLUSION
This work has successfully demonstrated the use of PSO for the thesis defense timetabling problem. The implementation successfully schedules 25 thesis defense exams without violating the hard constraint under different test-cases. The optimal inertia factor value is 0.6 for this application. The application is currently in use in the Informatics Department in UMN. The personnel involved have reduced the time spent in the overall procedure by several staff-hours for each graduation period (which consists of 4-6 thesis defense batch a year). In addition to that, the system has improved the solution's fairness in terms of the department members' multiple duties. The overall score of the EUCS evaluation for the application is 4.3 out of 6.
In the future, different fitness functions and linear decreasing inertia could be studied to yield better performance. Additional work on the user interface consists of adding a new menu that provides guidance and information on how-to-use the application. Features for sorting the application's data are also needed to increase the application's ease-of-use aspect further. In addition to the reporting menu, it is easier to archive schedules that have been made and modify the schedule in the thesis trial scheduling application. Another feature to be added is to allow constraints modification by end-user. This feature will allow end-user to add and to remove additional constraints.