Global Optimization Optimization Pt. 3

Preview:

Citation preview

Optimization Pt. 3Global OptimizationHaggai Gootwine, Simon Kuntz

Agenda

● The Optimization Challenge● A Scheduling Example - How grading works● The Process of Optimization● Tuning Optimization● Pitfalls

The Optimization Challenge

The Field Service Optimization Challenge

I schedule 100 Service Resources, each with 6 Service Appointments per day. So I need to route 600 jobs each day.

I want to do it:● Efficiently● To the satisfaction of my customers● Within the SLAs● While obeying regulations...

Diana

The Field Service Optimization Challenge

720 Combinations

Diana

1 Service Resource, 6 Service Appointments

The Field Service Optimization Challenge

2 Service Resources, 13 Service Appointments

6,227,020,800 Combinations

Diana

2 Service Resources, 13 Service Appointments

The Field Service Optimization Challenge5 Service Resources, 29 Service Appointments

Diana

8.84176e+30 Combinations!

600 Service Appointments per day.Efficiently, high CSAT, SLA compliance, regulations...

The Traveling Salesman Problem (TSP):

“Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?”

“The problem … is one of the most intensively studied problems in optimization”

The Field Service Optimization Challenge

The TSP and Field Service

Solve efficiently for hundreds of technicians

Consider more variables than just travel

Accomodate in-day changes

Work with contractors Provide coverage for remote areas Crews and multi day

Balance workload across territories Re-prioritize over time Various skills

How Field Service Lightning Optimization WorksLogic used for: Appointment Booking, Optimization, Smart Scheduling on Gantt

100s of Employees 5 Qualified Employees The Optimal Employee

Work Rules:Yes / No Qualifiers

Who can do the job?

Skill, Location, Availability, Required Resource, etc.

Service Objectives:Which employee is the best based on company KPIs?

Minimize Travel, Minimize Overtime, Prefer Contractors, Preferred Skill Set

A Scheduling Example - How grading works

Scheduling Examples

Basic scheduling example with Work Rules applied & Candidates explained

Work Rules:

Technician:

1. Skills2. Required Resources

Time:

3. Due Date4. Visiting Hours5. Travel

Service Objectives:

Technician:

1. Preferred Resource

Time:

2. ASAP3. Minimize Travel

+ How the different scheduling options are graded based on combination of weighted objectives

Scheduling Example - Equipment Callout

Scenario Description:

● Callout (Equipment malfunction) is created early in the morning on Tuesday, October 1st:

○ Requires a technician that is qualified to handle Callouts. ○ Customer SLA is 5 hours from the moment the Callout is received. ○ The customer site can only be serviced Mon-Fri, 8:00 AM - 11:00 AM.

● The following business goals are included in the Scheduling Policy:○ Callouts should be scheduled as soon as possible ○ Callouts should be assigned to the ‘Preferred Resource” when possible○ Travel costs should be minimized ○ When possible - avoid scheduling work in overtime slots

Work Rules - Who Can Do the Work?

● When an Equipment Callout comes in, it requires a technician that is qualified to handle Equipment Callouts. The Skill Requirement is listed on the Work Order:

● The “Match Skills” Work Rule ensures that only Resources that have the “Callout - Elevator” Skill are considered as candidates for the Work Order. For example;

Skilled Resources

Work Rules - Who Can Do the Job?

“Match Skills” Work Rule Skilled Resources

Available Resources Who has the “Callout” Skill? Candidate Resources

Work Rules - When Can the Work be Done?

● When an Equipment Callout comes in during the day, the latest time in which it can be scheduled (and completed) is based on the customer Service Level Agreement (SLA).

● On the Service Appointment, the “Due Date” field represents the calculated SLA of the Callout*

● The “Due Date” Work Rule ensures that only appointment times that allow the Callout to be scheduled before the Due Date are offered as candidate assignments.

○ “Due Date” is a mandatory Work Rule, therefore it is included in all Scheduling Policies.

Due Date

* Due Date is relevant for Appointment Booking, Arrival window is later relevant for optimization

Work Rules - When Can the Work be Done? Due Date

Due DateCandidate Assignments

Note: Travel to/from the appointment is calculated for each assignment and used as an additional factor to determine scheduling options

Work Rules - When Can the Work be Done?

