111
ESRI Technology ESRI Technology Routing Technology Focus Routing Technology Focus Don Weigel Don Weigel - Program Manager - Program Manager Transportation/Logistics Products and Transportation/Logistics Products and Services Services [email protected] [email protected] (909) 793-2853 ext. (909) 793-2853 ext.

ESRI Routing

Embed Size (px)

Citation preview

Page 1: ESRI Routing

ESRI TechnologyESRI Technology

Routing Technology FocusRouting Technology Focus

Don Weigel Don Weigel - Program Manager- Program ManagerTransportation/Logistics Products and ServicesTransportation/Logistics Products and [email protected]@esri.com (909) 793-2853 ext. 1766 (909) 793-2853 ext. 1766

Page 2: ESRI Routing

OutlineOutline• OverviewOverview

– Why GIS?Why GIS?– A few applicationsA few applications– Integration of GIS and OR for Routing and Integration of GIS and OR for Routing and

Site LocationSite Location– ApplicationsApplications– GIS Data ManagementGIS Data Management– MethodologyMethodology– Object ModelObject Model

Page 3: ESRI Routing

Customer LocationsCustomer Locations

Trade AreasTrade AreasStreet NetworksStreet Networks

Post CodesPost Codes

Market PotentialMarket PotentialDemographicsDemographics

Why Use Maps?Why Use Maps?

Because Because Everything is Everything is SomewhereSomewhere......

... and ... and somehow somehow connected.connected. A way to A way to

model and model and better better understand understand the worldthe world

Page 4: ESRI Routing

How Does GIS How Does GIS Help in Routing?Help in Routing? Customer

Database

- Street Topology/Speed- Street Topology/Speed - Address Ranges- Address Ranges - Graphics- Graphics

DispatcherDriver

Geocode

Solver

Manifest,Directions,

Maps

Page 5: ESRI Routing

GIS is… Spatial Data GIS is… Spatial Data Creation and EditingCreation and Editing

Radius = 40

Radius = 55

Page 6: ESRI Routing

• Multiple edit Multiple edit sessions andsessions andlong transactionslong transactions

• One databaseOne database

A

CB

Version A Version B Version CGIS is... Data ManagementGIS is... Data Management

Page 7: ESRI Routing

GIS is … AnalysisGIS is … Analysis

Page 8: ESRI Routing

1996 to 2001 Change

# # #

#

##

#

##

#

#

# ##

###

#

########

# #

######

#

####

### ##### #

##

#######

######

#####

########

####

#

#####

# #

###

######## ###

###### ##

#### ###

#####

#

### ##

######

#######

###

#

#

#

#

#

#

#

#

### #

# ####

##

#########

##

###

###

##

##

####

##

## ######

#

##

#####

#######

####### #

##

###

#

####

##

#

##

###

#

##### #

##

###

###

#####

##

###

###

#

##

###

###

##

#

###

###

###

##

###

#

### #####

####

###

##

#####

####

###

##

####

### ###

### ##

#######

#

#

##

#

####

##

###

#

###

#

### #

##

###

####

##

###

####

#

####

##

#

##

# #

####

###

##

#

#

##

#

####

##

#

##

###

####

#####

###

####

#

#####

### ##

####

#

##

# ##

##

#

####

# ###

#

#

#

####

#

###

##

## ##

#### ##

###

####

##

##

##

##

######

#

##

###

###

######

##

1996 Population Density

2001 Population Density

1996 Penetration

1996 to 2001 Change

# # #

#

##

#

##

#

#

# ##

###

#

########

# #

######

#

####

### ##

### ##

#

#######

######

#####

########

####

#

#####

# #

###

######## ###

###### ##

#### ###

#####

#

### ##

######

#######

###

#

#

#

#

#

#

#

#

### #

# ####

##

#########

##

###

###

##

##

####

##

## ######

#

##

#####

#######

####### #

##

###

#

####

##

#

##

###

#

##### #

##

###

###

#####

##

###

###

#

##

###

###

##

#

###

###

###

##

###

#

### #####

####

###

##

#####

####

###

##

####

### ###

### ##

#######

#

#

##

#

####

##

###

#

###

#

### #

##

###

####

##

###

####

#

####

##

#

##

# #

####

###

##

#

#

##

#

####

##

#

##

###

####

#####

###

####

#

#####

### ##

####

#

##

# ##

##

#

####

# ###

#

#

#

####

#

###

##

## ##

#### ##

###

####

##

##

##

##

## ####

#

##

###

###

######

##

1996 Population Density

2001 Population Density

2001 Penetration

1996 to 2001 Change

# # #

#

##

#

##

#

#

# ##

###

#

########

# #

######

#

####

### ##### #

##

#######

######

#####

########

####

#

#####

# #

###

######## ###

###### ##

#### ###

#####

#

### ##

######

#######

###

#

#

#

#

#

#

#

#

### #

# ####

##

#########

##

###

###

##

##

####

##

## ######

#

##

#####

#######

####### #

##

###

#

####

##

#

##

###

#

##### #

##

###

###

#####

##

###

###

#

##

###

###

##

#

###

###

###

##

###

#

### #####

####

###

##

#####

####

###

##

####

### ###

### ##

#######

#

#

##

#

####

##

###

#

###

#

### #

##

###

####

##

###

####

#

####

##

#

##

# #

####

###

##

#

#

##

#

####

##

#

##

###

####

#####

###

####

#

#####

### ##

####

#

##

# ##

##

#

