I'm trying to make each class start at the same time every day or day after day;
For instance:
Physics: to start at any available time, but it should be at the same time every day.
The same thing with Math to start at any available time, but also it should start at the same time every day, and so on.
I have to do it individually for each class by using time constraints (a set of activities has same starting hour (any day), which takes too much time. Is there any way to do it once for all classes?
The same problem with some other constraints.
Unfortunately, you need to add more constraints activities same starting hour, individually. I know, the interface and functionality of the interface are bad. But I am not skilled at this.
If you really need, we could derive a custom version, which is not difficult. But I always prefer to work in the official version, maybe adding new features. Unfortunately, I think your request is not so general to add in the official FET.
I can talk some more about this.
I think it is general because all colleges and universities that work with credit hours system have the same issue,
I see. However, I am not sure how could I add this feature in the official FET.
Maybe for the moment we could derive you a custom version and see how it behaves. How could we make it? A button to both remove all existent same starting hour constraints and add all the same starting hour constraints as needed? Do you have a better idea?
The best way is not to remove anything but to add an option that allows the user to add a constraint to multiclass. It will be a very important feature.
I would prefer to keep the existing constraint activities same starting hour. The question now is how to add your suggestion. I prefer to add, by clicking a single button, more constraints same starting hour, as corresponding to the data set. If there are some constraints same starting hour which the user wants to modify or remove, he can do it.
My question was how to treat the already existing constraints. For example, if the user presses this button twice.
Or do you suggest a new constraint, like "activities with same students and subject have same starting hour"? But the user cannot fine tune, like in my above treatment.
Yes, your idea is much better, but I think maybe instead of pressing the same button twice you can add another button with the same functionality but for a multiset
Quote from: Imad on October 13, 2022, 11:59:11 AMYes, your idea is much better, but I think maybe instead of pressing the same button twice you can add another button with the same functionality but for a multiset
No, meant: say there are some constraints same starting hour. If the user presses "Add multiple (for all)", then we need to remove all the already existing same starting hour constraints? What if there are some which don't need to be removed?
Like if the user presses once this special button to add multiple constraints, adds some activities, then presses again this special button.
Yes, I understand, this is why I suggest adding another button in case the user wants to add constraints to more than one set as we do it now but not repeating it each time for every single set.
OK, let me do how I consider best, and you'll tell me if it is OK. We'll do it as a custom version for now.
What operating system do you have? (so I know what version I compile for you).
It will take a few hours, I think.
Windows
I have 3 alternatives: Windows 10 64bit, Windows 7 & 8.1 64bit, and Windows 7, 8.1, and 10, 32bit. Which one?
I made it. You need to go to the dialog of constraints activities same starting hour, and there you have two new buttons.
The download link: https://lalescu.ro/liviu/fet/download/custom/imad/
Dear Liviu,
This is exactly how it should be, thank you.
By adding this feature to other constraints, FET will be a good choice for all institutions that have the credit hours system, and they are more than 50% of all institutions worldwide. That means FET will be more universal Scheduling Software.
You are welcome!
To which other constraints do you refer?
I mean the most commonly used constraints, such as:
1) A set of activities has a set of preferred starting time
2) A set of activities occupies max different rooms
Instead of adding them to each set individually, the user will have the option to add them to all sets at once.
You can do it the same as you did the starting hour constraint, as I mentioned before it will be a great improvement for FET.
1) This is not for more activities, it is only for a filter.
2) This might be needed differently, for example for a single students set.
If you solve your school's timetable with your custom version, please share it with us/me, so I can see how the new feature is useful.
With the new button that you added as a custom version, it became more dynamic, if we leave the filter empty and press (Add all) we can add the constraint to all student sets so each one will start at the same time every day. Before we had to add every student set separately, which takes a long time especially if we have a large number of sets. But still, we are able to add a single class or some sets, so as I mentioned above it's now more dynamic and faster.
For example:
Math student set X will start at 9:00 every day
English student set Y will start at 11:00 every day
Chemistry student set Z will start at z12:00 every day
and so on...
Again, if you can do the same with the two constraints that I mentioned it will be perfect, you said it is a filter issue, but I think it is the same.
You can add a button (Add all), and this will do the job, no need to add a constraint each time.
We can just press Add all and we set the preferred times, the same thing with space we can set all sets to be in the same classroom, now we can do it one by one, it is 100% similar to the starting hour.
For example, the same sets above X, Y, and Z.
1)To select the preferred times, we have to make it for each one separately, by selecting: teacher, student
set, and subject then pressing add, and we have to repeat it three times for X, Y, and Z.
2)To allocate one room for each set, we have to go to space - activities - A set of activities occupies max
different rooms, by selecting: teacher, student
set, and subject then pressing add, and we have to repeat it three times for X, Y, and Z.
I am sorry, but I do not understand your words.
1) Constraint of type "A set of activities has a set of preferred starting times": in this FET official constraint the user only selects the teacher, students set, subject, and activity tag. Not a list of activities.
2) Constraint of type "A set of activities occupies max different rooms": in this FET official constraint indeed the user selects a list of activities, but I think it should be done only once for each students set, which is not difficult to add. I mean it is not done once for each pair "students set, subject".
Also, as I said, "If you solve your school's timetable with your custom version, please share it with us/me, so I can see how the new feature is useful." - I was referring if you solved your school timetable with the new feature of same starting hour adding multiple. I would like to see it working.
Yes, it is working. I can add the same starting hour constraints to all student sets one time, and no need to add it to each student set separately which makes it very fast, I already shared this with you.
Regarding my previous message, I will try to make a video and send it to you maybe it will be more clear.
Quote from: Imad on October 14, 2022, 08:00:41 PMYes, it is working. I can add the same starting hour constraints to all student sets one time, and no need to add it to each student set separately which makes it very fast, I already shared this with you.
I meant, if your data file (the timetable) for your school generates in a reasonable fine and produces a good timetable. I am afraid that too many constraints of type activities same starting hour might be too difficult to satisfy.
Fortunately, I tried with more than 75 sets, and it generates a good timetable.
Once we have enough lecturers and lecture rooms, I think there is no problem.
Do you mean 75 students sets?
I would like to see your input file (now or the final one), to see how it behaves. I'll keep it private, if necessary.
It seems very unusual for me, because in Romania we never heard of these same hour constraints. Also, from Italy, Germany, Greece, Morocco, Algeria, Tunisia, Finland, there were no such requests. And almost nobody until now requested this, in 20 years since FET was started. Only I think for an institution in the USA.
Yes, you are right, the credit hour system is an American system, it is used not only in America but in many other countries worldwide. The countries you listed most of them are European countries or countries that use the European Annual system.
Please send me your email to share with you the requested files.
I just sent you a personal message on the forum with my email address.
Sent
hmm...
I must admit that i don't understand why you want/need that constraint. A credit system even works without that constraint.
Maybe can you please explain why it is needed?
If we generate the table without constraints, time days, and room. Any subject will start at different times and in different rooms also on random days. It looks like you are not familiar with a credit hours system. Maybe we need to talk using Zoom or Microsoft teams to explain why constraints are important. And I can share with you the process life, how we do it.
That is why i asked you to explain it more detailed.
I know only the german credit systems at high school and university. But both of them don't need that constraints, since they do students planning first. So activities are always in the some room. Different courses start in the same line/block are of course always at the same time. But there is no need to force them for example always 1st hour evey day. It is only needed to have them at the same hour, but the exact hour doesn't matter. So i wonder why that is needed. Maybe you can explain me why you need that?
I sent you the image and the explanation to your email
Imad, you convinced me that it is indeed a useful feature and I think we will add it for the next version.
So, activities with the same subject and students should have the same starting hour and room. I think I will add that multiple add/remove for the constraints activities same starting hour / occupy max different rooms, as I added in your custom version.
I don't think it is a good idea to add for the preferred times, because this is more different and there are not so many constraints. Also, you could add two tags to the activities and add only two preferred constraints, one for each tag.
For the multiple removal, just remove all the constraints (after a confirmation).
For the multiple addition, just add a constraint for each tuple subject+students, or design something more elaborate, with a check box for "same teachers", "same subject", "same activity tags", "same students" (4 check boxes)?
We will work on this tomorrow, because now I am quite tired.
Volker, it is a good addition, and will not bother the other users, because it involves only adding one or two buttons in the dialogs of the constraints activities same starting hour / occupy max different rooms.
Thank you, Liviu
That sounds good that you will add these features. Regarding the preferred time, you are right it can be solved using tags.
Thanks again and wish you a good night.
Thank you, good night! (23:14 here now)
Quote from: Imad on October 15, 2022, 05:34:26 PMI sent you the image and the explanation to your email
I didn't got it. Please sent to "u6m4@timetabling.de".
Quote from: Liviu Lalescu on October 15, 2022, 07:40:54 PMVolker, it is a good addition, and will not bother the other users, because it involves only adding one or two buttons in the dialogs of the constraints activities same starting hour / occupy max different rooms.
In my opinion it is unneeded, maybe even bad.
Let's assume all hours of tuesday the 1st hour will swap with all hours tuestday the 2nd hour.
That will not be allowed with above constraint.
But it will still work with a credit system, since the activities are still simultaniously. All activities got the same teacher and room. So even if a student need to repeat a subject, he might do that, since all are also at the same time.
Swapping the activities in time might help to:
- balance (or maybe even reduce) teachers gaps
- balance (or maybe even reduce) students gaps
- spread activities well (so for example students don't get always math in the last hour)
- datasets might be solveable, since with the more strict suggestion they might be impossible if teachers are missing a part of the day (since they might care about their kids, work at an other school, have trainee teachers, ...)
Thats why i think it is a bad idea to add such a constraint.
@Imad , I did it, please get the latest snapshot from the usual location: https://lalescu.ro/liviu/fet/download/test/ and let me know what you think. I did it for both same starting hour and occupy max different rooms.
Quote from: Volker Dirr on October 16, 2022, 01:16:26 PMThats why i think it is a bad idea to add such a constraint.
@Volker Dirr , I am sorry to contradict, but I added it. It is not a new constraint (or two), just two new buttons. It is a needed feature for some (many) institutions, and we cannot reject the idea. It does not hurt. Please see the snapshot.
Quote from: Volker Dirr on October 16, 2022, 01:16:26 PMQuote from: Liviu Lalescu on October 15, 2022, 07:40:54 PMVolker, it is a good addition, and will not bother the other users, because it involves only adding one or two buttons in the dialogs of the constraints activities same starting hour / occupy max different rooms.
In my opinion it is unneeded, maybe even bad.
Let's assume all hours of tuesday the 1st hour will swap with all hours tuestday the 2nd hour.
That will not be allowed with above constraint.
But it will still work with a credit system, since the activities are still simultaniously. All activities got the same teacher and room. So even if a student need to repeat a subject, he might do that, since all are also at the same time.
Swapping the activities in time might help to:
- balance (or maybe even reduce) teachers gaps
- balance (or maybe even reduce) students gaps
- spread activities well (so for example students don't get always math in the last hour)
- datasets might be solveable, since with the more strict suggestion they might be impossible if teachers are missing a part of the day (since they might care about their kids, work at an other school, have trainee teachers, ...)
Thats why i think it is a bad idea to add such a constraint.
I sent you an email
Quote from: Liviu Lalescu on October 16, 2022, 03:31:10 PM@Imad , I did it, please get the latest snapshot from the usual location: https://lalescu.ro/liviu/fet/download/test/ and let me know what you think. I did it for both same starting hour and occupy max different rooms.
Quote from: Volker Dirr on October 16, 2022, 01:16:26 PMThats why i think it is a bad idea to add such a constraint.
@Volker Dirr , I am sorry to contradict, but I added it. It is not a new constraint (or two), just two new buttons. It is a needed feature for some (many) institutions, and we cannot reject the idea. It does not hurt. Please see the snapshot.
Thank you,
I will make a test and get back to you.
Quote from: Volker Dirr on October 16, 2022, 01:16:26 PMSwapping the activities in time might help to:
- balance (or maybe even reduce) teachers gaps
- balance (or maybe even reduce) students gaps
- spread activities well (so for example students don't get always math in the last hour)
Volker, I think these are not cared for in the credit hour system.
Quote from: Liviu Lalescu on October 16, 2022, 03:31:10 PM@Imad , I did it, please get the latest snapshot from the usual location: https://lalescu.ro/liviu/fet/download/test/ and let me know what you think. I did it for both same starting hour and occupy max different rooms.
Quote from: Volker Dirr on October 16, 2022, 01:16:26 PMThats why i think it is a bad idea to add such a constraint.
@Volker Dirr , I am sorry to contradict, but I added it. It is not a new constraint (or two), just two new buttons. It is a needed feature for some (many) institutions, and we cannot reject the idea. It does not hurt. Please see the snapshot.
Dear Liviu,
I made a sample test, and the result was perfect and very fast, WELL DONE ... thank you.
I will try to make another test with relatively larger data. I will let you know about the results.
Best regards.
Hello, Imad,
Thank you for letting me know! Indeed, we need to see how it behaves for a complete institution's data.
Volker told me this possible simplification: couldn't you simply use only 2 FET days: "Mon/Wed/Fri" and "Tue/Thu"? In this way the generation is faster and you don't need constraints of type activities same starting hour and activities occupy max different rooms. But I think you already excluded this approach because maybe it is not that simple (and I think I saw something in your file contradicting this easy approach).
Yes, maybe Volker is right, but this solution sticks all days together in case we need to handle any subject with single-day activity. The other thing is the form of the output file (Table) is unusual.
But with the last two additions, the FET will not suffer, and these buttons will be an option.
Thank you Liviu and thank you, Volker.
Hello Liviu,
I have a question about assigning certain rooms to certain student sets, for example, we want rooms F1, F2, F3 ...F10 for student sets A1, A2, A3, A4, A5...A50
and rooms M1, M2, M3... for student sets B1, B2, B3, B4, B5...B50
I found that I have to go to space constraints and allocate each room separately.
Do you have an idea how to make it faster?
Hello, Imad,
If you want to use home rooms constraints, you can add a constraint home rooms for each students set. Add all rooms, select the first students set, press Enter, then press Down (it will go to the next students set), press Enter, and so on.
If you want to use preferred rooms constraints, you can add tag ATA to all the activities of A1...A50 and a single constraint preferred rooms.
Preferred rooms override home rooms. If you want to have some activities in a different room than standard, you need the first approach (home rooms constraints), so that you can change the home rooms behavior with preferred rooms.
I entered each set as you said, it is ok it is doing the job, but I thought there is another way to make it faster.
The other way that you proposed, using preferred room constraints doesn't work as we need, because there will be teachers who teach both sets A and B, and the tag will be either for A or B.
Quote from: Imad on October 20, 2022, 10:20:25 AMI entered each set as you said, it is ok it is doing the job, but I thought there is another way to make it faster.
Sorry, the interface is my weak point.
QuoteThe other way that you proposed, using preferred room constraints doesn't work as we need, because there will be teachers who teach both sets A and B, and the tag will be either for A or B.
I don't understand. If an activity has students A, add tag ATA. If an activity has students B, add tag ATB. But it will not work if an activity has both students A and B (but also in this case the home rooms will leave this activity without a room).
Hello, Imad,
I just released the latest FET official version, 6.7.0, with the new additions for the credit hour system (American system), suggested by you. Thank you for the collaboration!
Thank you,
Kind regards.