GitHub repository: mrahsansaleem/Timetable-generator
Primary language: C#
Created: 2019-11-20T06:13:44Z
Description: We are trying to cover the problem that is faced while managing classes when making a timetable. Timetabling is known to be a non-polynomial complete problem i.e. there is no known most efficient way to locate a solution. Also, the most striking characteristic of Non Polynomial complete problems is that, no best solution to them is known to it. Hence, in order to find a solution to a timetabling problem, a heuristic approach is chosen. This heuristic approach, therein, leads to a set of good solutions even the good ones (but not necessarily the best solution/most optimal solution). because usually classes overlap when making a time table, sometimes at the spot u can’t tackle with a huge number of classes thus it is probability that you miss one or two classes at the moment and afterwards they overlap and managing them once the time table is finalized becomes difficult considering the very problem is we're trying to make time table generator that not only will prevent he classes from overlapping it will also help the once generating the time table to schedule as many classes as possible in the allowed timing making it the better one it will be able to work for a single seminar hall as well as on multiple seminar halls giving it another edge. As an overview of the working of such/our algorithm we are considering the easiest case from all the cases that is we have one room and a list of classes sorted by the end time of classes. Using greedy approach, we will reduce the size of list (list of all possible classes) by 1 and then recall the function on the remaining class. Consider we have "n" classes then after 1st pass the list will reduce to n-1 and after that n-2 recursively and so on until it reach to the last class then function will find max of all possible combinations recursively and then sum up all answers by taking union.