####

# ###

#

#

#

####

#

###

##

## ##

#### ##

###

####

##

##

##

##

## ####

#

##

###

###

######

##

1996 Population Density

2001 Population Density

1996-2001 Change

GIS is… ModelingGIS is… Modeling

Page 9: ESRI Routing

GIS is… Tracking Real Time GIS is… Tracking Real Time EventsEvents

Page 10: ESRI Routing

GIS is… Charting and ReportingGIS is… Charting and Reporting

Page 11: ESRI Routing

GIS is… VisualizationGIS is… Visualization

Page 12: ESRI Routing

GIS is… Mission CriticalGIS is… Mission Critical

Page 13: ESRI Routing

Map “Overlay” =Map “Overlay” =Relational “Join”Relational “Join”

Coordinates are theCoordinates are the““Common Keys”Common Keys”

Spatial Data ManipulationSpatial Data Manipulation

e.g. Customerse.g. Customers

e.g. Districtse.g. Districts

Spatial DatabaseSpatial DatabaseLayersLayers

GIS Creates “Spatial Relationships” GIS Creates “Spatial Relationships” Between Otherwise Unrelated DataBetween Otherwise Unrelated Data

Page 14: ESRI Routing

Shared Shared GeoDataGeoData

Organisation XOrganisation X

Organisation YOrganisation Y

Department ADepartment A

Department CDepartment C

Department BDepartment B

The PublicThe Public

GIS is... Organizational GIS is... Organizational IntegrationIntegration

Page 15: ESRI Routing

And yes, MappingAnd yes, Mapping

Page 16: ESRI Routing

The “Value-add” of GIS is The “Value-add” of GIS is Accurate Distance Accurate Distance

(and Time) Computation(and Time) Computation

Page 17: ESRI Routing

Many Companies Offer Many Companies Offer Logistics Solutions but they Logistics Solutions but they

Fake the DistancesFake the DistancesEuclidean Distance or if they’re Euclidean Distance or if they’re “fancy”, they correct for Earth “fancy”, they correct for Earth

curvaturecurvature

Page 18: ESRI Routing

This may work in Kansas...This may work in Kansas...

But not anywhere that has But not anywhere that has interesting geography e.g. interesting geography e.g. lakes, rivers, mountains, lakes, rivers, mountains,

canyons, etc.canyons, etc.

Page 19: ESRI Routing

Euclidean vs. Actual MilesEuclidean vs. Actual Miles

39.89 miles as the crow flies39.89 miles as the crow flies52 miles actual52 miles actual

19.58 miles as the crow flies19.58 miles as the crow flies39.98 miles actual39.98 miles actual

Page 20: ESRI Routing

Euclidean vs. Actual MilesEuclidean vs. Actual Miles

3.9 miles as the crow flies3.9 miles as the crow flies16.3 miles actual16.3 miles actual

10 miles as the crow flies10 miles as the crow flies26 miles actual26 miles actual

Page 21: ESRI Routing

Route Route OptimizationOptimization

““As the Crow Flies” SequenceAs the Crow Flies” Sequence How the Crow would have to DriveHow the Crow would have to Drive

Optimized Sequence using ArcLogisticsOptimized Sequence using ArcLogistics

Red route 8.7 milesRed route 8.7 milesGreen route 8.2 milesGreen route 8.2 milesTotal = 16.9 milesTotal = 16.9 miles

Red route 29.4 milesRed route 29.4 milesGreen route 27.0 milesGreen route 27.0 milesTotal = 56.4 milesTotal = 56.4 miles

Red route 23.0 milesRed route 23.0 milesGreen route 24.2 milesGreen route 24.2 milesTotal = 47.2 milesTotal = 47.2 milesMileage savings = 17%Mileage savings = 17%

Page 22: ESRI Routing

Two Views of NetworksTwo Views of Networks

Geometry important or unimportant ...Geometry important or unimportant ...

Navigab le river

Railroad

Airlineroute

H ighw ay

Netw orkview

Tra in sta tion

A irport

A irport

Factory Bridge

Navigab le R iverBridge

R ailroad

Hig

hway

Airline route

43

66

Geographicview

Page 23: ESRI Routing

Geometry and ConnectivityGeometry and Connectivity

j123

j126

j124

j125

GeometricNetwork

j123j124j125j126

Junction

j124, e1

Adjacent Junction and Edge

j124, e1 j125, e2 j126, e3j124, e2j124, e3

C onnectiv ity T able

Logical Netw ork

Geometric network Geometric network contains geometrycontains geometry

Logical network Logical network contains connectivitycontains connectivity

Connectivity Connectivity established established automatically via automatically via geometric geometric coincidencecoincidence

Page 24: ESRI Routing

0 10 20 30 40 50 60 70

Y Co

ordi

nate

Axi

s

0

10

20

30

40

50

60

a2N3

N4

N1

N2

N6D, a6, N5

a4a4

a5 a7a7

a7a7

a2

a2

a3

a3

a1a1

a5a5

a5

X Coordinate Axis

A

C

B E

Arc Coordinate DataArc Start

X,YIntermediate

X,YEndX,Y

a1a2a3a4a5a6a7

40, 6070, 5010, 2540, 6010, 2530, 2055, 27

70, 6070, 10; 10,1010, 6030, 5020, 27; 30, 30; 50,32

55, 15; 40, 15; 45,27

70, 5010, 2540, 6030, 4070, 5030, 2055, 27

Arc TopologyArc Start

