Skip to content

imthomas93/fypScheduling

Repository files navigation

Final Year Project on Optimising Algorithm

Background

From the perspective of computer science, an algorithm is a function that consists of a self-contained sequence of actions to be performed. This function can be used to perform data processing and automated reasoning problems. With extraordinary growth in computational power over the past few decades, algorithms easier automation of manual work and optimisation of processes. The notion of an optimised algorithm aims to extract the maximum output while obeying to restriction governing from the extraction [1].

Algorithms can be used to perform timetable workload scheduling. Extensive research has shown that academic staff workload allocation is not a new problem and it's still a real-world problem to date [2]. An academic workload distribution is imperfect without the timetabling of the assigned teaching events. Realistically, an unbiased and fair workload distribution prioritises students and staff fairly in conjunction with utilising the minimum physical resources such as lecture halls, tutorial rooms and laboratory. This must be done so in a time-bounded system. Research has shown there are numerous fundamental variations of a timetabling problem. The basic challenge is to schedule classes according to numerous contradictory requirements, constraints and a set of rules based on the professors' area of focus and years of experience in a large-scale allocation system.

Research Gap

A study on common timetable allocation model on three concepts such as "Contact Hours", "Actual Hours" and "Point-based" demonstrated poor staff management policy, resulting in displeasure relative to the complexity of the model used. This proves that a timetable allocation system is motivated purely by self-interest of individual professors' preferences, focus area and level of experiences, resulting being difficult to comprehend [3]. In addition, traditional staff workload allocation may incur up to two weeks long of preparation. Moreover, multiple problems and mistakes will arise after the allocation is done, resulting in changes to original workload scheduling [4]. This shows a vast possibility for any reasonably-sized workload allocation to provide a prospect to search for an optimal solution that might benefit the three parties (staffs, students and academic physical resources) based on limitations such as crashes in classes of the same course and venue is reasonably sufficient for the cohort.

Objective

The aim of this project is to identify the problem domain in a typical university course workload allocation system. The requirements, constraints and limitations of the existing system will be investigated and discussed to formulate into an optimised agent. The objective is to determine optimisation algorithms that can be featured in timetabling problem [5]. These findings can be set as benchmark for future evaluation, improvement and be further expanded into other real-world allocation system problems.

Scope

Using the studies gathered, the project aimed to improve the model using the 3 concepts that would benefit students, staff and academic resources. The project would then perform several algorithm experiments such as genetic, simulated annealing and greedy algorithms to prepare an in-depth analysis that seeks for an efficient solution. After which, a test scenario was derived to put these formulated algorithms to test, whereby the aim is to find the most simple and efficient proposed algorithm that will improve the academic workload scheduling system. This would result in minimal resources needed and provides accountability to the different stakeholders identified.

Setup

1. Database set consist of 4 different data size (test, small, medium, large).

2. Database will be hosted on phpMyAdmin on a local server.

3. 2 Algorithm will be written - Stimulated Annealing for Faculty Member Allocation & Genetic Algorithm for Class Scheduling. Both Algorithm will be written on Java.

Author

Thomas Lim Jun Wei

References

[1] R. Sood, "Algorithms and Data Structures for Automated Teaching Workload Allocation," 2016.

[2] S. Selim, "An algorithm for producing course and lecturer timetables," Computers & Education, vol. 7, no. 2, pp. 101-108, 1983.

[3] T. F. Burgess, "Planning the Academic's Workload: Different Approaches to Allocating Work to University Academics," Higher Education, vol. 32, no. 1, pp. 63-75, 1996.

[4] V. A. Bardadym, "Computer-aided school and university timetabling: The new wave," in International Conference on the Practice and Theory of Automated Timetabling, 1995, pp. 22-45: Springer.

[5] R. Bellio, S. Ceschia, L. Di Gaspero, A. Schaerf, and T. Urli, "Feature-based tuning of simulated annealing applied to the curriculum-based course timetabling problem," Computers & Operations Research, vol. 65, pp. 83-92, 2016.

Releases

No releases published

Packages

No packages published

Languages