Skip to main content

Configure OR-Tools in SmartRoster

Step-by-step guide to configuring the OR-Tools roster generation engine in SmartRoster, including optimisation goals, secondary priorities, validation rules, and shift length constraints.

Written by James Pardy

OR-Tools is configured through a nine-step wizard in SmartRoster Settings. Complete all steps before running OR-Tools for the first time. You can return to this wizard at any time to update the configuration.

⚠️ Important: OR-Tools Settings must be completed before OR-Tools can be used to generate a roster. If the settings are incomplete, the OR-Tools option will not be available on the SmartRoster dashboard.


Step 1: General settings

Step 1 covers general configuration for the OR-Tools engine, including the planning horizon and the team areas to include in roster generation.


Step 2: Choose the rostering engine

Select which roster generation engines are enabled for this configuration. You can enable OR-Tools only, AutoRoster only, or both. Enabling both makes the Run All and Compare Engines options available on the SmartRoster dashboard.


Step 3: Set the optimisation goal

The optimisation goal tells OR-Tools what to prioritise when generating the roster. This is the primary objective OR-Tools will optimise for, subject to the constraints defined in subsequent steps.

Optimisation goal

What OR-Tools prioritises

Minimise cost

Produce the lowest-cost roster that satisfies all constraints.

Maximise coverage

Maximise the number of staffing demand requirements met across the planning period.

Maximise fairness

Distribute desirable and undesirable shifts as equitably as possible across employees.


Step 4: Set secondary priorities

Secondary priorities are applied after the primary optimisation goal. When two roster solutions score equally on the primary goal, OR-Tools uses the secondary priorities to choose between them. Drag items in the list to set the priority order.


Step 5: Configure validation rules

Validation rules define the hard constraints OR-Tools must respect when generating the roster. These are drawn from the Validation Rules configured in XD. Select which rules apply to this OR-Tools configuration.

⚠️ Important: Validation rules act as hard constraints. OR-Tools will not produce a roster that violates a selected validation rule. If constraints are too restrictive, OR-Tools may not be able to find a valid solution.


Step 6: Set the minimum shift length

Define the minimum number of hours for a shift that OR-Tools can assign. Shifts shorter than this value will not be generated.


Step 7: Set the maximum shift length

Define the maximum number of hours for a shift that OR-Tools can assign. Shifts longer than this value will not be generated.


Step 8: Set the shift gap interval

Define the minimum gap, in hours, that must exist between shifts for the same employee. OR-Tools will not schedule an employee into a shift that starts before this gap has elapsed since their previous shift ended.


Step 9: Review and save

Step 9 displays a summary of all configuration choices made in Steps 1 to 8. Review the summary to confirm the settings are correct, then select Save to complete the OR-Tools configuration.

Did this answer your question?