Implementing Scheduling Techniques

Objectives

After completing this lesson, you will be able to:
  • Understand how assisted scheduling is used in SAP Field Service Management
  • Efficiently assign and optimize technician schedules using the Assisted Planning tools within SAP Field Service Management.

Overview

The figure explains the various planning modes in field service management.

Within Field Service Management, three modes of scheduling are distinguished. They differ in the balance of manual involvement versus machine processing.​

Manual Planning
is the classic way of assigning activities to technicians: by drag and drop, possibly using the various filter options on the planning board to find suitable technicians.
Assisted Planning
consists of various functions on the planning board that help the dispatcher find suitable technicians and fill or rearrange their schedules in an efficient way. These functions are triggered manually, on request by the user.
Automatic planning and optimization
-also referred to as Autoscheduling- refer to completely automatic assignment of activities to technicians, or the re-optimization of existing assignments. Autoscheduling has similarities with Assisted Planning, but is executed without user input, instead relying on event- or schedule-driven business rules.

Both Assisted Planning and Autoscheduling share much of the same technical infrastructure and use the same data. Both features rely on so-called policies, that determine which candidate assignments are valid, and which candidate assignments are considered 'optimal'.

The figure shows example use cases for assisted scheduling.

Assisted or automatic scheduling can be used in a number of different ways. These use cases are supported by different features and APIs. In the background, the features and APIs rely on the Field Service Management Autoscheduling Framework for processing the data and delivering the required output. Examples include the following:

  • Best Matching Technician (also called 'Find Matching Technician'): who is best suited to execute a currently unplanned job
  • Planning Widget: assign several currently unplanned jobs in an optimized schedule or sequence

A further feature, the Slot Finding API, helps, for a given activity, to find the best-matching technician in one or more time slot slots. This feature is however only available via a technical interface (API), and is not available on the UI. As such, it is not discussed further in this section.

The figure shows example use cases for autoscheduling.

Autoscheduling refers to scheduling and optimization without user intervention, usually through a business rule. It can be based on specific events (as detected on the database) or on specific schedules. Autoscheduling can also be triggered externally, for example, by an external service or system.​

Depending on the use case, a set of activities are newly assigned and/or reassigned ​to a set of technicians.

For example, a periodic re-optimization could do the following: every night, a business rule selects the activities already assigned for execution the day after tomorrow, and unassigned activities that could be executed in the same period. It selects technicians with the job title 'field service engineer'. It then calculates a new optimal schedule, possibly assigning new activities, possibly discarding existing assignments, and possibly rearranging the sequence of activities for technicians.

Another example is the automatic assignment of a new activity: When a new activity is created (for example through integration), this event triggers a business rule that starts optimization framework for this single activity and all available technicians. This prevents jobs from backing up in the queue awaiting a scheduled planning round or manual intervention .

Data Quality

All functions relating to assisted- or automatic scheduling rely on a consistently high data quality. For example, data related to dates and times, locations, and skills/skill requirements need to be available and precise. More on this in the related advanced section.

Assisted Scheduling

The figure explains the procedure to find the best matching technician.

The dispatcher can use Find matching Technicians(also called: Best Matching Technician, BMT) function to find persons who are best suitable to execute a given, single activity. This function is available be pressing the right mouse button and selecting Find matching Technicians The system then evaluates possible assignments of that activity to one of the technicians that is visible on the planning board. In the side bar, the best candidate assignments are displayed. For each technician, only the earliest possible and valid assignment is shown and scored. The best option -that is, the candidate assignment with the highest score, is shown on top. From the side bar, the activity can be directly assigned to the selected technician.

BMT inherits the filter values from the Planning Board . Thus, if there are any filters set by the dispatcher, Best Matching Technician only considers technicians that are visible on the planning board. The maximum amount of technicians considered for ranking is 100.

Explanation of the best matching technician.

The validity of candidate assignments and the score are based on the selected policy. The following standard policies are available:

Skills
This policy considers primarily the qualifications of the technician in relation to the requirements linked to the activity. The technician must have the required skill, while meeting optional skill requirements results in higher scores.
Distance
This policy considers primarily the driving time required for a technician to reach the activity location. This is realized in the form of a calculated driving time, with shorter driving times resulting in higher scores.
Distance and skills
This policy combines all of the specific rules and objectives present in the Distance and Skills policies, resulting in the activity being awarded to the most qualified technician who can reach the activity fastest. Shorter driving times are rewarded more than meeting optional skills.
Earliest
This policy is of a slightly different nature than the above three policies and aims to ensure that activities are assigned as soon as possible. This can be particularly useful for urgent activities or emergency situations. It prioritizes assignments of jobs (i.e., activities) starting closer to their earliest start date.

The functions for assisted scheduling can also use acustom policy. Custom policies can be completely tailored to the business needs. Due to the advanced nature of custom policies, they are not discussed here.

Illustration of the capabilities of the Planning widget.

The Planning Widget assists you in dispatching multiple activities to multiple technicians based on criteria defined in a policy. You can access the Planning Widget on the Dispatching Board in the Planning and Dispatching application. There, it is available in the sidebar on the right. You can decide which activities should be assigned by dragging activities from the planning list onto the planning widget and dropping them there. After pressing the Schedule now button, this system proceeds by assigning the selected activities to the technicians visible on the planning board. Consider the following:

  • Time Frame and Due Date Handling: The system takes the duration of 10 days starting the moment you trigger the widget as the time frame to look for suitable technicians. Within this time frame, the Planning Widget can consider activities that are due in the future as well as activities that have passed their due date.
  • Technicians: For the possible technicians, the system takes only the technicians that are currently displayed on the Planning Board the moment you trigger the feature. That means, if you have set filters and certain technicians are not displayed, then they will not be considered by the system.
  • Activities: The planning widget can only schedule 40 jobs at a time.
  • Policies: The Planning Widget works with 1 specific optimization policy that has to be defined centrally (under Settings and ConfigurationPlanning and DispatchingGeneral SettingsActivity SettingsActivity Planning. There, an administrator (or similar) can select from the standard auto-scheduling policies, as well as from any custom policies, if available. This means that dispatchers can not change the applied policy themselves.

Overall, the widget provides the following:

  • Manual trigger for scheduling of queued jobs. Only a manual trigger is supported (no scheduled run).
  • Assigning jobs to technicians displayed on the dispatching board.
  • Viewing results for each scheduling run by looking at the list of scheduled and failed assignments.

Using the planning widget UI only allows you to plan for a period of 10 days. That is current time plus 10 days. For example, if the current time is 2021-12-20 13:37:00 the jobs added to the widget will be planned only until 2021-12-30 13:37:00.

Overview of the available quick planning functions.

The Fill Schedule feature enables planners to automatically fill the schedule of a technician. The system identifies the free time slots in the schedule and then automatically assigns the matching activities from the planning list to the technician.

The Rearrange Schedule feature enable planners to automatically rearrange the schedule of a technician. The system identifies the optimization potential and automatically rearranges the activities ( = existing assignments) based on, for example, the driving times and required skills. When using the Quick Planning Functions, please consider the following:

  • You can only fill the schedule of internal technicians, not external technicians.
  • You can only fill the schedule if you have selected 1 day or 2 days on the Planning Board.
  • We do not recommend filling or rearranging the schedule for activities for which the determination of planned duration set to AUTOMATIC.
  • For the rearrangement, the following activities are not considered:
    • Grouped activities
    • Activities with supporting technicians
    • Activities which are scheduled as part of a team
  • As with the Planning Widget, the Quick Planning Functions work with 1 specific optimization policy that has to be defined centrally

Log in to track your progress & complete quizzes