It's an interesting problem because there are so many ways to define optimality. Does it mean working with the same manager? Working at the same facility? Minimizing travel between facilities? Number of shift in a week? etc. The problem can be extended with reinforcement learning with employee feedback. If there are manager preferences as well, there is a two-player problem with two perhaps competing interests.
I would love to work on this problem with high school scheduling for building both a master schedule and individual student schedules. No clue where I would get data though.
It's a very cool problem.