You are on page 1of 51

1

Contents
Chapter 1 ......................................................................................................................... 3 1.1 Background Study ........................................................................................... 5 1.1.1 Constraints: ................................................................................................. 6 1.1.2 Constraint Specifications:........................................................................... 7 1.2 Research Methodology .................................................................................. 10 1.3 Thesis Overview ............................................................................................ 11

Chapter 2 ....................................................................................................................... 12 2.1 Reviews ......................................................................................................... 12 2.1.1 Hybrid Evolutionary Techniques for the Maintenance Scheduling Problem...................................................................................................................12 2.1.2 Developing an algorithm-based course scheduling tool ........................... 13 2.1.3 On the Application of Data Mining Technique and Genetic Algorithm to an Automatic Course Scheduling System .............................................................. 15 2.1.4 Ant System Algorithm with Negative Pheromone for Course Scheduling Problem...................................................................................................................17 2.1.5 Research and Implementation of Smart Course Scheduling System ....... 18 2.1.6 An Immune-Based Approach to University Course Timetabling: Immune Network Algorithm ................................................................................................ 19 2.1.7 University Course Scheduling Using Evolutionary Algorithms .............. 21 2.1.8 Solving Department's Course-scheduling Problem using Differential Evolution ................................................................................................................ 22 2.1.9 Method of inequality-based multi-objective genetic algorithm for course scheduling model .................................................................................................... 23 2.1.10 The Research on Multi-strategy Course Scheduling Algorithm .............. 25 2.1.11 Course-Scheduling Algorithm of Option-based Hierarchical Reinforcement Learning ......................................................................................... 26 2.1.12 Dynamic Scheduling Algorithms for Workflow Applications in Grid Environment ........................................................................................................... 27 2.1.13 Course Scheduling System Design and Implementation Based on Genetic Algorithm ............................................................................................................... 29 2.1.14 A two-phase evolutionary algorithm for the university course timetabling problem ..................................................................................................................30 Chapter 3 ....................................................................................................................... 33 3.1 Approach ....................................................................................................... 33 3.2 Use Cases ...................................................................................................... 37 3.2.1 Administrator Side.................................................................................... 37 3.2.2 Data Side .................................................................................................. 38 3.3 Class Diagram ............................................................................................... 39 3.4 Graph Colouring Algorithm .......................................................................... 40

2 3.4.1 Complexity Analysis: ............................................................................... 44 3.5 Bubble Sort .................................................................................................... 45 3.5.1 Complexity analysis ................................................................................. 46

Chapter 4 ....................................................................................................................... 47 Chapter 5 ....................................................................................................................... 48 5.1 Conclusion ..................................................................................................... 48 5.2 Future Work .................................................................................................. 49 Chapter 6 ....................................................................................................................... 50

3 Chapter 1

Introduction

Class schedules are designed so that every student will waste the maximum time between classes. First Law of Class Scheduling A pre-requisite for a desired course will only be offered during the semester following the desired course. Second Law of Class Scheduling When you are occasionally able to schedule two classes in a row, they will be held in classrooms at opposite ends of the campus. (Third) Law of Class Scheduling The one course you must take to graduate will not be offered during your last semester. Seits Law of Higher Education (The above are corollaries of Murphys Law: If anything can go wrong, it will. )
i

With the extensive application of computer and rapid development of Internet technology, many teaching management systems have been put into use in universities. Course scheduling work is the primary university routine business for each semester, is the largest burden of the operational staff responsible for the curriculum, because it involves various resources, such as university campus, building, classroom, curriculum, teachers, classes, students

4 and university equipment, etc., so how to avoid conflicts in the use of resources is a difficult project, together with the course scheduling requirements composed by other relevant administrative provisions of the schools themselves, it can be seen that the course scheduling business met all these factors and constraints is very complex and difficult. Planning and scheduling are the major aspect of a university management system. Scheduling is the allocation of courses according to some constraints which has to be placed in a space-time, in such a way as that will satisfy as nearly as possible a set of desirable objectives. Specifically, the university scheduling problem for courses is generally viewed as fixing the time and allocating a sequence of meetings between instructors and students, while simultaneously satisfying a number of various essential or preferential conditions or constraints. The main focus and objective of Dynamic Course Schedule Algorithm system is finding optimal solutions to dynamic resource-constrained scheduling problems. Rather than requiring a different formulation for each scheduling problem variation, a single algorithm provides promising performance on many different instances of the general problem. Whereas traditional scheduling methods use search or scheduling rules (heuristics) specific to the project model or constraint formulation, this method uses a direct representation of schedules and a search algorithm that operates with no knowledge of the problem space. The representation enforces precedence constraints, and the objective function measures both resource constraint violations and overall performance.

1.1

Background Study
Each year (Spring, Summer & Fall) approximately 3,000 students admitted in 5 curricula (EEE, SCIENCE, BBA, B.ARTS, B.ARCHITECHTURE) enrol in over 200 courses offered by 7 different academic departments (School of Science, School of Engineering, School of Architecture, School of Business Administration, School of Mathematics, School of Natural Science, School of Arts and Social Science) at AIUB. These courses are taught in roughly over 600 sections by approximately over 300 faculty members. Typically each section takes 3 hours (except summer semester) of lecture per week in one of 150 classrooms. A schedule that allows students to complete curricular requirements in a timely manner must be developed each semester. The system of offering courses and also the sections of the courses in a particular semester is maintained manually. Without proper analysis of the students current data the estimation of offering courses and sections are always containing some constraints in each semester. It often seems that Some sections are closed as lack of students Some courses have to increase the sections number as opened sections are full Some are newly opened as the request is raised by the students Course schedules are developed at AIUB using a decentralized process. Academic departments schedule most of their course offerings in classrooms allocated to them. Each department uses its own criteria to assign instructors to sections and sections to rooms and times. Departments that consider instructor preferences subordinate those preferences to curriculum requirements and room capacity and other constraints.