NodeEnd

NodeLeftPoly

RightPoly

a1a2a3a4a5a6a7

N1N2N3N4N3N5N6

N2N3N1N1N2N5N6

EEEAABB

ABAABBC

NodeTopology

Node ArcsN1N2N3N4N5N6

a1, a3, a4a1, a2, a5a2, a3, a5

a4a6a7

Street Network Becomes...Street Network Becomes...

Page 25: ESRI Routing

Origin Destination MatrixOrigin Destination MatrixLocationLocation 1 2 3 4 5 6 7 8 9 10 11 121 2 3 4 5 6 7 8 9 10 11 12

112233445566778899101011111212

t,d t,d t,d t,d t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,d t,d t,d t,d

t,d t,d t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,d t,d

t,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,dt,d t,d t,d t,d t,d t,d

t,d t,d t,d t,d t,dt,d t,d t,d t,d t,dt,d t,d t,d t,dt,d t,d t,d t,d

t,d t,d t,dt,d t,d t,dt,d t,dt,d t,d

t,dt,d

NetEngine buildsNetEngine buildsan “OD” matrix of the an “OD” matrix of the times and distancestimes and distancesfrom each location to from each location to all other locations onall other locations onthe networkthe network

t = timet = timed = distanced = distance

Page 26: ESRI Routing

What is a Route?What is a Route?• Who is the user?Who is the user?

– Accounting, Operations, Drivers?Accounting, Operations, Drivers?• What is the Objective?What is the Objective?

– Balancing, Dump fee minimization, Resource Balancing, Dump fee minimization, Resource maximization, Fuel minimization, O.T. maximization, Fuel minimization, O.T. minimization etc.minimization etc.

• What are the Constraints?What are the Constraints?– Weight, Volume, # Stops, Distance to dump, # Weight, Volume, # Stops, Distance to dump, #

VehiclesVehicles

Page 27: ESRI Routing

Appropriate Optimization Appropriate Optimization Technique ???Technique ???

• Point ClusteringPoint Clustering– Theissen, K-Means, Network-basedTheissen, K-Means, Network-based

• DistrictingDistricting• Network PartitioningNetwork Partitioning• Pathfinding, TSP, VRP, VRPTWPathfinding, TSP, VRP, VRPTW• Periodic RoutingPeriodic Routing• Chinese Postman, Arc Routing, Euler TourChinese Postman, Arc Routing, Euler Tour• Location/Allocation, Location RoutingLocation/Allocation, Location Routing

– Supply Driven, Demand Driven, Equal Cost, Equal Access, Supply Driven, Demand Driven, Equal Cost, Equal Access, Equal Work LoadEqual Work Load

Page 28: ESRI Routing

Applications/Solvers/ToolsApplications/Solvers/Tools

- Applications- Applications e.g. ArcLogisticse.g. ArcLogistics

- GUI Dev Tools- GUI Dev ToolsJAVA ActiveX HTML

- Solver Objects- Solver Objects- Spatial Objects- Spatial Objects

ArcIMSClient/ServerClient/ServerOptionsOptions

UNIX/NTUNIX/NT

Page 29: ESRI Routing

Point ClusteringPoint Clustering DistrictingDistricting Network PartitioningNetwork Partitioning

Simple Pathfinding/VRPSimple Pathfinding/VRP Periodic Routing/SchedulingPeriodic Routing/Scheduling Chinese PostmanChinese Postman

Week 1 Day 1Week 1 Day 2

Week 1 Day 3

Importance of Street Data: H M L

L L L-M

M-H M H

Objectives

Constraints

Complexity: H M L

L L M

M-H H H

Page 30: ESRI Routing

Location/Allocation and Location/Allocation and Spatial InteractionSpatial Interaction

Page 31: ESRI Routing

Business AnalystBusiness Analyst

Page 32: ESRI Routing

ESRI StrategyESRI Strategy• Core ToolsCore Tools

– Front EndFront End– Back EndBack End

• Sample ApplicationsSample Applications• Technology TransferTechnology Transfer

– Partners (integration)Partners (integration)– Clients (solutions)Clients (solutions)

• Some out of the box applicationsSome out of the box applications

Page 33: ESRI Routing

A Blending of DisciplinesA Blending of Disciplines

GISGIS LogisticsLogistics““Better DecisionsBetter DecisionsThrough Better SpatialThrough Better SpatialInformation”Information”

““Balance CostBalance Costand Customerand CustomerObjectives toObjectives toMaximizeMaximizeSales and Profit”Sales and Profit”

OperationsOperationsResearchResearch ““Better Decisions throughBetter Decisions through

Mathematical Models”Mathematical Models”

GIS ToolsGIS Tools OR ToolsOR Tools

Page 34: ESRI Routing

Why GIS + OR ?Why GIS + OR ?• Geography-based objectivesGeography-based objectives

– Travel timeTravel time– Travel distanceTravel distance– Work area balancingWork area balancing

• Accuracy of “Origin Destination Matrix”Accuracy of “Origin Destination Matrix”– Considers natural barriersConsiders natural barriers– Considers travel time for each street segmentConsiders travel time for each street segment– More realistic routesMore realistic routes

• Geography-based solution heuristicsGeography-based solution heuristics– Seed locationsSeed locations– Cutoff criteriaCutoff criteria– Fast (2.4 quintillion permutations on a route with 20 stops!)Fast (2.4 quintillion permutations on a route with 20 stops!)

• 15% improvement over manual methods15% improvement over manual methods

