SlideShare a Scribd company logo
1 of 111
ESRI TechnologyESRI TechnologyESRI TechnologyESRI Technology
Routing Technology FocusRouting Technology Focus
Don WeigelDon Weigel - Program Manager- Program Manager
Transportation/Logistics Products and ServicesTransportation/Logistics Products and Services
dweigel@esri.comdweigel@esri.com (909) 793-2853 ext. 1766(909) 793-2853 ext. 1766
OutlineOutlineOutlineOutline
• OverviewOverview
– Why GIS?Why GIS?
– A few applicationsA few applications
– Integration of GIS and OR for RoutingIntegration of GIS and OR for Routing
and Site Locationand Site Location
– ApplicationsApplications
– GIS Data ManagementGIS Data Management
– MethodologyMethodology
– Object ModelObject Model
Customer LocationsCustomer Locations
Trade AreasTrade Areas
Street NetworksStreet Networks
Post CodesPost Codes
Market PotentialMarket Potential
DemographicsDemographics
Why Use Maps?Why Use Maps?Why Use Maps?Why Use Maps?
BecauseBecause
Everything isEverything is
SomewhereSomewhere......
... and... and
somehowsomehow
connected.connected. A way toA way to
model andmodel and
betterbetter
understandunderstand
the worldthe world
How Does GISHow Does GIS
Help in Routing?Help in Routing?
How Does GISHow Does GIS
Help in Routing?Help in Routing? Customer
Database
- Street Topology/Speed- Street Topology/Speed
- Address Ranges- Address Ranges
- Graphics- Graphics
Dispatcher
Driver
Geocode
Solver
Manifest,
Directions,
Maps
GIS is… Spatial DataGIS is… Spatial Data
Creation and EditingCreation and Editing
GIS is… Spatial DataGIS is… Spatial Data
Creation and EditingCreation and Editing
Radius = 40
Radius = 55
• Multiple editMultiple edit
sessions andsessions and
long transactionslong transactions
• One databaseOne database
A
CB
Version A Version B Version C
GIS is... Data ManagementGIS is... Data ManagementGIS is... Data ManagementGIS is... Data Management
GIS is … AnalysisGIS is … AnalysisGIS is … AnalysisGIS is … Analysis
1996 to 2001 Change
1996 Population Density
1996 Penetration
1996 to
# # #
#
##
#
#
#
#
#
#
##
#
##
#
#
#
###
###
# #
#
##
###
#
#
###
##
# #
#
#
#
# #
#
#
##
##
##
#
####
##
#
#
#
##
#
###
#
##
#
##
#
#
#
##
###
# #
#
#
#
##
###
### ###
###
### ##
##
## ###
###
##
#
##
# #
#
#
#
####
###
####
#
##
#
#
#
#
#
#
#
#
##
# #
#
##
#
#
#
#
####
#
####
#
#
#
#
#
##
#
#
#
#
#
#
###
#
#
## ##
##
##
#
##
#
#
#
#
#
##
###
##
#
#
##
###
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
###
## #
##
###
##
#
###
##
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
### ##
##
#
##
##
##
#
#
#
####
#
#
##
#
#
#
#
#
#
##
##
#
#
#
###
#
## ##
##
#
##
##
#
#
#
#
#
###
#
##
##
#
#
#
##
#
#
## #
##
###
#
#
##
#
#
##
#
###
#
#
#
###
##
#
##
# #
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
###
##
#
#
#
#
#
##
#
###
#
#
#
## #
#
#
#
#
#
#
##
#
#
#
#
#
#
###
#
# #
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
# ##
##
#
####
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
##
#
##
####
##
#
#
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… ModelingGIS is… ModelingGIS is… Modeling
GIS is… Tracking Real TimeGIS is… Tracking Real Time
EventsEvents
GIS is… Tracking Real TimeGIS is… Tracking Real Time
EventsEvents
GIS is… Charting and ReportingGIS is… Charting and ReportingGIS is… Charting and ReportingGIS is… Charting and Reporting
GIS is… VisualizationGIS is… VisualizationGIS is… VisualizationGIS is… Visualization
GIS is… Mission CriticalGIS is… Mission CriticalGIS is… Mission CriticalGIS is… Mission Critical
Map “Overlay” =Map “Overlay” =
Relational “Join”Relational “Join”
Coordinates are theCoordinates are the
““Common Keys”Common Keys”
Map “Overlay” =Map “Overlay” =
Relational “Join”Relational “Join”
Coordinates are theCoordinates are the
““Common Keys”Common Keys”
Spatial Data ManipulationSpatial Data ManipulationSpatial Data ManipulationSpatial Data Manipulation
e.g. Customerse.g. Customers
e.g. Districtse.g. Districts
Spatial DatabaseSpatial Database
LayersLayers
GIS Creates “Spatial Relationships”GIS Creates “Spatial Relationships”
Between Otherwise Unrelated DataBetween Otherwise Unrelated Data
SharedShared
GeoDataGeoData
Organisation XOrganisation X
Organisation YOrganisation Y
Department ADepartment A
Department CDepartment C
Department BDepartment B
The PublicThe Public
GIS is... OrganizationalGIS is... Organizational
IntegrationIntegration
GIS is... OrganizationalGIS is... Organizational
IntegrationIntegration
And yes, MappingAnd yes, MappingAnd yes, MappingAnd yes, Mapping
The “Value-add” of GIS isThe “Value-add” of GIS is
Accurate DistanceAccurate Distance
(and Time) Computation(and Time) Computation
The “Value-add” of GIS isThe “Value-add” of GIS is
Accurate DistanceAccurate Distance
(and Time) Computation(and Time) Computation
Many Companies OfferMany Companies Offer
Logistics Solutions but theyLogistics Solutions but they
Fake the DistancesFake the Distances
Many Companies OfferMany Companies Offer
Logistics Solutions but theyLogistics Solutions but they
Fake the DistancesFake the Distances
Euclidean Distance or if they’reEuclidean 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...This may work in Kansas...This may work in Kansas...
But not anywhere that hasBut 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 MilesEuclidean vs. Actual MilesEuclidean vs. Actual Miles
39.89 miles as the crow flies39.89 miles as the crow flies
52 miles actual52 miles actual
19.58 miles as the crow flies19.58 miles as the crow flies
39.98 miles actual39.98 miles actual
Euclidean vs. Actual MilesEuclidean vs. Actual MilesEuclidean vs. Actual MilesEuclidean vs. Actual Miles
3.9 miles as the crow flies3.9 miles as the crow flies
16.3 miles actual16.3 miles actual
10 miles as the crow flies10 miles as the crow flies
26 miles actual26 miles actual
RouteRoute
OptimizationOptimization
RouteRoute
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 miles
Green route 8.2 milesGreen route 8.2 miles
Total = 16.9 milesTotal = 16.9 miles
Red route 29.4 milesRed route 29.4 miles
Green route 27.0 milesGreen route 27.0 miles
Total = 56.4 milesTotal = 56.4 miles
Red route 23.0 milesRed route 23.0 miles
Green route 24.2 milesGreen route 24.2 miles
Total = 47.2 milesTotal = 47.2 miles
Mileage savings = 17%Mileage savings = 17%
Two Views of NetworksTwo Views of NetworksTwo Views of NetworksTwo Views of Networks
Geometry important or unimportant ...Geometry important or unimportant ...
N a v ig a b le r iv e r
R a ilr o a d
A ir lin e
r o u t e
H ig h w a y
N e t w o r k
v ie w
T r a in s t a t io n
A ir p o r t
A ir p o r t
F a c t o r y B r id g e
N a v ig a b le R iv e r
B r id g e
R a ilr o a d
Highway
A ir lin e r o u t e
4 3
6 6
G e o g r a p h ic
v ie w
Geometry and ConnectivityGeometry and ConnectivityGeometry and ConnectivityGeometry and Connectivity
j1 2 3
j 1 2 6
e1
e2
e3
j 1 2 4
j1 2 5
G e o m e t r i c
N e t w o r k
j1 2 3
j1 2 4
j1 2 5
j1 2 6
J u n c t io n
j 1 2 4 , e 1
A d ja c e n t J u n c t i o n a n d E d g e
j 1 2 4 , e 1 j 1 2 5 , e 2 j 1 2 6 , e 3
j 1 2 4 , e 2
j 1 2 4 , e 3
C o n n e c t iv it y T a b le
L o g i c a l N e t w o r k
Geometric networkGeometric network
contains geometrycontains geometry
Logical networkLogical network
contains connectivitycontains connectivity
ConnectivityConnectivity
establishedestablished
automatically viaautomatically via
geometricgeometric
coincidencecoincidence
0 10 20 30 40 50 60 70
YCoordinateAxis
0
10
20
30
40
50
60
a2
N3
N4
N1
N2
N6
D, a6, N5
a4
a4
a5
a7
a7
a7
a7
a2
a2
a3
a3
a1
a1
a5
a5
a5
X Coordinate Axis
A
C
B
E
Arc Coordinate Data
Arc Start
X,Y
Intermediate
X,Y
End
X,Y
a1
a2
a3
a4
a5
a6
a7
40, 60
70, 50
10, 25
40, 60
10, 25
30, 20
55, 27
70, 60
70, 10; 10,10
10, 60
30, 50
20,27; 30,30; 50,32
55, 15; 40, 15; 45,27
70, 50
10, 25
40, 60
30, 40
70, 50
30, 20
55, 27
Arc Topology
Arc Start
Node
End
Node
Left
Poly
Right
Poly
a1
a2
a3
a4
a5
a6
a7
N1
N2
N3
N4
N3
N5
N6
N2
N3
N1
N1
N2
N5
N6
E
E
E
A
A
B
B
A
B
A
A
B
B
C
Node
Topology
Node Arcs
N1
N2
N3
N4
N5
N6
a1, a3, a4
a1, a2, a5
a2, a3, a5
a4
a6
a7
Street Network Becomes...Street Network Becomes...Street Network Becomes...Street Network Becomes...
Origin Destination MatrixOrigin Destination MatrixOrigin Destination MatrixOrigin Destination Matrix
LocationLocation 1 2 3 4 5 6 7 8 9 10 11 121 2 3 4 5 6 7 8 9 10 11 12
11
22
33
44
55
66
77
88
99
1010
1111
1212
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,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,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,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,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,dt,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,dt,d
NetEngine buildsNetEngine builds
an “OD” matrix of thean “OD” matrix of the
times and distancestimes and distances
from each location tofrom each location to
all other locations onall other locations on
the networkthe network
t = timet = time
d = distanced = distance
What is a Route?What is a Route?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,Balancing, Dump fee minimization,
Resource maximization, FuelResource maximization, Fuel
minimization, O.T. minimization etc.minimization, O.T. minimization etc.
• What are the Constraints?What are the Constraints?
– Weight, Volume, # Stops, Distance toWeight, Volume, # Stops, Distance to
dump, # Vehiclesdump, # Vehicles
Appropriate OptimizationAppropriate Optimization
Technique ???Technique ???
Appropriate OptimizationAppropriate 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,Supply Driven, Demand Driven, Equal Cost,
Equal Access, Equal Work LoadEqual Access, Equal Work Load
Applications/Solvers/ToolsApplications/Solvers/ToolsApplications/Solvers/ToolsApplications/Solvers/Tools
- Applications- Applications
e.g. ArcLogisticse.g. ArcLogistics
- GUI Dev Tools- GUI Dev Tools
JAVA ActiveX HTML
- Solver Objects- Solver Objects
- Spatial Objects- Spatial Objects
ArcIMSClient/ServerClient/Server
OptionsOptions
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 1
Week 1 Day 2
Week 1 Day 3
Importance of Street Data: H M LImportance of Street Data: H M L
LL LL L-ML-M
M-HM-H MM HH
Objectives
Constraints
Complexity: H M LComplexity: H M L
LL LL MM
M-HM-H HH HH
Location/Allocation andLocation/Allocation and
Spatial InteractionSpatial Interaction
Location/Allocation andLocation/Allocation and
Spatial InteractionSpatial Interaction
Business AnalystBusiness AnalystBusiness AnalystBusiness Analyst
ESRI StrategyESRI StrategyESRI 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 DisciplinesA Blending of DisciplinesA Blending of Disciplines
GISGIS LogisticsLogistics
““Better DecisionsBetter Decisions
Through Better SpatialThrough Better Spatial
Information”Information”
““Balance CostBalance Cost
and Customerand Customer
Objectives toObjectives to
MaximizeMaximize
Sales and Profit”Sales and Profit”
OperationsOperations
ResearchResearch
““Better Decisions throughBetter Decisions through
Mathematical Models”Mathematical Models”
GIS ToolsGIS Tools
OR ToolsOR Tools
Why GIS + OR ?Why GIS + OR ?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 BenefitsGIS + OR: Typical BenefitsGIS + OR: Typical Benefits
• Reduce CostsReduce 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 ProductivityIncrease 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 andImprove Customer Service and
SatisfactionSatisfaction
– Offer Tighter Time WindowsOffer Tighter Time Windows
– Keep the promise: On-time PerformanceKeep the promise: On-time Performance
– Establish ReputationEstablish Reputation
–
Case Study: SEARSCase Study: SEARSCase 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 ProblemRouting Problem
ComponentsComponents
Routing ProblemRouting Problem
ComponentsComponents
• ObjectivesObjectives
– Minimize or maximize something -Minimize or maximize something -
usually involving cost, distance orusually involving cost, distance or
travel time.travel time.
• ConstraintsConstraints
– Approach Objective while consideringApproach Objective while considering
other factors - often includingother factors - often including
geographic constraints.geographic constraints.
Typical ObjectivesTypical ObjectivesTypical ObjectivesTypical Objectives
• Objectives Typically Represented asObjectives 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 ViolationMin TW Violation = Min Violation
“Penalty” Cost“Penalty” Cost
Typical ConstraintsTypical ConstraintsTypical 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 ofTime Windows of
OrdersOrders
– Start Time*Start Time*
– Time Windows ofTime Windows of
LocationsLocations
Limits you put on the objective function
ConstraintsConstraintsConstraintsConstraints
• Unconstrained routes “look”Unconstrained routes “look”
efficient/good. They are circular andefficient/good. They are circular and
minimize travel time/distance.minimize travel time/distance.
• Constrained routes don’t “look” efficient.Constrained routes don’t “look” efficient.
They may cross, have wait time, overtime,They may cross, have wait time, overtime,
and drive far due to customer serviceand drive far due to customer service
objectives.objectives.
• This is a classic tradeoff.This is a classic tradeoff.
• Dispatchers don’t like the “look” ofDispatchers don’t like the “look” of
constrained routes.constrained routes.
Unconstrained vs.Unconstrained vs.
Constrained RoutesConstrained Routes
Unconstrained vs.Unconstrained vs.
Constrained RoutesConstrained Routes
Sample Parameters...Sample Parameters...Sample Parameters...Sample Parameters...
Typical MinimizationTypical Minimization
ProblemProblem
Typical MinimizationTypical Minimization
ProblemProblem
$ Per
Mile,
Hour
Miles, Hours
Cost Minimizing Objective
MultipleMultiple
ObjectivesObjectives
MultipleMultiple
ObjectivesObjectives
Miles, Hours
Time
Window
Violation
Minutes
Cost
Penalty
to Violate
a Time
Window
$ Per
Mile,
Hour
a a’
b
b’
c
c’
Time WindowsTime WindowsTime WindowsTime Windows
• Soft ConstraintSoft Constraint
• Minimize time window violations.Minimize time window violations.
• Tight Time Windows will result in moreTight Time Windows will result in more
Overtime, Wait Time, and Drive Time.Overtime, Wait Time, and Drive Time.
• The wider the window, the more circularThe wider the window, the more circular
the route, and lower cost.the route, and lower cost.
• Drivers often won’t run a sequence thatDrivers often won’t run a sequence that
doubles back because of time windows.doubles back because of time windows.
They think they can sequence the routeThey think they can sequence the route
better.better.
CapacityCapacityCapacityCapacity
• 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 TimeStart TimeStart Time
• Soft or Hard ConstraintSoft or Hard Constraint
• When expressed as a range, ArcLogisticsWhen expressed as a range, ArcLogistics
will find the best start time to minimizewill 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 ifArcLogistics 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 TimesFlexible Start TimesFlexible Start Times
Service TimeService TimeService TimeService Time
• Hard ConstraintHard Constraint
• ArcLogistics will always use the serviceArcLogistics will always use the service
time specifiedtime specified
SpecialtySpecialtySpecialtySpecialty
• Hard ConstraintHard Constraint
• An order with a specialty must be servicedAn order with a specialty must be serviced
by a vehicle with a correspondingby a vehicle with a corresponding
specialtyspecialty
• ArcLogistics will not assign the order if noArcLogistics will not assign the order if no
vehicle/driver exists with the specialtyvehicle/driver exists with the specialty
necessary to service the order. A warningnecessary to service the order. A warning
message is displayed.message is displayed.
Locked OrdersLocked OrdersLocked OrdersLocked Orders
• Hard ConstraintHard Constraint
• Sometimes called “Pre-Assignment”Sometimes called “Pre-Assignment”
• Forces an order to a specific vehicleForces an order to a specific vehicle
even though this may be sub-optimaleven though this may be sub-optimal
• Usually due to some businessUsually due to some business
requirementrequirement
– Please send driver BobPlease send driver Bob
– Send the technician who took it apartSend the technician who took it apart
yesterdayyesterday
Locked RoutesLocked RoutesLocked RoutesLocked Routes
• Hard ConstraintHard Constraint
• Locks all stops to a specific vehicleLocks all stops to a specific vehicle
• Does not allow additional stops to beDoes not allow additional stops to be
addedadded
• Does not allow stops to be removedDoes not allow stops to be removed
Evaluating RoutesEvaluating RoutesEvaluating RoutesEvaluating Routes
• Dispatchers typically look to see that driversDispatchers typically look to see that drivers
have a “balanced” work loadhave a “balanced” work load
– In terms of miles, and # stopsIn terms of miles, and # stops
• However, ArcLogistics takes into account ServiceHowever, ArcLogistics takes into account Service
Time, Drive TimeTime, Drive Time
• Routes that have minimized costs may not haveRoutes that have minimized costs may not have
balanced miles or # of stopsbalanced miles 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 increaseManually balancing miles or stops will increase
costs (usually O.T. or TW Violations)costs (usually O.T. or TW Violations)
Location
affected
Location
affected
Balance affectedBalance affected
Route Balancing - 1Route Balancing - 1Route Balancing - 1Route Balancing - 1
Location
affected
Location
affected
Route Balancing - 2Route Balancing - 2Route Balancing - 2Route Balancing - 2
Balance affectedBalance affected
Minimized Cost vs. Balanced MilesMinimized Cost vs. Balanced Miles
and Ordersand Orders
Minimized Cost vs. Balanced MilesMinimized Cost vs. Balanced Miles
and Ordersand Orders
MinimizedMinimized
CostCost
BalancedBalanced
Orders & 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 MethodologySolution MethodologySolution Methodology
• Build clusters of stopsBuild clusters of stops
• Sequence stopsSequence stops
• Swap stopsSwap stops
While honoringWhile honoring constraintsconstraints andand
minimizingminimizing costscosts
Customer
Info
System
Geographic Database
of all U.S. Streets
- Street Topology/Speed
- Address Ranges
- Graphics
Assignment, Sequence, Travel Time, Arrival Times, etc.
Customer Location
C
ustom
erAddress,
O
rderType
R
oute
Geocode Build OD
Matrix
Assignment
Sequence
Route
Improvement
Generate
Manifest,
Directions,
Maps
Dispatcher
Driver
C
oordinates
N
etw
ork
Location
N
etw
ork
TravelTim
e
FinalR
oute
InitialR
oute
Address
Ranges
Topology/
Speed
Graphics
M
anifest
D
irections
M
aps
User Parameters
e.g. weight TW
violation vs. cost
Routing ProcessRouting ProcessRouting ProcessRouting Process
Weighted Objective FunctionWeighted Objective FunctionWeighted Objective FunctionWeighted Objective Function
Factors included in the objectiveFactors included in the objective
function:function:
• CostCost
• Time Window Violation (costTime Window Violation (cost
penalty)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
ClusteringClusteringClusteringClustering
Zone-basedZone-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 Table
Work OrderWork Order
11
ClusteringClusteringClusteringClustering
Zone-based
Old-fashioned
Work Areas
A B
C D
Driver Bob is overloadedDriver Bob is overloaded
Who should help?Who should help?
Depends: Time,Depends: Time,
distance, barriers.distance, barriers.
Zone-based systemsZone-based systems
use adjacency tablesuse adjacency tables
ClusteringClusteringClusteringClustering
Network-based
A seed point approachA seed point approach
takes into account thetakes into account the
real-world travel timereal-world travel time
and distanceand distance
(geography matters)(geography matters)
• Less MilesLess Miles
• Less OvertimeLess Overtime
• More accurate timeMore accurate time
windowswindows
Seeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work Areas
• Many organizations use polygonal areasMany 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, orSeeds can be user-defined, or
automatically generated.automatically generated.
Seeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work Areas
• The area where the driver works is theThe area where the driver works is the
same, but can overlap with other driverssame, 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, butRoutes “Grow” from the seed location, but
is not limited to that vicinity if there is nois not limited to that vicinity if there is no
work.work.
Sequence and SwapSequence and SwapSequence and SwapSequence and Swap
• Intra-route improvementsIntra-route improvements
11 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 SwapSequence and SwapSequence and SwapSequence 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
MethodologyMethodologyMethodologyMethodology
• 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.42,432,902,008,176,640,000 possible combinations. (2.4
quintillion)quintillion)
• It would take aIt would take a longlong time to evaluate everytime to evaluate every
permutation. Also not necessary.permutation. Also not necessary.
• ArcLogistics uses heuristics. In order to overcome theArcLogistics uses heuristics. In order to overcome the
common shortcomings of heuristics (trapped in localcommon shortcomings of heuristics (trapped in local
optima), we’ve used a state of the art method calledoptima), we’ve used a state of the art method called
Tabu Search.Tabu Search.
• Tabu Search can achieve 10% improvement over theTabu Search can achieve 10% improvement over the
normal heuristicsnormal heuristics
MethodologyMethodologyMethodologyMethodology
$$
Traditional: N iterationsTraditional: N iterations
or, N minutesor, N minutes
ArcLogistics MethodArcLogistics Method
ArcLogisticsArcLogistics
improvementimprovement
GIS Data ManagementGIS Data ManagementGIS Data ManagementGIS Data Management
Street data is theStreet data is the
cornerstonecornerstone
Street data is theStreet data is the
cornerstonecornerstone
• Locate customers and facilitiesLocate customers and facilities
• Find the shortest pathsFind the shortest paths
– to populate an Origin-Destinationto populate an Origin-Destination
matrixmatrix
• Display the resultsDisplay the results
– what’s the route?what’s the route?
– directionsdirections
Data issues...Data issues...Data issues...Data issues...
• Street data is vital to your logisticsStreet data is vital to your logistics
solutionssolutions
– 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...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 DetailsThe Gory DetailsThe Gory Details
• What makes good quality data?What makes good quality data?
• What are some of the importantWhat are some of the important
issues?issues?
• How does data quality affect routingHow does data quality affect routing
solutions?solutions?
But first, some terminology...But first, some terminology...
ARC or
LINK or
EDGE
NODE or
JUNCTION or
VERTEX
“2-valent”
or “psuedo-
node”
Attribute record Geometry
Each street segment has a multitudeEach 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 199199
100100 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 streetThe #1 problem with street
data is CONNECTIVITYdata is CONNECTIVITY
The #1 problem with streetThe #1 problem with street
data is CONNECTIVITYdata is CONNECTIVITY
The “terminator” problem -The “terminator” problem -
jumping off a bridge to roadjumping off a bridge to road
belowbelow
……because the data has a nodebecause the data has a node
connecting the two streets, whichconnecting the two streets, which
implies it’s legal to make the jumpimplies it’s legal to make the jump
The “Blues Brother”The “Blues Brother”
problem - jump fromproblem - jump from
freeway to unconnectedfreeway to unconnected
side streetside street
……because the data has abecause the data has a
node joining the segmentsnode joining the segments
These problems greatlyThese problems greatly
affect routing solutionsaffect routing solutions
These problems greatlyThese problems greatly
affect routing solutionsaffect routing solutions
• Laughable when the route jumps offLaughable when the route jumps off
a bridgea bridge
• Significant affect on travel time (?)Significant affect on travel time (?)
Traditionally...Traditionally...Traditionally...Traditionally...
• GIS’s and GIS data have been veryGIS’s and GIS data have been very
centered around the concept of planarcentered around the concept of planar
graphsgraphs
– where arcs cross each other, there must bewhere 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 planarEvery arc is connected in a planar
graphs.graphs.
Why is this?Why is this?Why is this?Why is this?
• Most street data sets have servedMost 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 toPlanarity (closure) needed to
shade or label polygons,shade or label polygons,
calculate area, overlay with othercalculate area, overlay with other
datadata
Why is this?Why is this?Why is this?Why is this?
• Relatively cheap to capture theRelatively cheap to capture the
linework and make it planar...linework and make it planar...
– scan a mapscan a map
• ……compared with establishingcompared with establishing
correct connectivitycorrect connectivity
– automated methods do exist, but areautomated methods do exist, but are
falliblefallible
– ground truth neededground truth needed
Solutions to the planaritySolutions to the planarity
problemproblem
Solutions to the planaritySolutions to the planarity
problemproblem
• Remove the node! Make it non-planar!Remove the node! Make it non-planar!
ProblemsProblems
node may be needed for other reasonsnode may be needed for other reasons
identifying 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 areExample - node can’t be removed because attributes are
differentdifferent
Solution - turntableSolution - turntableSolution - turntableSolution - turntable
101
103
102
104
From To
101 104
101 102
102 101
102 103
103 102
103 104
104 101
104 103
A turntable lists all the illegal
turns
Massive amount of informationMassive amount of information
compared to removing thecompared to removing the
nodenode
Difficult to maintainDifficult to maintain
split arc 101split arc 101
5 minute5 minute
delaydelay
At some point, turntables are neededAt some point, turntables are needed
Turntables used to for turning penaltiesTurntables used to for turning penalties
(delays)(delays)
FromFrom ToTo MinutesMinutes
-- -- 55
Node ElevationsNode ElevationsNode 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 nodeWhen network connectivity is created, the from and to node
elevations are taken into account and two nodes are created atelevations are taken into account and two nodes are created at
the intersectionthe intersection
Node ElevationsNode ElevationsNode ElevationsNode Elevations
• Can provide “best of both worlds”Can provide “best of both worlds”
• Data set still planar if nodeData 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
AttributesAttributesAttributesAttributes
• Road ClassRoad Class
• HierarchyHierarchy
• CartographyCartography
• OnewayOneway
• PermissionPermission
Road ClassRoad ClassRoad ClassRoad Class
• Road Class is used as surrogate forRoad Class is used as surrogate for
travel timetravel time
– ““Primary road” = 55mphPrimary road” = 55mph
– Length of arc is know or can beLength of arc is know or can be
calculatedcalculated
– Travel time dependent on urbanizationTravel time dependent on urbanization
• ‘‘primary road in urban area’ NE ‘primaryprimary road in urban area’ NE ‘primary
road in rural arearoad in rural area
• CFCC or FCC code for TIGER dataCFCC or FCC code for TIGER data
Road HierarchyRoad HierarchyRoad HierarchyRoad Hierarchy
• Road class is often used as aRoad 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 pathfindingHierarchies in pathfindingHierarchies in pathfinding
City
City30 miles
Origin
Destination
(dense street network
in between)
Data ManagementData ManagementData ManagementData Management
HierarchiesHierarchiesHierarchiesHierarchies
• Really great for finding distancesReally great for finding distances
• The hierarchy must be connectedThe hierarchy must be connected
• The high-order hierarchy may needThe high-order hierarchy may need
to have roads of lower class toto have roads of lower class to
connect the hierarchyconnect the hierarchy
Cartographic DisplayCartographic DisplayCartographic DisplayCartographic Display
• Road Class used for cartographicRoad Class used for cartographic
symbolizationsymbolization
• Highway in a tunnelHighway in a tunnel
– Displayed differently but still same roadDisplayed differently but still same road
classclass
• Drawing orderDrawing order
– brunnelsbrunnels
Road Class does triple dutyRoad Class does triple dutyRoad 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
OnewayOnewayOnewayOneway
• Difficult to obtainDifficult to obtain
• Easy to representEasy 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 significantFor 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
OnewayOnewayOnewayOneway
• Very significant for arc routingVery significant for arc routing
problemsproblems
– garbage truckgarbage truck
– meter readingmeter reading
– newspaper deliverynewspaper delivery
PermissionsPermissionsPermissionsPermissions
• Not all vehicles are allowed to travelNot 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-turnsU-turnsU-turns
• Usually never part of dataUsually never part of data
• Dependent on vehicle characteristicsDependent on vehicle characteristics
and street geometryand street geometry
– cul-de-sacscul-de-sacs
• In complicated problems, the pathfindingIn complicated problems, the pathfinding
code has to examine geometry, orcode has to examine geometry, or
provide vehicle-based turntablesprovide vehicle-based turntables
From To Angle
Positional AccuracyPositional AccuracyPositional AccuracyPositional Accuracy
• Who cares???Who cares???
• Non-differential GPSNon-differential GPS
• Giant digitizing pucksGiant digitizing pucks
• Sketch in new subdivisionsSketch in new subdivisions
GeocodingGeocodingGeocodingGeocoding
• 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
DirectionsDirectionsDirectionsDirections
• Printed directions - “Turn rightPrinted 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 turningThumbnail maps of each turning
movement greatmovement great
– quite a lot of programming involvedquite a lot of programming involved
Data VolumesData VolumesData VolumesData Volumes
• GIS must handle huge networksGIS must handle huge networks
– millions of arcs affect:millions of arcs affect:
• displaydisplay
• geocodinggeocoding
• pathfindingpathfinding
Data VolumesData VolumesData VolumesData Volumes
• This is an area where GIS has pushed theThis is an area where GIS has pushed the
envelopeenvelope
– memory managementmemory management
• memory is getting cheap and commonmemory is getting cheap and common
– algorithmsalgorithms
• many different strategiesmany different strategies
• Most often, an “origin-destination” matrix isMost often, an “origin-destination” matrix is
requiredrequired
– 1000 customers = 1000 x 1000 matrix = 4 million bytes = 41000 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 vehicleand what about a matrix for time of day routing, or vehicle
characteristics?characteristics?
Street Data is a significantStreet Data is a significant
investmentinvestment
Street Data is a significantStreet Data is a significant
investmentinvestment
• Depends on the applicationDepends on the application
• Update frequencyUpdate frequency
ArchitecturesArchitecturesArchitecturesArchitectures
Client/ServerClient/Server
WebWeb
WebWebWebWeb
DesktopDesktopDesktopDesktop
ArcIMS
Server
Geocoding
ArcLogistics
RouteServer
Tracking
Stops
Routes
Tracks
Current Position; Running Late;
Arrived; Actual ETA; Off Route;
Reschedule; Cancel
Streets
Wireless
Synchronization
Web Server
Mobile Link
I n t e r n e t
SDE/Oracle
Consumer
Vehicle
Palm OS or
CE browser
Dispatcher
View/Edit
Routes
Place Orders
Check Status
Receive ETA
Location
and Status
Manifest, Maps
Directions
Wireless
Ardis, RAM, CDPD
ActiveX
JAVA
Order Assignment; Order Sequence;
Planned ETA; Maps & Reports
RouteMap
ArcLogistics RoutePortal ConceptArcLogistics RoutePortal ConceptArcLogistics RoutePortal ConceptArcLogistics RoutePortal Concept
HTML
Internet
ESRI Routing