● Certain customers should be serviced in specific hours of the day. For example, the following Operating Hours indicate that the customer can only be serviced Mon - Fri, between 8:00 AM - 11:00 AM:

● The “Visiting Hours” field on the Work Order links the Operating Hours of the customer to the Work Order.

● The “Service Appointment Visiting Hours” Work Rule ensures that only appointment times that fall within the customer Visiting Hours are offered as candidate assignments.

Visiting Hours

Work Rules - When Can the Work be Done? Visiting Hours

Visiting Hours

Candidate Assignments

Service Objectives - Who is the Best Candidate? Preferred Resources

● Ashley Sandoval is identified as the ‘Preferred Technician’ for the Location, and Preferred for Equipment Callouts.

Service Objectives - Who is the Best Candidate? Minimize Travel

● From a travel time perspective, assigning the Callout to Ashley Sandoval will add the least amount of travel time to the overall schedule.

Service Objectives - What is the Best Time? ASAP

● Scheduling the Callout to Dan Goldstone would mean the work can start as close as possible to 8:00 AM (Earliest Start Permitted).

Service Objectives - What is the Best Time? Minimize Overtime

● Overtime is not consumed in any of the scheduling options, therefore all candidates are graded equally for the “Minimize Overtime” Objective.

Scheduling Policies - What is the Best Assignment? Combination of Work Rules and Weighted Objectives

Scheduling Policies - What is the Best Assignment? Graded Assignments

Scheduling Policies - What is the Best Assignment? Graded Assignments

● Each assignment (technician / time) is graded for each Service Objective in the Scheduling Policy. That grade is then multiplied by the relative weight of that Service Objective.

● The result is the weighted grade of the assignment -

(ASAP Grade × ASAP Weight) + (Pref Res Grade × Pref Res Weight) + (Minimize Travel Grade × Minimize Travel Weight) + (Minimize Overtime Grade × Minimize Overtime Weight)

Scheduling Policies - What is the Best Assignment? Graded Assignments

How did we get to a grade of 99 for Dan Goldstone on Oct 1, 2019 8:00 AM?

Service Objective Weight (Percentage)

Assignment Grade

Weighted Grade

ASAP - Callouts 98.81 100 98.81

Preferred Resource 0.59 0 0

Minimize Travel 0.39 60 0.23

Minimize Overtime 0.19 100 0.19

Total = 99.23

The Process of Optimization

The Optimization Process:

Step 1: Initiate an Optimization request:

The Optimization Process:

Step 1: Fetching SAs relevant for Scheduling

(SchedStartTime = NULL Or SchedStartTime >=: start) And ( (SchedStartTime <=: finish and SchedEndTime >=: start) Or (ArrivalWindowStartTime <=: finish and ArrivalWindowEndTime >=: start) Or (EarliestStartTime <=: finish and DueDate >=: start and SchedStartTime = NULL) )

Meaning: - SAs scheduled prior to horizon aren’t considered- Scheduled Services that are Scheduled within the horizon (regardless of other properties)- SAs that have arrival window that fall within the horizon- Unscheduled SAs that can be scheduled within the horizon

The Optimization Process:

Step 2: Creation of Input JSON files - Optimization Data lookup field

The Optimization Process:

Step 2: Creation of Input JSON files - Related list on “Optimization Data”

The more SAs sent to optimization, the more JSON files created

Json Files = Clues to where the process breaks down

Tracing the movement of Data to and from the optimization engine, allows to determine where the process is interrupted, and can serve as guidance to where further investigation should focus.

Input&Output

The Optimization Process:

Step 3: Creation of output JSON files - Related list on “Optimization Data”

Tuning Optimization

● 145 Service

Appointments

across geographical

area

Data Overview

Data Overview

● 6 Technicians○ Chris: Francho St, Worongary QLD 4213

○ Darren: Durrant Ct, Tamborine QLD 4270

○ Greg: Aird St, Sandstone Point QLD 4511

○ Steve: Bacchus St, Burpengary QLD 4505

○ Matt: Boreen Ct, Helensvale QLD 4212

○ Shane: Hamel Rd, Holland Park West, QLD 4121

● 2 Homebase Relocations:○ Chris: 19.6, Mackay Airport

○ Steve: 17-18.6, Mornington

● Resource Absences:○ Greg: 19-21.6

● 2 weeks

○ Start - 10.6.2019 (Monday)

○ End - 21.6.2019 (Friday)

Data Overview

