Dynamic Scheduling - How does it work

Andrew Dotto Updated by Andrew Dotto

Purpose

This article is written to help you understand what Real Time Dynamic Scheduling is, how it works and the benefits you can get out of using this to support the delivery of your services.


Dynamic vs Other Scheduling Types

There are three types of scheduling currently being offered by major suppliers within the Field Service space right now. Real Time Dynamic Scheduling, Batch Scheduling and Point in Time Scheduling. All of these scheduling options have the ability to be 'Dynamic', in so far as they can provide scheduling solutions automatically, but not all of these 'Dynamic' Options will provide you with an optimal scheduling solution.

Real Time Dynamic Scheduling provides the highest amount of potential efficiency when reviewed against other scheduling types due to the constant optimisation of the diaries while still respecting the agreed obligations. It also comes with many additional benefits and when viewed against the scheduling functions of other types of scheduling, the cumulative savings and improvements are evident.

Dynamic

Batch

Point In Time

Optimisation

Real time optimisation respecting obligations, improving scheduling at every possible point.

Initial appointment is offered a dynamic appointment based on availability and some defined factors.  Diaries are optimised overnight but suffer the limitation of optimising an unoptimised appointment.

Appointments are provided at the point of contact following defined scheduling rules.  Appointments may or may not be best in slot.

Skills Match

Match worker abilities

Match worker abilities

Match worker abilities

Geolocation

Geolocation matching for available worker

Geolocation matching for available worker

Optional geolocation match for available worker

New Task Optimisation

Optimised at the point of initial appointment offering.

Best attempt at quality at the point of appointment offering

Attempt at quality based on current data at the point of appointment offering

Task Update

Diaries are optimised when jobs are updated

No optimisation when jobs are updated

No optimisation when jobs are updated

Additional Job Optimisation

Diaries are optimised when jobs are added

No optimisation when jobs are added

No optimisation when jobs are added

Overnight Optimisation

Whole availability optimisation for all scheduled jobs in the future

Availability optimised overnight for the next scheduled day

No overnight optimisation

Travel Time and Distance

Potential for low travel time between jobs

Potential for medium travel time between jobs

Potential for high travel time between jobs

User Effort

Potential low level of user management required

Medium level of user management required

High level of user management required

In the case of DRS, the scheduler is focussed on delivering optimal Global Travel Time. By this, we mean that we are looking to ensure that when optimising jobs, we want the Total Travel Time of all possible workers who can complete the job to be as low as possible.

It's important to remember that DRS is not looking to load balance effort across all workers, but is looking to ensure that all travel by all workers is as low possible, even if that means some workers being assigne slightly more jobs than others.


How Does DRS Optimise?

When a job is to be scheduled, or a diary is to be optimised, the scheduler first identifies all the workers with matching abilities and sector.

When there are existing routes, DRS will use a series of steps to ensure that each possible option for the scheduling of the job is considered to find the smallest addition to Total Global Travel Time.

In this example, we are presented with two existing worker schedules, filled with previously agreed appointments, and given a new red job to fit in.

When considering the possible appointments, DRS will attempt to move as many jobs around as necessary to provide your customers with the best availability your business can offer.

DRS has found an opportunity to add the new red job to the schedule of worker A, but in doing that, has left a job previously allocated to worker A unscheduled.

It can do this, because in assessing the route for worker B, we can provide an optimal solution that reduces Total Global Travel Time while ensuring that your jobs are optimally scheduled.

By moving multiple scheduled jobs, but still respecting the constraints of the appointment, we can ensure the maximum number of tasks can be completed with the least increase in Total Global Travel and Overheads.

Of course there may be many routes within which the yellow job could be inserted, and this could in turn lead to other jobs being moved, which may then end up in a solution that cannot be resolved. The scheduler decides which direction is the most promising and will try the other directions only if the first one did not lead to a good solution. It uses the increase in global travel time to evaluate the solution.


Optimising Schedules in the emerging day

When the day starts an assumption is made that the schedule has been optimised and we are starting with the schedule that we want to run with for the day

I.E. each operative has a list of jobs which we would ideally want to execute for the day

Whenever we receive an update from the mobile device (Accepted, Started, Completed) an attempt is made to re-schedule each of the jobs for the worker in question for the rest of the day.

In effect this means that the scheduler will attempt to move the job if it now can’t be completed in the day, otherwise no changes will take place. Because the scheduler is assessing impact on Global Travel tTime the best scheduling solution is usually to keep the jobs where they are. If during the optimisation the scheduler finds a better route to improve Total Global Travel Time, DRS will perform these schedule changes to ensure we are meeting our requirements in the most optimal way.

Of course when jobs are moved to a new route the same logic as for the insertion of a new activity applies.

Was this article useful?

Navigating DRS

Contact