ESRI Routing

Preview:

Citation preview

ESRI TechnologyESRI Technology

Routing Technology FocusRouting Technology Focus

Don Weigel Don Weigel - Program Manager- Program ManagerTransportation/Logistics Products and ServicesTransportation/Logistics Products and Servicesdweigel@esri.comdweigel@esri.com (909) 793-2853 ext. 1766 (909) 793-2853 ext. 1766

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

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

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

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

Radius = 40

Radius = 55

• 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

GIS is … AnalysisGIS is … Analysis

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

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

GIS is… Charting and ReportingGIS is… Charting and Reporting

GIS is… VisualizationGIS is… Visualization

GIS is… Mission CriticalGIS is… Mission Critical

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

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

And yes, MappingAnd yes, Mapping

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

(and Time) Computation(and Time) Computation

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

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.

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

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

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%

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

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

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

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

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

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

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

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

Location/Allocation and Location/Allocation and Spatial InteractionSpatial Interaction

Business AnalystBusiness Analyst

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

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

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

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

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

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.

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

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

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.

Unconstrained vs. Unconstrained vs. Constrained RoutesConstrained Routes

Sample Parameters...Sample Parameters...

Typical Minimization Typical Minimization ProblemProblem

$ PerMile,Hour

Miles, Hours

Cost Minimizing Objective

MultipleMultipleObjectivesObjectives

Miles, Hours

TimeWindowViolationMinutes

Cost Penaltyto Violatea TimeWindow

$ PerMile,Hour

a a’

b

b’

c

c’

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.

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.

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.

Flexible Start TimesFlexible Start Times

Service TimeService Time• Hard ConstraintHard Constraint

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

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.

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

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

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)

Location affected

Balance affected

Route Balancing - 1Route Balancing - 1

Location affected

Route Balancing - 2Route Balancing - 2

Balance affected

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

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

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

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

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

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

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

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.

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.

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

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

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

MethodologyMethodology

$$

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

ArcLogistics MethodArcLogistics Method

ArcLogisticsArcLogisticsimprovementimprovement

GIS Data ManagementGIS Data Management

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

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

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

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

ARC or LINK or EDGE

NODE orJUNCTION orVERTEX

“2-valent” or “psuedo-node”

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

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

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

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

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 (?)

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.

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

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

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

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

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

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

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

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

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

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

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

Hierarchies in pathfindingHierarchies in pathfinding

CityCity30 miles

OriginDestination

(dense street networkin between)

Data ManagementData Management

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

Street Data is a significant Street Data is a significant investmentinvestment

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

ArchitecturesArchitectures

Client/ServerClient/ServerWebWeb

WebWeb

DesktopDesktop

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

Recommended