1.1.1 Constraints: Finding the exact time allocation within limited time period of number of events (courses-lectures) and assign to them number of resources (teachers, students and classrooms) such that the constraints are satisfied. In AIUB courses are organized in number of semesters. The constraints to be satisfied by timetable are usually divided into two categories hard and soft constraints. Hard constraints should be rigidly fulfilled. Such constraints include: (i) No resource (teachers, students and classrooms) may be assigned to different events at same time; (ii) Events of same semester must not be assigned at same time slot (in order for students of semester to be able to attend all semester courses); (iii) Assigned resources to an event must belong to set of valid resources for that event. In this regard, the lecture is held in a classroom if proper infrastructural arrangements are there to organize the lecture. Similarly, the lecture is assigned to teacher if he has knowledge as well as capability of delivering particular lecture. Likewise, some lectures are assigned to teachers if they have knowledge to deliver the lecture. On the other hand, it is desirable to fulfil soft constraints to the possible extent but is not fully essential for valid solution. Therefore, soft constraints can also be seen as optimization objectives for search algorithm. Such constraints are: (i) Schedule an event within particular window of whole period (such as during evenings); (ii) Minimize time gaps or travel times between adjacent lectures of same teacher, etc.

7 The problem specifications are given in Table 1. Hard and soft constraints considered for this problem are given in Table 2 and 3 respectively.

Serial No 1. 2. 3. 4. 5. 6. 7. Number of Courses

Parameter Description

Quantity 200(app.) 3 2 300(app.) 150(app.) 5 8

Number of Semesters Type of Lectures (Theory/Laboratory) Number of Teachers Number of Classrooms/Laboratories Number of Days Number of Periods within a Day Table 1: Timetable Problem Specifications

1.1.2 Constraint Specifications: Among soft constraints, best availability schedule of each teacher, maximum and minimum workload of each teacher are focused. In addition, travel time of teachers and students between rooms above constraints is feasible schedule for the problem. There are certain difficulties involved in chosen problem case which are justified by following facts: a) The problem is two types of lectures. Theory and laboratory with diverse characteristics and constraints; b) Number of classrooms is generally small that accommodates all taught lessons, a fact which makes timetable schedule very tight. Some classrooms are laboratories designed for laboratory classes and others are theory classrooms. All laboratories are occupied by

8 classes for full number of periods per day and all five days with only minor time-gaps;

c) Specific classes are taught in specific classrooms. Theory classes are assigned to any must of the lecture classrooms, but laboratory classrooms; d) There are quite large number of teachers, each of whom has their own minimum (4) and maximum (12) hour limits per week and ability to teach in limited set of classes. classes be assigned to specific laboratory

Serial No 1

Soft Constraint Every teacher has his own availability schedule ensuring which he submits plan with desirable time periods that suits him best

2 3

Every teacher has minimum and maximum limit of weekly work-hours which are 28 and 6 respectively If class is broken in more than one non-contiguous lectures within a week, specific number of days must be left between these lectures

4 5 6

Travel time of teachers and students between classrooms within campus is to be minimized Time gaps within schedule of each teacher is to be minimized Time gaps within schedule of each classroom is to be minimized Table-2: Soft Constraint Specifications

Serial No 1 2

Hard Constraint No resource (teacher, student or classroom) is assigned to different events at same time Events of same semester are not assigned at same time slot when both events are of type theory or when one event is theory and other event is laboratory. Same semester events run concurrently only if they are both of type laboratories, as for each course 1 laboratory classes are scheduled within a week, each attended by different group of students.

3 4 5 6 7 8

Maximum number of time periods per day should not exceed particular value (8) Each lecture is held in a classroom belonging to specific set of valid rooms for lecture Each classroom has its own availability schedule Each lecture is assigned to a teacher that belongs to specific set of teachers that can deliver lecture Specific lectures must be rigidly assigned to specific teachers. Theory classes need one teacher while Laboratory classes need two teachers(engineering labs) Table-3: Hard Constraint Specifications

10

1.2

Research Methodology
In this study, construction of the dynamic course scheduling system is divided into two stages. In the first stage, the algorithm for mining association rules is used to establish a course tree of associated courses which selected by students due to semester criteria. In the second stage, courses offered are arranged into a weekly course timetable for each class, and the course timetable is optimized using the graph colouring algorithm. The principle of dynamic course scheduling is to first consider the mining results of students course selection data obtained from the first stage, and then, during the course scheduling process, arranging the courses that most students have collectively selected into different time slots (i.e., at different class periods), so that students have the opportunity to take courses having a strong association.

1.2.1

Constructing the Course Tree from Associated Courses The focus of this stage is to construct the table of associated courses. The course tree generation technique is used in this study to find the association among courses and then save the associated course sets into the table of associated courses, wherein each set of associated courses is given an association priority.

1.2.2

Automatic Course Scheduling with Graph Coloring Algorithm Course scheduling is a task for satisfying multiple constraints, wherein a variety of information must be considered. Whenever a course is arranged into the course timetable, available resources are reduced as a result, making it more difficult to satisfy the constraints. In this study, it is strictly forbidden in a dynamic course scheduling process to overcome the soft constraints and the hard constraints.

11

1.3

Thesis Overview

