Hello all,
I need to plan oral exams with the following constraints :
only 3 different topics (french, german, mathematics).
for each topic, to teachers'team
each team has its own room
according to the fact that we'll 48 students , the oral exams are only in one day. The studens have to pass their 3 exams and it must have min 1 hour between each exam.
I created the teachers'teams, the rooms and topics. But now I tried to create 48 activities but I can't configure a same activity to have a gap of 1 hour between two sessions. should I create students, maybe groups instead of activities ?
thanks for your help
Best Regards
Arnaud
Hello, Arnaud!
If I understand correctly, add 48 students sets, 3*48 activities, and for each 3 activities of a students set add a constraint min 1 gaps between activities (this forces at least 1 gap between each two activities - either empty or other activity/ies - if the activities are on the same day). Wouldn't this work?
You can also add constraints activities max/min simultaneous in selected time slots, so that teachers are not exhausted by too many/few students at once, and also constraints activities occupy max/min time slots from selection.
Maybe you could show us your file (or send it privately by email to me if it is private).
Hello Liviu,
thanks for your answer. I'll dig into what you said.
There will be only 1 student per activity ; that's why I was wondering if activities was necessary.
So I need to create 1 activity per student and per topics ?
thanks very much for your help
Best Regards
Arnaud
Yes, I think you need 1 activity per student and subject.
You are welcome :)
Thanks very much Liviu,
I just received a new constraint .... pfff ... every students belong to a group (1 to 4) .
For each topic, 4 teachers and each teacher has to follow 1 group.
means :
topic french -> Grp1 - Teacher#1
topic french -> Grp2 - Teacher#2
...
topic German -> Grp1 - Teacher#5
topir German -> Grp2 - Teacher#6
...
then each student belong to 1 group and will have to pass his exam for each topic .
so, I can create a studen file with the group but can I attrib a teacher to the group, too ?
Do you know the exact students who belong to group X?
Yes, I think each activity will be: A(StX, Sbj, TchY). You can choose to add also subgroups as real students, but this is only optional.
As I said, if you want you can send your file.
Please let me know.
this is very king Liviu,
so here's the file.
The last constraint I've is the following :
a teacher need to have 3 exams consecutives then at least 1 gap
a student need to have a least 4 gaps between each exam.
Thanks so much ! :)
You are welcome!
I attach what I did (the corrected CSV file and the .fet file). I corrected your CSV students file (it is not perfect, but now it is usable).
Then I imported it in FET, and tried to add how you said. I added a single day and 12 hours per day. And two types of constraints. But there must be something wrong from me? Because it is too easy. I am waiting for your further problems/clarifications.
Thanks so much Liviu !
I started to analyse what you did. All students belong to a group and all teachers belong to a group, too.
in my file, the field Set gives me the student numer (2020-#02 ; 2020-#04 ; 2020-#09= .. etc
because I'll have to send to each student its number and a timetable with all the activities.
In the file you sent to me, that means that the subgroup is the student's number, right ? in that file, there's the group number, so how can I attach this group the a teacher ?
:)
here's what I get from my file ..
I understood wrongly that each group of students must have its activities at the same time. I need to add for each separate student his activities. So there will be 48*3 activities, not 4*3.
The structure of students I made will allow you to give each student his number and activities. But I will need to add 48*3 activities now, and the corresponding constraints.
QuoteIn the file you sent to me, that means that the subgroup is the student's number, right ? in that file, there's the group number, so how can I attach this group the a teacher ?
- I am not sure I understand, but I think that my mistake was adding activities together. I will try to fix this.
Please confirm: you have 8 rooms (F203-F212), one day per week (Mecredi), and 30 hour per day (08:00-16:30). And 4*3 teacher groups (which can be considered each one a single teacher)?
Please confirm: between 12:15 and 13:30 there are 5 free slots of break?
PS: You can use the latest FET official, not your custom version. I added room changes constraints in the official FET a long time ago.
Please confirm: you have 8 rooms (F203-F212), one day per week (Mecredi), and 30 hour per day (08:00-16:30). And 4*3 teacher groups (which can be considered each one a single teacher)?
-> yes, a teacher's group can be considered as a single teacher
-> yes right, but 2 rooms are for french, 2 rooms for german, 2 rooms for mathematics 1 room for english and 1 room is free if needed
Please confirm: between 12:15 and 13:30 there are 5 free slots of break?
-> yes, no exams here
PS: You can use the latest FET official, not your custom version. I added room changes constraints in the official FET a long time ago.
ok, i'll change, thanks
the constraints I still have are : every teacher's group has to make 3 exam (for french and german) ; 4 examns for mathematics and then has 1 gap break
OK, let me try my tricks and I'll come back to you.
I hope I managed it. Please see the attached file. You might want to even make the constraints stronger, if you want, to improve it, if it still can solve.
Please let me know.
Hello Liviu,
thanks very very much :)
Finally, I used mine because the following constraing was needed : we can not split a group of 3 activities between teachers in the same room.
I'll have to dig your solution because I think it's better than mine ...
here's my final solution, not perfect - some things had to change manually but I hope to prepear a good configuration for next year :)
Quote from: forstera on March 04, 2020, 02:49:48 PM
because the following constraing was needed : we can not split a group of 3 activities between teachers in the same room.
Hello, Arnaud,
You are welcome! :) I am sorry my solution was not good enough. Could you explain more throughly the sentence above? Maybe with an example?
Hello Liviu,
I'm going to try explaining my purpose :
An exam lasts 15 minutes and there is no break between exams.
So teachers do 3 exams followed by a 15 minute break to discuss and mark.
For this reason, we cannot, for example, put 2 exams in the same class and then change teachers directly. The change of teacher must be done during a break.
This is valid for the French and German exams. For the maths exams, there are 4 sessions followed by 1 break session.
let me know if this is a litlle bit more clear with that esplanation :)
Thanks very much for your help
Kind Regards
Arnaud
Hello, Arnaud,
Please let me think.
I think you do not refer to teachers min 1 gap between room changes, but to the more elaborate problem of a room which must remain empty after a session of at most 3 (or 4) exams with the same team of teachers.
By class you mean a FET room?
Yes, you're right, by class is a FET room, exactly.
For the while this the constraint that makes me a hudge problem ..;)
Yes, I tried to add this constaint (1 gap between room change) but this didn't solved my problem because they usually stay in the same room ...
Hello, Arnaud,
I thought some more: it could be possible by a customization. Please let me know if you are interested. I am thinking of a hard-coded constraint of kind: before and after an activity which occupies room R, in room R there must be the same teacher or empty. We can make this constraint hard-coded for each room, or add a constraint with dialogs and add this constraint in the constraints list (which is more tedious work and probably unnecessary, only cosmetic).
I will now leave for a couple of hours, but if your matter is urgent please let me know and I can begin working earlier.
Hello Liviu,
Wow it would be great ! Yes,
the only problem we have, I apologize for that, is a time constraint. We have to send today the postal letters to the students ...
So let me know if you think we can do it.
And of course we want to pay for that ...
Thanks so much for your help :)
OK, I'll begin work now. I hope I can do it.
thanks so much !
at the same time we will start the work by hand in case ... :)
OK, I hope I did it. I attach a timetable. I will now compile your Windows version (need at most 15 minutes) and put it online.
Please let me know.
Wow ...
our entire secretariat follows you with great satisfaction .. :)
it sounds perfect !!
In the meantime, we received a new constraint but this is just a teacher who has not available times... :) I can't wait to test this. :D
I have just put it online, please get it from https://lalescu.ro/liviu/fet/download/custom/forstera/
I will wait at home online for any problems.
Don't forget that I did not add the not available constraints from your file. Please examine my file for your missing constraints.
Thanks very very much Liviu,
testing now...
Yes, I'll have to add this new constraint
You might want to add also teachers max 1 room changes per day, if needed.
System is trying to solve sinc 5 minutes. How many minutes should I wait before stopping and modifiying my constraints ?
It should solve in a few seconds for your file, I think. Don't let it cycle for too much.
Please send me your file.
I added a new version, only cosmetic changes, no need to reget it, the algorithm is exactly the same. The same link: https://lalescu.ro/liviu/fet/download/custom/forstera/
Dear Liviu,
thanks for the new version, I'll try it :)
With the first version you deliveded, we added some more constraints and we could create a complete timetable :) This is awesome !!
Finally, we printed out one page for each student with their times of attendance
All the team here says Thank you very very much for your great help ;D
here's the final result :)
You are most welcome, Arnaud and the team! I am so glad it worked and that you are satisfied! :)
I added a new version. Don't worry, nothing really new, no need to update. I just added your example input and disallowed starting the generation if the data set contains virtual rooms (which are not needed in your case), because in the case of virtual rooms usage your customization needs further coding (but since you don't need this feature, we'll simply deny virtual rooms).
Same download link: https://lalescu.ro/liviu/fet/download/custom/forstera/