Why does it take so long to generate a schedule?
In short, it's because our scheduling engine doesn't quit when it finds the first schedule that technically meets all of your criteria. Beyond that, our engine attempts hundreds of thousands of different schedules for you with every run, in search of your optimal schedule.
You might be surprised to learn that some of Amazon's biggest super-computers are being used to number-crunch for you behind the scenes. Creating schedules like this represents a type of problem that is "combinatorial NP-hard", which means that computers generally can't solve them without literally trying every possible combination (which would take years). SLP Scheduler tries to take a mathematical shortcut, by applying artificial intelligence methods to the problem space. This can *usually* bring the wait down to a matter of hours or days.
Even using these huge computers, caseloads that are unusually large or complex can still take hours or days to complete. We've capped the computation window at 8 hours, so it will never take longer than that. However, the engine will still do its best within that time frame.
If you'd like to speed things up, here are some ideas:
- Convert some hard constraints into soft constraints. Hard constraints vs. soft constraints
- Loosen as much criteria as you can. For example, replace instances of "Must Not" availability entries with "Prefer Not".
- Reconsider any self-imposed constraints. Some of your constraints come from your state's laws, or from policies that your administration has put in place. If any of the constraints you've entered are really your own preferences, try removing them. The scheduler works best when the only constraints are the ones that are absolutely necessary.
- Other examples of criteria that you can loosen can be found on the What do the Scores mean? article. Items in the table with a negative score can usually be relaxed one way or another.
- Increase your maximum group size to the legal maximum for your state
- Increase your maximum grade span
- See also the hints listed at Why didn't the engine find any results?
Customer support service by UserEcho