An arc orienteering algorithm to find the most scenic path on a ... - USC

3 downloads 71 Views 3MB Size Report
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

Suggest Documents