Overview of Schedule Generator
Schedule Generation automates the creation and management of complex schedules. Use it to generate schedules — whether to create or assign shifts — in organizations where employees work variable times, days, or jobs.
The generated schedules account for workload, shift templates or profiles, schedule rules, and schedule-generation strategies.
Scheduling a multifaceted population can be time-consuming, error-prone, and just plain frustrating. Even with the best efforts, unavoidable mistakes can lower productivity, lead to cost increases, frustrate employees, and put you at risk of litigation and fines.
Schedule Generation automates the creation of schedules, reduces your cost of managing schedules, and reduces costly errors.
Leave the guesswork behind
Schedule Generation deploys sophisticated optimization algorithms that automatically converge on the best-fit schedule that meets policies, compliance, the needs of your business, and your employees' preferences.
You minimize over-staffing and under-staffing, and save expenses caused by schedules that fail to meet your business needs.
How does it work?
Schedule Generation aligns labor with demand for cost-efficient schedules:
- Have you created a schedule with too many employees when there is not enough demand? It'll cost you.
- Business demand changes, and suddenly you don't have enough employees scheduled. You need to create more shifts, but that is tedious to do manually.
The costs add up and compromise your bottom line.
But Schedule Generation can make these changes automatically. It avoids over-staffing and under-staffing, and accounts for the other important scheduling factors that apply to your organization.
Schedule Generation complies with complicated scheduling rules because it generates schedules that comply with country-specific legislation, collective agreements, and employee contracts. Examples: You can define the minimum rest time between shifts, the maximum or minimum number of hours each week, whether to schedule in order of seniority order, or a host of other rules and constraints.
Schedule Generation increases employee engagement because you can configure it to account for employee preferences when it generates schedules. This goes a long way to increasing employee satisfaction.
Schedule Generation can solve the following complex schedule problems:
- Create a schedule that accounts for business coverage, employee satisfaction, and compliance such as rest-time or hours-per-week rules.
- Optimize the allocation of jobs in an already created schedule so that you can maximize use of resources.
- Create an open schedule of unassigned shifts and then let employees pick their own shifts. This improves employee engagement.
Use Schedule Generation in any context that distributes work over a time span when employees do not work a predefined set of days. It is the ideal tool when multiple valid schedules are possible, and is the best tool to determine days on or off, and the correct shifts to assign. It ensures greater compliance with rules and fewer causes for grievances.
Once Schedule Generation is configured and calibrated to your needs, managers click a button, select Schedule Generation, and quickly create schedules that cover the workload and conform to the rules and settings that are specific to your organization. Alternatively, the Event Manager can run Schedule Generation as a batch process during off hours.
Typically you use Schedule Generation to create schedules for 7-day weeks.
Do not expect Schedule Generation to always produce a perfect schedule. It does the best within the given constraints, and the settings require tradeoffs between execution time and quality. If Schedule Generation considers fewer rules and constraints, it generates a schedule more quickly. However, you may need to edit the results more than if Schedule Generation considers more rules, has less flexibility, and takes more time. The goal is to help the scheduling manager, not replace the manager.
Schedule Generation offers the following contexts:
- Generate Open Shifts Only: Generates open shifts but does not assign any shifts to employees
- Generate Employee Shifts Only: Generates only shifts that are assigned to employees
- Assign Open Shifts Only: Assigns all available, open shifts to employees but does not create shifts
- Generate and Assign Shifts: Generates open and employee shifts and assigns any previously existing open shifts to employees
- Optimize Shift Contents: Optimizes job assignments within shifts without changes to employees, shift start or end times, or durations
Generate employee shifts
Employee shifts are generated shifts that are assigned to employees. The Generate Employee Shifts context generates employee shifts and does not create open shifts.
Grouped arrivals
Grouped arrivals groups employee shift start times. Example: Reduce the number of times that managers have to provide essential shift information to employees when they arrive for work. Schedule Generation computes the optimized number of grouped shift start times, without added schedule cost or coverage impact.
Schedule stability
Schedule stability ensures that employees who work positions that are scheduled for various shifts — such as morning, day, or evening shifts — can expect consistency of shift assignments and start times.
Consistency in shift start times is between one day off and the next weekly day off. Schedule stability applies to all shifts that are scheduled between these two weekly rest or off days, and does not carry over from one week to the next. Consistency resets after off periods.
Employee preferences
Schedule Generation accounts for employee preferences that include preferred availability, job, hours per day or week, days off, and earliest and latest shift.
Minor rules
Schedule Generation accounts for minor rules except for those that are based on work weeks.
Break assignments and overrides
Schedule Generation can overwrite breaks in open shifts according to the employee's break rules when it assigns existing open shifts, and it can ignore break placement rules and not assign breaks in generated shifts.
Multiple jobs in shifts
Multi-job shifts can contain shift segments for primary or transfer jobs.
Configurable effect of soft rules
Soft rules are schedule rules that Schedule Generation tries to obey, but can violate to generate a workable solution. You can configure weights or penalties that change the importance of the following:
- Minimum hours each week
- Minimum days each week
- Minimum weekends off
- Consecutive days off
- Number of generated shifts
Ranking
To rank employees when Schedule Generation assign shifts, select the Employee Priority Custom Field setting. The custom field comes from the People Editor. Example: Rank by seniority.
Worker types
Schedule Generation can schedule groups of employees by priority and, within those groups, equalize assignments by employee preferences, weekly scheduled hours, or both.
Budgets
Schedule Generation can use cost or hours budget limits to control the number of generated shifts by calendar week.
- For cost, the budget is calculated from the lengths of paid shift segments multiplied by wages. Paid shift segments exclude breaks and any other unpaid segments.
- For hours, the budget is calculated from shift lengths.
Schedule Generation is a complex tool that generates solutions by considering a multitude of factors and by evaluating a multitude of combinations to create one solution. It does not use a sequential decision process. Schedule Generation bases decisions on cumulative factors and not on one factor only. Keep this in mind while you analyze a solution from Schedule Generation.
Schedule Generation evaluates different factors, such as workload and rules, to create an optimized schedule. It determines which open and assigned shifts to create and which existing open shifts to assign to employees.
Do not expect Schedule Generation to produce a perfect schedule. Schedule Generation does the best within the given constraints. You may need to edit the results. The goal is to help the scheduler, not replace the scheduler.
Weights or penalties
Schedule Generation assesses weights or penalties of varying degrees according to the rules that it implements. A penalty is a cost that is imposed on a given solution if it does not respect the boundaries. It is similar to driving a car; if you drive faster than the speed limit, you'll have to pay a cost. Fuel economy decreases, and the risk of being fined or causing an accident increases. For Schedule Generation, boundaries are defined by the set of rules that are configured in the application and by the workload.
Schedule Generation evaluates different solutions which all begin with a score of 0. Every time a constraint is not respected, Schedule Generation assesses a penalty which is added to the score. The solution with the lowest score is selected.
There are different types of rules. Some solutions are rejected immediately if a rule is broken. Other rules allow a solution that goes slightly outside the boundaries because an imperfect schedule is better than having no solution at all.
A penalty applies only against a negative situation, never for a positive situation. Similar to the earlier analogy, you will never receive money explicitly for being a good driver who respects the speed limit.
Performance
Performance of Schedule Generation can slow significantly as follows:
- Large number of employees: Example: More than 35 employees or several departments.
- Long time periods: Example: More than 6 weeks.
- Schedule rules processed for a sequence of shifts: Example rules include Weekend, Consecutive Days Off, and Maximum Consecutive Days On.
- Whether to assign open shifts to employees
Test the processing time and quality of generated schedules with different settings or, if processing is intensive, run Schedule Generation as a batch process in the Event Manager.
Number of shifts
Schedule Generation assigns no more than one shift during a day to an employee.
When all is equal
In most situations, all factors are not equal. Contributing factors and logical explanations explain why Schedule Generation chooses a particular shift template or shift profile, and why it assigns one shift rather than another to an employee.
But if all factors are equal, Schedule Generation makes an arbitrary decision. However, the solution that it chooses remains constant over time. This means that if you run Schedule Generation again with the same data, you always get the same results, even though no specific element determines the order.
Here are a few reminders that will help you analyze a solution and understand a Schedule Generator solution:
- The topmost priority of Schedule Generation is to cover the workload based on the configured penalties and system settings.
- Hard rules cannot be violated unless they are set to Not Considered.
- Soft rules can be violated but will be penalized.
- The selected solution is the one with the lowest value of penalties.
- The options Generate Open Shifts plus Assign Open Shifts are not equivalent to Generate and Assign Shifts.
Differences in results between runs
If you re-optimize the schedule for a sub-period, you can get a different result from an earlier optimization for a full period. Example: You can generate a schedule for a week and then regenerate it for one day during that week. This overwrites the schedule for that day (only if the shifts or day are not locked). The new result for the single day may not be the same result that the one-week result gave for that day.
This difference does not indicate that Schedule Generation behaves inconsistently. In fact, Schedule Generation consistently finds the same solutions for exactly the same problems. However, it can find different but equally good solutions for different but equally difficult problems.
The results that you expect
When you don't get the results that you expect or you get no result when you generate and assign shifts, the following options can help you to find the source of the problem:
- Shorten the period — Reduce the number of days in the selected period. Then, run Schedule Generation consecutively for each shorter group of days.
- Open only one job — Work with one job and fewer employees instead of a full unit or department.
- Control the rules — Remove rules one by one to see which has the biggest influence.
- Check the rules that affect the sequence of shifts. Weekend, consecutive days off, maximum consecutive days on rules affect performance and results.
- Control the rules about hours. Remove the minimum hours rules and target hours rules. Keep only the maximum hours rules.
- Only assign shifts — To iteratively troubleshoot and find the right rules to activate, rather than use Schedule Generation to generate and assign shifts at the same time, generate and assign shifts in two steps. You can repeat these steps many times. Important: This two-step method can take far more time than using Schedule Generation to generate and assign at the same time.
See the following topics for additional information on configuration and use:
Configure a schedule generation strategy
Run the Priority Scheduling Engine (PSE) as a batch command