Page 35: ESRI Routing

GIS + OR: Typical BenefitsGIS + OR: Typical Benefits• Reduce Costs Reduce Costs 10%-30%:10%-30%:

– Minimize MileageMinimize Mileage– Minimize OvertimeMinimize Overtime– Minimize VehiclesMinimize Vehicles– Reduce Time Spent RoutingReduce Time Spent Routing– Reduce Wait TimeReduce Wait Time

• Increase Productivity Increase Productivity 10%-15%:10%-15%:– Service More Customers with the Same FleetService More Customers with the Same Fleet– Respond to Same-Day RequestsRespond to Same-Day Requests– Reduce Cycle TimeReduce Cycle Time– Lower Driver:Dispatcher ratioLower Driver:Dispatcher ratio

• Improve Customer Service and SatisfactionImprove Customer Service and Satisfaction– Offer Tighter Time WindowsOffer Tighter Time Windows– Keep the promise: On-time PerformanceKeep the promise: On-time Performance– Establish ReputationEstablish Reputation– Customer RetentionCustomer Retention

Page 36: ESRI Routing

Case Study: SEARSCase Study: SEARS• 16,000 Vehicles Every Day16,000 Vehicles Every Day

– All next day or same day routesAll next day or same day routes– 25 million stops per year25 million stops per year– Processed in one hour - little or no manual effortProcessed in one hour - little or no manual effort

• 1 hour customer time windows1 hour customer time windows• Volume increase = 9% with same fleetVolume increase = 9% with same fleet• On-time Performance = 95%On-time Performance = 95%• Overtime Reduced = 15%Overtime Reduced = 15%• Improved Customer Satisfaction ScoresImproved Customer Satisfaction Scores• Savings = $51 Million AnnuallySavings = $51 Million Annually

Page 37: ESRI Routing

Routing Problem Routing Problem ComponentsComponents

• ObjectivesObjectives– Minimize or maximize something - Minimize or maximize something -

usually involving cost, distance or usually involving cost, distance or travel time.travel time.

• ConstraintsConstraints– Approach Objective while considering Approach Objective while considering

other factors - often including other factors - often including geographic constraints.geographic constraints.

Page 38: ESRI Routing

Typical ObjectivesTypical Objectives• Objectives Typically Represented as Objectives Typically Represented as

“Costs”.“Costs”.– Min Mileage = Min cost/mileMin Mileage = Min cost/mile– Min O.T. = Min O.T. costMin O.T. = Min O.T. cost– Min route length = min hourly costMin route length = min hourly cost– Min Vehicles = Min fixed costMin Vehicles = Min fixed cost– Min TW Violation = Min Violation Min TW Violation = Min Violation

“Penalty” Cost“Penalty” Cost

Page 39: ESRI Routing

Typical ConstraintsTypical Constraints

• ““Hard” ConstraintsHard” Constraints– CapacityCapacity

• WeightWeight• VolumeVolume• etc.etc.• Max OrdersMax Orders• Max HoursMax Hours

– Start Time*Start Time*– Service TimeService Time– SpecialtySpecialty– Locked OrdersLocked Orders

• ““Soft” ConstraintsSoft” Constraints– Time Windows of Time Windows of

OrdersOrders– Start Time*Start Time*– Time Windows of Time Windows of

LocationsLocations

Limits you put on the objective function

Page 40: ESRI Routing

ConstraintsConstraints• Unconstrained routes “look” efficient/good. Unconstrained routes “look” efficient/good.

They are circular and minimize travel They are circular and minimize travel time/distance.time/distance.

• Constrained routes don’t “look” efficient. They Constrained routes don’t “look” efficient. They may cross, have wait time, overtime, and drive may cross, have wait time, overtime, and drive far due to customer service objectives.far due to customer service objectives.

• This is a classic tradeoff.This is a classic tradeoff.• Dispatchers don’t like the “look” of constrained Dispatchers don’t like the “look” of constrained

routes.routes.

Page 41: ESRI Routing

Unconstrained vs. Unconstrained vs. Constrained RoutesConstrained Routes

Page 42: ESRI Routing

Sample Parameters...Sample Parameters...

Page 43: ESRI Routing

Typical Minimization Typical Minimization ProblemProblem

$ PerMile,Hour

Miles, Hours

Cost Minimizing Objective

Page 44: ESRI Routing

MultipleMultipleObjectivesObjectives

Miles, Hours

TimeWindowViolationMinutes

Cost Penaltyto Violatea TimeWindow

$ PerMile,Hour

a a’

b

b’

c

c’

Page 45: ESRI Routing

Time WindowsTime Windows• Soft ConstraintSoft Constraint• Minimize time window violations. Minimize time window violations. • Tight Time Windows will result in more Tight Time Windows will result in more

Overtime, Wait Time, and Drive Time.Overtime, Wait Time, and Drive Time.• The wider the window, the more circular the The wider the window, the more circular the

route, and lower cost.route, and lower cost.• Drivers often won’t run a sequence that Drivers often won’t run a sequence that

doubles back because of time windows. They doubles back because of time windows. They think they can sequence the route better.think they can sequence the route better.

Page 46: ESRI Routing

CapacityCapacity• Hard ConstraintHard Constraint• Checks capacity before solvingChecks capacity before solving• WeightWeight• VolumeVolume• Maximum OrdersMaximum Orders

• Weight and volume can be anything:Weight and volume can be anything:– Pallets, cases, kegs, pianos, pigs, gallons.Pallets, cases, kegs, pianos, pigs, gallons.

