Hey everyone!
Two friends of me and I are working on a big project, and one of the things we need to do, is making a website, where a teacher can make a planning for tests. They gave us the task to to this, which is actually hard .
Now I'm asking if anyone can help us, by giving either an algorithm or tips or whatever.
What do we have as input?
We got a bunch of tests, the teacher made. One example would look like this:
Code:
For each test, we added the students(number) to the database.
Let's say we have class 6Va, 6Vb and 6Vc.
What are the constraints?
[-]Preferable not at Monday
[-]Exam classes have the same test at the same time
[-]No student two tests at the same time
[-]Preferable no student with two tests at a day
[-]They prefer the test at the day and hour of the week, the class has that subject.
How would a schedule look like?
This is an example:
Code:
and even more subjects, but it is something like this.
Some general information
[-]The amount of tests per week is 0-~20
[-]We need to make it for ~40 weeks, so time limit is also important.
I hope you have information to help me, and otherwise I'm willing to answer questions
I had the idea to brute force it, but I've no idea how, and if it's possible with the time limit. Any ideas?
Two friends of me and I are working on a big project, and one of the things we need to do, is making a website, where a teacher can make a planning for tests. They gave us the task to to this, which is actually hard .
Now I'm asking if anyone can help us, by giving either an algorithm or tips or whatever.
What do we have as input?
We got a bunch of tests, the teacher made. One example would look like this:
Code:
Subject: English
Week: 6
Duration (in multiplies of 45 minutes): 90
Class: 6Va (don't mind this)
For each test, we added the students(number) to the database.
Let's say we have class 6Va, 6Vb and 6Vc.
What are the constraints?
[-]Preferable not at Monday
[-]Exam classes have the same test at the same time
[-]No student two tests at the same time
[-]Preferable no student with two tests at a day
[-]They prefer the test at the day and hour of the week, the class has that subject.
How would a schedule look like?
This is an example:
Code:
Monday Tuesday Wednesday Thursday Friday
German 1 1 1 1
2 2 Science 2 2
3 3 3 Math 3
Math 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
and even more subjects, but it is something like this.
Some general information
[-]The amount of tests per week is 0-~20
[-]We need to make it for ~40 weeks, so time limit is also important.
I hope you have information to help me, and otherwise I'm willing to answer questions
I had the idea to brute force it, but I've no idea how, and if it's possible with the time limit. Any ideas?