This thesis is organized as follows. In Chapter 2, we have described the findings and research on scheduling algorithm from different research paper. The reviews included the positive sides and the limitations of the scheduling algorithms. In Chapter 3 first describes the Dynamic Course Schedule Algorithm systems approach to solve the problems. This portion gives the overall overview of how the system is design or configured and also the uses of the system. Lastly its describing the algorithm parts. In Chapter 4 presents the details about the implementation of our approach. Here we describe the architecture of the software implementation and the input format. We also describe the graphical user interface and highlight its major features. Finally we discuss the flexibility and scope of customization our software implementation provides to the users. Finally, in Chapter 5 we conclude the thesis with some remarks and probable directions for extension of this work and further research in this area.

12 Chapter 2

Related Work

2.1 Reviews

2.1.1

Hybrid Evolutionary Techniques for the Maintenance Scheduling Problem


E. K. Burke and A. J. Smith

Brief Overview: This paper investigates the use of a memetic algorithm for the thermal generator maintenance scheduling problem. The local search operators alone have been found to produce good quality results. The main purpose of this paper is to discover whether a memetic approach can produce better results. The incorporation of local search operators into a genetic algorithm has provided very good results in certain scheduling problems. The resulting algorithm from this hybrid approach has been termed a memetic algorithm. Here comparing the memetic algorithms with a variety of algorithms that include the local search operators on their own and a range of algorithms that apply the local search operator to randomly generated solutions. For the problems tested, the memetic algorithms produce better quality solutions (although they do take more time about it). Of course, in practice, for a problem like this, the time taken to produce a solution is not a major issue. What is far more important is the quality of the solution. Concluding all that the most effective method (of

13 the ones tested here) is the memetic approach which employs a tabusearch operator.

Positive Sides: In this paper, a memetic algorithm using tabu search as a local optimizer produces the best results on tests. A more subtle approach in which the local search and the GA complement each other is obtained by limiting the tabu search to ten iterations after finding the first local optimum. This might be considered to reduce the effectiveness of the local search. Limitations: The model represented in this paper has not any limitations in terms of genetic algorithm approach.

2.1.2

Developing an algorithm-based course scheduling tool


Klicos, icholas; Winzeler, John; York, Daniel; Tai, Brian; Reid Systems and Information Engineering, University of Virginia Bailey,

Brief Overview: This paper goal is to improving both the scheduling process and the proposed course schedule, a new web-based tool accesses a database of historical course information and runs a scheduling algorithm to predict SLIs (Sunset Learning Institute) course schedule faster and more accurately than current scheduling methods. The scheduling algorithm is the heart of this project. This algorithm pulls course data from a continually expanding database of historical information. The relevant historical data includes statistics such as the number of times a course has run in the past, the number of students in those classes, the

14 courses profitability, and indicators concerning whether the course is a part of one or more academic sequences that SLI offers. With this data, the algorithm generates a 90 day schedule which is then run through a logic based constraint identification system. Based on current analysis, this tool improves the scheduling process for Sunset Learning Institute. It makes course scheduling faster by automating a process that had previously been completed manually. In addition, the tool allows SLI to increase the percentage of scheduled courses that run. The two algorithms developed will greatly assist SLI in optimizing resources for the two locations. The systems performances across the four metrics that have been established are significant improvements over the current system. By automating a process that usually requires significant person hours, SLI can focus on other important issues they may be facing. The algorithm will create a more accurate schedule and this should allow for SLI to maintain a higher FPES. This higher FPES will in turn result in higher revenue as more students are in a single class. Having the same amount of students in fewer classes can measurably increase revenue for SLI.

Positive Sides: One of the main effective sides in this system is saving time and therefore saving money during SLIs course scheduling process. The metrics gives more efficiency. The first metric to measure success is the number of person-hours required to create a schedule. This tool will drastically reduce person-hours per year to approximately three hours per year. The majority of this time involves actually inputting historical class information with the actual schedule generation taking less than one minute per schedule. The second metric is the percent of scheduled classes that actually run. This can be evaluated based upon the aforementioned statistical analysis and can expect a 60-

15 70% level of accuracy for predicted courses, compared to the current 30%. The third metric is the person-hours required to modify a schedule. With 10 sales team members, and 5-10 minutes spent on input over the schedule, the results are approximately two hours of sales team input per schedule. The algorithm developed to predict class frequency is a regression model; the model will be evaluated using standard measures (RSE, multiple R2, F-statistic, pvalue) and checked to ensure that model assumptions are met.

Limitations: This algorithm needs a list of significant, measurable statistics that will be used to generate the most effective scheduling algorithm was selected from historical data.

2.1.3

On the Application of Data Mining Technique and Genetic Algorithm to an Automatic Course Scheduling System
Yao-Te Wang, Ting-Cheng Chang, Yu-Hsin Cheng, S.M.JEN

Brief Overview: In this thesis paper, a data mining technique and a genetic algorithm are applied to an automatic course scheduling system to produce course timetables that best suit students and teachers needs. Course scheduling in colleges and universities is a highly complicated task for satisfying multiple constraints. Conventional course scheduling is done mainly from the schools point of view, such that courses and timetables are planned according to the characteristics of individual departments and institutes, with little attention to students interests and

16 their needs in career development. This study develops a practical automatic course scheduling system based on students needs, where in the course scheduling process is divided into two stages. In the first stage, students needs in course selection are considered and an association among courses selected by students is mined using the association mining technique; while in the second stage, the genetic algorithm is used to arrange the course timetable. More particularly, this study is based on students willingness in course selection, analyzes the effects of course arrangement in different class periods on students learning performance, takes into account teachers preferred schedules, determines the cost function value of each class period, and then applies the genetic algorithm for class period exchange, so as to produce an optimal course timetable. It is shown in the experiment results that the automatic course scheduling system proposed in this study not only can efficiently replace the onerous operation of conventional manual course scheduling, but also produce course timetables that truly fulfill users needs and increase students and teachers satisfaction, thereby providing a win-win-win solution for students, teachers and the school.