More Related Content

Similar to ESRI Routing

Ark in Glass V2 Secant Wheel Applications
Ark in Glass V2 Secant Wheel ApplicationsArk in Glass V2 Secant Wheel Applications
Ark in Glass V2 Secant Wheel ApplicationsBrij Consulting, LLC
 
What Is Good DataViz Design?
What Is Good DataViz Design?What Is Good DataViz Design?
What Is Good DataViz Design?Randy Krum
 
Graphs for Visual Understanding
Graphs for Visual UnderstandingGraphs for Visual Understanding
Graphs for Visual UnderstandingKaushalya Madhawa
 
2010 Buick La Crosse Dallas
2010 Buick La Crosse Dallas2010 Buick La Crosse Dallas
2010 Buick La Crosse DallasJerrys Buick
 
Ark in Glass v3 Driving the Instance
Ark in Glass v3 Driving the InstanceArk in Glass v3 Driving the Instance
Ark in Glass v3 Driving the InstanceBrij Consulting, LLC
 
ARTES 20 IAP Success Story - Vecmap
ARTES 20 IAP Success Story - VecmapARTES 20 IAP Success Story - Vecmap
ARTES 20 IAP Success Story - VecmapSpace-Applications
 
Vega Encode Club Workshop
Vega Encode Club WorkshopVega Encode Club Workshop
Vega Encode Club WorkshopVanessa Lošić
 
