Build a sorting and matching procedure set
- Procedures — A procedure is a step that groups priority rule sets.
- Rule sets — A priority rule set groups related sorting and matching rules in order. A step can contain any number or type of rule sets, in any order, or no rule sets at all.
Note: Be aware that running procedure sets that are configured with rules that invoke the Callable Totalizer can cause increases in overall execution times due to configuration factors, the date range the system requires to ask to totalize, and the number of employees included in the procedure set operations. For more information, see Configure sorting and matching rules.
- From the Main Menu, select Administration > Application Setup > Scheduler Setup > Sorting and Matching > Procedure Sets.
- Click New or select a procedure set and click Edit or Duplicate.
- To remove a procedure set, select the procedure and click Delete. Click Yes to confirm.
- Enter a Name and (Optional) Enter a Description.
- In the Context drop-down box, select Priority Scheduling Engine. Note that you cannot edit the context (see Contextual notes) after a procedure set has been saved.
- In the Step column, select one of the following procedures:
- Assign Only — By employees, by shifts, or sorting shifts by employee preference
- Conditional Unassign
- Reassign — By employee, by shifts or sorting shifts by employee preference
- Unassign Only
- After you select a procedure, predefined parameters are populated. To use these predefined parameters, click Save & Return. To customize the parameters, do the following:
- In the Parameter columns, select all of the required rule sets that sort employees, sort shifts, or match shifts and employees.
- To define another step, click Insert a new row. Repeat the options. A PSE procedure set can contain up to 20 steps.
- To remove procedures, click Delete this row. Click Yes to confirm.
- To change the order of a step, select the radio button and click the up or down arrows as needed.
- Click Save and Return. After a procedure set is saved, you cannot edit the context.
Caution: The order of steps significantly affects performance. Define the procedure set logically to avoid unnecessary processing, a slowed system, or an endless processing loop. Examples: An Unassign step after an Assign step undoes the results of the Assign step. A procedure set can loop on a list that adds items to itself. If the system suffers an endless loop, close Scheduler. Edit the procedure set.
The system does not validate when you save the procedure set. An error results in no matches of open shifts to employees, but no error message appears.
To troubleshoot a procedure set:
- Trace the PSE activity for specific employees in the PSE Audit.
- Trace all PSE activity in the debug log.
The PSE completes the steps in order from top to the bottom as shown in the following example.
- Full time, hire date 1994
- Part time, hire date 2004
- Part time, hire date 2002, Operator certification
- Full time, hire date 1989, Operator certification
- Full time, hire date 1985, Operator certification
- Per diem, hire date 2000
- Full time, hire date 1994, Operator certification
- Maintenance, Line-2, 630a–3p, 8 h
- Supervisor, Line-1, 630a–4p, 9 h
- Assembler, Line-1, 7a–330p, 8 h
- Assembler, Line-1, 730a–4p, 8 h
- Tester, Line-1, 730a–430p, 8.5 h
- Packager, Line-1, 930a–5p, 7 h
- Select the locations and time period.
- Select Actions > Run Priority Scheduling Engine.
- Select the procedure set.
- None of the employees have assigned shifts. To unassign shifts from employees, select a procedure set that unassigns the shifts first. For example, this process can “bump” or reassign employees.
-
Click Start.
- The process starts with the employees and the open shifts.
- The procedure set uses sorting employee, sorting shift, and matching rule sets to assign shifts. The Sorting Employee Rule Set Groups of restrictions and requirements that apply to jobs, hours, shifts, overtime, days, and certifications for employees. sorts the employees:
Rule set | Rules |
---|---|
Employee |
|
- Full time, hire date 1995, Operator certification
- Full time, hire date 1999, Operator certification
- Full time, hire date 2004, Operator certification
- Full time, hire date 2004
- Part time, hire date 2012, Operator certification
- Part time, hire date 2014
- Per diem, hire date 2010
The Sorting Shift Rule Set sorts the shifts:
Rule set | Rules |
---|---|
Shift |
|
- Supervisor, Line-1, 630a–4p, 9 h
- Assembler, Line-1, 7a–330p, 8 h
- Tester, Line-1, 730a–430p, 8.5 h
- Assembler, Line-1, 730a–4p, 8 h
- Packager, Line-1, 930a–5p, 7 h
- Maintenance, Line-2, 630a–3p, 8 h
The Matching Rule Set matches shifts to the employees:
Rule set | Rules |
---|---|
Matching |
|
For each matching rule, the PSE:
- Compares the first employee to each shift in order.
- Assigns the employee to the first available shift if all matching rules are met. For example, the PSE assigns the first employee to the first assembler shift because both the preferred time and the primary job match the shift.
- Compares the second employee to each remaining shift in order.
- Assigns the employee to the first available shift if all matching rules pass.
- Continues comparing and matching until all employees are matched, all shifts are matched, or the remaining employees or shifts do not meet all matching rules
Employees | Shifts |
---|---|
Full time, hire date 1995, Operator certification |
Assembler, Line-1, 7a–330p, 8 h |
Full time, hire date 1999, Operator certification |
Assembler, Line-1, 730a–4p, 8 h |
Full time, hire date 2004, Operator certification |
Tester, Line-1, 730a-430p, 8.5 h |
Full time, hire date 2004 |
Supervisor, Line-1, 630a-4p, 9 h |
Part time, hire date 2012, Operator certification |
Maintenance, Line-2, 630a-3p, 8 h |
Part time, hire date 2014 |
Packager, Line-1, 930a-5p, 7 h |
Per diem, hire date 2010 |
no shift available |
If the PSE cannot match an employee with an open shift, it does not assign a shift to that employee. Instead, it moves to the next employee in the list.
If open shifts remain, either:
- Accept the proposed shift assignments. Run the PSE again, but select a different procedure set to assign the remaining open shifts.
- Reject the proposed shift assignments. Run the PSE again, but select a different procedure set.
In the Step column, select a procedure.
In the Parameter columns, select all of the required rule sets that sort employees, sort shifts, or match shifts and employees.
To enable the Priority Scheduling Engine Audit for a step, select Audit.
Caution: PSE Audits use large amounts of storage space in the database. To minimize search time, enable audits for the minimum number of steps needed.
A PSE procedure set can contain up to 20 steps. To define another step:
- Click Insert a New Row. Repeat the options.
- To remove procedures, click Delete this Row. Click Yes to confirm.
Caution: The order of steps significantly affects performance. Define the procedure set logically to avoid unnecessary processing, a slowed system, or an endless processing loop. Examples: An Unassign step after an Assign step undoes the results of the Assign step. A procedure set can loop on a list that adds items to itself. If the system suffers an endless loop, close Scheduler. Edit the procedure set.
To change the order of a step, select the radio button:
- To raise, click the up arrow.
- To lower, click the down arrow.
Click Save and Return.
Note: The system does not validate when you save the procedure set. An error results in no matches of open shifts to employees, but no error message appears.
To troubleshoot a procedure set:
- Trace the PSE activity for specific employees in the PSE Audit.
- Trace all PSE activity in the debug log.
- Make sure that the procedure set generates the desired results. If not, adjust the rules, rules sets, and procedure sets. Test again.
- Complex configurations can require thorough testing. The objective is to provide procedure sets that quickly generate accurate and efficient schedules.
You cannot select the context in a predefined procedure set. After a procedure set is saved, you cannot edit the context.
The PSE completes the steps in order from top to the bottom:
Example PSE procedure set
Employees:
- Full time, hire date 2004
- Part time, hire date 2014
- Part time, hire date 2012, Operator certification
- Full time, hire date 1999, Operator certification
- Full time, hire date 1995, Operator certification
- Per diem, hire date 2010
- Full time, hire date 2004, Operator certification
Open shifts:
- Maintenance, Line-2, 630a–3p, 8 h
- Supervisor, Line-1, 630a–4p, 9 h
- Assembler, Line-1, 7a–330p, 8 h
- Assembler, Line-1, 730a–4p, 8 h
- Tester, Line-1, 730a–430p, 8.5 h
- Packager, Line-1, 930a–5p, 7 h
Action and results:
- Select the locations and time period.
- Select Actions > Run Priority Scheduling Engine.
- Select the procedure set.
- None of the employees have assigned shifts. To unassign shifts from employees, select a procedure set that unassigns the shifts first. For example, this process can “bump” or reassign employees.
-
Click Start.
- The process starts with the employees and the open shifts.
- The procedure set uses sorting employee, sorting shift, and matching rule sets to assign shifts. The Sorting Employee Rule Set sorts the employees:
Rule set | Rules |
---|---|
Employee |
|
Result of employee sort:
- Full time, hire date 1995, Operator certification
- Full time, hire date 1999, Operator certification
- Full time, hire date 2004, Operator certification
- Full time, hire date 2004
- Part time, hire date 2012, Operator certification
- Part time, hire date 2014
- Per diem, hire date 2010
The Sorting Shift Rule Set sorts the shifts:
Rule set | Rules |
---|---|
Shift |
|
Result of shift sort:
- Supervisor, Line-1, 630a–4p, 9 h
- Assembler, Line-1, 7a–330p, 8 h
- Tester, Line-1, 730a–430p, 8.5 h
- Assembler, Line-1, 730a–4p, 8 h
- Packager, Line-1, 930a–5p, 7 h
- Maintenance, Line-2, 630a–3p, 8 h
The Matching Rule Set matches shifts to the employees:
Rule set | Rules |
---|---|
Matching |
|
For each matching rule, the PSE:
- Compares the first employee to each shift in order.
- Assigns the employee to the first available shift if all matching rules are met. For example, the PSE assigns the first employee to the first assembler shift because both the preferred time and the primary job match the shift.
- Compares the second employee to each remaining shift in order.
- Assigns the employee to the first available shift if all matching rules pass.
- Continues comparing and matching until all employees are matched, all shifts are matched, or the remaining employees or shifts do not meet all matching rules
Final result of the matching rule set:
Employees | Shifts |
---|---|
Full time, hire date 1995, Operator certification |
Assembler, Line-1, 7a–330p, 8 h |
Full time, hire date 1999, Operator certification |
Assembler, Line-1, 730a–4p, 8 h |
Full time, hire date 2004, Operator certification |
Tester, Line-1, 730a-430p, 8.5 h |
Full time, hire date 2004 |
Supervisor, Line-1, 630a-4p, 9 h |
Part time, hire date 2012, Operator certification |
Maintenance, Line-2, 630a-3p, 8 h |
Part time, hire date 2014 |
Packager, Line-1, 930a-5p, 7 h |
Per diem, hire date 2010 |
no shift available |
If the PSE cannot match an employee with an open shift, it does not assign a shift to that employee. Instead, it moves to the next employee in the list.
If open shifts remain, either:
- Accept the proposed shift assignments. Run the PSE again, but select a different procedure set to assign the remaining open shifts.
- Reject the proposed shift assignments. Run the PSE again, but select a different procedure set.