Hi!
It could be very nice feture to set preferred startting times with a hard constraint without student groups (e.g tick box for ignoring student groups for that activitiy or even that time slot chosen for the constraint.)
In a university schedule, some courses "can overlap" even having the same student groups ( by the nature of required, elective courses)
When we want to ignore this overlap, only way is to remove the students groups from one of the overlapping activities. Then these courses can be placed in the same time slot.
However, when we want to change one of these ativities later on to another time slot actually we loose the student group information already for this new time slot where student group information is needed again.
it is time consuming to update the activity with the original student groups and place it on another time slot.
I hope i explained it clearly.
Extented IDEA : :)
There could be also option to ignore :
- Student Groups (even better to choose which ones to be ignored)
- Activity Tags (even better to choose which ones to be ignored)
- All Other Time specific constraints except this one
- All Other Space specific constraints except this one
So basically, I am looking for a "killer" option to make preferred starting time is 100% applied.
And again, if I dont need this constraint, all my tags and student groups will be there and no worries on if I place activity somewhere else.
hmmm.... I must admit that i don't fully understand this request and what exactly you are doing. Maybe explain more detailed with an example.
Maybe also watch TiTiTo. You can move activities there easier and the students can also overlap, if you check the flag "students collision".
I added this in the TODO, but it is a fundamental feature of FET to not allow overlappings.
Thanks for considering my suggestion. But please give it a higher priority :D
In a university schedule consider this scenario :
Course A with StudentGroup1, StudentGroup2, StudentGroup3
Course B with StudentGroup2
however, Student Group2 for Course B is actually optional because it is an elective course for this student group. they do not have to take this course. Because they have other courses as well for elective group.
Preferably Course A and Course B should not overlap However, when you have hundres of courses you have other program elective courses that StudentGroup2 can take. So overlapping with Course A and B must be ignored in certain cases when you have time & space limitation. - what a suprise ha ? :) -
It is already possible by removing StudentGroup2 from Course B. And you can place it in the same timeslot with CourseA without problem.
But when you need to move it to another slot later on for some reason and if this time it should not overlap at all, you have to update the activity CourseB and set student group again in order to make it happen.
This is time consuming and easy to miss.
So, same logic for the activity tags as well. I will not repeat my example.
This could be called an "exception" for the activity constraint and has a "killer switch" on all other constraints set for the activity.
BTW: Please do not consider this is a real overlapping. Basically this could be achieved creating multiple schedules with correct set of constraints. This is actually allowing to create multiple schedules in the same schedule. So it is not violation of FET fundemantal principle.
This is a feature allowing user to create multiple schedule in a one single time table :) ;D
Maybe you could add two tags, A and B, and a constraint activity tags not overlapping, A and B, probably 100%, which can be activated/deactivated with a single click. Otherwise, it seems very complicated.
Quote from: Liviu Lalescu on February 15, 2024, 09:44:58 AMMaybe you could add two tags, A and B, and a constraint activity tags not overlapping, A and B, probably 100%, which can be activated/deactivated with a single click. Otherwise, it seems very complicated.
yes it is possible with 5-10 courses. Suppose you have this scenario :
Student Groups :
Study Programs x Semesters ( 8 ) x Sections .
Study programs have curricula which defines the courses to be taken in which semester and courses that are electives which can be taken in any semester. Some courses could be elective for some student groups and at the same time required for other student groups.
combination of these student groups (as activity tags) for not overlapping is unmanagable.
We have around 400 activities , 3942 subgroups around ~120 teachers.
Another workaround could be to activity level state management. Where we can revert back all changes done to an activity. (so it will revert back activity tags, student groups and teacher.) So we can remove freely student groups, tags and put it manually where ever we want. If we need to change it again, we could revert back the original student groups and tags. so this will also helpfull alot.
Hmm... sorry, it is difficult for me to follow your suggestion. I will add your words and read again later.
Do you know that in recent FET there is a History (Undo/Redo) option?
Quote from: Liviu Lalescu on February 15, 2024, 10:29:54 AMHmm... sorry, it it difficult for me to follow your suggestion. I will add your words and read again later.
Do you know that in recent FET there is a History (Undo/Redo) option?
Yes of course, it is perfect. But it reverts back to all states. that is, i can not selectively chose states:
In this set up , when i choose a state, it is perfect for that activity. But I loose other states of other activities if I have changed one of them.
so, state selection overrides all changes in other activities. All activities are revert back to state where a specific state is chosen. It is a time machine, and reverts back all changes to that point.
I hope it is clear ?
Quote from: ogursoy on February 15, 2024, 10:40:00 AMQuote from: Liviu Lalescu on February 15, 2024, 10:29:54 AMHmm... sorry, it it difficult for me to follow your suggestion. I will add your words and read again later.
Do you know that in recent FET there is a History (Undo/Redo) option?
Yes of course, it is perfect. But it reverts back to all states. that is, i can not selectively chose states:
In this set up , when i choose a state, it is perfect for that activity. But I loose other states of other activities if I have changed one of them.
so, state selection overrides all changes in other activities. All activities are revert back to state where a specific state is chosen. It is a time machine, and reverts back all changes to that point.
I hope it is clear ?
State 1 : Activit X changed
State 2 : Activity y Changed
State 3 : Activity z changed.
when you go state 1, you loose all changes done to activity y, activity z.
"It is a time machine " : )
I understand your latest post, with Undo/Redo stack problem, but the other problems are difficult to understand for me. I am also quite tired from work. Please allow me some time to try to read again.
Unfortunately, I think there is no simple solution.
Sure, Thanks alot for your time. Have a good rest, enjoy your time :)
Quote from: ogursoy on February 15, 2024, 10:22:03 AMStudy programs have curricula which defines the courses to be taken in which semester and courses that are electives which can be taken in any semester. Some courses could be elective for some student groups and at the same time required for other student groups.
I fear this part is the main problem.
You should add only required courses and solve the timetable first.
I bet you have so many combinations that there will be always a conflict somewhere if a few groups are allowed to select it in any semester.
In fact it is only possible to solve if you ask the students if they want to select it this time. I remember my time at university: The timetable maker never asked if we want to select the optional/select able activities. So you wasn't able to know if there might be a conflict or not. He just randomly place the activity and tried to avoid conflicts without knowing if there is a conflict or if it is a conflict for just a single student ot if it is a conflict for 200 students.
In my opinion the correct way is asking the students if they want to select it this year and they try to care about it, if many students selected it. And in my opinion that should be done already before generating the timetable by doing the course planning like many secondary and high schools do it.