Upload
don-weigel
View
39
Download
0
Embed Size (px)
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 [email protected]@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