Time table problem is a kind of scheduling problems with many variations. It defines a class of hard-to-solve constrained optimization problems of combinatorial nature (Bhaduri, 2009, p.289). Constraints are the rules that control the schedule process and it not necessarily be satisfied but for certain constraints, it may be inviolable for the problem. Based on the constrains, sometime the scheduling problem may also facing the problem that it only be to obtain a feasible solution but all feasible solution have equal cost.
Furthermore, the time table problem (TTP) also is an NP-hard problem and by conventional methods, it is very hard to solve (Even cited in Verma, 2012, p.919).The timetable problem can be of few kinds. E.g. for the transportation purpose, educational institutes, or a hospital roster for nurses. This project is considers a time table in educational, especially for the case of a School (Sapru et al, 2010, p.1). In recent years, interest in meta-heuristic approaches such as simulated annealing, tabu search and genetic algorithms (for school timetabling) has increased due to the ability of these approaches to generate solutions to solving TTP. (Schaerf, 1999, pp.87-127 and Burke et al, 2002, pp.266-280).
Solving the real world school timetable problem manually often need a lot of time and resources. In order to handle the problem, many researches in this area has been invested over the year, the automated school timetabling is one of the part or idea in this area for those researches. It is a task that can save a lot of man-hours work. However it is difficult tasks faced by educational institutions. For example, it involves the allocation and distribution of resources to different tasks subjected to different constraints (Verma, 2012, p.919). Those are including of teachers, rooms, classes at a fixed number of available time slots and subjects. The constraints in School Time Table problem are:
Certain room (computer lab, music room) cannot have more than one class in a given time slot.
No class can have more than one subject in a given time slot.
The number of classes per week is a fixed number for each subject, and this number must be met by the prepared schedule.
Genetic algorithm (GA) have been used for solving timetable problem since 1990(Bhaduri cited in Bhaduri, 2009, p.289). The GA has global optimization strategy which can avoid falling into local optimum and it also is one kind of the iterative adaptive heuristic probabilistic searching algorithm (Yunfeng Dong, 2011, p.3703). besides that , GA also is the widespread algorithm for the timetable problem(TTP).The main reason for widespread of GA uses are GA do not require a continuous data set or objective function; they also require no gradient or other information (Sapru et al., 2010, p.2).
In this project, we attempt to compare the results in time table solving based on the GA with java multithreaded and the GA without java multithreaded. An objective of this study is to prove that java multithreaded optimize the GA in solving school time table problem.
Genetic algorithm (GA)
Li et.al. (2010, p.21) using the genetic algorithm to solve the university test timetable problem, from the experiment result show that the genetic algorithm able to get the optimal solution. However, the examination place is not in a big situation, so it only can guarantee obtains the overall situation optimal solution in the two number random situation.
Yunfeng Dong et.al. (2011, p.3705) describe a new algorithm for scheduling system, it is genetic search algorithm . Traditional genetic algorithm has shortcomings of early convergence and variation problem . Genetic search algorithm is an algorithm that makes the improvement based on the genetic algorithm merit . It use partially matched crossover to solve the early convergence problem and the Tabu search algorithm concept instead of using mutation operator to solve the variation problem. A test for solving school time tabling between genetic algorithm, simulated annealing and genetic search algorithm, can be found in the paper .From the test, the time complexity of genetic search algorithm is the most optimal, compare to other .However, the test is only set the population size is 50 and genetic generation is 50 .The next experiment in the paper for the genetic search algorithm also can find out that more genetic generation, consuming more time for the genetic search algorithm . While the genetic generation is increasing , the result is not so optimal compare to the performance in test.
In Sheung et.al. (1993, p.448) , a comparison between the results produced by the GA-based (Genetic Algorithm) and the SA-based (Simulated Annealing) time table optimizer was found. From the result (figure 5) , find that the SA-based time table optimizer is better than GA-based time table optimizer , that is because the comparison only until generation is 50.But from the figure 6 , can find that the convergence curve of GA looks more stable and smooth for the larger population.
Sheung et.al. (1993, p.448)- figure 5 Sheung et.al. (1993, p.448)- figure 6
Project Scope and Objectives
In the title of the project, we find that this project is solving the school timetable problem based on the genetic algorithm (GA) with java multithreaded.
By using java multithreaded, it will solve the problem of the speed of generate school timetable based on GA. The speed will faster than the GA without using java multithreaded.
3.1 Project Scope
The scope of this project is the systems that generating the school timetable by the GA with java multithreaded and the GA without java multithreaded. The following details will describe the functions that both timetabling system will perform.
The systems should be able to generate timetable for students and teachers.
The systems should be able to let the students and teachers view their timetable online at anytime.
The systems should be able to let teachers to check availability of the lab and book the lab online at any time.
The systems should be able to let the officer in charged to add, modify, and delete teachers detail at any time.
The systems should be able to provide a user friendly interface for users to use it.
The system should be able to provide a simple and nice timetable interface for users to view.
3.2 Project Objectives
Based on the project scope, the projects objectives are the proposed idea are:
Enhance the genetic algorithm (GA) in solving the school timetable problem by using multithreaded programming.
The system will apply GA concept into the time tabling procedures to get the result and using the multithreaded programming to increase the speed of generate time table schedule.
To optimize the use of time.
The time of generate the school timetable will be decrease.
To save workload of the officer in changed and teacher.
The system will perform time tabling automatically rather than the officer need to manually schedule the timetable.
The system able to let teachers to check availability of the class room and book the class room online.
The system able fully utilize processors to using genetic algorithms (GA) generate the time table schedule faster without changing the concept of GA .That is the innovation of this project compare with other.
GENETIC ALGORITHM (GA)
Genetic algorithm (GA) is an optimization and search technique based on the principles of genetics and natural selection.GA uses the concept of genetic recombination of parent chromosomes for traits sharing among their offspring, mutation to bring change among the offspring and survival of the fittest for the population to evolve [17,18].
In this project, the system apply GA concept into the time tabling procedures to get the result (time table schedule).
Sometimes a lightweight process refers by a thread; multithreaded programming allows multiple threads to exist within the context of a single process. These threads execute independently but share the same processâˆ™ resources. So, multithreaded program able to operate faster, if that computer system for the program has multiple CPUs or CPUs with multi cores. Java multithreaded is one of the multithreaded programming.
The advantages of java multithreaded are given below:
Processors are fully utilized.
Threads share the same address space.
Context-switching between threads is normally inexpensive.
Not have as much OS overhead.
In this project, the system using the multithreaded programming to increase the speed of generate time table schedule.
4.2 Technologies Involved
Notebook (Window) with multi core: writing Java Language and running the system
Java Platform, Enterprise Edition (Java EE): Developing time tabling system
4.3 Project Methodology
The development method that will use for this project is incremental development, because the functions will be implementing in order the rank of according to itâˆ™s important in the project and release the latest version from time-to-time until the final version.