Performance considerations for Auto-Assignment

The speed at which the optimization model can solve an Auto-Assignment problem depends on the complexity of the problem. The optimization model must evaluate each possible scheduling solution to determine the optimal solution, creating a schedule that breaks as few rules as possible and produces the lowest penalty score. Increasing the number of possible solutions that must be evaluated increases the complexity of the Auto-Assignment problem and time required to produce the optimal solution.

Being aware of the factors that contribute to complexity is important when designing Auto-Assignment groups. The complexity of an Auto-Assignment problem is a combination of all of the contributing factors. Following these best practices can significantly improve performance, decreasing the time required to generate a schedule, but the guidelines here should not be taken as absolute restrictions. Decisions that degrade performance may be required to satisfy union rules, policies, or regulations that govern schedule creation. These best practices are meant to help you design Auto-Assignment groups that perform faster and still satisfy all the business requirements. It is also meant to help troubleshoot Auto-Assignment groups that are suffering time outs or are taking too long to generate a schedule.

Performance effect of number of employees being scheduled

The number of employees being scheduled by the Auto-Assignment group contributes to complexity. As the number of employees increases, so does the number of potential schedules that can solve the scheduling problem. If different rules apply to different groups of employees, it is recommended to divide the employees into smaller Auto-Assignment groups. This reduces the level of complexity for each Auto-Assignment run.

Performance effect of rule selection and configuration

The number of rules an Auto-Assignment group uses has a significant effect on the complexity. Increasing the number of rules also increases the complexity of the scheduling problem. It is recommended to use careful planning to find the smallest number of rules that satisfies the business requirements.

Certain configurations of rules should be avoided, due to their effect on performance. When configuring min/max rules, avoid using the same minimum and maximum values, especially if these rules are used as constraints. For example, the rules require employees receive a minimum and maximum of five shifts per week. This would make it more difficult to satisfy other constraints, increasing the number of penalty calculations that must be made between potential solutions. Changing the rules so that a different minimum and maximum number of shifts is required per week gives the model more flexibility in finding solutions that satisfy as many constraints as possible.

The rules Minimum Type X Occurrences in Block and Maximum Type X Occurrences in Block should be used sparingly, as these rules have a significant effect on performance. Because the shift type must be evaluated in relation to a block of consecutive shifts, these rules increase the number of potential solutions. Instead, substituting a combination of Shift Type Y Must Follow Shift Type X and No Shift Type Y After Shift Type X rules is recommended if they can solve the business requirements.

Performance effect of constraints

The selection of rules as constraints and hard constraints can improve or degrade performance. Limit the use of regular constraints to as few rules as possible. Auto-Assignment must evaluate all potential solutions that break one or more constraints to determine the solution with the lowest penalty score. Increasing the number of constraints increases the number of potential solutions that must be evaluated.

Strategic use of hard constraints can improve performance. Auto-Assignment cannot break a hard constraint rule under any circumstances, and it immediately rules out any solution that breaks a hard constraint rule. This reduces the potential number of solutions that must be evaluated and reduces the complexity of the Auto-Assignment problem.

Business rules should be set as hard constraints when it is preferable to not produce any schedule instead of producing a schedule that breaks the rule. Hard constraints should be used with care, as they can create scenarios where it is impossible for Auto-Assignment to produce a feasible schedule.

See Hard constraints for more details on hard constraints.

Performance effect of weekend configuration

The weekend definition can affect performance when used in combination with rules that govern the assignment of weekend shifts. It is recommended to limit the weekend definition to a maximum period of 48 hours. Having a longer weekend increases the number of shifts that are considered weekend shifts. This increases the number of possible solutions that satisfy weekend rules. For example, more schedule combinations can satisfy a rule that employees must have weekend shifts on two consecutive days if the weekend definition includes three days instead of two.

The weekend definition can be adjusted from the standard 12:00 AM Saturday to 11:59 PM Sunday while still maintaining a 48-hour weekend. For example, to include Friday night, the weekend definition could begin at 6:00PM on Friday until 5:59 PM on Sunday.