Positive Sides: Students are allowed to take courses according to their will while teachers are given the opportunity to teach those who are really interested. A better interaction between teachers and students helps intensify teachers enthusiasm in teaching and upgrade students learning effects. Course scheduling is done in consideration of teachers preferences in class periods to increase teachers satisfaction at course timetables. In the first stage, students needs in course selection are considered and an association among courses selected by students is mined using the association mining technique; while in the second stage, the genetic algorithm is used to arrange the course timetable.

17 Limitations: Chances for students to have schedule conflicts can be decreased and the time used in course selection can be reduced. Furthermore, students willingness to make course selection can be satisfied. Fewer schedule conflicts lead to a decreased number of courses offered by the school, so that demands for teachers, classrooms and other facilities can be lowered.

2.1.4

Ant System Algorithm with Negative Pheromone for Course Scheduling Problem
Djasli Djamarus and Ku Ruhana Ku-Mahamud

Brief Overview: This paper presents a proposed Ant System algorithm that incorporates negative pheromone to solve the course scheduling problem. The performance of the proposed algorithm is tested with a case study data on course scheduling. Comparisons of results were performed with Ant System algorithm that does not incorporate the negative pheromone. Compare to the random algorithm, the Ant System algorithm perform much better output in term of the output of the algorithms. The use of the negative pheromone has increased the performance of the Ant System algorithm in term of the algorithm running time and quality of the output. This approach is able to speed up the searching process in a graph that have potential dead end. The failure rate has also been reduced and the probability of success can be improved by the negative pheromone.

18 Positive Sides: The use of the negative pheromone has increased the performance of the Ant System algorithm in term of the algorithm running time and quality of the output.

Limitations: Ant System algorithm that does not incorporate the negative pheromone.

2.1.5

Research

and

Implementation

of

Smart

Course

Scheduling System
CHEN Bing, WANG Beizhan, CHEN Liyan

Brief Overview: This paper analysed the various constraints of course scheduling according to the teaching practice of Xiamen University. Combining practice with the theory of simulated annealing algorithm, applied the method of RBAC (Role Based Access Control) to subdivide the role of course scheduling, designed and implemented the course scheduling subsystem of educational administration system. Practice has proved that the system can effectively reduce the course scheduling conflict, to achieve a balanced use of teaching resources, and completed the task of classification management remarkably. Simulated annealing algorithm gives the optimal objective function of course scheduling, through the adjustment of threshold parameters, and optimize the objective function, iteration step by step, and the final optimal solution was obtained. However, difficulties in simulated annealing algorithm is the selection of control parameters, choose the inappropriate parameters is likely to be non- iteration or run a

19 long time. So it needs to do the post treatment according to the course scheduling results.

Positive Sides: This paper covers the annealing algorithm which gives the optimal objective function of course scheduling.

Limitations: There is a problem of local minimum, and at the same time set the time by predefined-time simulated annealing to achieve a balance of good effect and time consumption.

2.1.6

An Immune-Based Approach to University Course Timetabling: Immune Network Algorithm


Muhammad Rozi Malim, Ahamad Taj udin Khader

Brief Overview: This paper has presented an immune-based optimization algorithm for course timetabling, called INACT (immune network algorithm for course timetabling). The algorithm shows great promise in the area of educational timetabling, particularly in its ability to consider, solve, and optimize the wide variety of different course timetabling problems. The algorithm can handle the hard constraints and soft constraints very well. The experimental results on three benchmark course timetabling datasets, available on the internet, have significantly shown that INACT is an effective optimization algorithm, can successfully be applied to solve various kinds of course timetabling problems. The datasets may also be considered as multi-objective course

20 timetabling problems since three soft constraints were considered. Hence, it may also be concluded that INACT may successfully be applied to solve multi-objective optimization problems. The university course timetabling is known to be a highly constrained optimization problem. The main difficulty is to obtain a conflict-free schedule within a limited number of timeslots and rooms. Many different approaches, including evolutionary algorithms, Tabu search, simulated annealing, and their hybrids are developed for solving many different types of course timetabling problems. The immune network algorithm, an algorithm inspired by the immune system, has successfully been applied to fault recognition, data analysis, and optimization. This paper presents an immune network algorithm for the university course timetabling with the main objective to show that the algorithm may be tailored for educational timetabling. The experimental results, using three benchmark course datasets, have significantly shown the effectiveness of the algorithm by producing good quality course timetables. For future work, other artificial immune algorithms, such as negative selection, will be applied to university course timetabling using the same course datasets.

Positive Sides: The algorithm ability to consider, solves, and optimizes the wide variety of different course timetabling problems. The algorithm can also handle the hard constraints and soft constraints very well.

Limitations: This paper is not covering the negative selection algorithm which is applied to university course timetabling using the same course datasets.

21

2.1.7

University Algorithms

Course

Scheduling

Using

Evolutionary

Mohammed Aldasht, Safa Adi, Mahmoud Alsaheb, Mohammad Abu Qopita

Brief Overview: This paper presents a new heuristic based on evolutionary algorithms and applied to the university course scheduling problem, where a feasible and comfort time tables are required. Here, the idea is to use an evolution program which is a stochastic optimization strategy similar to genetic algorithms. The main difference is that evolutionary programming insists on the behavioural linkage between parents and their offspring rather than seeking to emulate specific genetic operators as observed in nature. The paper starts by defining the problem and determining the constraints under which the solution should be found. Then, the problem model is described with a set of courses, rooms, instructors, and student groups. Finally, the proposed methodology is applied on a real data set from one of the four colleges of our university. Results show that the methodology permits more robust exploration for the search space of the designated problem which gives more optimized time schedules than those performed manually. The obtained results also show that the proposed solutions can solve many registration difficulties.