The Data-Driven Marketer - Trendigital 2016
The Data-Driven Marketer - Trendigital 2016The Data-Driven Marketer - Trendigital 2016
The Data-Driven Marketer - Trendigital 2016Chris Prendergast
 
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...Flink Forward
 
Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingVasia Kalavri
 
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PI
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PIMOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PI
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PIMonica Li
 
UMBC Research Day Presentation
UMBC Research Day PresentationUMBC Research Day Presentation
UMBC Research Day PresentationSDavis7
 
Skyscanner Design System. One year in.
Skyscanner Design System. One year in.Skyscanner Design System. One year in.
Skyscanner Design System. One year in.James Ferguson
 

Similar to ESRI Routing (20)

Ark in Glass V2 Secant Wheel Applications
Ark in Glass V2 Secant Wheel ApplicationsArk in Glass V2 Secant Wheel Applications
Ark in Glass V2 Secant Wheel Applications
 
What Is Good DataViz Design?
What Is Good DataViz Design?What Is Good DataViz Design?
What Is Good DataViz Design?
 
Mapping A Disaster
Mapping A DisasterMapping A Disaster
Mapping A Disaster
 
Graphs for Visual Understanding
Graphs for Visual UnderstandingGraphs for Visual Understanding
Graphs for Visual Understanding
 