Page 47: ESRI Routing

Start TimeStart Time• Soft or Hard ConstraintSoft or Hard Constraint• When expressed as a range, ArcLogistics When expressed as a range, ArcLogistics

will find the best start time to minimize will find the best start time to minimize cost. Allows for schedule compression.cost. Allows for schedule compression.

• When start and end time are the same, When start and end time are the same, ArcLogistics will use that time even if ArcLogistics will use that time even if costs are higher.costs are higher.

• Used to reduce unproductive (wait) time.Used to reduce unproductive (wait) time.

Page 48: ESRI Routing

Flexible Start TimesFlexible Start Times

Page 49: ESRI Routing

Service TimeService Time• Hard ConstraintHard Constraint

• ArcLogistics will always use the service ArcLogistics will always use the service time specifiedtime specified

Page 50: ESRI Routing

SpecialtySpecialty• Hard ConstraintHard Constraint• An order with a specialty must be serviced An order with a specialty must be serviced

by a vehicle with a corresponding by a vehicle with a corresponding specialtyspecialty

• ArcLogistics will not assign the order if no ArcLogistics will not assign the order if no vehicle/driver exists with the specialty vehicle/driver exists with the specialty necessary to service the order. A warning necessary to service the order. A warning message is displayed.message is displayed.

Page 51: ESRI Routing

Locked OrdersLocked Orders• Hard ConstraintHard Constraint• Sometimes called “Pre-Assignment”Sometimes called “Pre-Assignment”• Forces an order to a specific vehicle Forces an order to a specific vehicle

even though this may be sub-optimaleven though this may be sub-optimal• Usually due to some business Usually due to some business

requirementrequirement– Please send driver BobPlease send driver Bob– Send the technician who took it apart yesterdaySend the technician who took it apart yesterday

Page 52: ESRI Routing

Locked RoutesLocked Routes• Hard ConstraintHard Constraint• Locks all stops to a specific vehicleLocks all stops to a specific vehicle• Does not allow additional stops to be Does not allow additional stops to be

addedadded• Does not allow stops to be removedDoes not allow stops to be removed

Page 53: ESRI Routing

Evaluating RoutesEvaluating Routes• Dispatchers typically look to see that drivers have a Dispatchers typically look to see that drivers have a

“balanced” work load“balanced” work load– In terms of miles, and # stopsIn terms of miles, and # stops

• However, ArcLogistics takes into account Service Time, However, ArcLogistics takes into account Service Time, Drive TimeDrive Time

• Routes that have minimized costs may not have balanced Routes that have minimized costs may not have balanced miles or # of stopsmiles or # of stops

• Example:Example:– Urban vs. Rural RoutesUrban vs. Rural Routes– Long vs. Short Service TimesLong vs. Short Service Times

• Manually balancing miles or stops will increase costs Manually balancing miles or stops will increase costs (usually O.T. or TW Violations)(usually O.T. or TW Violations)

Page 54: ESRI Routing

Location affected

Balance affected

Route Balancing - 1Route Balancing - 1

Page 55: ESRI Routing

Location affected

Route Balancing - 2Route Balancing - 2

Balance affected

Page 56: ESRI Routing

Minimized Cost vs. Balanced Miles Minimized Cost vs. Balanced Miles and Ordersand Orders

MinimizedMinimizedCostCost

BalancedBalancedOrders & MilesOrders & Miles

$1302.66$1302.66

$1176.96$1176.96

4 hrs4 hrs

3.3 hrs3.3 hrs

14.2 hrs14.2 hrs

7 hrs7 hrs

Page 57: ESRI Routing

Solution MethodologySolution Methodology

• Build clusters of stopsBuild clusters of stops• Sequence stopsSequence stops• Swap stops Swap stops

While honoring While honoring constraintsconstraints and and minimizing minimizing costscosts

Page 58: ESRI Routing

CustomerInfo

System

Geographic Databaseof all U.S. Streets - Street Topology/Speed - Address Ranges - Graphics

Assignment, Sequence, Travel Time, Arrival Times, etc.

Customer Location

Customer

Address,

Order

Type

Route

Geocode Build ODMatrix

AssignmentSequence

RouteImprovement

GenerateManifest,

Directions,Maps

DispatcherDriver

Coordinates

Network

Locatio

n

Network

Travel

Time

Final Route

Initial R

oute

Address Ranges

Topology/Speed

Graphics

Manife

st

Directi

ons

Maps

User Parameterse.g. weight TWviolation vs. cost

Routing ProcessRouting Process

Page 59: ESRI Routing

Weighted Objective FunctionWeighted Objective Function

Factors included in the objective function:Factors included in the objective function:• CostCost• Time Window Violation (cost penalty)Time Window Violation (cost penalty)Define:Define:Cost: Cost: total cost of the route (dollars);total cost of the route (dollars); tvtv: time window violation (minutes);: time window violation (minutes);

ƒƒ = cost + = cost + 22 * * tvtv

Page 60: ESRI Routing

ClusteringClustering

Zone-based Zone-based (bucket assignment)(bucket assignment)

Zone AZone A

Work OrderWork Order#1#1

DriverDriver ZoneZone

BobBob AA

Work Area Table

DriverDriver ZoneZone

BobBob AA

Assignment TableAssignment TableWork OrderWork Order

11

Page 61: ESRI Routing

ClusteringClusteringZone-based