Assumptions

● Resources:

○ Working Hours: 8:00 -17:00

○ Overtime: 17:00- 20:00

○ Travel is at the expense of the Resource (first and last travel of every day)

○ No Lunch Breaks allocated during scheduling (same as data provided by BOC)

● Services:

○ All services can be scheduled within the 2 weeks:

■ Early Start Permitted: 10 June

■ Due Date: 21 June

○ No arrival windows configured

○ No visiting hours configured

● Utilization:

■ Calculated including Travel & Overtime

Baseline Schedule

Baseline Schedule

Baseline Schedule

Some Observations:

● Shane, 19.6 - problematic day

Baseline Schedule

Baseline Schedule

Measurement Baseline

Total Travel Time 5789 Min = 96.48 H

Avg Travel Per Service ~39 Min per Service

Total Overtime Consumed ~25 Hours of Overtime

Days over 100% (inc. overtime) 6 Days

Days working 57 Days

Avg SAs per day per resource 2.54 Services per day

Focus - Minimizing Travel

Minimize Travel Schedule

Optimised to Minimize Travel

Measurement Baseline Minimize Travel Improvement

Total Travel Time 5789 Min = 96.48 H 4809 Min = 80.15 H ~20%

Avg Travel Per Service ~39 Min per Service ~33 Min per service ~20%

Total Overtime Consumed

~25 Hours of Overtime ~12 Hours of Overtime ~52%

Days over 100% (inc. overtime)

6 Days 2 Days ~66%

Days working 57 Days 53 Days ~7%

Avg SAs per day per resource

2.54 Services per day 2.73 Services per day ~7%

Focus - Minimizing Overtime

Minimize Overtime Schedule

Metrics- Minimize Overtime

Measurement Baseline Minimize Overtime Improvement

Total Travel Time 5789 Min = 96.48 H 5595 Min = 93.25 H ~3%

Avg Travel Per Service ~39 Min per Service ~38.5 Min per Service ~3%

Total Overtime Consumed

~25 Hours of Overtime ~5.1 Hours of Overtime ~80%

Days over 100% (inc. overtime)

6 Days 1 Day ~83%

Days working 57 Days 56 Days ~2%

Avg SAs per day per resource

2.54 Services per day 2.58 Service per day ~2%

Focus - ASAP

ASAP Schedule

Metrics- ASAP

Measurement Baseline ASAP Improvement

Total Travel Time 5789 Min = 96.48 H 5646 Min = 94.1 H ~2.5%

Avg Travel Per Service ~39 Min per Service ~38.9 Min per Service ~2.5%

Total Overtime Consumed

~25 Hours of Overtime ~8.6 Hours of Overtime ~66%

Days over 100% (inc. overtime)

6 Days 1 Day ~83%

Days working 57 Days 55 Days ~3%

Avg SAs per day per resource

2.54 Services per day 2.6 Services per day ~3%

Summary

Metrics (next step is to assign a $ value to each KPI)

Measurement Baseline Minimize Travel Minimize Overtime

ASAP

Total Travel Time 5789 Min = 96.48 H 4809 Min = 80.15 H 5595 Min = 93.25 H 5646 Min = 94.1 H

Avg Travel Per Service ~39 Min per Service ~33 Min per service ~38.5 Min per Service ~38.9 Min per Service

Total Overtime Consumed

~25 Hours of Overtime

~12 Hours of Overtime

~5.1 Hours of Overtime

~8.6 Hours of Overtime

Days over 100% (inc. overtime)

6 Days 2 Days 1 Day 1 Day

Days working 57 Days 53 Days 56 Days 55 Days

Avg SAs per day per resource

2.54 Services per day 2.73 Services per day 2.58 Service per day 2.6 Services per day

Pitfalls, tips and tricks

Rule Violations

Work Rules and Rule Violations

Scheduling and Optimization services/ actions will never schedule work to resources while violating Work Rules.

Manual override is possible on the Gantt itself, in which case a Rule Violation notification will be shown, and an explanation highlighting which Work Rule is violated will be shown in the tooltip.

Rule Violations

Optimization will not attempt to optimize rule violating services

Should I exclude travel from home base?

Minimize Travel Objective: Exclude HB travel

Minimize Travel Objective: Exclude HB travel

VS

Flagging SAs for Tuning

Minimize Travel Objective: Exclude HB travel

Recommended