2010 Buick La Crosse Dallas
2010 Buick La Crosse Dallas2010 Buick La Crosse Dallas
2010 Buick La Crosse Dallas
 
[arra]stre Tech Talk
[arra]stre Tech Talk[arra]stre Tech Talk
[arra]stre Tech Talk
 
Ark in Glass v3 Driving the Instance
Ark in Glass v3 Driving the InstanceArk in Glass v3 Driving the Instance
Ark in Glass v3 Driving the Instance
 
ARTES 20 IAP Success Story - Vecmap
ARTES 20 IAP Success Story - VecmapARTES 20 IAP Success Story - Vecmap
ARTES 20 IAP Success Story - Vecmap
 
Wireless Past Present Future
Wireless Past Present FutureWireless Past Present Future
Wireless Past Present Future
 
Vega Encode Club Workshop
Vega Encode Club WorkshopVega Encode Club Workshop
Vega Encode Club Workshop
 
Vega workshop_1
Vega workshop_1Vega workshop_1
Vega workshop_1
 
The Data-Driven Marketer - Trendigital 2016
The Data-Driven Marketer - Trendigital 2016The Data-Driven Marketer - Trendigital 2016
The Data-Driven Marketer - Trendigital 2016
 
Nelson_Porfolio
Nelson_PorfolioNelson_Porfolio
Nelson_Porfolio
 
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
Self Managed and Automatically Reconfigurable Stream Processing - Vasiliki Ka...
 
Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processing
 
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PI
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PIMOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PI
MOUG17: Visualizing Air Traffic with Oracle APEX and Raspberry PI
 
