66
Optimization Pt. 3 Global Optimization Haggai Gootwine, Simon Kuntz

Global Optimization Optimization Pt. 3

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Global Optimization Optimization Pt. 3

Optimization Pt. 3Global OptimizationHaggai Gootwine, Simon Kuntz

Page 2: Global Optimization Optimization Pt. 3

Agenda

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

Page 3: Global Optimization Optimization Pt. 3

The Optimization Challenge

Page 4: Global Optimization Optimization Pt. 3

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

Page 5: Global Optimization Optimization Pt. 3

The Field Service Optimization Challenge

720 Combinations

Diana

1 Service Resource, 6 Service Appointments

Page 6: Global Optimization Optimization Pt. 3

The Field Service Optimization Challenge

2 Service Resources, 13 Service Appointments

6,227,020,800 Combinations

Diana

2 Service Resources, 13 Service Appointments

Page 7: Global Optimization Optimization Pt. 3

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...

Page 8: Global Optimization Optimization Pt. 3

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

Page 9: Global Optimization Optimization Pt. 3

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

Page 10: Global Optimization Optimization Pt. 3

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

Page 11: Global Optimization Optimization Pt. 3

A Scheduling Example - How grading works

Page 12: Global Optimization Optimization Pt. 3

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

Page 13: Global Optimization Optimization Pt. 3

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

Page 14: Global Optimization Optimization Pt. 3

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

Page 15: Global Optimization Optimization Pt. 3

Work Rules - Who Can Do the Job?

“Match Skills” Work Rule Skilled Resources

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

Page 16: Global Optimization Optimization Pt. 3

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

Page 17: Global Optimization Optimization Pt. 3

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

Page 18: Global Optimization Optimization Pt. 3

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

Page 19: Global Optimization Optimization Pt. 3

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

Visiting Hours

Candidate Assignments

Page 20: Global Optimization Optimization Pt. 3

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.

Page 21: Global Optimization Optimization Pt. 3

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.

Page 22: Global Optimization Optimization Pt. 3

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).

Page 23: Global Optimization Optimization Pt. 3

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.

Page 24: Global Optimization Optimization Pt. 3

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

Page 25: Global Optimization Optimization Pt. 3

Scheduling Policies - What is the Best Assignment? Graded Assignments

Page 26: Global Optimization Optimization Pt. 3

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)

Page 27: Global Optimization Optimization Pt. 3

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

Page 28: Global Optimization Optimization Pt. 3

The Process of Optimization

Page 29: Global Optimization Optimization Pt. 3

The Optimization Process:

Step 1: Initiate an Optimization request:

Page 30: Global Optimization Optimization Pt. 3

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

Page 31: Global Optimization Optimization Pt. 3

The Optimization Process:

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

Page 32: Global Optimization Optimization Pt. 3

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

Page 33: Global Optimization Optimization Pt. 3

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

Page 34: Global Optimization Optimization Pt. 3

The Optimization Process:

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

Page 35: Global Optimization Optimization Pt. 3

Tuning Optimization

Page 36: Global Optimization Optimization Pt. 3

● 145 Service

Appointments

across geographical

area

Data Overview

Page 37: Global Optimization Optimization Pt. 3

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

Page 38: Global Optimization Optimization Pt. 3

● 2 weeks

○ Start - 10.6.2019 (Monday)

○ End - 21.6.2019 (Friday)

Data Overview

Page 39: Global Optimization Optimization Pt. 3

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

Page 40: Global Optimization Optimization Pt. 3

Baseline Schedule

Page 41: Global Optimization Optimization Pt. 3

Baseline Schedule

Page 42: Global Optimization Optimization Pt. 3

Baseline Schedule

Page 43: Global Optimization Optimization Pt. 3

Some Observations:

● Shane, 19.6 - problematic day

Baseline Schedule

Page 44: Global Optimization Optimization Pt. 3

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

Page 45: Global Optimization Optimization Pt. 3

Focus - Minimizing Travel

Page 46: Global Optimization Optimization Pt. 3

Minimize Travel Schedule

Page 47: Global Optimization Optimization Pt. 3
Page 48: Global Optimization Optimization Pt. 3

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%

Page 49: Global Optimization Optimization Pt. 3

Focus - Minimizing Overtime

Page 50: Global Optimization Optimization Pt. 3

Minimize Overtime Schedule

Page 51: Global Optimization Optimization Pt. 3

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%

Page 52: Global Optimization Optimization Pt. 3

Focus - ASAP

Page 53: Global Optimization Optimization Pt. 3

ASAP Schedule

Page 54: Global Optimization Optimization Pt. 3

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%

Page 55: Global Optimization Optimization Pt. 3

Summary

Page 56: Global Optimization Optimization Pt. 3

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

Page 57: Global Optimization Optimization Pt. 3

Pitfalls, tips and tricks

Page 58: Global Optimization Optimization Pt. 3

Rule Violations

Page 59: Global Optimization Optimization Pt. 3

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.

Page 60: Global Optimization Optimization Pt. 3

Rule Violations

Optimization will not attempt to optimize rule violating services

Page 61: Global Optimization Optimization Pt. 3

Should I exclude travel from home base?

Page 62: Global Optimization Optimization Pt. 3

Minimize Travel Objective: Exclude HB travel

Page 63: Global Optimization Optimization Pt. 3

Minimize Travel Objective: Exclude HB travel

VS

Page 64: Global Optimization Optimization Pt. 3

Flagging SAs for Tuning

Page 65: Global Optimization Optimization Pt. 3

Minimize Travel Objective: Exclude HB travel

Page 66: Global Optimization Optimization Pt. 3