budget , AOP is to find a path from to s.t. . â. ( ). â. s.t. â. ( ). â. â¤. Finding scenic path âArc Orienteering Problem (AOP) ... [TR'14]: Iterated Local Search (ILS).
An arc orienteering algorithm to find the most scenic path on a large-scale road network Ying Lu Cyrus Shahabi Integrated Media Systems Center, University of Southern California {ylu720, shahabi}@usc.edu
1
Outline • • • • • •
Introduction Related work Baseline Proposed algorithms Experiments Conclusion
2
Introduction • Shortest path – Minimum travel costs
• Scenic path – Most scenic path – Travel cost is within a budget (e.g., 8 hours) Route a (7.5 hours)
Route b (5 hours)
3
Introduction • Shortest path – Minimum travel costs
• Scenic path – Most scenic path – Travel cost is within a budget (e.g., 8 hours)
• Attractiveness value calculation for each arc on a road network
Route a (7.5 hours)
Route b (5 hours)
– E.g., Geo-tagged photos [TOMM’13]
4
Problem Definition Finding scenic path Arc Orienteering Problem (AOP) [EJOR’00]
Given a directed graph G = (V, A) where ∀ ∈ − a travel cost . , a. cost > 0 − an attractiveness value . , a. value ≥ 0 Further, given a source , a destination and a traveling cost budget , AOP is to find a path from to s.t. . ∑ ∈ ( ) s.t. ∑ ∈ ( )≤
5
Problem Definition (Cont’) 1) AOP is an NP-hard problem! 2) Fast response request on online applications
Challenge: how can we solve AOP on a large-scale road network with fast response (e.g., 300 milliseconds)?
6
Outline • • • • • •
Introduction Related work Baseline Proposed algorithms Experiments Conclusion
7
Related Work Scenic trip planning Attractiveness value calculation E.g., [TOMM’13], [GIS’14]
Scenic routing algorithms
8
Related Work Scenic trip planning Attractiveness value calculation E.g., [TOMM’13], [GIS’14]
Single-objective [TS’05] . ∑(
−
)
Pareto [SSTD’15] . ∑ . ∑
Scenic routing algorithms OP [EJOR’96] →
AOP
9
Related Work Scenic trip planning Attractiveness value calculation
Scenic routing algorithms
E.g., [TOMM’13], [GIS’14]
Single-objective [TS’05] . ∑(
−
)
Pareto [SSTD’15]
OP [EJOR’96]
AOP
Exact algo
Approximate algo
Heuristics
[EJOR’00]
[IPL’15]
[Omega’11], [TR’14]
. ∑ . ∑
→
[Omega’11]: Greedy Randomized Adaptive Search Procedure-based algorithm (GRASP) [TR’14]: Iterated Local Search (ILS)
10
Related Work Scenic trip planning Attractiveness value calculation
Scenic routing algorithms
E.g., [TOMM’13], [GIS’14]
Single-objective [TS’05] . ∑(
−
)
Pareto [SSTD’15]
OP [EJOR’96]
AOP
Exact algo
Approximate algo
Heuristics
[EJOR’00]
[IPL’15]
[Omega’11], [TR’14]
. ∑ . ∑
→
[Omega’11]: Greedy Randomized Adaptive Search Procedure-based algorithm (GRASP) [TR’14]: Iterated Local Search (ILS) baseline
11
Outline • • • • • •
Introduction Related work Baseline Proposed algorithms Experiments Conclusion
12
Baseline – ILS ILS General Framework: Init Perturb Update
13
Baseline – ILS ILS General Framework: Init Perturb Update
v1
①
a1 .
=15 v2
2.
v3
=1
v4
. .
②
④ ③
DFS visit order
v5
s
Cost of each arc = 1 Cost budget = 5
a4 . v7
a3.
=18
v6
d
a5 .
=12 v8
v9
= 16 = 5
=1 v10
14
Baseline – ILS ILS General Framework: Init
Remove which arcs first
Perturb
(start, end)
Update
v1
①
a1 .
end =15 v2
2.
v3
=1
v4
. .
②
④ ③
start
DFS visit order
v5
s
Cost of each arc = 1 Cost budget = 5
a4 . v7
a3.
=18
v6
d
a5 .
=12 v8
v9
= 16 = 5
=1 v10
15
Baseline – ILS ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Update
v1
①
a1 .
DFS end
=15 v2
2.
v3
=1
v4
. .
②
④ ③
start
DFS visit order
v5
s
Cost of each arc = 1 Cost budget = 5
a4 . v7
a3.
=18
v6
d
a5 .
=12 v8
v9
= 1 = 5
=1 v10
16
Baseline – ILS ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Update
v1
①
a1 .
DFS end
=15 v2
2.
v3
=1
v4
. .
②
④ ③
start
DFS visit order
v5
s
Cost of each arc = 1 Cost budget = 5
a4 . v7
a3.
=18
v6
d
a5 .
=12 v8
v9
= 19 = 5
=1 v10
17
Baseline – ILS ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Insert which arcs first DFS
Update
v1
①
a1 .
end =15 v2
2.
v3
=1
v4
. .
②
④ ③
start
DFS visit order
v5
s
Cost of each arc = 1 Cost budget = 5
a4 . v7
a3.
=18
v6
d
a5 .
=12 v8
v9
= 19 = 5
=1 v10
18
Baseline – ILS ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Insert which arcs first DFS
Update
v1
①
a1 .
end =15 v2
2.
v3
=1
v4
. .
②
④ ③
start
①
DFS④visit order ② ③
Cost of each arc = 1 Cost budget =5 DFS visit order
v5
s
a4 (10)
v7
v6
d
Neither cost nor value
Arc position
a4 . =12 a5 (12)
aa3.3 (18)=18
a5 . v8
v9
= 19 = 5
Small value improvement
=1 v10
19
Baseline – ILS • To avoid selecting impossible arcs • Feasibility checking ( ,…, s
v1
, ,
a
,…, ) ≤
?
v2
d
20
Baseline – ILS • To avoid selecting impossible arcs • Feasibility checking ( ,…, s
v1
, ,
a
Check the entire graph!
,…, ) ≤
?
v2
d
Slow iteration
21
Baseline – ILS • Pre-compute all-pair shortest paths – Large storage requirement – Real road networks – dynamic
Not applicable for large-scale real road network
22
Outline • • • • • •
Introduction Related work Baseline Proposed algorithms Experiments Conclusion
23
Proposed Algorithms – Overview Baseline ILS[3] drawbacks:
Proposed Algorithms ILS + Criteria
Small value improvement
Increase
ILS(C) With Spatial techniques
+ Ellipse pruning
Slow iteration Pre-computation
Speed up On-the-fly
ILS(CE) + Indexing ILS(CEI)
24
ILS(C): ILS algorithm with Criteria ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Update
With higher “ImprovePotential” v1
a1 .
=15 v2
v5
s Cost of each arc = 1 Cost budget = 5
a4 . v7
2.
v3
a3.
=18
v4
v6
v9
. .
= 19 = 5
d
a5 .
=12 v8
=1
=1 v10
25
ILS(C): ILS algorithm with Criteria ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Insert which arcs first DFS
Update
With higher “ImprovePotential” v1
a1 .
=15 v2
v5
s Cost of each arc = 1 Cost budget = 5
a4 . v7
2.
v3
a3.
=18
v4
. .
v6
v9
= 33 = 5
d
a5 .
=12 v8
=1
With higher “QualityRatio”
=1 v10
26
ILS(C): ILS algorithm with Criteria ILS General Framework: Init
Remove which arcs first Perturb
(start, end)
Insert which arcs first DFS
Update
With higher “ImprovePotential” v1
s
a1 .
=15 v2
v5
2.
v3
a3.
Cost of each arc = 1 Cost budget = 5Consider both cost and value a4 . =12 v7 v8 a4 (12)
=18
=1
With higher “QualityRatio”
v4
. .
v6
= 33 = 5
d
increase value improvement a5 .
v9
=1
v10
27
ILS(C) – Large search space ILS General Framework: Init Perturb
Insert which arcs first
Update
v1
a1 .
=15 v2
v5
s
2.
v3
a3.
=18
=1
With higher “QualityRatio”
v4
v6
d
Search space: |G| a4 .
v7
a5 .
=12
v8
v9
=1
v10
28
ILS(C) – Large search space ILS General Framework: Init Perturb
Insert which arcs first
Update
v1
a1 .
=15 v2
v5
s
2.
v3
a3.
=18
=1
With higher “QualityRatio”
v4
v6
d
Large search space
Slow iteration!
Search space: |G| a4 .
v7
a5 .
=12
v8
v9
=1
v10
29
To speed up iteration without loss of value improvement
Road network Traditional graph
Road network Spatial network
30
ILS(CE): ILS(C) with Ellipse pruning • To avoid unnecessary checking
s
d
llipse • foci: , • main axis: the remaining budget after removing a
31
ILS(CE): ILS(C) with Ellipse pruning • To avoid unnecessary checking
s
d
llipse • foci: , • main axis: the remaining budget after removing a
32
ILS(CE): ILS(C) with Ellipse pruning arc checking #
SP computation #
iteration time
33
ILS(CE): ILS(C) with Ellipse pruning arc checking #
SP computation #
iteration time
Check one by one!
34
ILS(CE): ILS(C) with Ellipse pruning arc checking #
SP computation #
Check one by one!
iteration time
Check in a batch way
35
ILS(CEI): ILS(CE) with Indexing • Index with Grid – each cell c links a set of arcs that overlap c – E.g., C(1, 5): { , , , } C(6, 6)
C(1, 5)
a1 a2 a4 a3 C(1, 1) a.Ellipse
36
ILS(CEI): ILS(CE) with Indexing • Index with Grid – each cell c links a set of arcs that overlap c – E.g., C(1, 5): { , , , } C(6, 6)
C(1, 5)
a1 a2 a4 a3 C(1, 1) a.Ellipse
37
ILS(CEI): ILS(CE) with Indexing • Index with Grid – each cell c links a set of arcs that overlap c – E.g., C(1, 5): { , , , } C(6, 6)
C(1, 5)
No need to check one by one
a1 a2 a4 a3
Reduce iteration time
C(1, 1) a.Ellipse
38
Outline • • • • • •
Introduction Related work Baseline Proposed algorithms Experiments Conclusion
39
Experiments setup •
Implemented Methods – Heuristics: ILS(C), ILS(CE), ILS(CEI), and Baseline ILS[TR’14] – Exact algorithm: Open source optimization solver: CPLEX • Accuracy benchmark
• Metric – Accuracy percentage –
=
. .
× 100%
40 21
Datasets • LAFlickr – LA road network – Flickr photos: 217,391 photos – Online shortest path calculation: CH [VLDB’12]
• FlandersBicycle [TR’14] – A real bicycle network in Flanders – Pre-compute all-pair shortest paths Statistics
LAFlickr
FlandersCycle
Node#
111,532
989
Arc#
183,945
2,961
41 21
Results on LAFlickr Dataset with online shortest path computation
42
Results on LAFlickr Dataset with online shortest path computation
ILS(CE) and ILS(CEI) ≫ baseline, at least 20% more accurate
Criteria increase value improvement spatial techniques speed up iteration
43
Results on LAFlickr Dataset with online shortest path computation ILS(CEI) can achieve 95% accuracy within 300 milliseconds ILS(CE) and ILS(CEI) ≫ baseline, at least 20% more accurate
Criteria increase value improvement spatial techniques speed up iteration
44
Results on LAFlickr Dataset with online shortest path computation
ILS(C) < Baseline
45
Results on LAFlickr Dataset with online shortest path computation
ILS(C) < Baseline
Search space, Arc#:
ILS(C) > Baseline
Iteration time = Arc# * O(SP):
ILS(C) >> Baseline
Value improvement:
ILS(C) > Baseline
dominate
46
Results on FlandersBicycle Dataset with shortest path pre-computation
ILS(C) > Baseline
Search space, Arc#:
ILS(C) > Baseline
Iteration time = Arc# * O(SP):
ILS(C) > Baseline
Value improvement:
ILS(C) > Baseline
dominate
47
Conclusion • Proposed three algorithms to solve AOP with milliseconds response time: – ILS(C) • Two criteria • Increase value improvement
– ILS(CE) • Ellipse pruning • Reduce the # of SP computation speed up iteration
– ILS(CEI) • Grid indexing • Batch checking speed up iteration
48
References [1] Zheng et al. GPSView: A scenic driving route planner. TOMM, 9(1):3, 2013. [2] S. P. L. Ray Deitch. The one-period bus touring problem: Solved by an effective heuristic for the orienteering tour problem and improvement algorithm. EJOR127:69–77, 2000. [3] W. Souffriau, P. Vansteenwegen, G. V. Berghe, and D. V. Oudheusden. The planning of cycle trips in the province of east flanders. Omega, 39(2):209–213, 2011. [4] C. Verbeeck, P. Vansteenwegen, and E.-H. Aghezzaf. An extension of the arc orienteering problem and its application to cycle trip planning. Transportation research, 68:64–78, 2014.
49
Thanks! Q&A
50