FET Forum

FET Support (English) => Get Help => Topic started by: NYC FET on January 17, 2024, 01:00:53 PM

Title: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on January 17, 2024, 01:00:53 PM
Hello,

I am trying to figure out how to use FET to sort out our master schedule for the school, but we have an unusual schedule. Basically, the Middle Schoolers and High Schoolers start at different times, and our schedule reverses every other day (we call it Blue Day / White Day). This creates a scheduling issue when the days reverse, as a teacher which has a schedule with no conflicts on the Blue Day will have conflicts on a White Day. It is easier to visualize in spreadsheet form:

https://docs.google.com/spreadsheets/d/1fuCN_ySvhYcV9PijVye92fTuVeF-kvUwvYiCA_45g0g/edit?usp=sharing

You can see here that John Doe has a working schedule on both days, whereas Jane Doe has a schedule which works on the Blue Day but not on the White Day.

Any thoughts on how to input the data / constraints into FET so that we can schedule everyone?

The conflicting Middle School / High School periods are listed in a table on the 3rd tab.

Thank you!

Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: Liviu Lalescu on January 17, 2024, 02:39:21 PM
Hello, @NYC FET ,

Please tell me which FET mode are you using. The Official one? And you do a timetable for a week? The week has 5*2 days? (5 days, multiplied by 2 because of blue/white.)

There is maybe a constraint which might help: activities occupy max time slots from selection. Select all activities of Jane Doe, select a whole line with X (red), max occupied = 1. There are n_lines * n_teachers constraints to add, quite many... Or a customization is possible.

I am not sure I understand your exact problem. Please allow me to read again, I'll answer if I find that I was mistaking or think of better answers. Your .fet data file would help.

Maybe you can give more details.

As a personal plea, I am not sure I told you this: FET is completely free software, depending completely on benevolent donations. If you or your institution could support this project financially, it would be great! Thank you for the understanding.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on January 17, 2024, 02:57:13 PM
Thank you for this reply! We really only need to schedule one day, as the classes are the same every day (they just switch to reverse every other day). The problem appears when a teacher is scheduled incorrectly on the Blue day and then it reverses for White, because the staggered starting times create overlaps. You can see on the spreadsheet that Jane Doe's schedule works perfectly on the Blue day, but she has conflicts on the 7th and 8th period for the White day (reversed schedule).

I don't have an FET file yet because I was not sure how to structure the data / constraints.

Happy to give you editing permissions on the file if you provide your google email, that way you can move data around on the Blue day and see how it affects the White day (the white day sheet automatically updates).

Also I added some context on the 'conflicts' tab that hopefully makes it more clear.

As for your personal plea, I hear you! I will request this support from our leadership here.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: Liviu Lalescu on January 17, 2024, 03:03:54 PM
You are welcome, and thank you for your kindness!

It is like a vertical mirroring?

I will PM you my Gmail account.

If you are scheduling on a single day with 9 hours, you might use the constraint I mentioned, with n_conflicts constraints for each teacher. I'll try to derive a small test file, but please allow me some time.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on January 17, 2024, 03:05:23 PM
Yes it is vertical mirroring, so the students will have the same classes and schedule, but in reverse (their first period last, etc.)
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: Liviu Lalescu on January 17, 2024, 03:49:02 PM
I hope I might have got it :) See attached small example.

Ask me for needed clarifications.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on January 17, 2024, 04:14:52 PM
Thank you for this! One thing I am trying to adjust in your file, but struggling to figure out, is that Middle School ends early (no period 9 classes) and HS starts late (no period 1 class).

Also, period 5 is always lunch so no classes (maybe easier to omit this period and just use 8 hours).

I tried using time restriction for student sets but I think the activities need to be changed, I am not sure how to do this with your setup
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: Liviu Lalescu on January 17, 2024, 04:25:43 PM
The easiest is with a constraint break. See the attached file, which I don't know exactly why is impossible (maybe it is too constrained). Note that I deactivated 4 activities. The idea is that in a solvable case it should work, I just made an arbitrary case.

You can remove the 5th hour, but please consider again the constraints occupy max from H6 to H9 and M4 to M7 (your "conflicts").

One thing which I did not use in my file is activity tags. You might get more understandable data using two tags, H and M, and use constraints for tags, like preferred times, etc. Add tag H for each high-school activity.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on January 19, 2024, 01:53:28 PM
Ok I was able to get this working and it can spit out a functional schedule for those two teachers, but I think we are approaching this backwards. Ideally we will be able to create student groups first, add them to classes, and then assign teachers to those classes based on availability with the Blue/White conflicts in mind. Does this make sense? Is this something I can do with FET?

I filled out a sample schedule for the student group 9 which shows a possible schedule for those students, but those classes could be in any order that suits the schedule.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: Liviu Lalescu on January 19, 2024, 02:24:33 PM
I hope it is possible, but if you want to assign activities (subject + activity tag + students set) to a teacher and a time slot, you might need to use the Block-planning mode, or we might even need to customize this a bit, I am not sure.

So, maybe add 9 FET hours per day, and 2 * n_teachers FET days per week. This is the timetable for the blue day, and the odd FET days represent high and i-th teacher, the even FET days represent the middle and the i-th teacher. Then again we need to add many constraints activities occupy max time slots from selection, I am not sure how many, I need more details. If there are too many to add manually, a customization is possible.
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on January 23, 2024, 04:01:58 PM
Ok I have gone back and forth with our leadership here on the design, they have switched to providing the teacher/group assignments and I can make it work with the max simultaneous activities restrictions. One issue I am noticing, if an activity has a duration more than 1 it seems like it ignores the restriction for the second block. Is this a bug, or the intended design?

I ended up with the situation where a teacher has a class, duration 2, and it scheduled her for Period 7 and Period 8 HS, and then scheduled another class for her Period 8 MS (despite the max simultaneous restriction being active).

Thoughts? I can always make a second activity for this and enable consecutive, with both on duration 1 and this should make it work, but this might be a bug for you to document. In any case thank you again for all of your help!
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: Liviu Lalescu on January 23, 2024, 04:23:23 PM
Hmm... I hope it is not a bug, but you sound like it is. May I have your file, please (here or privately by email)? Send the unlocked .fet file and a locked .fet file which proves the bug.

I always try to fix the bugs or, if unsolvable, that feature disappears.

So, you refer to activities max simultaneous in selected time slots? I thought I used activities occupy max time slots from selection?
Title: Re: Conditional Scheduling / Alternating Schedule with Staggered start times
Post by: NYC FET on February 05, 2024, 04:22:57 PM
Had to pause this project but opening it back up. You were right I was using the wrong constraint, I need activities occupy max time slots from selection, that bug was a false alarm. I'll keep you posted if we run into any other issues, thanks again for your help!