Configure Hours Distribution for Employee Priority Groups
Employee priority groups are used by the Schedule Generation Strategy to separate employees into independent groups. An employee priority group contains a set of employees that are ordered based on certain attributes typically reflecting their seniority. Employee preferences, such as number of worked hours, shift lengths, shift starts, preferred availability, and preferred days off, are satisfied by prioritizing the higher priority employee first.
The Schedule Generation engine assigns each employee to only one employee priority group. For a given group, employees are ordered by their priority and the weekly hours of a higher priority employee should be greater than or equal to the weekly hours of a lower priority one.
You can define a Schedule Generation Strategy and apply it for a specific location, which can then be used for a specific optimization horizon to automatically generate the shifts of employees in the scope. Based on the ordered list of employee priority groups selected in the strategy and the schedule group assignment for each employee, the first schedule group assigned to the employee that is applicable during the optimization horizon is the priority group assigned to the employee.
For employees without a matching schedule group, artificial groups are created in the engine based on the primary jobs of these employees. Employees with the same primary jobs, and without an explicit priority group from the system setup, are included in the same group.
Once all employees have received the minimum required hours defined in their contracts, the remaining workload is distributed among them based on their priority, such as the employee's seniority. Employees from different priority groups are not comparable. For example, a junior employee in Group A may receive more hours than a senior employee in Group B without inducing any inversion (a lower-priority employee having more hours than a higher-priority employee).
Define new, non-inherited schedule groups that the Schedule Generation Engine can use as Employee Priority Groups.
- From the Main Menu, select Administration > Application Setup > Scheduler Setup > Schedule Groups.
- Click New.
- Enter a Group Name.
- Ensure that Allow Schedule Inheritance is not selected.
- Click Save & Return.
Note: The Schedule Generation strategy can only access non-inherited groups. Each employee's schedule changes are handled individually.
You can assign employees to schedule groups in People Information. (From the Main Menu, go to Maintenance > People Information, select a person, expand
See the People Information > Scheduling help topic for more information.
You can also assign multiple employees at once to a Schedule Group in the Schedule Planner. In the Schedule Group view, select the employees you want to add, then right-click and select Add to Group.
Warning: The number of employees in a schedule group significantly impacts system performance. Edits take longer if the group contains many employees. However, the number of schedule groups has little effect on performance.
Configure the schedule generation strategy to use employee priority groups and/or priority-based hours balancing.
- From the Main Menu, select Administration > Application Setup > Scheduler Setup > Schedule Generation Strategy.
- Click New or select a strategy and click Edit.
- Set Overall Employee Preferences Weight to a positive value.
- Set Most Hours Per Week to a positive value.
- In Custom field for employee priority, select the field to use to rank the employees in a group. For example, Seniority.
- In Employee Priority Groups, select one or more priority groups listed in the Available Schedule Groups list and move them to the Selected Schedule Groups list.
- In Priority-based hours balancing (%), enter a value between 0 and 100.
- under- and over-coverage of demand, which is typically the dominant goal
- minimum and maximum number of hours worked per week, defined per employee
- shift-length restrictions
- other factors, such as the employee availability
- Click Save & Return.
When this setting is set to a non-zero value, the fairness of the hours distribution among all the employees of the scope should follow this percentage. The higher the weight, the more the engine attempts to apply fairness to the distribution of the weekly hours, compared to the other objectives as the workload coverage. For each priority group, the priority of assigned hours is generally a dominant objective.
Only schedule groups that do not have inheritance are displayed in Available Schedule Groups.
The order in which you select the groups determines the employee priority group for each employee.
For more information, see Configure a schedule generation strategy.
This setting adjusts how much senior employees (with higher priority) should receive more hours than junior employees (with lower priority). A high value encourages the fairness between senior and junior employees and a low value favors senior employees by to the detriment of junior employees.
When this setting has a value of 100%, employees should receive — as much as possible — the same number of hours worked during the week. Several factors may impact this objective:
For more information, see Configure a schedule generation strategy.
For more information, see Configure a schedule generation strategy.
Configure the system settings to enable the system to optimize hours distribution for the employee priority groups and/or to use priority-based hours balancing.
- In Administration > Application Setup > System Configuration > System Settings, select the Schedule Generator tab.
- Set site.scheduling.schedGen.solver.EmployeePreferenceHandlingStrategy to Individual Preferences.
- Set site.scheduling.schedGen.rules.emphasizeMinHours depending on the importance of the minimum hours per week rule.
- Set site.scheduling.schedGen.UseCompleteWeekDuringOptimization to True.
The Individual Preferences setting is required. Otherwise, the Priority-based hours balancing (%) value and the selected Priority Groups set in the Schedule Generation Strategy are ignored.
Set to Weekly Hours if the minimum hours per week rule is very important and should be respected as much as possible. Otherwise, set to None.
This setting is used by the specific aspects of the engine’s algorithms dedicated to the hours distribution and can significantly impact the solution.
When set to True, the engine adds days at the end of the optimization horizon, if needed, to collect data and schedule employees for entire weeks. The shifts created outside the optimization horizon are not returned.
This setting allows for a more consistent and robust calculation of the distribution of hours among employees.
- Click Tap Save.
Configure the employees' schedule rule sets to have a maximum hours per week rule.
- From the Main Menu, select Administration > Application Setup > Scheduler Setup > Schedule Rule Sets.
- Click the Employee Rules Sets tab.
- Click New or select a rule set and click Edit.
- Click the Hours tab.
- Set the parameters for the Maximum hours per week that the employee can be scheduled rule.
- Click Save & Return.
For more information about employee rule sets, see Configure schedule rule sets.
Employee priority groups and/or priority-based hours balancing are intended for specific contexts that have the following characteristics:
- Workload coverage is the dominant objective.
- The Most Hours per Week setting is implicitly considered as the dominant preference.
- Distributing hours according to the Priority-based hours balancing (%) setting is more important than minimizing any priority preferences inversions except the Most Hours per Week.
- Preference configurations are uniform across all employees. The week definitions across the configuration are coherent. No ties should exist between employee priorities.
For example, if the hire date defines the priority, there should be another criterion to break the ties between employees sharing the same hire date. Use the Generate Employee Shift Only option in the Engine Will setting for flexible contexts regarding shift construction rules. Note that, for example, assigning initial open shifts or generating employee shifts for workloads by shifts contexts are tight.
In addition to adhering to these target contexts, the following is recommended:
- Ensure the site.scheduling.schedGen.business.protocol.SprayOverCoverage system setting is set to False. This eases the computation and calibration efforts.
- Budget constraints could interfere with priority-based hour balancing. Configure Employee Priority Groups such that employees in a given group share several qualifications to avoid interference or concurrence between groups.
- Keep in mind that some rules and objectives, such as international rules, schedule stability, and grouped arrival, compete with the priority-based hour balancing.