oracle spatial summit - download.oracle.com · oracle . spatial . summit . 2015 . fast, high...
TRANSCRIPT
Oracle Spatial Summit 2015
Fast, High Volume, Dynamic Vehicle Routing Framework for E-Commerce and Fleet Management Ugur Demiryurek, PhD. Deputy Director, IMSC University of Southern California
Integrated Media Systems Center (IMSC) of USC Fast, High Volume, Dynamic Vehicle Routing Framework
OVERVIEW • A National Science Foundation (NSF) self-sustained
Engineering Research Center (ERC) • Fundamental and applied research in Data Science focusing
on applications with major societal impact • Has spun off more than 10 startups since its inception in 1996 • Significant contributions to the field of spatiotemporal
algorithms and data management
CHALLENGES / OPPORTUNITIES • NP Hard (Non-deterministic polynomial-time) problem • Large scale network and delivery locations • Fast and most-accurate solution • Different constraints • Integration of dynamic (time-dependent) traffic and cost
models to NDM SOLUTIONS
• Oracle Database 11g Enterprise Edition • Spatial Option with Network Data Model
• Proprietary Time-dependent VR solution based on • Sweep and Nearest Neighbor heuristics • Local Search
RESULTS • First online time-dependent VRP prototype that
• Enables fast and near-optimal delivery schedule optimization
• Scales with large network and delivery locations • Integrates dynamic traffic data • Facilitates decision making
• Performance • Saves more than 20% travel cost compared with
existing VRP solutions • 4 ~ 7 faster than state of the art local search based
time-dependent VRP algorithm
Agenda
•Vehicle Routing Problem (VRP) •Faster, Scalable and More Accurate •Optimal vs Approximate VRP Solutions •Approach
–Sweep Heuristic –Local Search
• NDM Integration •Demo
Current VR Solutions
Not Scale Not support large
number of delivery locations
Slow Requires pre-
computation between location
Static/Inaccurate Not Integrate traffic information, i.e. time
independent
Next-generation VR
Fast Get route plans in seconds/minutes
Dynamic/Accurate Utilize real-time and historical traffic data
Large Scale More than hundreds of
locations
More Accurate: Time-dependent
Obtaining high fidelity traffic data is becoming
cheap silently collectible ubiquitous
0 10 20 30 40 50 60 70
6:00
7:
30
9:00
10
:30
12:0
0 13
:30
15:0
0 16
:30
18:0
0 19
:30
North
South
0
20
40
60
80
6:00
7:
30
9:00
10
:30
12:0
0 13
:30
15:0
0 16
:30
18:0
0 19
:30
North
South
• Traffic patterns varies based on the time of the day, day of the week and seasons
Time
Spee
d (m
/h)
Time
Spee
d (m
/h)
Access to very large traffic sensor dataset in LA to generate patterns!
More Accurate: Time-dependent
t2
t5
t6
t0
2 1
2 2 n4
n3
n2
n1
4
3
4
3 n2
n3
n4
n4
Path={n1,n3,n4}, Cost=3
Path={n1,n3,n4}, Cost=6 Path={n1,n2,n4}, Cost=5
n4
SP={n1,n2,n4}
More Accurate: Time-dependent
n33 3
n
n
n
n44 4
n22 2
n44 4
n11 1
• Time-dependent route planning • Recommends different paths for different departure-times
More Accurate: Time-dependent
Problem Definition :TD-VRP •
10
3
5
2
6
9 7
1
8
4
Route 1
Route 3
Route 2 Route
0
Customer Depot
0
20
40
60
80
6:00
7:
30
9:00
10
:30
12:0
0 13
:30
15:0
0 16
:30
18:0
0 19
:30
Optimal vs Approximate TD-VRP Solution • Exact Solution with Mixed Integer
Programming (MIP)
• NP-Hard problem For 20 stops, there are
20! = 2,432,902,008,176,640,000
(2.4 quintillion > quadrillion> two trillion>billion)
For 100 stops, there are
100!=9,332,621,554,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000.. (157 zeros)
alternatives for ordering
Approach
• Heuristic Methods • Sweep - cluster first, route later
• Nearest Neighbor - localize neighbors
• Clarke & Wright - based on saving heuristic
• Meta-Heuristic Method • Local Search
Approach
• Heuristic Methods • Sweep - Cluster first and route later
• Nearest Neighbor Search
• Clarke-Wright - Based on saving heuristic
• Meta-Heuristic Method • Local Search
Approach - Local Search • Solution space search based method
19
Current Solution
Accept and continue? Neighborhood Solution
Initial Solution
Neighborhood Solution Generation Neighborhood Solution GenerationNeighborhood Solution Generation
Approach – Local Search • Only apply operators on a location
and its nearest neighbors • Most of the effective changes are those applied to a
delivery location and its nearby locations.
delivery location and its nearby delivery location and its nearby
Approach – Local Search • Improve efficiency
Compute shortest path only when it is
necessary
Adaptively select most promising
locations
Towards Fast and Accurate Solutions to Vehicle Routing in a Large-Scale and Dynamic Env., SSTD15
Experimental Evaluation
• Road Network Dataset • Los Angeles (LA) network with 304,162 nodes
• Dynamic Traffic Data
• 15000 sensors on freeways and arterials in LA • 1 sensor/reading per minute • Collecting and archiving past 4 years
• Experimental Setup
• Source, destinations and departure time ts are determined uniformly at random
• Average results computed from 100 random queries
Efficiency and Accuracy
# Location = 50 # Location = 500 Running Time
Accuracy Gap (%)
Running Time
Accuracy Gap (%)
Sweep <1s 15% <1s 19%
Clarke-Wright <5s 12% <1min 15%
Local Search <1min 2% <7min 3%
Architecture
VRP Visualization
VRP Algorithms: Code can be
integrated into existing JAVA API
NDM network analysis: Using java
API
Network data management:
Using SQL package
TD Vehicle RoutingAlgorithm
JAVA API
NDM NetworkAnalysis Engine
DatabaseSchema
Sweep heuristic
Nearest neighborheuristics
ShortestPath Dijkstra
LinkCostCalculator
Database Back End
Application Tier
Algorithms
VRP DemoClient Tier
Partition TablePartition Blob Table
MetadataNode/Link/Path/Subpath tables
LA Network
TD Graph Model
Spatial Local Search
Fastest Path Computation via NDM
Implement getLinkCost function required by LinkCostCalculator
• Implement LinkCostCalculator interface for time-dependent cost calculation
Fastest Path Computation via NDM
• Implement existing LinkCostCalculator for time-dependent cost
• TD Shortest Path Calculation via ShortestPathDijkstra API
Call shortestPathDijkstra API