Positive Sides: An evolutionary algorithm is proposed with special mutation operator called RM which is proved to converge to optimal solutions. A framework is implemented to construct a search space in order to apply the search methodology.

22 This paper methodology can give time tables with up to 97% fulfillment of soft constrain and up to 100% fulfillment of hard constrains.

Limitations: The algorithm cannot able to work as a multi-objective optimizer in order to reduce the soft cost.

2.1.8

Solving Department's Course-scheduling Problem using Differential Evolution


Ayed. A. Salman and Suha A. Hamdan

Brief Overview: This paper covers department's course scheduling problem involves assigning courses, timeslots, and rooms to faculty members. However, due to the large number of constraints that must be handled, searching for an optimal solution for course scheduling problem is considered to be a complex and a time-consuming task. Methods used nowadays in many educational institutes depend on a manual process that is performed by one or more experienced personals in course scheduling. These methods are most likely to be "greedy" in their approach so as they resolve a portion, not all of the problem's constraints. Such methods take in general from several hours to weeks of negotiation and bargaining to resolve one or more constraints. This paper presents the first attempt (to the authors' best knowledge) in using DE algorithm to solve the course scheduling problem. A case study is taken from the Computer Engineering (CPE) department at the college of Engineering and Petroleum in Kuwait University (KU). A wide set of practical constraints is taken into consideration. Moreover, the desired solution is compared to ad-hoc manual optimization, semi-randomized optimization and to hybrid algorithm, to show that not only the

23 execution time is reduced dramatically but also that the proposed method can improve the quality of solutions.

Positive Sides: This paper presented a new algorithm to solve coursescheduling problem based on Differential Evolution. The proposed algorithm was able to generate a courseschedule that satisfies all hard constraints and most of the soft constraints using DE. The proposed method was able to reduce the execution time drastically over ad-hoc human expert optimization, and over to well-know heuristic methods. Differential evolution was proven to be very viable algorithm to solve this type of problems.

Limitations: The algorithm model represented in this paper has not any limitations as the resulting value satisfy all the major constraints.

2.1.9

Method

of

inequality-based

multi-objective

genetic

algorithm for course scheduling model


Liu Chu-ling, Peng Ping, Chen Chao-tian, Xie Zan-fu

Brief Overview: In this paper, the course scheduling model based on method of inequality-based multi-objective genetic algorithm (MMGA) is proposed and the constraints, goals and difficulties in the course scheduling

24 problem are discussed. The auxiliary performance index vector is introduced into the original multi-objective optimization problem, and a new method that guarantees the search in the region of interest through inequality transformation. The new method which makes up for the deficiencies in course scheduling with traditional genetic algorithm and is more practical form of algorithm, which describes the course scheduling problem much closer to the reality. The method of inequality is used to help the planners in the searching process, to find the optimal solution for the course scheduling problem in the university. The MMGA is proved more effective in formulating the course scheduling problem; and according to the algorithm in, it is also proved to be better method in solving this problem, for it makes the solution more feasible with the changing constraints and parameters.

Positive Sides: This algorithm (MMGA) is more effective in formulating the course scheduling problem and makes the solution more feasible with the changing constraints and parameters.

Limitations: The algorithm model represented in this paper can makes the solution more feasible with the changing constraints and parameters but it is also proved that the better method can used to solve this problem.

25 2.1.10

The Research on Multi-strategy Course Scheduling Algorithm


Xia Wang, Lin Huang

Brief Overview: This paper raised a Multi-strategy Course Scheduling Algorithm which based on Greedy Algorithm, Genetic Algorithm and Taboo Search, in order to effectively alleviate the shortage of classroom resources, time conflicts and other issues. The timetabling problem is a NP-complete problem which has been committed to finding a solution by the field of operations research and computer but has not got a good solution. The timetabling is the most important problem in the course scheduling. With the development of disciplines, the change of the size and direction of enrolment, increasing the difficulty of the Course Scheduling. The experimental results show that this method is feasible and effective. The research takes C# as development language, designs and realizes automatic course scheduling system that based on Multi-strategy Course Scheduling Algorithm. The second half of the year's courses schedule in 2008 of our university was arranged by this system, considering consumption time and the effect of timetabling, through experimental result analysis, the effect and efficiency of this multistrategy course scheduling algorithm were higher than the three single course scheduling algorithm. As well as this system with advanced nature, practicality, security and scalability, however, there are still some shortcomings in the system.

Positive Sides: This thesis paper incorporates Multi-strategy Course Scheduling Algorithm which based on Greedy Algorithm, Genetic Algorithm and Taboo Search.

26 Limitations: The timetabling problem is a NP-complete problem which has been committed to finding a solution by the field of operations research and computer but has not got a good solution.

2.1.11

Course-Scheduling

Algorithm

of

Option-based

Hierarchical Reinforcement Learning


Guo fang ming, Song hua

Brief Overview: This paper proposes applying Option-based hierarchical reinforcement learning algorithm to timetable scheduling strategy learning in colleges and universities so as to enhance the performance of traditional reinforcement learning course-scheduling algorithm. From experimentation and application in course-scheduling system, it can be seen that Option-based hierarchical reinforcement learning coursescheduling algorithm has a better effect than traditional reinforcement learning course-scheduling algorithm.

Positive Sides: The algorithm in this paper does not require calculating strengthened signal gradient, and thus it can tolerate the delay of reward signals when course-scheduling is completed so as to reduce oscillation period of single-step Q-learning algorithm.

27 By dividing granularity of course-scheduling actions, Agent is able to learn the course-scheduling subtasks at all levels and further establish the optimal strategy for completing current course-scheduling subtasks.

Limitations: This paper summarizes the corresponding timetable assessment criteria, which is more convenient for automatic evaluation of algorithm effect. It is unnecessary to distinguish the importance of timetable divisibility. environment state, and the timetable environment state space does not need to have a good

2.1.12

Dynamic

Scheduling

Algorithms

for

Workflow

Applications in Grid Environment


Alina Simion, Dragos Sbirlea, Florin Pop, Valentin Cristea

Brief Overview: This paper presents three dynamic scheduling algorithms for workflows, implemented at application level. Implementing efficient dynamic scheduling algorithms is a real challenge but a well designed algorithm can bring a significant performance improvement, regardless of unexpected events that may occur during execution. What is more, analysing an applications needs and ensuring the most appropriate course of action in case of a delay or failure is bound to offer the best performance for the application in question.

28 The application does satellite image processing, by describing a complex operation as a workflow of elementary operators. The scheduling process described by these algorithms doesnt control the resources directly so it is more natural to consider it closer to Grid applications. The algorithms are responsible for the management of tasks in workflow, such as managing the tasks for parallel execution, managing of data and correlation of events. To fulfil their functions, the scheduling algorithms need information coming from monitoring services available in the execution platform. The platform provides a series of libraries and services as well as a management and execution mechanism which will be used to test each algorithms efficiency. The comparison between proposed dynamic algorithms and the platforms initial scheduling mechanism highlights the obtained improvements referring to the workflow execution time. This paper proposed to present three dynamic scheduling algorithms implemented for the gProcess platform in order to improve its performance.

Positive Sides: The system has succeeded to integrate three original low level algorithms into this application. All the tests made until now have shown that all the three algorithms produce similar results. Researchers have shown that the algorithms perform significantly different for workflows with 500-1000 nodes, but for this application in particular their performances are comparable. The most important achievement is eliminating the random factor in gProcesss job submitting mechanism by ensuring a certain order for the operators.

Limitations:
The purpose was not to make a comparison between

different

scheduling

algorithms,

but

to

create

29 scheduling component dedicated for the gProcess platform which would improve its performance.

2.1.13

Course Scheduling System Design and Implementation Based on Genetic Algorithm


HouMing, Chen Qi

Brief Overview: This paper in-depth understands and analyses the history and current status of the course scheduling at home and abroad, designs a course scheduling system based on genetic algorithms according to the reality needs in the current higher education reform. This algorithm carries out improvement based on the traditional genetic algorithm, can effectively solve the design problems of university course scheduling system algorithm. The experimental results show that this system can well meet the actual needs of current colleges, thus having a certain theoretical meaning and better practical application value. This paper indepth understood and analysed the history and current status of the course scheduling at home and abroad, discussed the new complications, course scheduling process and basic elements, proposed the basic principles and objectives of the course scheduling, designed an evolutionary algorithm which is improved based on traditional genetic algorithms, and gave the basic algorithm framework and detailed algorithms it, thus to effectively solve the difficult issue of university course scheduling system. The experimental results show that this system can well meet the actual needs of current colleges, thus having a certain theoretical meaning and better practical application value.

30 Positive Sides: The system designed an evolutionary algorithm which is improved based on traditional genetic algorithms, and gave the basic algorithm framework and detailed algorithms it, thus to effectively solve the difficult issue of university course scheduling system.

Limitations: The algorithm model represented in this paper has not any limitations as the resulting value gives all possible outcomes.

2.1.14

A two-phase evolutionary algorithm for the university course timetabling problem


Negin Najdpour, Mohammad-Reza Feizi-Derakhshi

Brief Overview: Course timetabling represents a difficult optimization problem and finding a high quality timetable is a challenging task. With a large number of events involved and various hard constraints to be fulfilled, finding an optimal timetable is complicated and time consuming. Conventional course scheduling is done with little attention to student's interest and their needs in career development. This study develops a practical automatic course scheduling system based on student's need, wherein the course scheduling process is divided into two stages. In the first stage, student's needs in course selection are considered and a technique is used to establish dependency matrix of courses selected by students in the previous terms. In the second stage genetic algorithm with a new cycle crossover approach is used to arrange the courses into a

31 timetable according to a cost function designed in this study. This study is based on student's willingness in course selection, takes into account teacher preferences and then applies genetic algorithm, so as to produce as optimal course timetable. The automatic course scheduling system proposed in this study produce course timetables that truly fulfil user's needs and increase students' and teachers' satisfaction. It is concluded that this cycle crossover operator in comparison with other types of crossover operators represents a particularly effective method for producing high quality solutions to the university course timetabling problem. The presented course selecting systems only analyse the results of course selection, which may not reflect student's original willingness in course selection. The objective of this study is to apply students and teachers willingness in course selection to automatic course scheduling, so that in a first stage, dependency matrix of courses selected by students is established, and in a second stage, a genetic algorithm with cycle crossover approach is applied to perform automatic course scheduling based on the results from the first stage in combination with other constraints. The course scheduling results not only confirm the school's administrative considerations but also, more importantly, satisfy the needs of students and teachers in course timetables. Therefore, the automatic course scheduling system proposed in this study is capable of improving the interaction among students, teachers and university, creating a good relationship among the three parties.

Positive Sides: Through this system students and teachers have willingness in course selection to automatic course scheduling. The automatic course scheduling system proposed in this study is capable of improving the interaction among students, teachers and university, creating a good relationship among the three parties.

32 Limitations: The algorithm model represented in this paper has not any limitations as the resulting value gives all possible outcomes.

33 Chapter 3

System Analysis

3.1 Approach
The Dynamic Course Scheduling Algorithm system follows the steps described below. This is the actual flow chart of the Dynamic Course Scheduling Algorithm system.

1. Taking input of the semesters offered by the university(Spring, Summer, Fall) 2. Taking input of the courses according to the semester which has given in the curricular 3. Taking input of the semester wise courses according to the departments 4. System generates the priority wise course tree 5. Departmental head can set priority according to the subjects. 6. Taking the current students data this data is actually taking which courses are completed by the student 7. Based on the student data system automatically distribute the courses among the students 8. Taking inputs of the timeslots of the courses for a particular day 9. Taking inputs of the room numbers 10. Based on the timeslots and room no system automatically distribute the courses

Table-4: The flowchart of Dynamic Course Scheduling Algorithm system

34 Firstly, our system taking the input of the courses along with the departments and the inputs are also mapped with the semester according to the curriculum. From this information then system generates the priority wised a course tree. The course tree shows the value of the priority of a particular course through the depth of the courses. The depth of a course is increasing while the prerequisite courses are increases.

Course ID CSC1101 CSC1102 CSC1204 CSC2105 CSC2208 CSC2210

Course Computer Fundamentals Programming Language 1 Discrete Mathematics Data Structure Operating Systems Object design

Prerequisite None None CSC1102 CSC1203, CSC1204 CSC1203

Priority 0 0 1 2 1 2

oriented CSC2107,

system analysis and CSC2105

Table-5: Priority wise course tree

35 Secondly, while current all student datas are inserted into the database. Then Dynamic Course Schedule Algorithm System automatically offered the courses for each student which is currently present in the system. Based on the student data Dynamic Course Schedule Algorithm system automatically shows the prioritized courses among the students.

Student ID 11-08063-1

Completed Courses CSC1101 CSC1102 CSC1203, CSC1204 CSC2107,

Offered Courses None CSC1204 CSC2105 CSC2210 CSC2208 CSC2210

10-06309-2

CSC2105 CSC1203 CSC2107,

09-09063-3

CSC2105

Table-6: Student Offered Courses by the system

36 Thirdly, there is an option of creating the timeslots along with the rooms. From this mapping of courses and rooms, the DCSA system automatically mapped a course with a particular time slot of a room. Room 421 421 421 421 421 421 Prerequisite 8.00-9.30 9.30-11.00 11.00-12.30 12.30-2.00 2.30-4.00 4.00-5.30

Table-7: Room & Timeslot Mapping

Course ID CSC1101 CSC1102 CSC1204 CSC2105 CSC2208 CSC2210

Room 421 421 432 423 423 154

Prerequisite 8.00-9.30 9.30-11.00 8.00-9.30 9.30-11.00 4.00-5.30 12.30-2.00

Table-8: Course, Room & Timeslot Mapping

37

3.2 Use Cases


In this section I will give details overview on different Use Cases of Dynamic Course Schedule Algorithm System. They are listed below,

3.2.1

Administrator Side Administrator is allowed to do the following activities which are told in the figure of administrator use Cases.

Figure 1: Administrator use case

38
Administrator has to initiate the processes by giving necessary data to Database. After generating prioritized course tree he is allowed to see different type of output depending on the demand. Administrator can see the scheduled courses according to the semester.

3.2.2

Data Side The simple use cases of Data process given in the Use Case.

Figure 2: Data side use case

39

3.3 Class Diagram


The class diagram of the Dynamic Course Scheduling Algorithm System is-

Figure 3: Class Diagram of Dynamic Course Schedule Algorithm System

40 The Dynamic Course Scheduling Algorithm system is based on two algorithms. The algorithms are-

3.4 Graph Colouring Algorithm


Graph Colouring Algorithm used to find out the depth of the courses. Through this graph colouring algorithm the course tree is generated. The algorithm consists of two major steps. The first step builds the weight matrix and graph. The second step assigns colours to the nodes of the graph.

A. Build Weight Matrix and Graph 1. Locate the files for students listings in all the courses, which need to be scheduled for the exam. Each course corresponds to a node in the matrix. Set the concurrency level of each node to the number of sections for the given course. 2. For each node (course) find the set of adjacent nodes, and the weight of the edges connecting the node to its adjacent nodes. Fill the weight matrix W with weight values w.

3. Create an undirected graph using the weight matrix. 4. Find the degree for each node.

41

Figure 4: Graph Colouring scheme

42 B. Colour the Graph Sort the nodes in the weight matrix in a descending order based on the degree of nodes. Nodes with similar degrees are ordered based on the largest weight w in its adjacency list. Nodes with similar degrees d and weights w are ordered based on their node ID (smallest ID first). Set C = the sorted list of nodes mentioned in Step 1. Set No-Of-Coloured-Courses = 0 for i = 1 to C-length do Begin If No-Of-Coloured-Courses = No-OfCourses then exit loop and finish If ci is not coloured then Begin If i = 1 then Begin Rab = get-First-Node-Colour (ci ) If Rab = null then Exit and finish, {No schedule is possible.} End Else Begin Rab = get-Smallest-Available-Colour (ci) End If Rab != null then Begin Set Colour (ci) = Rab No-Of-Coloured-Courses = No-Of Coloured-Courses + 1 CL (Rab) = CL (Rab) - CL (ci) End End Set Array M = get-Ordered-Adjacency-

43 Courses-Of-ci () For j = 1 to No-Of-Courses-In-Array-M do Begin If Mj is not coloured then Begin Rcd = get-Smallest-Available-Colour (Mj) If Coloured ! = null then Begin Set Colour (Mj) = Rcd No-Of-Coloured-Courses = No-OfColoured-Courses + 1 CL (Rcd) = CL (Rcd) - CL (Mj) End End End End

C. Colour the neighbour 1. Description of Sub-routine get-First-Node-Colour: Input: The course ci that needs to be colour. Output: The colour assigned to ci or null. Algorithm: For j = 1 to Max-Schedule-Days do: For k = 1 to No-Of-Time-Slots do: If CL (Colourjk)) CL (ci) then return Colourjk return null