UMBC Research Day Presentation
UMBC Research Day PresentationUMBC Research Day Presentation
UMBC Research Day Presentation
 
Crap is Gold
Crap is GoldCrap is Gold
Crap is Gold
 
Crap Is Gold
Crap Is GoldCrap Is Gold
Crap Is Gold
 
Skyscanner Design System. One year in.
Skyscanner Design System. One year in.Skyscanner Design System. One year in.
Skyscanner Design System. One year in.
 

ESRI Routing

  • 1. ESRI TechnologyESRI TechnologyESRI TechnologyESRI Technology Routing Technology FocusRouting Technology Focus Don WeigelDon Weigel - Program Manager- Program Manager Transportation/Logistics Products and ServicesTransportation/Logistics Products and Services dweigel@esri.comdweigel@esri.com (909) 793-2853 ext. 1766(909) 793-2853 ext. 1766
  • 2. OutlineOutlineOutlineOutline • OverviewOverview – Why GIS?Why GIS? – A few applicationsA few applications – Integration of GIS and OR for RoutingIntegration of GIS and OR for Routing and Site Locationand Site Location – ApplicationsApplications – GIS Data ManagementGIS Data Management – MethodologyMethodology – Object ModelObject Model
  • 3. Customer LocationsCustomer Locations Trade AreasTrade Areas Street NetworksStreet Networks Post CodesPost Codes Market PotentialMarket Potential DemographicsDemographics Why Use Maps?Why Use Maps?Why Use Maps?Why Use Maps? BecauseBecause Everything isEverything is SomewhereSomewhere...... ... and... and somehowsomehow connected.connected. A way toA way to model andmodel and betterbetter understandunderstand the worldthe world
  • 4. How Does GISHow Does GIS Help in Routing?Help in Routing? How Does GISHow Does GIS Help in Routing?Help in Routing? Customer Database - Street Topology/Speed- Street Topology/Speed - Address Ranges- Address Ranges - Graphics- Graphics Dispatcher Driver Geocode Solver Manifest, Directions, Maps
  • 5. GIS is… Spatial DataGIS is… Spatial Data Creation and EditingCreation and Editing GIS is… Spatial DataGIS is… Spatial Data Creation and EditingCreation and Editing Radius = 40 Radius = 55
  • 6. • Multiple editMultiple edit sessions andsessions and long transactionslong transactions • One databaseOne database A CB Version A Version B Version C GIS is... Data ManagementGIS is... Data ManagementGIS is... Data ManagementGIS is... Data Management
  • 7. GIS is … AnalysisGIS is … AnalysisGIS is … AnalysisGIS is … Analysis
  • 8. 1996 to 2001 Change 1996 Population Density 1996 Penetration 1996 to # # # # ## # # # # # # ## # ## # # # ### ### # # # ## ### # # ### ## # # # # # # # # # ## ## ## # #### ## # # # ## # ### # ## # ## # # # ## ### # # # # # ## ### ### ### ### ### ## ## ## ### ### ## # ## # # # # # #### ### #### # ## # # # # # # # # ## # # # ## # # # # #### # #### # # # # # ## # # # # # # ### # # ## ## ## ## # ## # # # # # ## ### ## # # ## ### # # # ## # # # # ## # # # # # # ## # ### ## # ## ### ## # ### ## # # ## # ## # # # # ## # # # # # # # ## # # # # # # # # # # ## # ### ## ## # ## ## ## # # # #### # # ## # # # # # # ## ## # # # ### # ## ## ## # ## ## # # # # # ### # ## ## # # # ## # # ## # ## ### # # ## # # ## # ### # # # ### ## # ## # # #### # # # # # # # # # # # # # # # # # # # # # # ### # ### ## # # # # # ## # ### # # # ## # # # # # # # ## # # # # # # ### # # # ## # # # # # ## # ## # # # # # # # # # # # ## ## # #### # # # # # # # # # # ## # # # # # # ## # ## #### ## # # 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… ModelingGIS is… ModelingGIS is… Modeling
  • 9. GIS is… Tracking Real TimeGIS is… Tracking Real Time EventsEvents GIS is… Tracking Real TimeGIS is… Tracking Real Time EventsEvents
  • 10. GIS is… Charting and ReportingGIS is… Charting and ReportingGIS is… Charting and ReportingGIS is… Charting and Reporting
  • 11. GIS is… VisualizationGIS is… VisualizationGIS is… VisualizationGIS is… Visualization
  • 12. GIS is… Mission CriticalGIS is… Mission CriticalGIS is… Mission CriticalGIS is… Mission Critical
  • 13. Map “Overlay” =Map “Overlay” = Relational “Join”Relational “Join” Coordinates are theCoordinates are the ““Common Keys”Common Keys” Map “Overlay” =Map “Overlay” = Relational “Join”Relational “Join” Coordinates are theCoordinates are the ““Common Keys”Common Keys” Spatial Data ManipulationSpatial Data ManipulationSpatial Data ManipulationSpatial Data Manipulation e.g. Customerse.g. Customers e.g. Districtse.g. Districts Spatial DatabaseSpatial Database LayersLayers GIS Creates “Spatial Relationships”GIS Creates “Spatial Relationships” Between Otherwise Unrelated DataBetween Otherwise Unrelated Data
  • 14. SharedShared GeoDataGeoData Organisation XOrganisation X Organisation YOrganisation Y Department ADepartment A Department CDepartment C Department BDepartment B The PublicThe Public GIS is... OrganizationalGIS is... Organizational IntegrationIntegration GIS is... OrganizationalGIS is... Organizational IntegrationIntegration
  • 15. And yes, MappingAnd yes, MappingAnd yes, MappingAnd yes, Mapping
  • 16. The “Value-add” of GIS isThe “Value-add” of GIS is Accurate DistanceAccurate Distance (and Time) Computation(and Time) Computation The “Value-add” of GIS isThe “Value-add” of GIS is Accurate DistanceAccurate Distance (and Time) Computation(and Time) Computation
  • 17. Many Companies OfferMany Companies Offer Logistics Solutions but theyLogistics Solutions but they Fake the DistancesFake the Distances Many Companies OfferMany Companies Offer Logistics Solutions but theyLogistics Solutions but they Fake the DistancesFake the Distances Euclidean Distance or if they’reEuclidean Distance or if they’re “fancy”, they correct for Earth“fancy”, they correct for Earth curvaturecurvature
  • 18. This may work in Kansas...This may work in Kansas...This may work in Kansas...This may work in Kansas... But not anywhere that hasBut not anywhere that has interesting geography e.g.interesting geography e.g. lakes, rivers, mountains,lakes, rivers, mountains, canyons, etc.canyons, etc.
  • 19. Euclidean vs. Actual MilesEuclidean vs. Actual MilesEuclidean vs. Actual MilesEuclidean vs. Actual Miles 39.89 miles as the crow flies39.89 miles as the crow flies 52 miles actual52 miles actual 19.58 miles as the crow flies19.58 miles as the crow flies 39.98 miles actual39.98 miles actual
  • 20. Euclidean vs. Actual MilesEuclidean vs. Actual MilesEuclidean vs. Actual MilesEuclidean vs. Actual Miles 3.9 miles as the crow flies3.9 miles as the crow flies 16.3 miles actual16.3 miles actual 10 miles as the crow flies10 miles as the crow flies 26 miles actual26 miles actual
  • 21. RouteRoute OptimizationOptimization RouteRoute 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 miles Green route 8.2 milesGreen route 8.2 miles Total = 16.9 milesTotal = 16.9 miles Red route 29.4 milesRed route 29.4 miles Green route 27.0 milesGreen route 27.0 miles Total = 56.4 milesTotal = 56.4 miles Red route 23.0 milesRed route 23.0 miles Green route 24.2 milesGreen route 24.2 miles Total = 47.2 milesTotal = 47.2 miles Mileage savings = 17%Mileage savings = 17%
  • 22. Two Views of NetworksTwo Views of NetworksTwo Views of NetworksTwo Views of Networks Geometry important or unimportant ...Geometry important or unimportant ... N a v ig a b le r iv e r R a ilr o a d A ir lin e r o u t e H ig h w a y N e t w o r k v ie w T r a in s t a t io n A ir p o r t A ir p o r t F a c t o r y B r id g e N a v ig a b le R iv e r B r id g e R a ilr o a d Highway A ir lin e r o u t e 4 3 6 6 G e o g r a p h ic v ie w
  • 23. Geometry and ConnectivityGeometry and ConnectivityGeometry and ConnectivityGeometry and Connectivity j1 2 3 j 1 2 6 e1 e2 e3 j 1 2 4 j1 2 5 G e o m e t r i c N e t w o r k j1 2 3 j1 2 4 j1 2 5 j1 2 6 J u n c t io n j 1 2 4 , e 1 A d ja c e n t J u n c t i o n a n d E d g e j 1 2 4 , e 1 j 1 2 5 , e 2 j 1 2 6 , e 3 j 1 2 4 , e 2 j 1 2 4 , e 3 C o n n e c t iv it y T a b le L o g i c a l N e t w o r k Geometric networkGeometric network contains geometrycontains geometry Logical networkLogical network contains connectivitycontains connectivity ConnectivityConnectivity establishedestablished automatically viaautomatically via geometricgeometric coincidencecoincidence
  • 24. 0 10 20 30 40 50 60 70 YCoordinateAxis 0 10 20 30 40 50 60 a2 N3 N4 N1 N2 N6 D, a6, N5 a4 a4 a5 a7 a7 a7 a7 a2 a2 a3 a3 a1 a1 a5 a5 a5 X Coordinate Axis A C B E Arc Coordinate Data Arc Start X,Y Intermediate X,Y End X,Y a1 a2 a3 a4 a5 a6 a7 40, 60 70, 50 10, 25 40, 60 10, 25 30, 20 55, 27 70, 60 70, 10; 10,10 10, 60 30, 50 20,27; 30,30; 50,32 55, 15; 40, 15; 45,27 70, 50 10, 25 40, 60 30, 40 70, 50 30, 20 55, 27 Arc Topology Arc Start Node End Node Left Poly Right Poly a1 a2 a3 a4 a5 a6 a7 N1 N2 N3 N4 N3 N5 N6 N2 N3 N1 N1 N2 N5 N6 E E E A A B B A B A A B B C Node Topology Node Arcs N1 N2 N3 N4 N5 N6 a1, a3, a4 a1, a2, a5 a2, a3, a5 a4 a6 a7 Street Network Becomes...Street Network Becomes...Street Network Becomes...Street Network Becomes...
  • 25. Origin Destination MatrixOrigin Destination MatrixOrigin Destination MatrixOrigin Destination Matrix LocationLocation 1 2 3 4 5 6 7 8 9 10 11 121 2 3 4 5 6 7 8 9 10 11 12 11 22 33 44 55 66 77 88 99 1010 1111 1212 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,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,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,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,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,dt,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,dt,d NetEngine buildsNetEngine builds an “OD” matrix of thean “OD” matrix of the times and distancestimes and distances from each location tofrom each location to all other locations onall other locations on the networkthe network t = timet = time d = distanced = distance
  • 26. What is a Route?What is a Route?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,Balancing, Dump fee minimization, Resource maximization, FuelResource maximization, Fuel minimization, O.T. minimization etc.minimization, O.T. minimization etc. • What are the Constraints?What are the Constraints? – Weight, Volume, # Stops, Distance toWeight, Volume, # Stops, Distance to dump, # Vehiclesdump, # Vehicles
  • 27. Appropriate OptimizationAppropriate Optimization Technique ???Technique ??? Appropriate OptimizationAppropriate 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,Supply Driven, Demand Driven, Equal Cost, Equal Access, Equal Work LoadEqual Access, Equal Work Load
  • 28. Applications/Solvers/ToolsApplications/Solvers/ToolsApplications/Solvers/ToolsApplications/Solvers/Tools - Applications- Applications e.g. ArcLogisticse.g. ArcLogistics - GUI Dev Tools- GUI Dev Tools JAVA ActiveX HTML - Solver Objects- Solver Objects - Spatial Objects- Spatial Objects ArcIMSClient/ServerClient/Server OptionsOptions UNIX/NTUNIX/NT
  • 29. Point ClusteringPoint Clustering DistrictingDistricting Network PartitioningNetwork Partitioning Simple Pathfinding/VRPSimple Pathfinding/VRP Periodic Routing/SchedulingPeriodic Routing/Scheduling Chinese PostmanChinese Postman Week 1 Day 1 Week 1 Day 2 Week 1 Day 3 Importance of Street Data: H M LImportance of Street Data: H M L LL LL L-ML-M M-HM-H MM HH Objectives Constraints Complexity: H M LComplexity: H M L LL LL MM M-HM-H HH HH
  • 30. Location/Allocation andLocation/Allocation and Spatial InteractionSpatial Interaction Location/Allocation andLocation/Allocation and Spatial InteractionSpatial Interaction
  • 31. Business AnalystBusiness AnalystBusiness AnalystBusiness Analyst
  • 32. ESRI StrategyESRI StrategyESRI 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
  • 33. A Blending of DisciplinesA Blending of DisciplinesA Blending of DisciplinesA Blending of Disciplines GISGIS LogisticsLogistics ““Better DecisionsBetter Decisions Through Better SpatialThrough Better Spatial Information”Information” ““Balance CostBalance Cost and Customerand Customer Objectives toObjectives to MaximizeMaximize Sales and Profit”Sales and Profit” OperationsOperations ResearchResearch ““Better Decisions throughBetter Decisions through Mathematical Models”Mathematical Models” GIS ToolsGIS Tools OR ToolsOR Tools
  • 34. Why GIS + OR ?Why GIS + OR ?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
  • 35. GIS + OR: Typical BenefitsGIS + OR: Typical BenefitsGIS + OR: Typical BenefitsGIS + OR: Typical Benefits • Reduce CostsReduce 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 ProductivityIncrease 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 andImprove Customer Service and SatisfactionSatisfaction – Offer Tighter Time WindowsOffer Tighter Time Windows – Keep the promise: On-time PerformanceKeep the promise: On-time Performance – Establish ReputationEstablish Reputation –
  • 36. Case Study: SEARSCase Study: SEARSCase 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
  • 37. Routing ProblemRouting Problem ComponentsComponents Routing ProblemRouting Problem ComponentsComponents • ObjectivesObjectives – Minimize or maximize something -Minimize or maximize something - usually involving cost, distance orusually involving cost, distance or travel time.travel time. • ConstraintsConstraints – Approach Objective while consideringApproach Objective while considering other factors - often includingother factors - often including geographic constraints.geographic constraints.
  • 38. Typical ObjectivesTypical ObjectivesTypical ObjectivesTypical Objectives • Objectives Typically Represented asObjectives 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 ViolationMin TW Violation = Min Violation “Penalty” Cost“Penalty” Cost
  • 39. Typical ConstraintsTypical ConstraintsTypical 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 ofTime Windows of OrdersOrders – Start Time*Start Time* – Time Windows ofTime Windows of LocationsLocations Limits you put on the objective function
  • 40. ConstraintsConstraintsConstraintsConstraints • Unconstrained routes “look”Unconstrained routes “look” efficient/good. They are circular andefficient/good. They are circular and minimize travel time/distance.minimize travel time/distance. • Constrained routes don’t “look” efficient.Constrained routes don’t “look” efficient. They may cross, have wait time, overtime,They may cross, have wait time, overtime, and drive far due to customer serviceand drive far due to customer service objectives.objectives. • This is a classic tradeoff.This is a classic tradeoff. • Dispatchers don’t like the “look” ofDispatchers don’t like the “look” of constrained routes.constrained routes.
  • 41. Unconstrained vs.Unconstrained vs. Constrained RoutesConstrained Routes Unconstrained vs.Unconstrained vs. Constrained RoutesConstrained Routes
  • 42. Sample Parameters...Sample Parameters...Sample Parameters...Sample Parameters...
  • 43. Typical MinimizationTypical Minimization ProblemProblem Typical MinimizationTypical Minimization ProblemProblem $ Per Mile, Hour Miles, Hours Cost Minimizing Objective
  • 45. Time WindowsTime WindowsTime WindowsTime Windows • Soft ConstraintSoft Constraint • Minimize time window violations.Minimize time window violations. • Tight Time Windows will result in moreTight Time Windows will result in more Overtime, Wait Time, and Drive Time.Overtime, Wait Time, and Drive Time. • The wider the window, the more circularThe wider the window, the more circular the route, and lower cost.the route, and lower cost. • Drivers often won’t run a sequence thatDrivers often won’t run a sequence that doubles back because of time windows.doubles back because of time windows. They think they can sequence the routeThey think they can sequence the route better.better.
  • 46. CapacityCapacityCapacityCapacity • 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.
  • 47. Start TimeStart TimeStart TimeStart Time • Soft or Hard ConstraintSoft or Hard Constraint • When expressed as a range, ArcLogisticsWhen expressed as a range, ArcLogistics will find the best start time to minimizewill 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 ifArcLogistics will use that time even if costs are higher.costs are higher. • Used to reduce unproductive (wait) time.Used to reduce unproductive (wait) time.
  • 48. Flexible Start TimesFlexible Start TimesFlexible Start TimesFlexible Start Times
  • 49. Service TimeService TimeService TimeService Time • Hard ConstraintHard Constraint • ArcLogistics will always use the serviceArcLogistics will always use the service time specifiedtime specified
  • 50. SpecialtySpecialtySpecialtySpecialty • Hard ConstraintHard Constraint • An order with a specialty must be servicedAn order with a specialty must be serviced by a vehicle with a correspondingby a vehicle with a corresponding specialtyspecialty • ArcLogistics will not assign the order if noArcLogistics will not assign the order if no vehicle/driver exists with the specialtyvehicle/driver exists with the specialty necessary to service the order. A warningnecessary to service the order. A warning message is displayed.message is displayed.
  • 51. Locked OrdersLocked OrdersLocked OrdersLocked Orders • Hard ConstraintHard Constraint • Sometimes called “Pre-Assignment”Sometimes called “Pre-Assignment” • Forces an order to a specific vehicleForces an order to a specific vehicle even though this may be sub-optimaleven though this may be sub-optimal • Usually due to some businessUsually due to some business requirementrequirement – Please send driver BobPlease send driver Bob – Send the technician who took it apartSend the technician who took it apart yesterdayyesterday
  • 52. Locked RoutesLocked RoutesLocked RoutesLocked Routes • Hard ConstraintHard Constraint • Locks all stops to a specific vehicleLocks all stops to a specific vehicle • Does not allow additional stops to beDoes not allow additional stops to be addedadded • Does not allow stops to be removedDoes not allow stops to be removed
  • 53. Evaluating RoutesEvaluating RoutesEvaluating RoutesEvaluating Routes • Dispatchers typically look to see that driversDispatchers typically look to see that drivers have a “balanced” work loadhave a “balanced” work load – In terms of miles, and # stopsIn terms of miles, and # stops • However, ArcLogistics takes into account ServiceHowever, ArcLogistics takes into account Service Time, Drive TimeTime, Drive Time • Routes that have minimized costs may not haveRoutes that have minimized costs may not have balanced miles or # of stopsbalanced miles 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 increaseManually balancing miles or stops will increase costs (usually O.T. or TW Violations)costs (usually O.T. or TW Violations)
  • 54. Location affected Location affected Balance affectedBalance affected Route Balancing - 1Route Balancing - 1Route Balancing - 1Route Balancing - 1
  • 55. Location affected Location affected Route Balancing - 2Route Balancing - 2Route Balancing - 2Route Balancing - 2 Balance affectedBalance affected
  • 56. Minimized Cost vs. Balanced MilesMinimized Cost vs. Balanced Miles and Ordersand Orders Minimized Cost vs. Balanced MilesMinimized Cost vs. Balanced Miles and Ordersand Orders MinimizedMinimized CostCost BalancedBalanced Orders & 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
  • 57. Solution MethodologySolution MethodologySolution MethodologySolution Methodology • Build clusters of stopsBuild clusters of stops • Sequence stopsSequence stops • Swap stopsSwap stops While honoringWhile honoring constraintsconstraints andand minimizingminimizing costscosts
  • 58. Customer Info System Geographic Database of all U.S. Streets - Street Topology/Speed - Address Ranges - Graphics Assignment, Sequence, Travel Time, Arrival Times, etc. Customer Location C ustom erAddress, O rderType R oute Geocode Build OD Matrix Assignment Sequence Route Improvement Generate Manifest, Directions, Maps Dispatcher Driver C oordinates N etw ork Location N etw ork TravelTim e FinalR oute InitialR oute Address Ranges Topology/ Speed Graphics M anifest D irections M aps User Parameters e.g. weight TW violation vs. cost Routing ProcessRouting ProcessRouting ProcessRouting Process
  • 59. Weighted Objective FunctionWeighted Objective FunctionWeighted Objective FunctionWeighted Objective Function Factors included in the objectiveFactors included in the objective function:function: • CostCost • Time Window Violation (costTime Window Violation (cost penalty)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
  • 60. ClusteringClusteringClusteringClustering Zone-basedZone-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 Table Work OrderWork Order 11
  • 61. ClusteringClusteringClusteringClustering Zone-based Old-fashioned Work Areas A B C D Driver Bob is overloadedDriver Bob is overloaded Who should help?Who should help? Depends: Time,Depends: Time, distance, barriers.distance, barriers. Zone-based systemsZone-based systems use adjacency tablesuse adjacency tables
  • 62. ClusteringClusteringClusteringClustering Network-based A seed point approachA seed point approach takes into account thetakes into account the real-world travel timereal-world travel time and distanceand distance (geography matters)(geography matters) • Less MilesLess Miles • Less OvertimeLess Overtime • More accurate timeMore accurate time windowswindows
  • 63. Seeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work Areas • Many organizations use polygonal areasMany 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, orSeeds can be user-defined, or automatically generated.automatically generated.
  • 64. Seeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work AreasSeeds vs. Fixed Work Areas • The area where the driver works is theThe area where the driver works is the same, but can overlap with other driverssame, 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, butRoutes “Grow” from the seed location, but is not limited to that vicinity if there is nois not limited to that vicinity if there is no work.work.
  • 65. Sequence and SwapSequence and SwapSequence and SwapSequence and Swap • Intra-route improvementsIntra-route improvements 11 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
  • 66. Sequence and SwapSequence and SwapSequence and SwapSequence 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
  • 67. MethodologyMethodologyMethodologyMethodology • 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.42,432,902,008,176,640,000 possible combinations. (2.4 quintillion)quintillion) • It would take aIt would take a longlong time to evaluate everytime to evaluate every permutation. Also not necessary.permutation. Also not necessary. • ArcLogistics uses heuristics. In order to overcome theArcLogistics uses heuristics. In order to overcome the common shortcomings of heuristics (trapped in localcommon shortcomings of heuristics (trapped in local optima), we’ve used a state of the art method calledoptima), we’ve used a state of the art method called Tabu Search.Tabu Search. • Tabu Search can achieve 10% improvement over theTabu Search can achieve 10% improvement over the normal heuristicsnormal heuristics
  • 68. MethodologyMethodologyMethodologyMethodology $$ Traditional: N iterationsTraditional: N iterations or, N minutesor, N minutes ArcLogistics MethodArcLogistics Method ArcLogisticsArcLogistics improvementimprovement
  • 69. GIS Data ManagementGIS Data ManagementGIS Data ManagementGIS Data Management
  • 70. Street data is theStreet data is the cornerstonecornerstone Street data is theStreet data is the cornerstonecornerstone • Locate customers and facilitiesLocate customers and facilities • Find the shortest pathsFind the shortest paths – to populate an Origin-Destinationto populate an Origin-Destination matrixmatrix • Display the resultsDisplay the results – what’s the route?what’s the route? – directionsdirections
  • 71. Data issues...Data issues...Data issues...Data issues... • Street data is vital to your logisticsStreet data is vital to your logistics solutionssolutions – geocodinggeocoding – routingrouting – site locationsite location • Quality varies significantlyQuality varies significantly • DynamicDynamic • Big investment (time and money)Big investment (time and money) • Huge volumeHuge volume
  • 72. Street data...Street data...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
  • 73. The Gory DetailsThe Gory DetailsThe Gory DetailsThe Gory Details • What makes good quality data?What makes good quality data? • What are some of the importantWhat are some of the important issues?issues? • How does data quality affect routingHow does data quality affect routing solutions?solutions? But first, some terminology...But first, some terminology...
  • 74. ARC or LINK or EDGE NODE or JUNCTION or VERTEX “2-valent” or “psuedo- node”
  • 75. Attribute record Geometry Each street segment has a multitudeEach street segment has a multitude of attribute informationof attribute information more about that latermore about that later
  • 76. ““over/underpass or “brunnel”over/underpass or “brunnel” (bridge over tunnel)(bridge over tunnel) 101101 199199 100100 198198 92373 92374 Left and right address ranges,Left and right address ranges, left and right zip codes.left and right zip codes.
  • 77. The #1 problem with streetThe #1 problem with street data is CONNECTIVITYdata is CONNECTIVITY The #1 problem with streetThe #1 problem with street data is CONNECTIVITYdata is CONNECTIVITY The “terminator” problem -The “terminator” problem - jumping off a bridge to roadjumping off a bridge to road belowbelow ……because the data has a nodebecause the data has a node connecting the two streets, whichconnecting the two streets, which implies it’s legal to make the jumpimplies it’s legal to make the jump
  • 78. The “Blues Brother”The “Blues Brother” problem - jump fromproblem - jump from freeway to unconnectedfreeway to unconnected side streetside street ……because the data has abecause the data has a node joining the segmentsnode joining the segments
  • 79. These problems greatlyThese problems greatly affect routing solutionsaffect routing solutions These problems greatlyThese problems greatly affect routing solutionsaffect routing solutions • Laughable when the route jumps offLaughable when the route jumps off a bridgea bridge • Significant affect on travel time (?)Significant affect on travel time (?)
  • 80. Traditionally...Traditionally...Traditionally...Traditionally... • GIS’s and GIS data have been veryGIS’s and GIS data have been very centered around the concept of planarcentered around the concept of planar graphsgraphs – where arcs cross each other, there must bewhere 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 planarEvery arc is connected in a planar graphs.graphs.
  • 81. Why is this?Why is this?Why is this?Why is this? • Most street data sets have servedMost 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 toPlanarity (closure) needed to shade or label polygons,shade or label polygons, calculate area, overlay with othercalculate area, overlay with other datadata
  • 82. Why is this?Why is this?Why is this?Why is this? • Relatively cheap to capture theRelatively cheap to capture the linework and make it planar...linework and make it planar... – scan a mapscan a map • ……compared with establishingcompared with establishing correct connectivitycorrect connectivity – automated methods do exist, but areautomated methods do exist, but are falliblefallible – ground truth neededground truth needed
  • 83. Solutions to the planaritySolutions to the planarity problemproblem Solutions to the planaritySolutions to the planarity problemproblem • Remove the node! Make it non-planar!Remove the node! Make it non-planar! ProblemsProblems node may be needed for other reasonsnode may be needed for other reasons identifying nodes to removeidentifying nodes to remove
  • 84. 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 areExample - node can’t be removed because attributes are differentdifferent
  • 85. Solution - turntableSolution - turntableSolution - turntableSolution - turntable 101 103 102 104 From To 101 104 101 102 102 101 102 103 103 102 103 104 104 101 104 103 A turntable lists all the illegal turns Massive amount of informationMassive amount of information compared to removing thecompared to removing the nodenode Difficult to maintainDifficult to maintain split arc 101split arc 101
  • 86. 5 minute5 minute delaydelay At some point, turntables are neededAt some point, turntables are needed Turntables used to for turning penaltiesTurntables used to for turning penalties (delays)(delays) FromFrom ToTo MinutesMinutes -- -- 55
  • 87. Node ElevationsNode ElevationsNode 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 nodeWhen network connectivity is created, the from and to node elevations are taken into account and two nodes are created atelevations are taken into account and two nodes are created at the intersectionthe intersection
  • 88. Node ElevationsNode ElevationsNode ElevationsNode Elevations • Can provide “best of both worlds”Can provide “best of both worlds” • Data set still planar if nodeData 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
  • 89. AttributesAttributesAttributesAttributes • Road ClassRoad Class • HierarchyHierarchy • CartographyCartography • OnewayOneway • PermissionPermission
  • 90. Road ClassRoad ClassRoad ClassRoad Class • Road Class is used as surrogate forRoad Class is used as surrogate for travel timetravel time – ““Primary road” = 55mphPrimary road” = 55mph – Length of arc is know or can beLength of arc is know or can be calculatedcalculated – Travel time dependent on urbanizationTravel time dependent on urbanization • ‘‘primary road in urban area’ NE ‘primaryprimary road in urban area’ NE ‘primary road in rural arearoad in rural area • CFCC or FCC code for TIGER dataCFCC or FCC code for TIGER data
  • 91. Road HierarchyRoad HierarchyRoad HierarchyRoad Hierarchy • Road class is often used as aRoad 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
  • 92. Hierarchies in pathfindingHierarchies in pathfindingHierarchies in pathfindingHierarchies in pathfinding City City30 miles Origin Destination (dense street network in between)
  • 93. Data ManagementData ManagementData ManagementData Management
  • 94. HierarchiesHierarchiesHierarchiesHierarchies • Really great for finding distancesReally great for finding distances • The hierarchy must be connectedThe hierarchy must be connected • The high-order hierarchy may needThe high-order hierarchy may need to have roads of lower class toto have roads of lower class to connect the hierarchyconnect the hierarchy
  • 95. Cartographic DisplayCartographic DisplayCartographic DisplayCartographic Display • Road Class used for cartographicRoad Class used for cartographic symbolizationsymbolization • Highway in a tunnelHighway in a tunnel – Displayed differently but still same roadDisplayed differently but still same road classclass • Drawing orderDrawing order – brunnelsbrunnels
  • 96. Road Class does triple dutyRoad Class does triple dutyRoad 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
  • 97. OnewayOnewayOnewayOneway • Difficult to obtainDifficult to obtain • Easy to representEasy 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 significantFor 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
  • 98. OnewayOnewayOnewayOneway • Very significant for arc routingVery significant for arc routing problemsproblems – garbage truckgarbage truck – meter readingmeter reading – newspaper deliverynewspaper delivery
  • 99. PermissionsPermissionsPermissionsPermissions • Not all vehicles are allowed to travelNot 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
  • 100. U-turnsU-turnsU-turnsU-turns • Usually never part of dataUsually never part of data • Dependent on vehicle characteristicsDependent on vehicle characteristics and street geometryand street geometry – cul-de-sacscul-de-sacs • In complicated problems, the pathfindingIn complicated problems, the pathfinding code has to examine geometry, orcode has to examine geometry, or provide vehicle-based turntablesprovide vehicle-based turntables From To Angle
  • 101. Positional AccuracyPositional AccuracyPositional AccuracyPositional Accuracy • Who cares???Who cares??? • Non-differential GPSNon-differential GPS • Giant digitizing pucksGiant digitizing pucks • Sketch in new subdivisionsSketch in new subdivisions
  • 102. GeocodingGeocodingGeocodingGeocoding • 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
  • 103. DirectionsDirectionsDirectionsDirections • Printed directions - “Turn rightPrinted 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 turningThumbnail maps of each turning movement greatmovement great – quite a lot of programming involvedquite a lot of programming involved
  • 104. Data VolumesData VolumesData VolumesData Volumes • GIS must handle huge networksGIS must handle huge networks – millions of arcs affect:millions of arcs affect: • displaydisplay • geocodinggeocoding • pathfindingpathfinding
  • 105. Data VolumesData VolumesData VolumesData Volumes • This is an area where GIS has pushed theThis is an area where GIS has pushed the envelopeenvelope – memory managementmemory management • memory is getting cheap and commonmemory is getting cheap and common – algorithmsalgorithms • many different strategiesmany different strategies • Most often, an “origin-destination” matrix isMost often, an “origin-destination” matrix is requiredrequired – 1000 customers = 1000 x 1000 matrix = 4 million bytes = 41000 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 vehicleand what about a matrix for time of day routing, or vehicle characteristics?characteristics?
  • 106. Street Data is a significantStreet Data is a significant investmentinvestment Street Data is a significantStreet Data is a significant investmentinvestment • Depends on the applicationDepends on the application • Update frequencyUpdate frequency
  • 110. ArcIMS Server Geocoding ArcLogistics RouteServer Tracking Stops Routes Tracks Current Position; Running Late; Arrived; Actual ETA; Off Route; Reschedule; Cancel Streets Wireless Synchronization Web Server Mobile Link I n t e r n e t SDE/Oracle Consumer Vehicle Palm OS or CE browser Dispatcher View/Edit Routes Place Orders Check Status Receive ETA Location and Status Manifest, Maps Directions Wireless Ardis, RAM, CDPD ActiveX JAVA Order Assignment; Order Sequence; Planned ETA; Maps & Reports RouteMap ArcLogistics RoutePortal ConceptArcLogistics RoutePortal ConceptArcLogistics RoutePortal ConceptArcLogistics RoutePortal Concept HTML Internet