Old-fashionedWork Areas

A B

C D

Driver Bob is overloadedDriver Bob is overloadedWho should help?Who should help?Depends: Time, Depends: Time, distance, barriers.distance, barriers.

Zone-based systemsZone-based systemsuse adjacency tablesuse adjacency tables

Page 62: ESRI Routing

ClusteringClusteringNetwork-based

A seed point approachA seed point approachtakes into account thetakes into account thereal-world travel timereal-world travel timeand distance and distance (geography matters)(geography matters)

• Less MilesLess Miles• Less OvertimeLess Overtime• More accurate time More accurate time windowswindows

Page 63: ESRI Routing

Seeds vs. Fixed Work AreasSeeds vs. Fixed Work Areas• Many organizations use polygonal areas Many organizations use polygonal areas

to assign work to certain driversto assign work to certain drivers– To gain familiarity with an areaTo gain familiarity with an area– To establish relationships with customersTo establish relationships with customers– They live near the areaThey live near the area

• However, this can lead to inefficiencies.However, this can lead to inefficiencies.• Seeds can be user-defined, or Seeds can be user-defined, or

automatically generated.automatically generated.

Page 64: ESRI Routing

Seeds vs. Fixed Work AreasSeeds vs. Fixed Work Areas

• The area where the driver works is the The area where the driver works is the same, but can overlap with other drivers same, but can overlap with other drivers “areas” based on the workload on any “areas” based on the workload on any given day.given day.

• Routes “Grow” from the seed location, but Routes “Grow” from the seed location, but is not limited to that vicinity if there is no is not limited to that vicinity if there is no work.work.

Page 65: ESRI Routing

Sequence and Swap Sequence and Swap

• Intra-route improvementsIntra-route improvements11 33 22

55 44

22

55 33

44

11

Forward InsertionForward Insertion

22

55 33

44

11 33

55 44

22

11

Backward InsertionBackward Insertion

DepotDepot DepotDepot

DepotDepot DepotDepot

Page 66: ESRI Routing

Sequence and Swap Sequence and Swap • Inter-route improvementInter-route improvement

A1A1 A3A3 A1A1 A2A2

B1B1 B2B2

A2A2

B1B1 B3B3

B2B2

Inter-route SwitchInter-route Switch

A1A1 A3A3 A1A1 A3A3

B1B1 B3B3

A2A2

B1B1 B3B3

B2B2

Inter-route ExchangeInter-route Exchange

B2B2 A2A2

DepotDepot DepotDepot DepotDepotDepotDepot

DepotDepot DepotDepot DepotDepotDepotDepot

Page 67: ESRI Routing

MethodologyMethodology• Ways to sequence 20 customers on one route = n!Ways to sequence 20 customers on one route = n!

– 2,432,902,008,176,640,000 possible combinations. (2.4 quintillion)2,432,902,008,176,640,000 possible combinations. (2.4 quintillion)

• It would take a It would take a longlong time to evaluate every permutation. time to evaluate every permutation. Also not necessary.Also not necessary.

• ArcLogistics uses heuristics. In order to overcome the ArcLogistics uses heuristics. In order to overcome the common shortcomings of heuristics (trapped in local common shortcomings of heuristics (trapped in local optima), we’ve used a state of the art method called Tabu optima), we’ve used a state of the art method called Tabu Search.Search.

• Tabu Search can achieve 10% improvement over the Tabu Search can achieve 10% improvement over the normal heuristicsnormal heuristics

Page 68: ESRI Routing

MethodologyMethodology

$$

Traditional: N iterationsTraditional: N iterationsor, N minutesor, N minutes

ArcLogistics MethodArcLogistics Method

ArcLogisticsArcLogisticsimprovementimprovement

Page 69: ESRI Routing

GIS Data ManagementGIS Data Management

Page 70: ESRI Routing

Street data is the Street data is the cornerstonecornerstone

• Locate customers and facilitiesLocate customers and facilities• Find the shortest paths Find the shortest paths

– to populate an Origin-Destination to populate an Origin-Destination matrixmatrix

• Display the resultsDisplay the results– what’s the route? what’s the route? – directionsdirections

Page 71: ESRI Routing

Data issues...Data issues...• Street data is vital to your logistics solutionsStreet data is vital to your logistics solutions

– geocodinggeocoding– routingrouting– site locationsite location

• Quality varies significantlyQuality varies significantly• DynamicDynamic• Big investment (time and money)Big investment (time and money)• Huge volumeHuge volume

Page 72: ESRI Routing

Street data...Street data...• what everyone wants...what everyone wants...

– cheapcheap– correctcorrect– currentcurrent

• But, presents the most difficultiesBut, presents the most difficulties– huge data volumeshuge data volumes– difficult to quantify “goodness”difficult to quantify “goodness”– difficult to separate data and algorithmsdifficult to separate data and algorithms

Page 73: ESRI Routing

The Gory DetailsThe Gory Details• What makes good quality data? What makes good quality data? • What are some of the important issues?What are some of the important issues?• How does data quality affect routing How does data quality affect routing

solutions?solutions?

But first, some terminology...But first, some terminology...

Page 74: ESRI Routing

ARC or LINK or EDGE

NODE orJUNCTION orVERTEX

“2-valent” or “psuedo-node”

Page 75: ESRI Routing

Attribute record Geometry

Each street segment has a multitude Each street segment has a multitude of attribute informationof attribute information

more about that latermore about that later

Page 76: ESRI Routing

