Code Monkey home page Code Monkey logo

fypscheduling's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.