I have a small set of rooms to which private music lessons are timetabled. I need to enforce a Covid rule that the room needs to be unoccupied for 15 mins before the next lesson begins. So, I need a way to schedule a "sanitation" activity after every other activity. Is this possible or is there an alternative way to achieve this? I already have my timetable set up with 15 min periods.
Thanks for any help!
Hello,
There might be a way in FET. It should be also possible to customize it, but I would prefer to use the official version.
Say students set SS1. Say there are regular activities with tag ATRegular_SS1. Add dummy activities with tag ATSanitation_SS1, duration 1, one such activity for each one of the regular ones. Then two activities consecutive, so that after each regular there is an hour of sanitation. Then one constraint activity tags not overlapping, ATRegular_SS1 and ATSanitation_SS1. This solution needs quite some work to add the constraints two activities consecutive. Also, maybe needed to increase the number of hours per day with 1.
If you would send us/me your file(s), I could understand better.
Please let me know.
I tried this with 1 of the private lessons, which I already have set up with tags.
All the private lessons are set up with the tag "1-on-1". I already had a space constraint for that tag that contained a list of the rooms (that's the only way I could get the private lessons scheduled to the rooms).
I have a single "Room Sanitation" activity, to which I added a "Sanitation" tag. I added a space constraint for that tag with the same list of rooms.
I then added the consecutive constraint for one lesson + Room Sanitation (I realize I ultimately need multiple sanitation activities). The generated timetable has the lesson+sanitation correctly scheduled consecutively, but in different rooms! So, I had to add another constraint for the two activities to be in the same room if consecutive. That works, but requires a lot of additional constraints to be created. Is there a way to do this last constraint with activity tags?
Thanks!
Indeed, it is a lot of work and I am not sure it would work as needed, because your COVID-19 restrictions are based on rooms, not students or teachers. In my first post I rushed to answer and I think I was wrong.
I think the easiest for your would be a customized FET version. This will check, when allocating an activity into a room, that the duration 1 slots before and after the activity the room are free. So you won't need any additional work.
So let me know if you are interested in this customization.
I don't know what would be involved in a customization. Seems that this would be a useful feature in general, but has some ramifications since everything is based on period.
For now, I can deal with the additional constraints and just add them via a CSV import. I think it will have some effect on what appears on the timetable, so that will need to be factored in.
Thanks for the quick responses
Quote from: aroby on September 01, 2021, 05:42:55 PM
I don't know what would be involved in a customization. Seems that this would be a useful feature in general, but has some ramifications since everything is based on period.
A customization involves changing some code. Yes, it might be useful for others, but I don't know exactly the best way to add it into the general case. Maybe after some thinking.
The best for now would be this customization, let's see what comes out.
Quote
For now, I can deal with the additional constraints and just add them via a CSV import. I think it will have some effect on what appears on the timetable, so that will need to be factored in.
You cannot import constraints by CSV. You could do that by the .fet XML code, but it is not as easy.
I made this custom version, it was easy. You can get it from: https://lalescu.ro/liviu/fet/download/custom/aroby/
Wow, thank you! I tried it with my file that works with the release version and the custom build hangs during generation. Not sure what is wrong. Can I send you the file (not sure how to do that?)
Thanks
Quote
You cannot import constraints by CSV. You could do that by the .fet XML code, but it is not as easy.
I was able to get that working by writing a couple of generators!
Quote from: aroby on September 01, 2021, 08:25:17 PM
Wow, thank you! I tried it with my file that works with the release version and the custom build hangs during generation. Not sure what is wrong. Can I send you the file (not sure how to do that?)
OK, sure, https://lalescu.ro/liviu/contact/ (email information), or https://lalescu.ro/liviu/fet/contacts.html (all redirect to me).
I might have understood wrongly your constraint, but I will see with your file.
Quote from: aroby on September 01, 2021, 08:26:38 PM
Quote
You cannot import constraints by CSV. You could do that by the .fet XML code, but it is not as easy.
I was able to get that working by writing a couple of generators!
This is nice!
I added the new version: https://lalescu.ro/liviu/fet/download/custom/aroby/ . aroby needed to ensure the Covid-19 sanitation only between activities with at least a students set - done now in this new version.