44 3.4.1 Complexity Analysis: 1. Assume the largest degree d = d1; and that node v1 has degree K1 1.1. The first step assigns the smallest colour, say c1 to node v1. The total number of steps required to colour all the nodes in the neighbour list of v1 is 1+2+3+ + d1 = (d12+ d1)/2 = O(d12) 1.2. Repeat the colouring procedure for the next node v2 with degree d2. The number of steps required to colour all the nodes adjacent to node v2 is 1+2+3+ + d2 = (d22+ d2)/2 = O(d22) 2. In general, the number of steps required to colour all the nodes in the neighbour list of any node vi with degree di is (di2+ di)/2 = O(di2) 3. Let the average degree of nodes be . Then the average number of steps required to colour the neighbours of node vi with degree is O( 2) Repeat the colouring procedure in steps 1 and 2 until all nodes are coloured. Since each colouring step colours on the average nodes, the colouring procedure will be repeated on the average (n/), where n is the number of nodes. The total number of colouring steps required to colour all nodes, on the average is O((n/ ).( 2) = O(n. ). The complexity equation (above) can be expressed as

45

3.5 Bubble Sort


This sorting algorithm is used to sort the courses according to the priority
and the semester. As for a particular semester there may be more priority courses but which course will be more efficient this decision comes through the sorting of the courses. Firstly sort the courses according to the semester then the priority base sorting is done thus the DCSA system can accurately generates the most priority courses.

1. Compare each pair of adjacent elements from the beginning of an array and, if they are in reversed order, swap them. 2. If at least one swaps has been done, repeat step 1.

function bubble_sort(list L, number listsize) loop has_swapped := 0 //reset flag for number i from 1 to (listsize - 1) if L[i] > L[i + 1] //if they are in the wrong order swap(L[i], L[i + 1]) //exchange them has_swapped := 1 //we have swapped at least once, list may not be sorted yet endif endfor //if no swaps were made during this pass, the list has been sorted if has_swapped = 0 exit endif endloop endfunction

46 3.5.1 Complexity analysis Average and worst case complexity of bubble sort is O(n2). Also, it makes O(n2) swaps in the worst case. Bubble sort is adaptive. It means that for almost sorted array it gives O(n) estimation. Avoid implementations, which don't check if the array is already sorted on every step (any swaps made). This check is necessary, in order to preserve adaptive property.

47 Chapter 4

Implementation

The DCSA actually covers

48 Chapter 5

Conclusion

5.1 Conclusion
Usually the size of course timetabling problem instances at university level is quite large in terms of concerned resources and participants as well as number and types of constraints involved. Solving the entire problem as a whole may be difficult. Exploiting the problem structure, our multi-phase approach functionally decomposes the entire problem into smaller sub-problems with reduced complexity, which is easier to solve. Basically Dynamic Course Schedule Algorithm System does: Firstly, DCSA system taking the input of the courses which belongs to a particular department. And then system generates the priority wised a course tree. Secondly, current all student datas are insert into the database and system automatically offered the courses for each and every student (Students which are currently present at the system). Thirdly, there is an option of creating the timeslots along with the rooms. From this room and timeslot mapping, finally the DSCA system automatically mapped a course with a particular time slot of a particular room or rooms.

49

5.2 Future Work


As with all research, there is always more that can be explored. Proposed and other possible items for future research in this area include:
Campus specific class routine will be helping the campus office to manage the classes. As well as the distribution of teachers & rooms will be managed through the system easily. Hence the clash free schedules minimize their difficulties. Teachers choice in subject selection will help the department coordinator to take the decision of distribution of courses among the teachers. The DCSA system will automatically generate the subjects and sections list matched for a particular teacher preference.

Customized room distributions will help the campus office to manage the courses due to the appropriate rooms. Incorporating the exam schedule system with course scheduling system. As there is a dependencies of the exams on properly scheduling of the courses.

50 Chapter 6

Bibliography

i.

A list of all sorts of laws. http://www.textfiles.com/humor/JOKES/laws.lst. The research papers

ii. iii. iv. v. vi. vii. viii. ix. x. xi. xii. xiii. xiv. xv.

http://ai.unibo.it/system/files/u11/thesis.pdf http://eeexplore.ieee.org/iel5/4550722/4559674/04559695.pdf http://ieeexplore.ieee.org/iel5/4664825/4670728/04670852.pdf http://portal.acm.org/citation.cfm?id=1475237 http://ieeexplore.ieee.org/iel5/5233394/5236201/05236227.pdf http://ieeexplore.ieee.org/iel5/5256112/5276414/05276571.pdf http://doi.ieeecomputersociety.org/10.1109/ICCGI.2009.15 http://ieeexplore.ieee.org/iel5/5379692/5397927/05397988.pdf http://portal.acm.org/citation.cfm?id=1727735 http://ieeexplore.ieee.org/iel5/5454173/5454428/05455690.pdf http://doi.ieeecomputersociety.org/10.1109/ETCS.2010.584 http://doi.ieeecomputersociety.org/10.1109/SYNASC.2009.19 http://ieeexplore.ieee.org/iel5/5520349/5540679/05541391.pdf http://ieeexplore.ieee.org/iel5/5598555/5608746/05608807.pdf

51 xvi. Bubble sort algorithms http://www.algolist.net/Algorithms/Sorting/Bubble_sort xvii. Graph Coloring Algorithm http://scienceblogs.com/goodmath/2007/06/graph_coloring_algorithms_ 1.php xviii. xix. A generalized implicit enumeration algorithm for graph coloring Introduction to Algorithms by cormen

You might also like