Dynamic Scheduling in Mobile Workforce Management Ralf Keuthen Contents Automated Mobile Workforce Management The Workforce Scheduling Problem TASKFORCE System Overview Issues Current/Future Work Mobile Workforce Management a.p.solve -- A Short History Involved in mobile workforce management since 1987. Produced two major Work Management Systems which have evolved into the TASKFORCE products we currently market. a.p.solve (100+ employees) was spun out via the British Telecom’s Brightstar business incubator initiative in April 2003. a.p.solve’s planning and scheduling products primarily support the management of mobile workers via Personal Digital Assistants and mobile telephony. Scope Large telecommunication, cable, utility and fix & repair companies typically maintain a fieldforce of 100s - 10,000s of technicians The fieldforce supplies provision of service, repair and maintenance tasks on a daily basis (between 1000s - 100,000s of tasks/day) Customers Residential, Business (provision, repair) Company itself (maintenance, repair) Example: Mobile Workforce at British Telecom BT Customer Access: a.p.solve’s TASKFORCE products currently schedule BT’s workforce of Service Technicians. ~25,000 field technicians ~150,000 tasks every day across the United Kingdom. A high quality service at low operational cost needs to be delivered. Work Management Organisation Domains: Geographical partition of the work area into autonomous domains Domains controlled by automated work management system Supervised by a human controller Organisation: How it works Customer Service Work allocation and visualisation Dispatch work to technicians TASKFORCE • Handheld terminal • Call Centre • Network Service • Laptop • Mobile Organisation: How it works Customer Service: take customer calls arrange appointments TASKFORCE: provide customer service with a selection of appointment slots Allocate work to technicians dispatch work to technicians Technicians receive work details travel to and carry out work report back when work is finished Workforce Management: From a Scheduling Point of View Scheduling Model Resources: Technicians Vehicles and other equipment Activities: provision, repair and maintenance work Constraints: time windows, access restrictions precedence constraints co-op, assists, etc. Main Objectives Right man - right time - right place - right costs Maximise productivity number of tasks scheduled most efficient resource for each task Ensure a high quality of service compliance with agreed appointments & due dates work importance - Minimise costs travel times waiting/idle times overtime Other Objectives Workforce satisfaction task preferences preferred working areas Business rules every technician gets a job avoid task splitting (when possible) Avoid disturbances robust schedules flexible schedule Some of these contradict one another Issues Dynamics/Uncertainties/Complexities of problem Scale The need for a totally automated, online, system. Dynamics Tasks The company and its customers can request cancel amend tasks (at all time!!) Resources Availability subject to last minute changes personal absence, sick leave, etc changes to task completion times vehicle breakdown Uncertainties Duration of tasks Uncertain due to exact scale of work often unknown before a technician arrives on site varying technician skill levels Travel times Uncertain due to weather traffic conditions Business objectives Resource manager can change business objectives Complexities Complex mixture of tasks: Inter task dependencies can be complex different execution target times (appointment/completeBy) different task priorities: Infill tasks - high priority business tasks Wide range in the duration of tasks: 8 mins - several days coops, assists tasks pre-installation tasks stock point visits, etc Site access restrictions security access business opening times road closure, etc Complexities Geographical complexities Skills heterogeneous workforce diverse skill set Work type and work skill imbalances diverse (London vs East Wales, etc) Preferred working areas some geographical areas can be under resourced certain skills can be under resourced Business Rules Scale Scale of individual problems domain dependent Technicians: 10s to 100s of technicians Tasks: 100s to 1000s of tasks Scheduler needs to cope efficiently with all domains Issues No realistic forecasting possible! Assumed ‘static’ environment? Optimised schedules quickly become sub optimal or even infeasible What is optimality in an dynamic environment? First thing in the morning everything changes !! (sick leave, new tasks, etc) Building robust/flexible schedules? Limited applicability Radical changes to the current schedule may be desired Needed Automation Automated data flow from order source systems to job dispatch. Schedule revision must be automatic and robust. On line Dispatcher must be able to cope with corrupted schedules. The real-line monitoring of the location of mobile technicians and their expected completion times is important. Scheduling Opportunities: Impact of Personal Digital Assistants on Scheduling Practice: Mobile phones, laptops, handheld terminals, the Internet, etc allows to dispatch tasks to mobile workers in real time tasks are (usually) dispatched one by one Scheduling impact: allows to adjust the schedule to the changed environment allows to correct (some) scheduling decisions made earlier However, the time available to react to changes is very limited Reacting to Changes: Scheduling Opportunities: Rescheduling Dynamic scheduling Real-time scheduling On-line scheduling Reactive scheduling Reactive Scheduling: In a stochastic environment, such as human resource scheduling Reactive scheduling Monitor changes Analyse impact on current schedule Adjust schedule accordingly schedule repair focused re-optimisation etc. Reactive Scheduling Tools: Identify processing bottlenecks Exploit scheduling opportunities Maintain schedule stability and existing process plans. Refine solutions. Repair constraint violations. Summarise solution states for human controllers and software agents. Dispatch scheduling tasks to field technicians with respect to current schedule state and customer demand. Execution cycle Monitor Execute Analysis Optimise Revision TASKFORCE System Overview TASKFORCE Developed by BT and employed since 1997. TASKFORCE supports: Resource Management Operations Management Schedule/Jeopardy Management Progress Management Scheduling & Dispatching System Overview Scheduling Architecture Employed scheduling engines: Intelligent Appointer Interrupt Scheduler Dynamic Scheduler Dispatcher Visualisation & What-If Scheduling Architecture Overview Visualiser Intelligent Appointer DS Optimiser Dispatcher Pre-scheduler Schedule Manager Interrupt Scheduler Intelligent Appointer Controller/call centre support tool Heuristic based find a set of feasible appointment slots based on the current schedule suggest feasible appointment slots to human controller controller books appointment slot and associates time windows with the new task task is sent to schedule manager Interrupt Scheduler Automatic Schedule Revision: Reallocation algorithm to support appointment reservations. A customer requests a technician to attend his premises between 9am and 12am. The system can’t find an available resource between these hours but can identify a sequence of reallocations to free a technician to attend the customer. Dynamic Scheduler: Repair/Optimisation Responsibilities: Construct high quality start-of-day schedule Rebuild, repair, update & re-optimise while schedule is being executed How it works: Build provisional schedule Perform frequent short batch runs to rebuild a feasible schedule Dynamic Scheduler: Techniques Pre-scheduling: Reload Tree Search assigning hard to schedule tasks linked and try to rebuild old schedule tasks, very long tasks, very important tasks Optimisation: Stochastic Local Search Simulated Annealing. Currently looking into more focused techniques such as exploring large neighbourhoods based on an ejection chain model, Guided Local Search, etc Automatic Dispatcher Online and event triggered Rule based system. If Field Technician request work then the Dispatcher identifies a task for the technician to service. This invariably results in the need to repair a damaged schedule Schedule analysis will produce state summary reports that support schedule repair after an unscheduled activity execution. Focal point Neighbourhood of impact Conflict duration Conflict size Schedule Visualisation Compress schedule information and represent it in a way that can easily be captured by the user Provides the human controller with: statistics tour task tables Gantt chart map tour representation what-if analysis tools Schedule Visualisation: Gantt Chart Schedule Visualisation: Map Current/Future Work Dynamic Work Crew Scheduling Fieldforce activities can often not be carried out by a single person but need multi skilled crews security reasons (gas, electric, ladder, etc.) activity reasons (two sides of a cable, heavy equipment) specific equipment (elevator unit, crane, etc) Examples: Expansion/repair of the telephone network Electricity/gas/water supply to new build homes etc. Dynamic Work Crew Scheduling Problems: Complex workpackages (set of linked tasks) long tasks (2h to a few weeks) many intertask dependencies different configurations possible Skill matching is Task duration If a crew skill the sum of its crew member skills? 2 people need 1 hour do 4 people need only 1/2 hour? How and when to build, combine or break crews in a changing environment? Incremental Scheduler Instead of Rescheduling - React to changes immediately Combine scheduling algorithms & dispatcher Basic Idea: Monitor arrival of new tasks resources early or getting delayed tasks moving close to deadlines React changes to changes in real time insert new tasks once they arrive move tasks that are getting likely to failure re-optimise parts of the schedule (focused local search) www.apsolve.com Intelligent End-to-End Fieldforce Automation