Application of Machine learning or Neural Networks for automatic Time table scheduling

I've been trying to come up with an intelligent solution to build a Time table scheduling application with the use of Machine learning or Neural networks. What would be the algorithm or approach to build such application. I'm planing to take data from google calendar API and through the system. The system should purpose best time slots to conduct lectures considering the data taken from lecturers and students.

I found some research documents where they have used some genetic algorithms but can this be done with the help of neural networks?

• Can you be a bit more specific on what things influence the decision? What makes a specific slot good or bad? Mar 14, 2017 at 9:47
• Students preferences of subjects and and the availability of students, feed backs off lecturing sessions by students are some factors to determine whether a slot is good or bad. Mar 14, 2017 at 9:55

Scheduling problems might be NP-Complete problems. It is not clear what are the specific details. You might get lucky and have specific constraints that are leading to an easy sub problem or just an easy instance. However, since many variations like On the Complexity of Scheduling University Courses (which might be your case), Job shop scheduling,Multiprocessor scheduling and Open-shop scheduling are NP-complete, you are probably in the same situation.

Usually, it is better to treat such problems like optimization problems and not like classification problems. If you'll try to treat the problem like a classification problem you might have severe problems in building a classified dataset that will represent well the time scheduling problem that you would like to solve.

There are general technique in order to cope with optimization problem. I also found some work related to your case. I'm not familiar with this specific case but it seems that Solving the Course Scheduling Problem Using Simulated Annealing and the work done here might help you.

• What if we don't have constraints like rooms and the schedule is just a planner for students what to do as a homework, setting up only sequence of actions with deadlines, amount of hours needed to spend per task and optional ability to mark elements in schedule as complete or not complete? Can we apply something like RNN algorithms?
– paus
Jan 10, 2019 at 8:47
• This version is also a scheduling problem, for which there are known optimisation solutions. I'm not sure I understand how do you want to use RNN. The input will be courses and the output will be a schedule? I think that these are not the problems RNN is best suitable for (e.g., the course sequence is not important but the hours are).
– DaL
Jan 13, 2019 at 7:33
• The input will be the list of assigned tasks with time when assignee have to start and to finish specific task, the timestamp when he marked them as "in process" and "finished" in to-do list, type of the task, assessment results if assignee has the ability to get feedback from teacher (A+, A, B+, B... etc.), URL to the resource for studying (article, book, etc.), description what to do to it and so on. Can we predict if the user fits in the schedule this way? Let's say, it's rescheduling for to-do list aimed for self-education.
– paus
Jan 13, 2019 at 10:30
• I don't think that the url is relevant to the scheduling. If I had to solve this problem, I would have go for optimisation algorithms first. Please update on the use of RNN here. I'll be happy to hear.
– DaL
Jan 14, 2019 at 9:38
• Actually, we have chosen the genetic algorithms here finally, but we are also seeking for relevance of application of neural networks here if we have enough dataset in the future and what data is better to gather about learning process and optimize the base of requirements with neural networks.
– paus
Jan 14, 2019 at 10:15