““over/underpass or “brunnel” over/underpass or “brunnel” (bridge over tunnel)(bridge over tunnel)

101101 199199100100 198198

92373

92374

Left and right address ranges,Left and right address ranges,left and right zip codes.left and right zip codes.

Page 77: ESRI Routing

The #1 problem with street The #1 problem with street data is CONNECTIVITYdata is CONNECTIVITY

The “terminator” problem -The “terminator” problem -jumping off a bridge to road jumping off a bridge to road belowbelow

……because the data has a nodebecause the data has a nodeconnecting the two streets, whichconnecting the two streets, whichimplies it’s legal to make the jumpimplies it’s legal to make the jump

Page 78: ESRI Routing

The “Blues Brother” The “Blues Brother” problem - jump from problem - jump from freeway to unconnected freeway to unconnected side streetside street

……because the data has a because the data has a node joining the segmentsnode joining the segments

Page 79: ESRI Routing

These problems greatly These problems greatly affect routing solutionsaffect routing solutions

• Laughable when the route jumps off Laughable when the route jumps off a bridgea bridge

• Significant affect on travel time (?)Significant affect on travel time (?)

Page 80: ESRI Routing

Traditionally...Traditionally...• GIS’s and GIS data have been very GIS’s and GIS data have been very

centered around the concept of planar centered around the concept of planar graphsgraphs– where arcs cross each other, there must be where arcs cross each other, there must be

a node (all arcs are on the same plane)a node (all arcs are on the same plane)• Every arc is connected in a planar Every arc is connected in a planar

graphs.graphs.

Page 81: ESRI Routing

Why is this?Why is this?• Most street data sets have served Most street data sets have served

multiple purposesmultiple purposes– a street is a boundary between zip codes, a street is a boundary between zip codes,

counties, census districts, cities, etc.counties, census districts, cities, etc.Planarity (closure) needed to Planarity (closure) needed to shade or label polygons, shade or label polygons, calculate area, overlay with other calculate area, overlay with other datadata

Page 82: ESRI Routing

Why is this?Why is this?• Relatively cheap to capture the Relatively cheap to capture the

linework and make it planar...linework and make it planar...– scan a mapscan a map

• ……compared with establishing correct compared with establishing correct connectivityconnectivity– automated methods do exist, but are automated methods do exist, but are

falliblefallible– ground truth neededground truth needed

Page 83: ESRI Routing

Solutions to the planarity Solutions to the planarity problemproblem

• Remove the node! Make it non-planar!Remove the node! Make it non-planar!

ProblemsProblemsnode may be needed for other reasonsnode may be needed for other reasonsidentifying nodes to removeidentifying nodes to remove

Page 84: ESRI Routing

Street Name Road Class Address RangeID

Smith major 101-199, 100-198101

Wesson minor 5043-5097, 5042-5096102

101 102

Example - node can’t be removed because attributes are Example - node can’t be removed because attributes are differentdifferent

Page 85: ESRI Routing

Solution - turntableSolution - turntable

101

103

102

104

From To101 104101 102102 101102 103103 102103 104104 101104 103

A turntable lists all the illegalturns

Massive amount of informationMassive amount of informationcompared to removing the compared to removing the nodenode

Difficult to maintainDifficult to maintainsplit arc 101split arc 101

Page 86: ESRI Routing

5 minute5 minutedelaydelay

At some point, turntables are neededAt some point, turntables are neededTurntables used to for turning penalties Turntables used to for turning penalties (delays)(delays)

FromFrom ToTo MinutesMinutes-- -- 55

Page 87: ESRI Routing

Node ElevationsNode Elevations

101

103

102

104

ID From Elev. To Elev.101 0 0

102 1 1

103 0 0

104 1 1

When network connectivity is created, the from and to node When network connectivity is created, the from and to node elevations are taken into account and two nodes are created at elevations are taken into account and two nodes are created at the intersectionthe intersection

Page 88: ESRI Routing

Node ElevationsNode Elevations• Can provide “best of both worlds”Can provide “best of both worlds”• Data set still planar if node Data set still planar if node

elevations ignoredelevations ignored• When finding network connectivity, When finding network connectivity,

node elevation honorednode elevation honored• Behave well in split operationsBehave well in split operations

Page 89: ESRI Routing

AttributesAttributes• Road ClassRoad Class• HierarchyHierarchy• CartographyCartography• OnewayOneway• PermissionPermission

Page 90: ESRI Routing

Road ClassRoad Class• Road Class is used as surrogate for Road Class is used as surrogate for

travel timetravel time– ““Primary road” = 55mphPrimary road” = 55mph– Length of arc is know or can be calculatedLength of arc is know or can be calculated– Travel time dependent on urbanizationTravel time dependent on urbanization

• ‘‘primary road in urban area’ NE ‘primary road primary road in urban area’ NE ‘primary road in rural areain rural area

• CFCC or FCC code for TIGER dataCFCC or FCC code for TIGER data

Page 91: ESRI Routing

Road HierarchyRoad Hierarchy• Road class is often used as a Road class is often used as a

surrogate for network hierarchysurrogate for network hierarchy• Every ‘real’ network has a hierarchyEvery ‘real’ network has a hierarchy

- Interstate- Primary - Collectors- Surface Streets

Faster travel

Slower travel

Few arcs

many arcs

Page 92: ESRI Routing

Hierarchies in pathfindingHierarchies in pathfinding

CityCity30 miles

OriginDestination

(dense street networkin between)

