Complete Class Scheduling System
Complete Class Scheduling System (Timetable generator) using Genetic Algorithms in C# and MS SQL
Outline of Complete Class Scheduling System
Scheduling a class can prove to be a difficult task, in a less complex class schedule situation this can be resolved by using a heuristic search algorithm to find a workable solution. Coming up with a schedule for a more complex requirements and inputs can be resolved by the use of genetic algorithms.
This post will take a look at how genetic algorithms can help us in achieving our aim for a more complex class schedule. In making a class schedule we must take into consideration some requirements that include, the number of students, number of instructors, the proposed classrooms, dimension of the classroom, needed equipment for the class if any, and many more), these necessities can be grouped by their level of priority, and excluding some requirements can make the schedule difficult to actualize.
Complete Class Scheduling System Requirement
- A class can only be scheduled in a classroom that is not in use at a given time.
- No Instructor or Student can be scheduled for more than one class at a particular period.
- The scheduled class must have sufficient seats to accommodate all students.
- The class must have the required necessary equipment, for example, computers, when necessary.
Less important requirements that cannot affect the class schedule can be ignored;
- The particular time of the scheduled class is preferred by the instructors.
- Preferred classroom by the instructors.
The above requirement can vary depending on the particular schedule for the class.
Algorithm of Complete Class Scheduling System
The generic algorithm is simple; there are two basic operations performed for each generation.
- Randomly selects N pairs of parents from the current population and produces N new chromosomes by performing a crossover operation on a couple of parents.
- Randomly selects N chromosomes from the current community and replace them with new ones. The algorithm doesn’t select chromosomes for replacement if it is among the best chromosomes in society.
These two operations are repeated until the best chromosome reaches a fitness value equal to 1 (meaning that all scheduled classes meet the requirement). Checking the aforementioned, the genetic algorithm keeps track of the M’s best chromosomes in the population and guarantees that they will not be replaced while they are among the best chromosomes.
Recommended Tutorial: Student Grading System In C# And MS Access