Page 93: ESRI Routing

Data ManagementData Management

Page 94: ESRI Routing

HierarchiesHierarchies• Really great for finding distancesReally great for finding distances• The hierarchy must be connectedThe hierarchy must be connected• The high-order hierarchy may need The high-order hierarchy may need

to have roads of lower class to to have roads of lower class to connect the hierarchyconnect the hierarchy

Page 95: ESRI Routing

Cartographic DisplayCartographic Display• Road Class used for cartographic Road Class used for cartographic

symbolizationsymbolization• Highway in a tunnelHighway in a tunnel

– Displayed differently but still same road Displayed differently but still same road classclass

• Drawing orderDrawing order– brunnelsbrunnels

Page 96: ESRI Routing

Road Class does triple dutyRoad Class does triple duty• ...for speed limit...for speed limit• ...for hierarchy...for hierarchy• ...for display...for display• Expensive to capture all threeExpensive to capture all three

Page 97: ESRI Routing

OnewayOneway• Difficult to obtainDifficult to obtain• Easy to represent Easy to represent

– Oneway with digitized direction or against (“FT” vs. Oneway with digitized direction or against (“FT” vs. “TF”)“TF”)

• For point-to-point problems, not a significant For point-to-point problems, not a significant impact on travel timeimpact on travel time– Oneway streets usually parallel each otherOneway streets usually parallel each other

• Significant impact on directionsSignificant impact on directions– Don’t send driver wrong way down oneway streetDon’t send driver wrong way down oneway street

Page 98: ESRI Routing

OnewayOneway• Very significant for arc routing Very significant for arc routing

problemsproblems– garbage truckgarbage truck– meter readingmeter reading– newspaper deliverynewspaper delivery

Page 99: ESRI Routing

PermissionsPermissions• Not all vehicles are allowed to travel Not all vehicles are allowed to travel

on all roadson all roads• Depends on vehicle, local lawsDepends on vehicle, local laws• Difficult to captureDifficult to capture

Page 100: ESRI Routing

U-turnsU-turns• Usually never part of dataUsually never part of data• Dependent on vehicle characteristics and Dependent on vehicle characteristics and

street geometrystreet geometry– cul-de-sacscul-de-sacs

• In complicated problems, the pathfinding In complicated problems, the pathfinding code has to examine geometry, or code has to examine geometry, or provide vehicle-based turntablesprovide vehicle-based turntables

From To Angle

Page 101: ESRI Routing

Positional AccuracyPositional Accuracy• Who cares???Who cares???• Non-differential GPSNon-differential GPS• Giant digitizing pucksGiant digitizing pucks• Sketch in new subdivisionsSketch in new subdivisions

Page 102: ESRI Routing

GeocodingGeocoding• StandardizingStandardizing

– 123 E E E St St 123123 E E E St St 123 • AliasingAliasing• Intersection matchingIntersection matching• Place namePlace name• Drop backDrop back• Reject processingReject processing

Page 103: ESRI Routing

DirectionsDirections• Printed directions - “Turn right Printed directions - “Turn right

where the old church used to be”where the old church used to be”– rarely usefulrarely useful– rental carsrental cars

• Thumbnail maps of each turning Thumbnail maps of each turning movement greatmovement great– quite a lot of programming involvedquite a lot of programming involved

Page 104: ESRI Routing

Data VolumesData Volumes• GIS must handle huge networksGIS must handle huge networks

– millions of arcs affect:millions of arcs affect:• displaydisplay• geocodinggeocoding• pathfindingpathfinding

Page 105: ESRI Routing

Data VolumesData Volumes• This is an area where GIS has pushed the This is an area where GIS has pushed the

envelopeenvelope– memory managementmemory management

• memory is getting cheap and common memory is getting cheap and common – algorithmsalgorithms

• many different strategiesmany different strategies

• Most often, an “origin-destination” matrix is Most often, an “origin-destination” matrix is requiredrequired– 1000 customers = 1000 x 1000 matrix = 4 million bytes = 4 1000 customers = 1000 x 1000 matrix = 4 million bytes = 4

MegabytesMegabytes– Double if time and distance are neededDouble if time and distance are needed– ……and what about a matrix for time of day routing, or vehicle and what about a matrix for time of day routing, or vehicle

characteristics?characteristics?

Page 106: ESRI Routing

Street Data is a significant Street Data is a significant investmentinvestment

• Depends on the applicationDepends on the application• Update frequencyUpdate frequency

Page 107: ESRI Routing

ArchitecturesArchitectures

Client/ServerClient/ServerWebWeb

Page 108: ESRI Routing

WebWeb

Page 109: ESRI Routing

DesktopDesktop

Page 110: ESRI Routing

ArcIMSServer

Geocoding

ArcLogisticsRouteServer

TrackingStops

RoutesTracks

Current Position; Running Late;Arrived; Actual ETA; Off Route;Reschedule; Cancel

Streets

WirelessSynchronization

Web Server

Mobile Link

In ternet

SDE/Oracle

Consumer

VehiclePalm OS or CE browser

DispatcherView/EditRoutes

Place OrdersCheck Status

Receive ETA

Locationand Status

Manifest, MapsDirections

WirelessArdis, RAM, CDPD

ActiveXJAVA

Order Assignment; Order Sequence;Planned ETA; Maps & Reports

RouteMap

ArcLogistics RoutePortal ConceptArcLogistics RoutePortal Concept

HTMLInternet

Page 111: ESRI Routing