Path Planning of Autonomous Underwater

advertisement
Path Planning of Autonomous Underwater
Vehicles for Adaptive Sampling
by
Namik Kemal Yilmaz
B.S. in Mechanical Engineering
Middle East Technical University, Turkey (1998)
M.S. in Mechanical Engineering
Massachusetts Institute of Technology (2001)
Submitted to the Department of Mechanical Engineering
in partial fulfillment of the requirements for the degree of
Doctor of Philosophy in Mechanical Engineering
at the
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
September 2005
@ Massachusetts Institute of Technology 2005. All rights reserved.
A uthor .........................
....................
f Mechanical Engineering
f Seotember 22, 2005
D
Certified by..............
...........
..............
Nicholas M. Patrikalakis
Kawasaki Professor of Engineering
100
Thesis Supervisor
.. ..
Accepted by......................Lalit..
tallit Anand
Professor of Mechanical Engineering
Chairman, Departmental Committee on Graduate Students
MASSACHUSETTS INSTITUTE
OF TECHNOLOGY
JUL 14 2006
LIBRARIES
ARCHIVES
Room 14-0551
77 Massachusetts Avenue
Cambridge, MA 02139
MITL-braries
Document Services
Ph: 617.253.2800
Email: docs@mit.edu
http://Iibraries.mit.edu/docs
DISCLAIMER OF QUALITY
Due to the condition of the original material, there are unavoidable
flaws in this reproduction. We have made every effort possible to
provide you with the best copy available. If you are dissatisfied with
this product and find it unusable, please contact Document Services as
soon as possible.
Thank you.
The images contained in this document are of
the best quality available.
Color images not available.
2
Path Planning of Autonomous Underwater Vehicles for
Adaptive Sampling
by
Namik Kemal Yilmaz
Submitted to the Department of Mechanical Engineering
on September 22, 2005, in partial fulfillment of the
requirements for the degree of
Doctor of Philosophy in Mechanical Engineering
Abstract
This thesis develops new methods for path planning of Autonomous Underwater Vehicles for adaptive sampling. The problem is approached in an optimization framework
and two methods are developed to solve it based on Mixed Integer Programming
(MIP). The first method is predicated on network-flow ideas and is shown to have
similarities to the Selective Traveling Salesman Problem. An important classification
of the set of path-planning problems to be solved is the number of days that are
involved in the complete sampling mission. Intrinsic limitations of the first networkflow-based method limit it to single day adaptive sampling missions. The second
method emerged by taking into consideration the limitations of the first method and
is based on a general MIP formulation. It is a more powerful formulation as it can
handle multiple-day adaptive sampling missions, it is scalable as it can address the
multiple vehicle case with ease, and it is more easily extensible to cover unforeseen situations that might arise as adaptive sampling concepts and needs evolve. The second
formulation also allowed solution of auxiliary problems, required to determine suitable
initial conditions for the main method. The method is applied to various test problems including evaluation of performance issues. A real-world problem is also solved
by the second method taking two different approaches. The first approach (static
approach) involves a three-day-long adaptive sampling mission using the uncertainty
information available on the first day. The second approach (dynamic approach) involves updating of the uncertainty information for each day using data assimilation
features of the Harvard Ocean Prediction System and the Error Subspace Statistical
Estimation system. The dynamic method is illustrative of how path planning for
adaptive sampling fits into modern dynamic data driven oceanography. The results
from the dynamic approach show that the uncertainty of the forecast decreases and
becomes confined to a smaller region, indicating the strength of the method.
Thesis Supervisor: Nicholas M. Patrikalakis
Title: Kawasaki Professor of Engineering
Acknowledgments
First and foremost, I would like to thank God for all the blessing He bestowed upon
me, I wish I can properly pay those back somehow. Then I would like to thank my
family for their incessant support and love, and their understanding during the years
we had to spend so far from each other. Without their support, I would not be able
to continue this far in my studies. I would like to thank my mother (Gulay Yilmaz)
and father (Saban Yilmaz) who put their utmost effort in order to make me get the
best education possible. I also like to thank my sister (Burcu Yilmaz) for being a
very good sister with whom unfortunately I did not have the chance spend too much
time together yet.
I would like to thank to my thesis supervisor, Professor Nicholas M. Patrikalakis
for his expert advice on my research work and Dr. Constantinos Evangelinos, Dr.
Pierre Lermusiaux, Dr. John J. Leonard and Dr. Daniela Pucci de Farias for their
helpful advice and guidance as the members of my doctoral thesis committee.
I
must thank specifically Dr. Constantinos Evangelinos for his helpful discussions and
ideas since the first day of the project, Dr. Pierre Lermusiaux for his excessive help
on Oceanography aspects of the project, and Dr. Ramazan Demir for his help in
optimization field.
Thanks also go to Mr. Fred Baker for his efforts in the laboratory management,
Design Laboratory fellows Dr. Wonjoon Cho and Harish Mukundan for making a
good laboratory environment and their help on technical problems I encountered.
I would like to thank all my friends, which provided support during my studies,
namely, Aykut Firat, Mehmet Yunt, Fatih Usta, Hasan Otu, Yunus Faziloglu, Khalid
El-Rifai and Osamah El-Rifai.
This project was funded in part by the National Science Foundation (under ITR
grant EIA-0121263) and the Department of Commerce (under NOAA - MIT Sea
Grant College Program grant NA86RG0074).
Contents
1 Introduction
1.1
Introduction to Dynamic Data Driven Applications Systems (DDDAS)
C oncepts
2
3
21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.2
Application of DDDAS Ideas to Oceanography . . . . . . . . . . . . .
24
1.3
Overview of the Poseidon Project . . . . . . . . . . . . . . . . . . . .
33
1.4
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Problem Statement and Previous Work
39
2.1
Adaptive Sampling Problem and Problem Statement
2.2
Previous Work
. . . . . . . . .
39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
2.3
Mathematical Formulation . . . . . . . . . . . . . . . . . . . . . . . .
45
2.4
Solution Method for the Mathematical Programming Problem . . . .
48
2.5
Summary and Thesis Outline
52
. . . . . . . . . . . . . . . . . . . . . .
A Network Programming Formulation
55
3.1
Introduction to the Problem . . . . . . . . . . . . . . . . . . . . . . .
55
3.1.1
Flow Variables
57
3.1.2
Formulation of Cost Matrix
3.1.3
Constraints
3.1.4
Complete Mathematical Formulation of the Problem
3.1.5
Solution Approaches to the Mathematical Program and Initial
R esults
3.1.6
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
64
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Approaches to Eliminate the Subtours
5
. . . . . . . . . . . . .
71
72
74
3.1.7
Adding Tour Elimination Constraints . . . . . . . .
. . . . .
79
3.1.8
Masking of Out-of-Range Flows . . . . . . . . . . .
. . . . .
84
3.1.9
Complete Formulation for the Single Vehicle Case .
. . . . .
85
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
87
3.2.1
Results for Single Vehicle Case
. . . . . . . . . . .
. . . . .
87
3.2.2
Multi-Vehicle Case . . . . . . . . . . . . . . . . . .
. . . . .
90
3.3
Discussion About the Inclusion of Diagonal Moves . . . . .
. . . . .
98
3.4
Discussion of 3-Dimensional Fields
3.5
Optimal Path Planning Problem and the Selective Traveling Salesman
3.2
3.6
4
. . . . . . . . . . . . .
. . . . . . 100
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .
104
New MIP Based Solution Approach
107
4.1
Basics of the Formulation
. . . . . . . . . . . . . . . . . . . . . .
108
4.2
Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . .
109
4.3
Motion Constraints . . . . . . . . . . . . . . . . . . . . . . . . . .
116
4.3.1
Primary Motion Constraints . . . . . . . . . . . . . . . . .
116
4.3.2
Anti-Curling/Winding Constraints
. . . . . . . . . . . . .
118
4.3.3
Vicinity Constraints for Multi-vehicle Case . . . . . . . . .
123
4.3.4
Coordination Issues Related to Communication with AUV
125
4.3.5
Obstacle Avoidance . . . . . . . . . . . . . . . . . . . . . .
136
4.4
Mathematical Program . . . . . . . . . . . . . . . . . . . . . . . .
136
4.5
Results for Single-Day Case
142
. . . . . . . . . . . . . . . . . . . . .
4.5.1
Results for Single-Vehicle Case
. . . . . . . . . . . . . . .
143
4.5.2
Results for Multi-Vehicle Case . . . . . . . . . . . . . . . .
157
4.5.3
Vehicle Number Sensitivity . . . . . . . . . . . . . . . . . .
167
4.5.4
Results with Ship Shadowing
. . . . . . . . . . . . . . . .
167
4.6
Time Progressive Path Planning . . . . . . . . . . . . . . . . . . .
174
4.7
3D Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
186
4.8
Complexity Analysis
189
. . . . . . . . . . . . . . . . . . . . . . . . .
4.9
Comparison of the New MIP Method with the Network Programming
M ethod
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.10 Solver Parameter Selection . . . . . . . . . . . . . . . . . . . . . . . .
191
4.10.1 Control Variable Settings for Variable Selection Problem
. . .
195
4.10.2 Control Variable Settings for Node Selection Problem . . . . .
197
4.10.3 Other Control Variable Settings . . . . . . . . . . . . . . . . .
198
4.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
200
Solution of Some Examples Problems Using the Time-Progressive
Formulation
201
5.1
Explanation of the Overall Problem Scenario . . . . . . . . . . . . . . 202
5.2
Determination of Starting Points for AUVs . . . . . . . . . . . . . . .
5.3
Using High Uncertainty Data to Assert the Visiting of High Uncer-
203
tainty Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
5.4
Results for a 3-Day Time Progressive Case with no Dynamic Data
Assim ilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5
212
Results for a 3-Day Time Progressive Case with Dynamic Data Assimilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
5.6
6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Conclusions and Recommendations
6.1
Conclusions
6.2
Recommendations for Future Work . . . . . . . . . . . . . . . . . . .
229
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
232
List of Figures
1-1
Real-time multidisciplinary forecast for the Gulf of Cadiz and Strait
of Gibraltar: (a) melded estimate of forecast temperature with data
assimilation; (b) melded estimate of forecast chlorophyll with data assimilation; (c) forecasted error associated with the estimated field of
(a) carried out by ESSE methodology; (d) sampling track adaptively
designed from the forecast and forecast errors [85]. . . . . . . . . . . .
27
1-2
Adaptive observation time frame. . . . . . . . . . . . . . . . . . . . .
28
1-3
A summary map example, darker regions show the regions where adaptive observations have a higher potential to improve the forecast [75].
1-4
30
(a) A summary map with some potential tracks; (b) The improvement
that will be achieved in the forecast quality plotted as a function of
flight num ber [75.
1-5
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
(a) Map of predesigned flight tracks; (b) Bar chart of total signal realization for all predesigned flights; (c) Bar chart of total signal realization after the hypothetical data from flight number 23 has been
assimilated into the system [75]. . . . . . . . . . . . . . . . . . . . . .
32
1-6
The ESSE schematic workflow, adapted from [82]. . . . . . . . . . . .
36
2-1
The 2D representation of an uncertainty field generated by ESSE/HOPS. 41
2-2
The 3D representation of an uncertainty field generated by ESSE/HOPS. 41
2-3
Comparison of different MIP solution methods.
2-4
The lower bound on the solution time for a single-vehicle case as a
. . . . . . . . . . . .
function of available vehicle range . . . . . . . . . . . . . . . . . . . .
9
49
49
2-5
The lower bound on the solution time for a single-vehicle, two-day
time-progressive case as a function of available vehicle range. . . . . .
50
2-6
Comparison of different MIP solution methods.
. . . . . . . . . . . .
51
2-7
Comparison of different MIP solution methods.
. . . . . . . . . . . .
51
3-1
Representation of A matrix. . . . . . . . . . . . . . . . . . . . . . . .
57
3-2
Inclusion of start and end nodes into the flow network . . . . . . . . .
59
3-3
Indexing notation for nodes and flows.
. . . . . . . . . . . . . . . . .
60
3-4
Detailed depiction of matrix A and vector b. . . . . . . . . . . . . . .
65
3-5
Indexing cost associated to each flow. . . . . . . . . . . . . . . . . . .
66
3-6
Part of the D introduced due to the
3-7
Construction of the matrix D and vector beq. .,. .. .. .
3-8
Solution for fictitious data set #1.
. . . . . . . . . . . . . . . . . . . .
75
3-9
Solution for fictitious data set #2.
. . . . . . . . . . . . . . . . . . . .
75
fe + fi
< 1 constraint. . . . . .
. . ....
69
70
3-10 Algorithmic loop elimination: Results on the real data field, solution
after 1 " iteration. The solution consists of two unconnected subtours.
77
3-11 Algorithmic loop elimination: Results on the real data field, solution
after
5 th
iteration. The solution consists of two unconnected subtours.
77
3-12 Algorithmic loop elimination: Results on the real data field, solution
after
1 0 th
iteration. The solution consists of two unconnected subtours.
78
3-13 Constraints to eliminate loops of size 1 x 1.
. . . . . . . . . . . . . .
81
3-14 Constraints to eliminate loops of size 2 x 2.
. . . . . . . . . . . . . .
82
3-15 Constraints to eliminate loops of size 3 x 3.
. . . . . . . . . . . . . .
83
3-16 Result for single-vehicle case. Starting coordinates and range: x = 20,
y = 5, Range = 12; Total Reward = 603.
. . . . . . . . . . . . . . .
88
3-17 Result for single-vehicle Case. Starting coordinates and range: x = 20,
y = 20, Range = 12; Total Reward = 320. . . . . . . . . . . . . . . .
88
3-18 Result for single-vehicle Case. Starting coordinates and range: x = 26,
y = 19, Range = 10; Total Reward = 306. . . . . . . . . . . . . . . .
89
3-19 Starting coordinates and range: x = 26, y = 21, Range = 10; Total Reward =
276. .........
....................................
89
3-20 Starting coordinates and range: x = 26, y = 21, Range = 12; Total Reward =
90
....................................
344. .........
. . . . . . . . . . . . . . . .
91
3-22 Vicinity constraints for vertical flows. . . . . . . . . . . . . . . . . . .
92
3-21 Vicinity constraints for horizontal flows.
3-23 Result for two-vehicle case. Starting coordinates for vehicle 1: x = 15,
y = 10, Range = 14. Starting coordinates for vehicle 2 x = 39, y
=
12,
Range = 14; Total Reward = 1078. . . . . . . . . . . . . . . . . . . .
96
3-24 Result for two-vehicle case. Starting coordinates for vehicle 1 x = 28,
y = 21, Range = 12. Starting coordinates for vehicle 2 x = 15, y = 15,
Range = 12; Total Reward = 704.
. . . . . . . . . . . . . . . . . . .
96
3-25 Result for two-vehicle case. Starting coordinates for vehicle 1 x = 26,
y = 25, Range
=
14. Starting coordinates for vehicle 2 x = 29, y = 7,
Range = 14; Total Reward = 1375..
. . . . . . . . . . . . . . . . . .
97
3-26 Result for two-vehicle case. Starting coordinates for vehicle 1 x = 37,
y
=
8, Range = 12. Starting coordinates for vehicle 2 x = 30, y = 10,
. . . . . . . . . . . . . . . . . .
97
3-27 Diagonal Moves I . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
3-28 Diagonal Moves II . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
3-29 Diagonal Moves III . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
Range = 12. Total Reward = 1115.
3-30 (a) Three layers of a 3D field plotted on the same graph; (b) Result
for the heuristical method. . . . . . . . . . . . . . . . . . . . . . . . .
100
. . . . . . . . . . . . . . . . . . .
109
4-1
Path construction by segmentation
4-2
Representation of value at any coordinate as a convex combination of
the values of four neighboring grid points.
. . . . . . . . . . . . . . .
113
4-3
Allowable set of path-points by taking into account the spatial constraints between the candidate point and the point that precedes it by
one. Blue dots represent current path-points in the path, green ones
show the allowable path-point locations and the red ones show the unallowable path-point locations for the path-points under consideration. 117
4-4
Allowable set of path-points by taking into account the spatial anticurling constraints between the candidate point and the point that
precedes it by two. Blue dots represent current path-points in the path,
green ones show the allowable path-point locations and the red ones
show the unallowable path-point locations for the path-points under
consideration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-5
120
Allowable set of path-points by taking into account the spatial anticurling constraints between the candidate point and the point that
precedes it by three. Blue dots represent current path-points in the
path, green ones show the allowable path-point locations and the red
ones show the unallowable path-point locations for the path-points
under consideration.
4-6
. . . . . . . . . . . . . . . . . . . . . . . . . . .
122
Paths of two vehicles in the presence of vicinity constraints with a
vertical and horizontal safety distances of two grid units. . . . . . . .
124
4-7
Illustration of an "Autonomous Oceanographic Sampling Network".
127
4-8
Approximation of a circle by a square.
130
4-9
Approximation of a circle by a hexagon.
130
4-10 Result for single-vehicle case.
.
Starting coordinates and range: x
144
15km; y = 12km, Range = 10km; Total Reward = 455. .
4-11 Result for single-vehicle case.
Starting coordinates and range: x
=
15km; y = 12km, Range = 15km; Total Reward = 713. .
4-12 Result for single-vehicle case.
145
Starting coordinates and range: x
146
15km; y = 12km, Range = 20km; Total Reward = 973. .
4-13 Result for single-vehicle case.
Starting coordinates and range: x
15km; y = 12km, Range = 25km; Total Reward = 1238.
=
146
4-14 Result for single-vehicle case. Starting coordinates and range: x =
15km; y = 12km, Range = 30km; Total Reward = 1489. . . . . . . .
147
4-15 Result for single-vehicle case. Starting coordinates and range: x =
15km; y = 12km, Range = 35km; Total Reward = 1729. . . . . . . .
147
4-16 Solution times for a single vehicle with starting position at x = 15km;
y = 12km . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148
4-17 Result for single-vehicle case. Starting coordinates and range: x =
7.5km; y = 21km, Range=10km; Total Reward = 250. . . . . . . . .
4-18 Result for single-vehicle case.
Starting coordinates and range: x =
7.5km; y = 21km, Range=15km; Total Reward = 431.
4-19 Result for single-vehicle case.
. . . . . . . .
149
Starting coordinates and range: x =
7.5km; y = 21km, Range=20km; Total Reward = 651. . . . . . . . .
4-20 Result for single-vehicle case.
148
149
Starting coordinates and range: x =
7.5km; y = 21km, Range=25km; Total Reward = 917. . . . . . . . .
150
4-21 Result for single-vehicle case. Starting coordinates and range: x =
7.5km; y = 21km, Range=30km; Total Reward = 1180.
4-22 Result for single-vehicle case.
. . . . . . .
150
Starting coordinates and range: x =
7.5km; y = 21km, Range=35km; Total Reward = 1429.
. . . . . . .
151
4-23 Solution times for a single vehicle with starting position at x = 7.5km;
y = 21km. . . . . . . . . . . .
151
4-24 Result for single-vehicle case. Starting coordinates and range: x =
50km; y = 6km, Range=10km; Total Reward = 421.
. . . . . . . . .
152
4-25 Result for single-vehicle case. Starting coordinates and range: x =
50km; y = 6km, Range=15km; Total Reward = 666. . . . . . . . . .
153
4-26 Result for single-vehicle case. Starting coordinates and range: x =
50km; y = 6km, Range=20km; Total Reward = 885. . . . . . . . . .
153
4-27 Result for single-vehicle case. Starting coordinates and range: x =
50km; y = 6km, Range=25km; Total Reward = 1191.
. . . . . . . .
154
4-28 Result for single-vehicle case. Starting coordinates and range: x =
50km; y = 6km, Range=30km; Total Reward = 1443.
. . . . . . . .
154
4-29 Result for single-vehicle case. Starting coordinates and range: x =
50km; y = 6km, Range=35km; Total Reward = 1698.
. . . . . . . . 155
4-30 Solution times for a single vehicle with starting position at x = 50km;
y = 6km . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
157
4-31 Result for single-vehicle case with coarsened field. Starting coordinates
and range: x = 50km; y = 6km, Range=35km; Total Reward = 1691.
158
4-32 Result for single-vehicle case with narrowed terminal. Starting coordinates and range: x = 50km; y = 6km, Range=35km; Total Reward =
1698............................................
4-33 Result for two-vehicle case.
158
Starting coordinates and ranges: x1 =
15km, y' = 22.5km, Range1
=
15km; x 2 = 45km, Y2 = 15km,
Range2 = 14km; Total Reward = 972. . . . . . . . . . . . . . . . . .
159
4-34 Result for two-vehicle case. Starting coordinates and ranges: x1 =
15km, y1 = 22.5km, Rangei = 16.5km; x 2 = 45km, y2 = 15km,
Range2 = 18km; Total Reward = 1273.
4-35 Result for two-vehicle case.
. . . . . . . . . . . . . . . .
160
Starting coordinates and ranges: x1 =
15km, y' = 22.5km, Rangei = 22.5km; x 2 = 45km; Y2
Range2 =24km; Total Reward = 1879.
=
15km,
. . . . . . . . . . . . . . . .
160
4-36 Solution times for two vehicles with starting positions x1 = 15km,
yi = 22.5km ; x 2 = 45km; y2 = 15km. . . . . . . . . . . . . . . . . . . 161
4-37 Result for two-vehicle case. Starting coordinates and ranges: x 1 =
19.5km, yi = 3km, Range1 = 12km; x 2 = 4.5km, Y2
Range2
=
13.5km; Total Reward = 1152.
=
10.5km,
. . . . . . . . . . . . . . .
162
4-38 Result for two-vehicle case. Starting coordinates and ranges: x 1 =
19.5km, y1 = 3km, Rangei = 15km; x 2 = 4.5km, y2 = 10.5km,
Range2 = 15km; Total Reward = 1380.
. . . . . . . . . . . . . . . . 163
4-39 Result for two-vehicle case. Starting coordinates and ranges: x1 =
19.5km, yi = 3km, Range1 = 20km; x 2 = 4.5km, y2 = 10.5km,
Range2 = 20km; Total Reward = 1527.
. . . . . . . . . . . . . . . .
163
4-40 Solution times for two vehicles with starting positions x1 = 19.5km,
yi = 3km; x 2
. . . . . . . . . . . . . . . . . .
4.5km, Y2 = 10.5km.
=
4-41 Result for two-vehicle case.
164
Starting coordinates and ranges: x 1 =
45km, yi = 3km, Range1 = 12km; x 2
=
42km, y2 = 10.5km, Range2 =
12km; Total Reward = 1195. . . . . . . . . . . . . . . . . . . . . . . 165
4-42 Result for two-vehicle case where the problem has been solved to
2% optimality. Starting coordinates and ranges: x 1 = 45km, y1 =
3km, Range1
=
15km; x 2 = 42km, Y2 = 10.5km, Range2 = 16km;
Total Reward = 1506. . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4-43 Result for two-vehicle case. Starting coordinates and ranges: x 1 =
45km, yi = 3km, Range1 = 15km; x 2
=
42km, Y2 = 10.5km, Range2
=
16km; Total Reward = 1506. . . . . . . . . . . . . . . . . . . . . . . 166
4-44 Result for two-vehicle case. With inter-vehicle distance set to 5 grid
units (7.5km).
Starting coordinates and ranges: x 1 = 45km, yi =
3km, Range = 22km; x 2 = 42km, Y2 = 10.5km, Range2 = 24km;
Total Reward = 1331. . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4-45 Result for single-vehicle case. Starting coordinates: x 1 = 7.5km, yi =
8km, Range, = 15km . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
4-46 Result for two-vehicle case. Starting coordinates: x1 = 7.5km, yi
8km, Range1 = 15km; x 2 = 55.5km, Y2 = 10.5km, Range2
=
13km
4-47 Result for three vehicle case. Starting coordinates: x1 = 7.5km, yi
8km, Range1
X3
= 24km, y3
=
=
15km; x 2 = 55.5km, Y2 = 10.5km, Range2
3km, Range3
=
=
=
.
.
168
=
13km;
13.5km . . . . . . . . . . . . . . . . 169
4-48 Result for four vehicle case. Starting coordinates: x1 = 7.5km, yi =
8km, Range1 = 15km; x 2 = 55.5km, y2 = 10.5km, Range2
X3 =
24km, y3 = 3km, Range3
Range4
=
=
13.5km; x4
=
=
13km;
15km, y4 = 15km,
13km . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
169
4-49 Result for five vehicle case. Starting coordinates: x1 = 7.5km, yi =
8km, Rangei = 15km; x 2 = 55.5km, Y2
=
10.5km, Range2 = 13km;
X3 = 24km, y3 = 3km, Range3 = 13.5km; x 4 = 15km, y4 = 15km,
Range4 = 13km; x5 = 30km, y5 = 30km, Range5 = 13km . . . . . . . 170
4-50 Solution times as a function of number of vehicles in the fleet. ....
170
4-51 Results for two vehicles shadowed by a ship for the case where AUVs
must be in 15km vicinity of the ship. Ship path is shown with dotted
line. Starting coordinates: x 1 = 15km, yi = 18km, Range, = 19km;
X2 = 25.5km, Y2 = 18km, Range2 = 18km.
. . . . . . . . . . . . . . .
171
4-52 Results for two vehicles shadowed by a ship for the case where AUVs
must be in 9km vicinity of the ship. Ship path is shown with dotted
line. Starting coordinates: x 1 = 15km, y1 = 18km, Range1 = 19km;
X2 = 25.5km, Y2 = 18km, Range2 = 18km. . . . . . . . . . . . . . . .
172
4-53 Results for two vehicles shadowed by a ship for the case where the end
path-points of AUVs must be in 3km vicinity of the ship. Ship path is
shown with dotted line. Starting coordinates: x, = 15km, yi = 18km,
Range1 = 19km; x 2 = 25.5km, Y2 = 18km, Range2
=
18km. . . . . . . 173
4-54 Results for two vehicles shadowed by a ship for the case where the
AUVs must return to the ship. Ship path is shown with dotted line.
Starting coordinates: x 1 = 15km, yi = 18km, Range1 = 19km; x 2 =
25.5km, Y2
=
18km, Range2 = 18km. . . . . . . . . . . . . . . . . . .
173
4-55 Results for first day of a time-progressive case example. Starting coordinates: x 1 = 15km, yi = 22.5km, Range, = 15km; x 2 = 45km,
Y2
= 30km, Range2
=
15km. . . . . . . . . . . . . . . . . . . . . . . .
182
4-56 Results for second day of a time-progressive case example. Starting coordinates: x 1 = 25.5km, yi = 12km, Range1 = 13.5km; x 2 = 37.5km,
y2
= 19.5km, Range2 = 12km. . . . . . . . . . . . . . . . . . . . . . . 182
4-57 Solution process for an instance of time-progressive case.
The top
graph shows the optimality gap. The bottom graph displays the the
upper bound on the linear relaxation and the objective function value
for the integer solutions found. . . . . . . . . . . . . . . . . . . . . . .
184
4-58 Results for first day of a time-progressive case example. Starting coordinates: x,
Y2
=
15km, yi = 22.5km, Rangei = 14.5km; x 2
=
45km,
= 30km, Range2 = 15km. . . . . . . . . . . . . . . . . . . . . . . .
184
4-59 Results for second day of a time-progressive case example. Starting
coordinates: x1
Y2 =
=
18km, y, = 12km, Range1 = 15km; x 2
=
37.5km,
19.5km, Range2 = 12.5km. . . . . . . . . . . . . . . . . . . . . .
185
4-60 Results for first day of a time-progressive case example. Starting coordinates: x 1 = 4.5km, y1 = 10.5km, Range1 = 13km; X2 = 27km,
Y2 =
18km, Range2 = 13km. . . . . . . . . . . . . . . . . . . . . . . .
185
4-61 Results for second day of a time-progressive case example. Starting
coordinates: x1 = 27km, yi = 3km, Range1 = 15km; x 2 = 30km,
Y2
= 7.5km, Range213km.
. . . . . . . . . . . . . . . . . . . . . . . . 186
4-62 The uncertainty values for three different depth stratum plotted on the
same graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
188
4-63 Growth of number of integer variables in the new MIP formulation as
a function of range for a single-day, single-vehicle problem. . . . . . .
189
4-64 Growth of number of integer variables in the new MIP formulation as
a function of vehicle number for a single-day problem. . . . . . . . . .
190
4-65 Solution of a comparison problem using the Network Programming
Method. Total Reward = 344.
. . . . . . . . . . . . . . . . . . . . .
191
4-66 Solution of a comparison problem using the New MIP Method. Total Reward =
392. .........
192
....................................
4-67 The tree of subproblems. The feasible set is gradually partitioned into
smaller subproblems. The initial problem F is first split into F and
F2 . Then F 2 is further split into F 3 and F 4 .
. . . . . . . . . . . . . .
193
5-1
Uncertainty field for day 1. . . . . . . . . . . . . . . . . . . . . . . . .
205
5-2
Integrated uncertainty field for day 1. . . . . . . . . . . . . . . . . . .
205
5-3
Locating the regions of high uncertainty for day 1. . . . . . . . . . . .
208
5-4
Locating the regions of high uncertainty for day 2. . . . . . . . . . . .
209
5-5
Locating the regions of high uncertainty for day 3. . . . . . . . . . . .
209
5-6
Location of starting points for day 1.
. . . . . . . . . . . . . . . . . .
209
5-7
Progress of the MIP search for first stage of the solution. . . . . . . .
214
5-8
Paths generated for day 1 during the first phase of the solution.
.
215
5-9
Paths generated for day 2 during the first phase of the solution.
.
215
5-10 Paths generated for day 3 during the first phase of the solution.
.
215
5-11 Progress of the MIP search for first stage of the solution. . . . . . . .
216
5-12 Detailed plot of the progress of the MIP search for first stage of the
solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
217
5-13 Paths generated for day 1 during the second phase of the solution.
.
217
5-14 Paths generated for day 2 during the second phase of the solution.
.
218
5-15 Paths generated for day 3 during the second phase of the solution.
.
218
5-16 Coarsened paths generated for day 1 (August 26) during the first phase
of the solution.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
221
5-17 Final paths generated for day 1 (August 26) during the first phase of
the solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5-18 Final paths generated for day 2 (August 27) during the first phase of
the solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5-19 Coarsened paths generated for day 1 (August 27) during the second
phase of the solution. . . . . . . . . . . . . . . . . . . . . . . . . . . .
223
5-20 Final paths generated for day 1 (August 27) during the second phase
of the solution.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
224
5-21 Final paths generated for day 2 (August 28) during the second phase
of the solution.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
225
5-22 Paths generated for August 28 during the third phase of the solution.
225
List of Tables
5.1
The path-point coordinates calculated by the static method in tabular
form for day 1.
5.2
. ...
..
....
..
. . . . . . . . . . . . .b.t . .y..
. .
m.... ..
..
..
. . . . . . . . . . . .
219
222
The path-point coordinates calculated by the dynamic method in tabular form for day 2. . . . . . . . . . .
5.6
219
The path-point coordinates calculated by the dynamic method in tabular form for day 1. . . . . . . . . . .
5.5
218
The path-point coordinates calculated by the static method in tabular
form for day 3.
5.4
..
The path-point coordinates calculated by the static method in tabular
form for day 2.
5.3
. . . . . . . . . . . . .b.t ..
224
The path-point coordinates calculated by the dynamic method in tabular form for day 3. . . . . . . . . . .
19
226
20
Chapter 1
Introduction
1.1
Introduction to Dynamic Data Driven Applications Systems (DDDAS) Concepts
As a result of advances in the computer software and hardware fields resulting in
high computational power, Information Technology-enabled applications and simulations of systems in science and engineering have become essential tools for theory and
applications. The approaches used by scientists and engineers to analyze the characteristics and predict the behavior of complex systems such as the atmosphere and the
oceans, or man-made vehicles, etc..., sometimes fail to perform comprehensive analysis
and predictions of the behavior of the complex system in question. Using traditional
simulation and measurement methods, even elaborate computational models of such
systems produce results that diverge from or fail to predict real system behaviors or
some significant system features.
The Dynamic Data Driven Applications Systems (DDDAS) [1] concept is a promising idea in which the computational and experimental measurement aspects of a computing application are dynamically integrated to improve the simulation/computational
results. This approach creates new capabilities that benefit a wide range of scientific
and engineering applications.
"DDDAS is a paradigm whereby applications and measurements become a sym21
biotic feedback control system." [2]. DDDAS embodies the capability to dynamically
incorporate additional data into an executing application program.
The capabili-
ties of DDDAS also extends towards the reverse direction to enable an application
(i.e. a computer program) to dynamically steer the measurement process. Such a
bi-directional interaction yields more accurate analysis and prediction, more precise
control, and naturally more reliable and successful outcomes. The fact thats an application or simulation environment is equipped to control and guide the measurement
process, and determine the specifics of measurement location and its timing and decide
if extra measurements are needed that might bring remarkable performance increase
at a reasonable cost, implies that it has the potential to enable more effective measurement methodologies. Also, the inclusion of dynamic inputs into an already running
application program has the potential of error correcting/better modeling of critical
system modes. Such corrective action helps create application software systems that
can more accurately mimic real-world complex systems. This enables the development of applications which can adapt intelligently to evolving conditions, and that
can generate results of greater accuracy are not possible with a fixed computational
model of the physical system and initial parameters.
The DDDAS idea has a myriad of application areas on different disciplines. It can
find use in the biological sciences, engineering, geosciences, material science, physical
sciences, space and social sciences, and in enabling infrastructure technologies. Possible applications/areas [20] that may benefit from the DDDAS paradigm are listed
as follows:
* "In engineering and physical systems applications involving real-time and virtual operations re-planning, process control and optimization situations such as
those occurring in manufacturing and service systems; in earthquake tolerant
structures, in crisis management, like fire propagation prediction and containment; in complex structural and fluidic processes encountered in chemical, mechanical and biomechanical systems; in new methodologies, like in computing
and measurements infrastructure systems, such as the design and configuration
methodologies for sensor networks and traditional networked computer systems,
22
in enhancing methods for improved engineering and for enabling analysis and
prediction in decision support systems ranging from advanced driving assistance systems for automobiles to systems proposed for air-traffic management,
analysis on structural integrity of mechanical systems, like analysis of systems
of sensors, such as predicting crack development in aircraft fuselage, to neurobiological and bio-molecular systems, to enhancing oil exploration methods, to
improved analysis of environmental systems observations; in chemical imaging;
X-ray and neutron scattering and spectroscopy" (20].
" In biological sciences, DDDAS can be helpful in increasing the accuracy of
image-guided interventions, improving the performance and utility of multiscale models, enhancing methods to analyze and gain insights of the bio-diversity
and bio-complexity of the world's terrestrial and aquatic communities and ecosystems [20].
" In geosciences, DDDAS techniques can be used to describe the non-linearities
and diverse spatial and temporal scales in the highly coupled systems [20].
" In the social and behavioral sciences, DDDAS can enable real time adaptive
approaches to interviewing, experimentation and cognitive measurement.
It
can also enable ways to "better understand and to increase the efficiency of
business production, customer service, policing, crowd control, crisis decision
making, learning processes, language comprehension" [20].
Additional examples for potential DDDAS application areas can be found by following the Examples of Applications web link on the DDDAS webpage [1].
Implementations of DDDAS may be realized on a diverse set of computational
platforms including computational grids, mid-range clusters, distributed, leadershipclass supercomputers, high-throughput computing environments, high-end workstations, and sensor networks.
Implementation of DDDAS concept creates a rich set of new challenges which
requires interdisciplinary collaborations between applications domain researchers and
23
mathematics, statistics and computer sciences researchers, as well as researchers involved in the design and implementation of measurement methods and instruments.
1.2
Application of DDDAS Ideas to Oceanography
DDDAS ideas find a potential embodiment in Oceanography, i.e. in Ocean Forecasting
involving Adaptive Sampling and Adaptive Modeling [72].
Real-time ocean forecasting is a challenging task due to the issues which involve
the chaotic nature of the ocean, the practical inability to make extensive in-situ
measurements, the uncertainties in the initial and boundary conditions and lack of
information along the ocean depth dimension since satellite measurements have a 2D
surface measurement capability. In order to accurately forecast the evolution of a
complex system as the ocean, one needs to take into account the high deviations of
the solution due to small uncertainties [36]. Weather and ocean forecasts suffer from
intrinsic uncertainties which arise due to errors in the model formulation and errors
in the specification of the initial state of the model, or "analysis" [42]. Due to the
vast size and harshness of the ocean it is an excessively difficult task to continuously
and uniformly sample the ocean. Even if we have the means to uniformly sample the
ocean, on the one hand much of the collected data corresponding to regions of low
dynamical variability will likely be redundant. On the other hand, data pertaining to
regions of high dynamical variability will be lacking resolution. Therefore to utilize
the measurements assets in an optimal way, one needs to plan ahead the sampling
strategy to be followed.
Observation networks used for weather and ocean forecasting can be thought of being composed of a routine and an adaptive component [35]. The routine component
comprises observations from the fixed rawinsonde network, satellite measurements
and other measurements that are routinely taken [36]. The routine component aims
to collect the data that will be obtained in a situation-independent manner. In addition to the routine component, an additional component called "adaptive component"
can be utilized. The adaptive component, if cost-efficient, intends to capture more
24
data from the regions of high sensitivity in an attempt to increase the density and
accuracy of the data from these critical regions to improve forecast quality. Since the
data-sensitive regions will vary from day to day, the additional network component
is required to be flexible, leading to the characterization "adaptive component". The
adaptive component gives the network designer the choice of assigning extra measurements to the regions of interest. The adaptive component might involve ships
or aircrafts which drop instruments in data-sensitive regions, pilotless aircraft, autonomous underwater vehicles (AUVs), radiosonde stations and satellite-borne lidars
[36]. Since the data-sensitive regions or the regions of interest will change with time,
the adaptive network must be continually directed to the locations which will maximize the expected improvements in some aspect of the estimation. This problem is
known as targeting, adaptive observations or adaptive sampling [58].
Adaptive sampling can serve several practical purposes. When scarcity of measurement assets exists, the whole routine component may be treated as an adaptive
network and the routine component being omitted. Such an adaptive observation
scheme can also have several goals, such as decreasing the uncertainty, gathering critical information about the dynamics of the system, increasing the coverage of the
system, etc... An important goal is to increase the accuracy of the forecast of the
states of particular interest by utilizing the resources at hand in an optimal manner.
Also it can be used to minimize the error in the initial conditions.
A variety of techniques have been employed to determine the location of extra
observations in the scheme of an adaptive sampling network. These include singular
vector technique [79, 50, 37, 26], the analysis sensitivity technique [65], the observations technique [21], the ensemble transform (ET) technique [36], the ensemble
transform Kalman filter (ETKF) technique [35, 75] and the error subspace statistical
estimation technique (ESSE) [70, 71].
The singular vector technique uses singular value decomposition ideas to determine the regions of maximum growth of an energy norm. These regions are deemed
to be the target area for the extra observations, since any uncertainty in the measurements from these regions may wind-up yielding large forecast errors. The ensemble
25
transform (ET) technique uses nonlinear ensemble forecasts to construct ensemblebased linear approximations to the prediction error covariance matrices associated
with different possible deployments of the adaptive observational resources. The ensemble generally consists of perturbations around a mean value. They are useful for
taking into account the chaotic nature of the atmosphere or the ocean. Sometimes
a small perturbation may invoke a mode in the system that will alter the results
significantly. The Ensemble Transform Kalman filter (ETKF) uses a Kalman filter
to calculate prediction error covariance matrices and also ideas from the ensemble
transformation (ET) technique. It seeks to determine extra observation points with
high uncertainty and assimilate the fictitious measurements performed at those location into the Kalman filter to see the effect on uncertainty improvement. It is an
order of magnitude faster than its predecessor ensemble transformation (ET) technique. Error subspace statistical estimation technique (ESSE) is based on evolving
a subspace that spans the scales and tracks and determines the scales and processes
where dominant errors occur [68].
"In the ESSE scheme,the dynamics evolves the
state of a natural system forward in time. The state variables (e.g., velocities, temperature, concentration densities of plankton, nutrients, particles) are functions of
four-dimensional spacetime, which is classically referred to as fields. A dynamical
model to approximate nature consists of a set of coupled nonlinear prognostic field
equations for each state variable of interest. The fundamental properties of the system appear in the field equations as parameters (e.g., viscosities, diffusivities, body
forces, rates of Earth rotation, grazing, mortality). The initial and boundary values of
the state, which are necessary for integration of the equations, may also be regarded
as parameters by data assimilation methods. In principle, the state and parameters
of the system can be estimated directly by observations and measurements. Given
the state of the system at one time, a future state can be estimated by a model prediction. Data assimilation provides a powerful methodology for state and parameter
estimation via the melding of data and dynamics. It makes feasible such estimates
on a substantial and sustainable basis." [85].
Figure 1-1 shows the results produced by ESE technique.
26
Figure 1-1 (a) and
Figure 1-1 (b) show the results for two state forecasts, namely temperature and
chlorophyll. Figure 1-1 (c) shows the error on the temperature forecast. Figure 1-1
(d) presents an adaptive sampling track manually designed based on the forecasts
and forecast errors.
I
M4
(b) Chloropbyll iorecsAa
(a) Temperature roreemet 21 Mar. 1998
21 Manr. 1998
XI I-
(d) Adaptively designed samplAng
(c) Temperature foreeast error (100m)
Figure 1-1: Real-time multidisciplinary forecast for the Gulf of Cadiz and Strait of
Gibraltar: (a) melded estimate of forecast temperature with data assimilation; (b)
melded estimate of forecast chlorophyll with data assimilation; (c) forecasted error
associated with the estimated field of (a) carried out by ESSE methodology; (d)
sampling track adaptively designed from the forecast and forecast errors [85].
ETKF and ESSE are the most recent techniques and more powerful in the sense
that they provide us with the error covariances.
A common element of all the techniques mentioned above is that they create some
information such as covariance matrices and regions of maximum growth, which can
27
be useful in locating regions of interest for adaptive sampling.
To give some insight about the scheduling of adaptive observations Figure 1-2 is
presented to identify certain key times in an adaptive sampling problem.
td
ti+1, M=3
Figure 1-2: Adaptive observation time frame.
The time instant ti is the initialization time of the adaptive sampling planning
strategy. The time
td
is the time when the adaptive component of the network is
deployed to make extra observations so as to lead to maximum reduction in the forecast error at the verification time ty. The forecast is initialized with data from the
final targeting time ti+M. To recapitulate, between times ti and
td
the planning of
the deployment of the adaptive component of the observation network is performed.
Before time
td
observations will only contain routine observations. Between times
td
and ti+M the adaptive observations are made. At time ti+M, the forecast targeted
to produce results for the verification time, tv, starts running. The adaptive sampling strategies must be able to identify the "optimal" deployment of the adaptive
component of the observational resources between times ti and
td
[35].
The natural question that arises is where the adaptive observations should be
made for the data that are gathered to be most effective in improving the analyses
and forecasts. The answer to this question is not obvious. This might depend on the
kind of data to be collected and the type of asset available.
Using singular value decomposition based techniques, generally path planning is
a straightforward task. It is possible to locate the areas that have singular values
above a threshold value and the observations are designed to be in those regions.
One popular method used in atmospheric sciences in conjunction with ETKF is
based on the use of summary maps [75]. The difference between a state estimate that
28
uses a specific set of adaptive observations and one that does not is called a signal
realization. To determine the signal realization it is assumed that a fictitious observation is performed at a specific location with a predefined quality and it is assimilated
into the prediction system. Then one forecast without any adaptive observation is
performed. The difference between the forecast with the adaptive sampling and without the adaptive sampling is calculated and called a signal realization. The calculated
signal realization has information on the improvement of forecast at each map position for a selected adaptive observation location, therefore contains three-dimensional
information. Summary maps synthesize signal variance calculations for a large number of hypothetical adaptive observation points. Summary maps are two-dimensional
maps and are used to represent the possible improvements on the forecast quality
as a function of the adaptive observation location. Each point in the summary map
depicts the possible improvement on the forecast quality, if an adaptive observation
is made at that point. As mentioned before, the result is the signal variance which is
a three-dimensional information. To be able to map a three-dimensional information
on a two-dimensional map, the dimension of the signal variance must be reduced by
one. To achieve this, the signal variance information is integrated preferably over a
region of focus and the total is assigned to the specific point on the summary map, to
denote the improvement that will be obtained, if an adaptive observation is performed
at that point. Figure 1-3 depicts a typical summary map. The darker shading corresponds to regions of high signal realization, which translates to potential for higher
improvement in forecasts.
Depending on the time constant of observations, it is possible to proceed in two
directions. If the field is changing too quickly, then a technique called serial targeting
can be used, if the adaptive path planning consists of multiple path-points that need to
be determined. Starting with the first point, for each of the possible Q deployments of
an adaptive sampling asset, the signal realizations are calculated and a summary map
is generated. From the summary map, the single adaptive measurement that serves
the desired criteria most is selected to be at the location for targeted observation.
Frequently, a gradient search technique is utilized for this purpose. Subsequently,
29
(a)
60N
16
1
40N
10
20N
160E
180
160W
140W
120W
10OW
Figure 1-3: A summary map example, darker regions show the regions where adaptive
observations have a higher potential to improve the forecast [751.
the data from the selected location is assimilated into the system using Kalman
filtering, and the newly obtained uncertainty covariance is used to find the second
optimal adaptive measurement location. This method, which could also be extended
to find the nth optimal point, is known as serial targeting. Calculation of the signal
realizations for every possible
Q deployments
for a given path-point and repeating
the same for all the path-points that form the path could be a very computationally
expensive and as a result simplified computational approaches are used to overcome
this problem [751.
If the field is not changing very fast and can be assumed constant during the
duration of measurements, then it is sufficient to work with only a single summary
map. In this scenario, on a given summary map, a number of different tracks for the
available asset (ship, AUV, airplane. etc..) are generated such that these paths do
traverse the regions of high interest. (Alternatively these might be predesigned and
approved tracks available for our choice). This approach is shown in Figure 1-4 (a).
The next step is to calculate the total signal realizations along each suggested track
and draw them as a function of track number as shown in Figure 1-4 (b). Among all
the paths, the one that yields to highest forecast quality improvement is chosen. For
30
(b)
(a)
80
202N
160E
180
160W
140W
120W
Flight Track Number
100W
Figure 1-4: (a) A summary map with some potential tracks; (b) The improvement
that will be achieved in the forecast quality plotted as a function of flight number
[751.
the example presented in Figure 1-4, this will be track number 46.
The idea of serial targeting can be extended to the multiple vehicle case. First
a number of tracks are created on the summary map, see Figure 1-5 (a). Then the
best track is chosen and assigned to the first vehicle as in Figure 1-5 (b). The next
step is to assimilate the fictitious data along the chosen path using ETKF and get an
updated summary map as in Figure 1-5 (c).
As a summary, the ETKF utilizes an ensemble of forecasts and the ensemble mean
to generate the forecast covariance matrix. The routine observations are assimilated
into each ensemble member using a Kalman filter assimilation scheme.
Thus, although all these techniques are useful to a different extent in distinguishing
the potential regions for extra observations, they do not intrinsically provide us with
a path for the adaptive observations network assets. Path planning of the adaptive
elements for the network is performed manually relying on the experience of the
oceanographer or employs trial and error techniques based on predesigned tracks as
explained in Figures 1-4- 1-5.
The resulting sensitive region might be quite vast in size. As the size of the adaptive network grows the complexity of the routing problem gets amplified and the lack
of rule-based path planning schemes often leads to excessive computational times and
sub-optimal plans. In this thesis, we focus on path planning for AUVs mainly and the
31
2
(a)
'Traclss 1-23
V-I
Track 23
40
Track 46
V. Tracks 31-49
2031
loG14w
HOW3
I ~Jw
~50,
40
30
20
(c)
1 4 7 10 13 16 19 22
31 34 37 40 43 46 49
Flight trock number
61
WE
41
1
1 4 7 10 13 16 19 22
31 34 37 40 43 46 49
Flght trock number
Figure 1-5: (a) Map of predesigned flight tracks; (b) Bar chart of total signal realization for all predesigned flights; (c) Bar chart of total signal realization after the
hypothetical data from flight number 23 has been assimilated into the system [75].
32
problem gets more complicated when multiple vehicles are involved and inter-vehicle
communication is also taken into account. The problem we are aiming to solve is
described in Chapter 2.
Adaptive modeling aims to introduce improvements to the underlying mathematical model of the complex system in a dynamic fashion as the simulation is under
progress. It intends to select the best model structures and parameters among different physical or biogeochemical parameters in an attempt to tailor the mathematical
model to a specific active regime and initial conditions.
"Poseidon", [80, 72] which is a joint project between the Massachusetts Institute
of Technology and Harvard University, aims to lay the foundation of a distributed
system for real-time interdisciplinary ocean field and uncertainty forecasting with
adaptive modeling and adaptive sampling and is the subject of the next section.
1.3
Overview of the Poseidon Project
Effective ocean forecasting has cardinal importance for efficient and safe human operations in the ocean. Application areas that benefit from ocean forecasting can be
listed as fisheries management, pollution control and maritime and naval operations.
From a scientific point of view, ocean science is important for climate dynamics, biogeochemical budgets and to understand the dynamics and ecosystems of the food
web in the sea. Recent advances in oceanographic numerical models and data assimilation (DA) schemes made it possible to employ ocean prediction systems in
operational settings [84]. Also the recent availability of high-performance computing
and networking capabilities now enable scientists to construct distributed computing
systems that address and successfully solve computationally intensive problems in interdisciplinary oceanographic research [81]. The state of the ocean evolves and ocean
dynamics involves transitions occurring on multiple scales. For efficient and rapid
interdisciplinary forecasting, ocean observing and prediction systems must have the
33
ability to adapt to the ever-changing dynamics of the real system. Such capability
gives ocean forecast systems the ability to capture ocean behavior in a way that is
not possible with a static system.
Poseidon [80] is such a distributed computing based project, which aims to create
the basis of a distributed system for real-time interdisciplinary ocean field and uncertainty forecasting incorporating adaptive modeling and adaptive sampling schemes
into the framework.
The project has three main goals [82]:
1. To build the coupling link between physical oceanography, biological oceanography and ocean acoustics.
2. To introduce techniques for intelligent adaptive modeling and adaptive sampling
of the ocean in the forecasting system and necessary numerical models and
decision systems, therefore creating a dynamic data-driven forecast system.
3. "To initiate the concept of seamless access, analysis, and visualization of experimental and simulated forecast data, through a science-friendly Web interface
that hides the complexity of the underlying distributed heterogeneous software
and hardware resources" [82]. The interface must promote efficient information
retrieval and visualization.
Importantly, the system must combine modern legacy models/codes for physical
oceanography and biological oceanography, acoustic models and data assimilation
schemes with new adaptive modeling and adaptive sampling software. Measurement
models are employed to bridge the observed data to the dynamical model variables
and structures. With adaptive sampling, the data acquisition process is dynamic and
the goal is to minimize the predicted uncertainties, maximize the sampling of key
dynamics and features and maintain exhaustive coverage of the region of interest.
With adaptive modeling, model improvements are dynamic and the goal is to select
the best model substructures and parameters.
34
The Poseidon project aims to bring together field and remote observations, dynamical, measurement and error models, data assimilation schemes and sampling
strategies to produce not only the best-available estimates of the ocean state, but
also uncertainty information on these fields. By allowing for interdisciplinary interactions linking computations of physics with biology and acoustics to imitate the way
they are linked in nature, Poseidon targets to produce more accurate ocean forecasts.
The system is capable of assimilating data directly. This way it can adapt to measurements. Though this is not the only way it achieves adaptation to measurements,
another way is by the modification of model structure and parameters (adaptive
modeling), and of observational strategies by collecting data based on ocean field
and error forecasts (adaptive sampling). This makes Poseidon a dynamic data-driven
application system (DDDAS) [43].
The Poseidon project employs the Harvard Ocean Prediction System (HOPS) [3]
as its underlying advanced interdisciplinary forecast system. HOPS is a portable and
generic system for interdisciplinary ocean nowcasting and forecasting. It provides a
general framework for obtaining, processing, and assimilating data in a dynamic forecast model capable of generating forecasts with 3D ocean fields and error estimates.
Error Subspace Statistical Estimation (ESSE) [69] is the advanced data assimilation scheme of HOPS that provides an estimate of the dominant uncertainty modes
in the forecast. ESSE is pivotal to the Poseidon project's goal of achieving adaptive
modeling and adaptive sampling.
ESSE is a data assimilation scheme that is capable of performing multivariate, inhomogeneous and non-isotropic analyses, combined with data assimilation and adaptive sampling. It is an ensemble-based technique (with a nonlinear and stochastic
model) and produces uncertainty forecasts (with a dynamic error subspace and adaptive error learning). A schematic description of ESSE is shown in Figure 1-6.
The architecture of Poseidon is being designed based on HOPS, taking into account
possible future HOPS developments. Hence some degree of flexibility is built-in, so
that the elements forming HOPS could easily be replaced by other components, e.g.
35
-1
Cl)
FieldNonlnearForeast
(FA~nwt
ind
tif
ature
o
Laruig
rrorwp
ubH
..............
It~ztioI.............
FxrorSul~ace
onlinar
Aapdl
employing different (improved) physical oceanographic models for adaptive physical
modeling.
The Poseidon system is built on a computational framework based on Grid computing technology [47]. It has the flexibility to allow for future scalability and incorporation of different or improved models.
It also provides transparent interoperability of distributed resources using a medatabased approach.
Metadata are used to describe both datasets (observational and
forecast) and software components [60, 49].
1.4
Conclusion
In this chapter background information on Dynamic Data Driven Applications Systems (DDDAS) and a synopsis of the Poseidon project have been presented. The
concepts such as adaptive sampling and adaptive modeling have been elaborated.
This lays a foundation for the proper understanding of the next chapter in which the
problem statement is presented.
37
38
Chapter 2
Problem Statement and Previous
Work
2.1
Adaptive Sampling Problem and Problem Statement
In this chapter we state the problem that will be the subject of this dissertation in
detail and discuss the formulation approach chosen. We also make a comparative
analysis of the chosen method with respect to existing alternative methods.
As discussed in the previous chapter, the Poseidon project has several goals and
different elements that are equally important for the overall successful operation of
the system. Different aspects of the Poseidon project are subject of different research
projects. Some work has already been done regarding to data assimilation and ocean
forecasting schemes (ESSE and HOPS) [69], [3], [80], [72]. Also there exits some recent previous work on the Information Technology (IT) and computer science aspects
of the project such as encapsulation of the binary codes, automated feature extraction, etc.. For related literature one can refer to [70], [45], [49], [57], [56], [44], [39].
This thesis deals particularly with the adaptive sampling part of the Poseidon project.
39
As mentioned in Chapter 1, one of the unresolved problems in the adaptive sampling process is the absence of a rule-based, analytical method for path planning after
the summary maps become available. The route planning for the adaptive elements
for the network is done manually relying on the experience of the oceanographer.
This is frequently a subjective technique and might easily result in suboptimal plans.
In order to initiate the adaptive sampling, we need criteria to locate the regions
of interest. These regions may be characterized by using the uncertainty predictions
on the states (error variances, PDFs, etc..) or physical regions of dynamical interest
(eddies, upwelling, jets, etc..). The former one is a vector or a scalar field provided
by our research collaborators at Harvard University as the output of the Harvard
Ocean Prediction System (HOPS) and Error Subspace Statistical Estimation (ESSE)
system [3], [73] whereas the latter is a set of subregions which needs to be detected
using feature extraction [57], [56] and can be presented as a Boolean field. Since
information from both sources is valuable and we aim for a full representation of the
regions of interest, it is advantageous to combine the two sources of information. This
involves the investigation of an optimal way to merge two different requirements into
a single field. There are different approaches to achieve this goal, such as assigning
different weights on different feature sets, using Fourier transforms and treating the
problem in Fourier-space, etc.. These issues are beyond the scope of this work and
hence the methods that will be presented in this thesis are independent of the type of
field. We are using the uncertainty information on states provided by ESSE/HOPS
which we will be calling as "uncertainty fields". Figures 2-1-2-2 illustrate 2D and 3D
realizations of uncertainty fields generated by ESSE/HOPS.
The uncertainty field is representative of the location of observation points to be
targeted. When visualized, high values correspond to the coordinates that are primarily worth visiting. The oceanographic assets that are generally available for sampling
include buoys, Autonomous Surface Crafts (ASCs) Autonomous Underwater Vehicles
(AUVs) and oceanographic ships which are in charge of deploying the AUVs. In this
thesis we will focus on the path planning problem for AUVs which is sufficiently general to allow solution of the sampling problem to include other available assets.
40
60 r
0.45
50
0.4
40
0,3
E 30
0.25
0.2
20--
0.15
01-
2
10
10
0
70
60
50
40
30
20
km
Figure 2-1: The 2D representation of an uncertainty field generated by ESSE/HOPS.
0.5
045
0.2
0.6,0.
0.4,
0.3s
0.2.0.
0
70
-0.25
60
50
0.15
40
0
30
0.1
10
-
20
10
km 0
60
40
50
km0
Figure 2-2: The 3D representation of an uncertainty field generated by ESSE/HOPS.
41
In the simplest case scenario, the problem we are trying to solve involves uncertainty information on the states of the ocean to be forecasted for a single day
and a single vehicle with a known starting position and specified constraints that
will perform some measurements over a single day. The typical constraints for an
AUV include maximum range, maximum diving depth, radius of curvature of motion
(bend radius), distance from the line of sight of a shadowing Autonomous Surface
Craft (ASC) for communication purposes, mission termination point and operation
cost. For the spatial scales we are generating the plans for, the radius of curvature
of motion is of no concern. Also in this thesis we will assume that there exists a
uniform operating cost. In addition to physical constraints related to an AUV, there
is a basic underlying constraint that all observations need to be completed within a
specified time so that the data collected can be transferred in a timely manner to the
simulation center to be assimilated into forecast simulations, which take a significant
amount of time and need to be completed before a targeted time. This constraint
emerges as a constraint on the observation duration. However, given the performance
specifications typical of AUVs (cruise speed, acceleration, etc..), it is possible that the
duration constraint to be merged into to the range constraint. Another important
issue is the spreading pattern of measurements in a given high uncertainty region. If
the vehicle circles too much in a small region, the measurements from such a localized region might not make too much contribution to the improvement of the forecast.
Therefore it is preferred that the AUV traverses or crosses the regions of high uncertainty in an effective manner.
The problem at hand is a constraint-optimization problem and can be stated as
finding the optimal sampling pattern/route within the specified constraints such that
the observational gain during the travel of AUV will be maximized. This requires
successful routing of the AUV to the locations where the uncertainty field has high
values. Immediately, different classes of problems emerge regarding the structure of
uncertainty field. To articulate this point in the simplest case, there may exist only
42
a single AUV and a single region of interest where the observations need to focus. In
a more complex scenario there may still be a single AUV but a multitude of regions
to visit.
A more complex scenario is the multi-vehicle problem.
In this case the inter-
vehicle coordinations issues, such as collision avoidance and effective area coverage
are also of concern. Similar to the single vehicle case, there might exist a single region
of interest or more than one, and successful routing strategies are needed to consider
all the possibilities.
The more complete picture of the problem is obtained when the problem is considered on multiple time scales. The standard approach to the adaptive sampling
problem has been to construct the observation points or paths on a individual daily
time scale. The efficiency and optimality issues (over an extended time scale) suggest
that the optimization problem should be treated in an inter-temporal manner. For an
AUV, tomorrow's starting point is related to today's endpoint. Instead of a myopic
approach, by considering the coupling between the paths belonging to consecutive
days, a more far-sighted optimality can be achieved. This requires that we have in
advance at least a rough estimate of the uncertainties on state estimates for each
day in our targeted timescale.
As the uncertainty on state estimates improves as
time progresses and new measurements are assimilated into the system, the optimal
routing strategy is also updated based on new uncertainty fields.
In this thesis we will develop methods to address all the above cases.
2.2
Previous Work
Although the adaptive sampling idea has been discussed before, rule-based high level
path planning for adaptive sampling has not received a lot of attention. Previous
work in the area generally includes path planning for atmospheric networks and can
turn out to have quite different considerations than an ocean network including assets
like an AUV [75], [371. The problem as we state it has not been a research subject
43
before and it is very difficult to draw a comparison with previous work. As long as
ocean adaptive sampling is concerned, the body of previous work involve low level
path planning, control and coordination issues. The commonality of these approaches
is that either waypoints are given a priori or very simple and local search techniques
such as gradient methods (greedy search) are employed to locate the waypoints [46],
[75]. The use of local techniques does not guarantee global optimality.
Although there is no complete matching, there exist similarities with previous
work. This work includes the Selective Traveling Salesman Problem (STSP), routing
problems and some particular path planning problems [67], [22], [54], [46], [86], [83].
In STSP, there are nodes with some award points associated to them. Given a limited
travel duration, the aim is to collect as much reward as possible. Unlike the Traveling Salesman Problem (TSP), not all the nodes need to be visited. Only the most
rewarding nodes are to be targeted. This reminds us of the problem we stated above
and this similarity will be explored in Chapter 3. The existence of extra geometrical
and other constraints makes our problem remarkably different from STSP. Recent research exists on path planning and coordination issues of Unmanned Aerial Vehicles
(UAV) [86], [83]. The goal is to steer a single or multiple UAVs between a starting
waypoint and a terminal waypoint, avoiding collision with obstacles in the field and
also inter-vehicle collisions. Although there exist some similarities, the objectives are
very different in the two problems. Collecting rewards along the path of the vehicles
as in our case corresponds to taking a line integral along the path and this turns out to
be a mathematically complex objective to formulate. In [46], adaptive sampling path
planning is explored with a focus on cooperative control of multiple vehicles. In this
work, waypoints are determined using some gradient method. The search approach
does not guarantee global optimality and the real emphasis is on coordination and
nonlinear control issues.
Therefore the problem we are addressing is a new problem with almost no prior
direct work. We hope this work will motivate follow-up research on path planning for
adaptive sampling.
44
2.3
Mathematical Formulation
Global optimization is the task of finding the absolutely best set of parameters to
optimize an objective function. In general, there can solutions that are locally optimal
but not globally optimal. Consequently, global optimization problems are typically
quite difficult to solve exactly; in the context of combinatorial problems, they are
often NP-hard.
In its generic form an optimization problem can be stated as:
minF(x)
subject to gi(x) = 0
h (x) ;> 0
Vi E 1, ... , ml ml > 0
Vj E ml, ..., m m > ml
(2.1)
x E R".
Depending on the type of the governing functions F(x), gi(x), h3 (x) the problem
can be categorized under different banners. If any of the functions are nonlinear, then
the resulting problem is called a "nonlinear problem" [27]. There exists a variety of
methods to solve global optimization problems. They can be summoned under two
main categories based on the quality of the solution namely, "exact methods" and
the "approximate methods".
As the name implies exact methods produce exact or optimal solutions for a
given problem. A list of most popular (not comprehensive though) exact methods
include branch and bound [59], successive approximation (relaxation) methods [59],
complete (enumerative) search strategies [59], dynamic programming [28], Bayesian
search (partition) algorithms [77].
Approximate methods aim to to provide quicker but not necessarily optimal results. They are useful in cases where sub-optimality of the result could be tolerable.
Approximate methods include evolution strategies [53], [4], simulated annealing [64),
45
tabu search [52]. It is also possible to come up with special heuristics tailored for the
problem at hand by exploiting the special structure of a given problem.
A special case of optimization problems for which there exist very efficient solution
algorithms are linear problems in which all of the functions are linear. In general given
the matrix A and the vector b, a linear problem can be written in standard form as
follows:
min C'x
subject to Ax=b
(2.2)
x> 0
The mixed integer problem (MIP) is the same as a linear problem except that
some of the variables are restricted to take integer values. An MIP can be written in
a standard form as:
min c'x+d'y
subject to Ax+By=b
x,y > 0
x integer
(2.3)
where the matrices A, B and the vectors b,c and d are given. If there are no
continuous variables y, the problem is called an integer problem. Furthermore if there
are no continuous variables and the components of the vector x are restricted to be
either 0 or 1, then the problem is called a zero one or (binary) integer problem.
Engineering design problems often are Mixed Integer Problems (MIP), since they
involve the selection of a configuration or topology (which components should be
included in the design) as well as the design parameters of those components, i.e.,
size, weight, etc. The disjunctive constraints and the inclusion of a specific component
46
can be represented by formulation techniques based on binary variables. In general
MIP provides plenty of flexibility and power and empowers one to formulate extremely
sophisticated and decision-making problems.
In this thesis we are going to present two different methods that are based on
MIP formulations. The formulations we are going to present are rather complicated
and include selection among different configurations. Given the capability of MIP to
handle this category of problems, the decision to use MIP arises naturally. There are
different exact techniques to solve a MIP, such as cutting plane methods, enumerative
methods, pseudo-boolean methods and branch and bound methods [91). We will be
seeking an exact solution to the problem we are going to formulate. One reason is
the nonexistence of previous work on the problem we are working on to compare our
results against. Generally to test a proposed method for an optimization problem researchers test their new algorithm on some test data sets and report the performance.
Since in our case there exists no such test data and the problem is very specific and
recent, our goal in the first phase of the research is to find the exact solution to set the
reference criteria for future work. Another possibility is to get approximate solutions
by heuristical approaches. Heuristic approaches can be quite powerful and produce
reasonably well solutions in relatively fast solution times. To find suitable heuristics
for a specific problem entails careful examination of the problem structure and the
time cost of the actual implementation can be quite high. Apart from tediousness of
implementation another downside of heuristics is that not always do they have the
flexility to accommodate changes in problem structure easily. For a minor addition
or change to the problem scenario the heuristic might change significantly. For this
initial phase of the project where we will be considering different problem scenarios
and working with different models, avoiding the burdens heuristical approaches carry
along was deemed to be most reasonable way. MIP offers a great deal of modeling
power and ability to introduce changes on a model very easily. Using an exact solution algorithm expedites the process of getting solutions initially. In this thesis we
will be using an exact solution algorithm, heuristic approaches will be the subject of
future research.
47
2.4
Solution Method for the Mathematical Programming Problem
Integer programming problems are inherently difficult problems to solve and there exist a wide range of algorithms to address such problems. The algorithms are classified
into two main categories:
1. Exact Algorithms that are guaranteed to find an optimal solution, which
however may take an exponential amount of time depending on the problem
size and structure. They include branch and bound, branch and cut, cutting
plane and exhaustive enumeration methods [28].
2. Heuristic Algorithms that provide a suboptimal solution with no guarantee on the quality of the solution. The solution time is not guaranteed to be
polynomial, but the empirical evidence suggests that some of these algorithms
efficiently find a good solution. They include greedy search methods and simulated annealing [28].
The branch and bound method is the most widely used technique to solve integer
programming problems. It has advantages compared to cutting plane and branch
and cut methods. As long as exact algorithms are involved exhaustive enumeration
is used for a class of problems. In terms of heuristic algorithms, the most commonly
used one is the greedy search method. In this thesis, we perform a comparison in
between these three methods to decide on an appropriate solution method for the
MIP problem. Figure 2-3 presents a comparison of these three methods. The text
printed in green indicate desired characteristics.
The exhaustive enumeration technique suffers from exponential growth of run time
and memory needs. To have a rough idea about the performance of the method and
the memory requirement, a program was implemented that allows us to obtain a lower
bound on the solution time and an approximate estimate of the memory requirements.
The lower bound is obtained by measuring the time necessary to create a proper size
tree, to assign arbitrary uncertainty values to each node and calculating the total
48
Greedy Method
(Local Search)
Exhaustive
Enumeration
NO
VEPY LOW
LifNEAPR
MODERATE
YEF
VERY HIGH
EXPONENTIAL
HARD
(E
FATE
MODER
EXPONENTIAL
EAS,
Branch and
Bound
Figure 2-3: Comparison of different MIP solution methods.
This method lacks proper assignment of uncertainty
rewards for the leaf nodes.
values to the nodes and performing some other necessary operations between some
nodes in order to satisfy problem constraints. Therefore it is faster than a proper
implementation of the exhaustive search algorithm. The lower bound on the solution
time for a single vehicle as a function of available vehicle range is presented in Figure 24. As can be seen from this figure for small range values the solution times are small.
But as the range increases above 25km the solution times begin to go beyond a time
limit meaningful for the solution of the problem.
go POO
8000D
70D00
60jD00
50
0 00
g 40DO0
20JJ00
1ODDO
0
5
10
15
20
Range (km)
25
30
35
Figure 2-4: The lower bound on the solution time for a single-vehicle case as a function
of available vehicle range.
49
Figure 2-5 presents the results for a single vehicle, two-day time-progressive case.
For a range of 15km the lower limit on the solution time is about 80, 000sec (~- 22hr)
and for a range of 20km is about 50, 000, 000sec (~
13888hr), which are beyond mean-
ingful limits for the problem at hand. To discuss the memory requirement, Figure 2-6
is presented. To solve a single vehicle problem with 30km range, approximately 30Gb
of memory is needed. The exponential growth of solution time and excessive memory requirements are known problems with exhaustive enumeration technique and
our results confirm these problems. Because of these inherent shortcomings of the
exhaustive enumeration it was not considered to be the solution method adopted in
this work.
55,00000050,000.000
45.000,000
40.000.000
35,000,000
-
30,000,000
E
25.000000
20.000.000
10.000,000
5,000,000
0
0
5
15
10
Range of Vehicle (km)
20
25
Figure 2-5: The lower bound on the solution time for a single-vehicle, two-day timeprogressive case as a function of available vehicle range.
The greedy method is based on the idea of finding the direction of maximum
change of the objective function in a small neighborhood and repeat the same procedure. It is capable of producing very fast results but there is no guarantee on the
optimality of the solution. Although for convex or concave problems it is capable
of producing optimal results, for for problems such as our own which are neither
convex, nor concave, it is frequently stuck at a local optimal solution. Figure 2-7 is
illustrative of such behavior of a greedy algorithm. The vehicle starts its trajectory
at the location marked with the white dot and finishes its trajectory at the location
50
3.OE+10
2.5E+10
1.0E+10 1.OE+10
5.0E+09
0.OE+00
-
- -
0
5
10
15
20
30
25
35
Vehicle Range (km)
Figure 2-6: Comparison of different MIP solution methods.
marked with the the grey dot. The vehicle is normally expected to visit the small
peak located around x = 30km and y
=
20km and proceed toward the more dominant
peak located at the lower region of the map. But once it is attracted to the smaller
peak, it cannot make its way out of it and spends all its resources around it. This is
typical of the behavior of the greedy method. Given the complex (neither convex nor
concave) shape of the fields we are dealing with, the greedy method will be prone to
converge to local optimal, and therefore cannot be used as a global solution method.
I
a4
02
40
O
Figure 2-7: Comparison of different MIP solution methods.
51
Branch and bound method is an intelligent search strategy and generates exact,
globally optimal solutions with moderate amount of memory requirements. However,
it may suffer exponential solution times. But this does not mean that it is incapable of
producing results within reasonable durations. Depending on the problem structure
and size in many situations, it produces good results and turns out to be most widely
used method in state-of-the-art software. Therefore given the problem characteristics,
the branch and bound method stands out among the other alternative methods and
is used for the solution of the problem addressed in this thesis.
2.5
Summary and Thesis Outline
The proposed research focuses on the optimal routing problem for adaptive sampling.
We are given uncertainty fields which are representative of the regions in which extra
observations are needed. We also have information about the logistics and capabilities
of the adaptive observation fleet.
The objectives of this thesis are the following. First, we formulate the problem
as an optimal routing problem approached as a mathematical programming problem
for a single vehicle. Then, we improve the formulation to include the multi-vehicle
case and the related inter-vehicle coordination issues. Finally, we extend the study
to include the time-progressive nature of the forecasts and time-continual nature of
the observations into the formulation. Such an approach allows us to incorporate
time as another dimension into our optimization scheme and seek aggregate solutions
optimized over space and time.
The remaining of the thesis is structured as follows:
Chapter 3 discusses a MIP formulation based on network flow problem ideas. The
suggested formulation covers single and multi vehicles cases.
Chapters 4 is devoted to another MIP formulation, which turns out to be stronger
than the one presented in Chapter 3. It is capable of handling time-progressive cases
as well. The details for various coordination issues are described in depth.
Chapter 5 presents some results obtained using the MIP method introduced in
52
Chapter 4. It discusses merits of different strategies.
Chapter 6 concludes the thesis with recommendations for future work.
53
54
Chapter 3
A Network Programming
Formulation
3.1
Introduction to the Problem
The "Network Programming" approach aims at solving the optimal routing problem by combining ideas from network programming and mixed integer programming
(MIP) techniques. The problem at hand in its simplest form is to find an optimal
path for a vehicle, given its starting point and an uncertainty field coming from an
ESSE solver. The termination point of the vehicle can be specified either as an exact
point in space or a set of points. Unlike a greedy algorithm the Network Programming
technique seeks a global optimal solution. At large the problem can be extended to
a multi-vehicle case also including inter vehicle coordination.
The uncertainty field is a 2D array and an input to the problem. To implement
the suggested approach, the nodes in the 2D field are woven into a grid structure by
introducing horizontal and vertical flows in between the adjacent nodes. The introduced horizontal flows include flows from left to right (forward horizontal flows) as
well as right to left flows (reverse horizontal flows). The vertical flows in consideration include top to bottom flows (forward vertical) and bottom to top flows (reverse
vertical). This will form the primary flow grid for the network approach. Later some
special nodes and flows related to these nodes will be discussed in depth.
55
To give an idea about the big picture the problem will be set as a variation of the
"all to one" shortest path problem. Before writing the problem as a "mathematical
program", fundamental concepts such as "ode-arc incidence matrix" and its formulation, start and termination nodes, governing constraints, flow variables and variable
indexing will be introduced.
Introduction to the Node-Arc Incidence Matrix
In a network programming scheme, the node-arc incidence matrix represents the connection between nodes in a network. It lays a structure for the rest of the formulation.
In the particular example we have, each element of the uncertainty matrix is a node.
The arc-incidence matrix determines which links are established between the nodes
in the system. In the general case, it is a ( of nodes) by (0 of edges) matrix. Each
row corresponds to a node and each column corresponds to an arc. The (i, k)th entry
aik is associated with the ith node and kth arc. We define aik as:
aik
=
1
if i is the start node of the kth arc
-1
if i is the end node of the kth arc
0
otherwise
Therefore, every column of A has exactly two non-zero elements, one of them is
equal to +1 and the other is equal to -1,
which indicate the start and end node of
the corresponding arc [29]. A general A matrix is illustrated in Figure 3-1.
There exist special algorithms to solve network flow problems efficiently. In order
to benefit from those methods the A matrix must have linearly independent rows
[30). The additional constraints that will be introduced cause the modified A matrix
to violate the linear independence condition and render the special network solvers
(which bring order of magnitude computational cost improvements compared to the
solution of the same problem with a LP solver) infeasible to be used for our case.
Also as long as elements of all input matrices axe integer, a network solver guarantees
integrality of the solution. The integrality condition will emerge as a necessity in our
formulation. But violation of the modularity condition will force us to formulate the
56
problem as a mixed-integer problem, which is computationally more expensive.
f=f
1 1
-1
0
4
0
5 0
6
0
2
3
numnber
of Mde$
2
fG=f 23 f3= f4
0
1
----------------0 -------- ------- '
1-------------1-ariab-es
0
-------- --
0
0
0
(
Figure 3-1: Representation of A matrix.
3.1.1
Flow Variables
Flow variables are key in the formulation. They are the unknown in the problem.
Therefore the solver aims to find values of these variables. There is a great dependency
between the A matrix and the flow variables. Each column of A matrix corresponds
to a flow variable. Let us denote by a vector f a particular ordering of flow variables(
the columns of matrix A must follow the same ordering in order to match the flows).
Then A and f are used to write down the continuity equation. To illustrate, let us
focus on the ith row of A, denoted by aj. This row is associated with node i. The
nonzero entries stand for the arcs that are incident to node i. If it is an incoming arc
the entry is -1,
if it is an outgoing arc then the nonzero entry is +1.
Zj ffj- S
Thus,
fji
iEI(i)
jEO(i)
where 0(i) and 1(i) stand for the set of outgoing and incoming flows from and to
the node i respectively.
The flow conservation equation at node
57
i can be written as
af = bi
or, equally in matrix notation,
Af = b
where b is the vector (bi, , ..., b,,) and bi is the amount of flow that enters the
network at node i. In general, node i is called a source if b2 > 0 and a sink if bi < 0.
In our formulation all bis except at two special nodes will be zero. There will be
a source node at the start location of the vehicle and a sink node at an unknown
location. The location of the sink node will be determined as a part of the solution.
The given definitions of A and b form the fundamental framework for a network
flow problem. Our proposed formulation will build upon this framework and further
introduce some constraints arising from the specific problem at hand. In the next
section, two special nodes that are critical for the formulation, namely start and
termination nodes will be introduced.
Introduction of the Start and Termination Nodes
In order to formulate the problem at hand, it is necessary to include a virtual start
node and a virtual termination node to the network of nodes. The nodes will serve a
special purpose in the formulation and thus are critical. The problem will be treated
as a variation of the "all to one" shortest path problem [31].
" One" node is the
starting node ('s'). The termination node is undetermined in the beginning. All the
nodes in the network (or depending on the problem a subset of them) are potential
termination nodes.
The starting node will be connected only to the node where the vehicle starts it
motion, whereas termination node will be connected to all nodes. This is pictured in
Figure 3-2. To give the big picture of the solution approach, a flow of magnitude +1
58
will be fed into the network at the start node. Then it will follow a path that will be
determined by the objective function and constraints, and will leave the network at
the termination node.
network of xodes
from he gril
Figure 3-2: Inclusion of start and end nodes into the flow network
Since the starting node (s) is connected only to the node where the vehicle starts
its motion, this node can be omitted by setting the value of the corresponding entry
in bi for the node where the vehicle starts its motion to +1.
Edges from all network
nodes to t are one directional and only one of the flows will be +1 through these with
all remaining equal to 0. The non-zero flow will point to the termination node.
Construction of "A", Node-Arc Incidence Matrix
One of the inputs to the problem is a 2D uncertainty matrix (P), which supplies us
with a field to shape our navigation strategy. The P matrix is of dimension n by
m. There will be n * m nodes coming from the structure of P matrix. With the
inclusion of the termination node, the total number of nodes in the node set will
be equal to n * m + 1. All the nodes in the system -except the termination node59
I1
have vertical and horizontal connections to the adjacent nodes. These connections
need to be directional due to the fact that flow in either direction must be possible.
Diagonal flows and flows between the non-adjacent nodes are possible but for the sake
of computational ease and proof of method are excluded in this basic formulation.
As aforementioned, matrix P, which forms the physical foundation of the node
set, is two-dimensional. Therefore, any element of P can be represented by a twoindices notation, such as Pi, and the corresponding node can similarly be indexed
as Ni.
As mentioned earlier each row of A corresponds to a particular node. Since
all the nodes must be represented along one dimension in A, the two-indices node
representation must be transformed into a single index representation for modelling
purposes. This is depicted in Figure 3-3.
t
4i2
(111)
F
3-3: I
(112)
3
f2
tt
x
(1,4)
s
fr
a
f2 "6
455
fj45
N
(2)
e5
(3,2)
whr)
m e
(2,4
(2,3
and
(fY
09.i
(4,1
f34
)
nm
f1
(4'J
(4,2
1
f
u
s
- 1w4
f5-16 (4,4
Figure 3-3: Indexing notation for nodes and flows.
The transformation is achieved by the following equations
Node Number= (Z- 1) * m + J
where n--number of rows and m~number of columns.
60
The nodes will form the row dimension of the
""
matrix. The nodes will be ordered
from left to right, top to bottom fashion for that purpose and will match the rows in
that particular order. To construct the column dimension, the flows in the network
need to be ordered in a systematic way that will ease backtracking. Therefore, first
and foremost the indexing of flows will be discussed.
Indexing of the Flows
For modeling purposes flows are required to be presented in vector form. To manage
this task in a way that will systematize the indexing process (and also lead to a
sparse matrix) the indexing must be performed in an intelligent way. First and
foremost the forward flows, flows in the left-to-right direction and the top-to-bottom
direction, are to be indexed.
The reverse flows in the right-to-left and bottom-
to-top directions, and the flows to the termination node will be added after basic
formulation guides are obtained. It will be as simple as an index modification and
vector expansion. As aforementioned, only flows in vertical and horizontal directions,
excluding diagonal flows, are considered at the moment. This implies there will be
be 2* n * (m - 1)+ 2 * m * (n - 1)+ n * m flows. To elaborate on this number, there
are n * (m - 1) forward horizontal flows, m * (n - 1) forward vertical flows. Including
the reverse flows they add up to 2*n* (m -1)+2*m*
(n -1).
There also exist n* m
flows from each node in the network to the termination node. Therefore in aggregate
there will be 2 * n * (m - 1) + 2 * m * (n - 1) + n * m flow variables.
The flows are laid into the flow vector such that the first n * (m - 1) elements are
the forward horizontal flow components and the following m * (n - 1) are the forward
vertical ones. The next n * (m - 1) elements are reverse horizontal flow components,
and following m * (n - 1) elements are the reverse vertical ones. The last n * m
elements are the flows from each node in the network to the termination node.
In the following representation, "%" stands for modulus operation and "DIV"
stands for division operation that rounds down to closest integer value. Also,
f{3}
: {k} stands to indicate that
fi
fi
-+
corresponds to the flow from node j to node k.
The first n * (m - 1) elements are forward horizontal flows and can be indexed as
61
follows:
n * (m - 1):
For 1 < i
fi
---+
f{(i-l)%(m-1)+l+m*[(i-l)DIV(m-1)]}:{(i-l)%(m-1)+1+m*[(i-l)DIV(m-1)1+1}
The following m * (n - 1) elements are forward vertical flows.
For n * (m - 1) < i <
fi
r
*
(m - 1) + m * (n - 1):
-
1) - 1)%(n - 1)] + 1 +
{q}:{w}
-
q= m*
{(i - n * (m
1(i -
n * (m - 1) -
l)DIV(n - 1)]
w = m * [(i - n * (m - 1) - 1)%(n - 1)] + 1 + [(i - n * (m - 1) - 1)DIV(n - 1)] + m
The next n * (m - 1) elements are reverse horizontal flows:
For n * (m - 1) + m * (n - 1) < i < 2 * n * (m - 1) + m * (n - 1):
j
i - [n * (m - 1) + m * (n - 1)]
f{(j-l)%(m-1)+l+m*[(j-1)DIV(m-1)}+1}:{(j-1)%(m-1)+l+m*{(j-l)DIV(m-1)]}
fi -
The next m * (n - 1) elements are reverse vertical flows:
For 2 * n * (m - 1) + m * (n - 1) < i < 2 * n * (m - 1) + 2 * m * (n - 1):
j
=
i - [2 * n * (m - 1) + m * (n - 1)]
fi
q
=
'
f{q}:{w}
m * [(j - n * (m - 1) - 1)%(n - 1)] + 1 + [(j
w = m * [(j - n * (m - 1) - 1)%(n - 1)] + 1 +
-
[(j -
n * (m - 1) - 1)DIV(n - 1)] + m
n * (m - 1) - 1)DIV(n - 1)]
The last n * m elements of the vector are the flows from individual nodes to the
62
termination node:
For 2*n*(m
fi -+
-1)+2*m*(n
-1)
<i < 2*n*(m
-1)+2*m*(n
-1)+n*m:
fli-(2*n*(m-l)+2*m*(n-1)}:{(n~m)+1}
The
f' vector becomes:
[4
fforward =
i
freverse
-> :fi-t
f2-t
f3-t
... f(n*m)-t]
Formulation of "A", Node-Arc Incidence Matrix
Having discussed the indexing of the row an column elements, matrix A can be
indexed quite easily. A is a (n * m+1) by (2*n * (m
-
1)+2* m* (n -1)+n
*m
matrix. The first n * m rows correspond to each grid point in the given uncertainty
matrix. The last n * m + 1-th node is the virtual termination node. The connectivity
matrix A will be formulated column by column. A(i, j) denotes the corresponding
element in A. Initially all elements of A are set to 0, and then some elements are
altered to 1 according to following rules:
* 1 < i < n * (m - 1):
A((i
-
1)%(m - 1) + 1 + m * [(i
A((i
-
1)%(m - 1) + 1 + m * [(i - l)DIV(m - 1)] + 1, i) = -1
-
1)DIV(m - 1)], i) = 1
T * (m - 1) < i < n * (m - 1) + m * (n - 1):
n
A(m*[(i-n*(m-l)-1)%(n-1)I+1+[(i -n*(m-1)-1)DIV(n -l)],i) = 1
A(m*[(i-n*(m-1)-1)%(n-1)]+1+[(i-n*(m-1)-1)DIV(n-1)]+m,i) = -1
*
n * (m
-
1) + m * (n
-
1) <i <2 * n * (m
63
-
1) + m
* (n - 1):
j = i - [n * (m - 1) + m * (n - 1)]
A((j - 1)%(m - 1) + 1 + m * [(j - 1)DIV(m - 1)] + 1, i) = 1
A((j - 1)%(m - 1) + 1 + m * [(j - 1)DIV(m - 1)], i) = -1
" 2*n*(m-1)+m*(n-1)<i<2*n*(m-1)+2*m*(n-1):
j
=
i
-
[2 * n * (m
-
1) + m * (n - 1)]
A(m*[(i-n*(m-)-l)%(n-1)]+1+[(i-n*(m-l)-l)DIV(n-1)]+m,1) = 1
A(m*[(i-n*(m-l)-l)%(n-1)]+l+[(i-n*(m-l)-l)DIV(n-1)],1) = -1
" 2*n*(m-1)+2*m*(n-1) <i
A(i
-
(2 * n * (m
-
2*n*(m-l)+2*m*(n -l)+n*m:
1) + 2 * m * (n - 1)), i) = 1
A((n * m) + 1, 1) = -1
b stands to denote the incoming and outgoing flows into the system in the flow
conservation equation. There's only one source and a sink term. The source is located
at the node where the vehicle starts its motion. Hence the row in the vector b that
corresponds to that specific node is set to 1. The sink is located at the termination
node and the last row of b is set to -1
to for that purpose.
Figure 3-4 shows the construction of A and b.
3.1.2
Formulation of Cost Matrix
In order to formulate the problem at hand in a network flow problem scheme, the cost
of carrying one unit of flow from one node to another connected needs to be defined.
The indexing notation for the c is represented in Figure 3-5. ci-of moving one unit of flow from node i to node j.
64
stands for the cost
1.
I
1"
2
3
1 0 ---------''4 V
----------
--
,
----------
~-----------
--------------
------
-- - - - -- - - -
-- - - - -- - - -
..
--
. .
--
-
-----------I
--
-
--
-
--
-
- -
--
nra
0
S
S
S
1
S
S
-1
D
- - -- - --
------
. . .
07a-spodstothe
no*de wkh4 mtPH,
I~ COup ondast* the
Jtemlsmton node.
Figure 3-4: Detailed depiction of matrix A and vector b.
65
--
-
-
- -
- -
----
t
elm
CM
-d
(14)
CN/
co~ (2y3)(,
q6~ (2,
(4
1,4
t3
(1 1)
&
(3,3'
(312)
4
, .!
C1612
c1 j(4,4
(4,2(43'
4~
~c1~
Figure 3-5: Indexing cost associated to each flow.
cT is a 1 by 2*n*(m-
1)+2*m* (n-
1)+n*m vector.
The first
2 * n * (m - 1) + 2 * m * (n - 1) elements represent the costs of the flows from
connected grid points. The last n * m elements are the cost of the flows from grid
points to the virtual termination node and are set to be zero, since there exists no cost
of moving to the virtual exit node. A very similar ordering is introduced as vector
f, so that in the vector multiplication to form the objective function two vectors will
perfectly match each other.
[ci-2 C2-
3
c 3- 4
c 5- 6 c 6- 7 c7-8: ..... 0 0 0
The cost vector is constructed using the uncertainty data.
1
The uncertainty is
provided in vector form, in a matrix denoted as P. The elements of this matrix
correspond to the uncertainty value at the corresponding grid location. To extract
the cost associated with a flow the average of the uncertainty values at the start and
end nodes are taken.
66
Note the symmetry in the cost vector:
=
=
Pi + P
2
Since the indexing notation is similar to that of f vector, we can borrow ideas for
formulation from f to formulate c. The elements of c can be formulated as a function
of the start and target nodes as follows:
Pk
± P
_
P((k-1)DIVm+1),((k-1)%m+1)}
2
cl=
+ P{((1-1)DIVm+),((L-1)%m+1)}
2
Although the two index notation is very self-explanatory, the costs need to be laid
into a one dimensional vector and a single index notation has its advantages in that
respect. A single index notation is achieved by the following formulation:
(The single index notation ci and double index notation have been used together
and this is to set a warning not to get confused by the coexistence of two different
notations.)
* 1 <i <n*(m-1):
Ci ->
C{(i-1)%(m-1)+1+m*[(i-1)DIV(m-1)}{(i-)%(m-1)++m*[(i-1)DIV(m-1)]+}
* n * (m
Cz -
-
1) <i < n * (m
-
1) + m * (n - 1):
Cqg
q = m * [(i - n * (m - 1) - 1)%(n - 1)] + 1 + [(i - n * (m - 1) - 1)DIV(n - 1)]
w
=
m*[(i-n*(m-l) -1)%(n-1)+1+[(i-n*(m-1) -l)DIV(n-1)I+m
* 1 <i <n*(m-1)+m*(n-1)
Ci+[n*(m-1)+m*(n-1)]}
-> ci
67
* 2*n*(m-1)+2*m*(n-1)<i2*n*(m-1)+2*m*(n-1)+n*m:
ci
=
3.1.3
0
Constraints
There are some constraints to be considered. They will be described from the simplest
to the most complicated ones.
The main constraint is the range constraint. Each vehicle has a specific range
and can only travel up to that range. To prevent a solution from violating the range
restriction, an appropriate constraint must be introduced. This constraint can be
written as follows:
L is a vector of size 2 * n * (m - 1)
(3.1)
R
Efi -Li
+ 2*m
* (n - 1)
+ n * m by 1 and stands
for the modifications on flow lengths in case of the inclusion of diagonal moves in the
formulation and also for the case of curvilinear grid geometry. In the specific case
where only horizontal and vertical moves are considered, L is a vector of ones. In the
matrix notation the above inequality can also be expressed as
LT - f <
Since
ck,
R
(3.2)
and cuk has the same value, naturally the optimal solution will tend to
include both of the corresponding flows,
fkl
and fik. This will cause a back and forth
motion along the same line. However this defeats the purpose, since there is no point
in making measurements along a line which has already been scanned and thus must
be prevented through the introduction of an extra constraint. As it will be mentioned
later there are integrality constraints on
fkl
68
and it may be either 0 or 1. To prevent
the overriding notion, we impose the constraint
fij + fji
5 1. Hence
fij
=
1 =>
fji = 0
or vice versa. Yet still both of them may be zero. Figure 3-6 portrays the resulting
D matrix.
ful fn)
f6d
1
0
0
0
0
1
.0
----- _--o ---------------.
0
fhi
fat
1
0
0
0 _-- ..-. .- _- . 0
0
1 ------------------..
Figure 3-6: Part of the D introduced due to the
fij + fji
< 1 constraint.
Also we need to impose the constraint that each node can be visited only once.
If this restriction is not imposed then, moves resembling the shape of number 8 (or
papillon shape) become very common in the solutions found. The problem with these
kind of path geometry is the double counting of some observation point and focusing
around the same area more than necessary. This can be achieved by introducing the
following mathematical inequality:
E fi + fj,
(2 - bi),
(3.3)
Vi E N
If bi is 0 for a node then right-handside of the equation becomes 2 and it means
that if the node is not a source or since node, there can be one flow entering and one
flow exiting.
The Equations 3.1-3.3 are affixed and written in the matrix form as D - f = beq.
Matrix D is represented in Figure 3-7 together with vector beq.
The next step is to use the a toolbox for MATLAB (or another software) and
solve it as a "Mixed Integer Programming" problem since we require
69
fi,
= {0, 11.
fl 2
f
fzt
f
1
0
100
010
1
---
f 32
--..--...-----
---------01----------- -----U ------------------- 0 0
0
f 4l
1
0
11--. ..-..------ 0
0
----- -- -- 0 0
0 .-.-----al 0
1
0
00
0 0
S3
and Corresponding hq vector b ecwnes
R
1
1
bq is n*(m-1) +I m(un1) +1 by 1
Figure 3-7: Construction of the matrix D and vector
70
beq.
3.1.4
Complete Mathematical Formulation of the Problem
Our problem can be thought of as a variation of the "all to one" shortest path problem. "One" node is the starting node ('s') and "all" nodes are the unknown 'exit or
termination' nodes. Given the previous discussion about the network structure, flows
and constraints, the optimal trajectory problem can be formulated as follows:
R: Range
N : Network of all nodes in the grid and the start and the termination nodes.
= i(Pi + 1%) : Cost of moving from node (i) to node (j).
A: Connectivity matrix.
fi-j : Flow from node(i) to node (j).
s: Starting node for network flow problem.
t: Termination node for the network flow problem.
max E ciz-fi-
subject to
fi-j - 1 fj-i = b1
V(i, j) E N
or in an equivalent representation Af = b, where b, = 1
(3.4)
bt
=
-1
bi = 0
i 4 s,t
Sfi-j -Li-j <; R
(3.5)
V(i, j)(k, 1) E N where Li-, is a distance modification matrix to take care of diagonal moves if they are allowed to and the curvilinear grid geometry in case it is used.
71
V(i7j)EN
fi-j+h-i:!-l
(3.6)
opposite flows between two nodes are not allowed.
fi-j + f3 -i <; (2 - bi)
Vi E N
(3.7)
to avoid visiting the same node twice.
fi-j = {0, 1},
3.1.5
fi-j
must be integer.
(3.8)
Solution Approaches to the Mathematical Program and
Initial Results
After having formulated the problem as integer program, the next step is to solve the
this problem using an optimization software. There exist a myriad of optimization
softwares to solve Mixed Integer Programming (MIP) problems. It is possible to
find many noncommercial stand alone programs or codes [5], [6], [7], [8], [9] that
are suited to solve MIP problems. They may work trouble free for some kind of
problems, but they generally are research projects or individual coding attempts
which lack reliability, technical support, fine tuning of optimization parameters and
suffer performance issues. Therefore a more problem free and solid path has been
taken by choosing a commercial optimization software. The software that has been
chosen as the optimization platform is ILOG [10].
ILOG is an optimization suit that supports linear programming, integer programming, mixed integer programming, mixed quadratic programming, constraint programming, scheduling and modeling languages.
There are several ways of running a problem in ILOG. Firstly, it is possible to
feed the problem in LP format(which is very tedious) since it needs a very explicit
formulation and write up of the whole problem. This is an extremely time-consuming,
old of way loading the problem and was not considered.
72
Secondly the dynamic libraries provided to interface the optimization solver to
any of the popular programming languages such as C + +, C0, Java could be used.
Hence a code in either C + +, C
or Java needs to be developed. Although this
is a very powerful way of approaching the problem, it was not preferred due to the
existence of an even more powerful alternative.
Apart from two aforementioned methods, there also exists a special modeling language platform called "ILOG OPL Studio" which makes it much easier and faster
to model an optimization problem. ILOG OPL is an optimization language and it is
possible to perform a very implicit and concise formulation using OPL Studio.
Given the ease it brings, the ILOG OPL Studio was chosen as the implementation
platform. First, only one vehicle case has been studied for proof of concept purposes
and ease of debugging. Later on the discussion will be extended to multiple vehicle
cases. The OPL code written for the single vehicle case can be found in Appendix 1.
The program was initially run on fictitious data sets. The range of the vehicle
was set to be 10 units. (1 unit corresponds to a vertical or a horizontal move). The
path generated for the first data set is shown in Figure 3-8. The data set consists
of a 6 x 6 grid. The result shows the optimal solution for the given data set and is
valid. The vehicle starts the motion at the coordinates (3,3) (denoted by a white
dot) and continues its motion in the direction of arrows and stops at the coordinates
(3,5) (denoted by a blue dot). To further investigate the possible weaknesses and
shortcomings of the formulation the MIP program was run with a couple of different
data sets. One of the data sets and the generated path is shown in Figure 3-9.
The resulting path reveals a problem with the current formulation. As it can be seen
in Figure 3-9, the resulting path turns out to be discontinuous and have a sub-tour.
The motion starts at coordinates (3,3) and progresses to make an arc of length 6
units and comes to a halt. Thinking in terms of the mathematical formulation, the
start node (3,3) is the location of the source. Therefore a flow of magnitude of +1
is injected into the system at (3,3), it traces an arc and at (2,4) it directs to the
73
termination node and pours into the sink. This takes 6 units of the total range and
leaves another 4 units to be consumed. The given field has two peak regions. The
vehicle starts its motion around the peak in the middle and collects some awards.
Since the high uncertainty region around the second peak is at the lower left corner
(at least compared to the points that are not visited around first peak), the vehicle
likes to visit the second peak as well. Since the small range value does not allow it,
there occurs a breaking of the path and the a small subtour is generated around the
second peak. It's essential to observe that this kind of behavior does not violate the
constraint set. It occurs due to the lack of subtour elimination constraints and the
solution approaches to this shortcoming will be discussed in the next section.
Another problem is the excessive curling around the same peak or the high uncertainty region a lot. This behavior is evident in Figure 3-9. When a node is visited
around a peak region not only is the uncertainty at that particular node decreased
but also the uncertainties in the vicinity of the visited node are decreased. Therefore
it could be thought as a virtual "region of influence" center around the particular
node visited. The size or the shape of this "region of influence" is unknown to us and
could only be found experimentally after proper path planning strategies are developed. Also it's the general traditional practice to draw paths crossing a peak area
latitudinally. In the light of this information extra measures must be taken to mimic
such behavior and avoid curling motion. The suggested methodology to take care of
these issues is also the topic of the next section.
3.1.6
Approaches to Eliminate the Subtours
Heuristic Approach
The first approach that is tried takes a heuristic approach to modify the the solution
and force it converge into a continuous, subtour-free solution. The heuristic can be
summarized as follows:
e Step 1: Solve the MIP problem.
74
N
FS.d
2.6
t5
5.5
6
Figure 3-8: Solution for fictitious data set
#1.
1
1.
3
2.5
&3
4
4&
y
W
Figure 3-9: Solution for fictitious data set
75
#2.
"
Step 2: Investigate the solution to see whether there exist any subtours.
" Step 3: If no subtour exists, STOP, the solution is optimal.
" Step 4: If a subtour is detected, introduce an upper bound on the objective
function which is equal to the current value of the objective function multiplied
by a (where 0.95 < a < 0.99). GO TO Step 1.
The subtours emerges as an attempt to cover the high uncertainty values located in
the areas beyond the reach of the vehicle, to increase the total reward or the objective
function. Suppose that an optimal solution, denoted by optsoll, includes subtours
and has an objective function value denoted by objvall. Introducing an upper bound
on the objective function that is slightly less than objvall casts the solution optsoll
infeasible, therefore this solution containing subtours is avoided. This is the basic
idea behind the above algorithm and this is run in a loop continuously, decreasing
the upper bound on the objective function slightly each time, until a subtour freesolution is obtained.
A question that arises regarding the applicability of the heuristic, is the value of
a. On the one hand, setting a to a high value such as 0.99 provides higher accuracy
at the expense of an increase in total running time. On the other hand, setting a to a
smaller value, such as 0.95 increases the chance of skipping the optimal solution and
ending up with a suboptimal solution. The upside is the shortened execution times.
Therefore it is necessary to come up with a good value of a that will lead to a good
balance of accuracy and speed.
Various problems were solved to test the performance of the algorithm. In small
fictitious problems, up to grid sizes of 10 x 10,up to range values of 15 and at most
two peaks in the region of interest, the results were generally satisfactory. To see the
performance of the algorithm on a real data field, some problems with the real data
field, which is a grid of 46 x 34, are also studied. The results are presented in Figures
3-10- 3-12.
76
----- - --- -
35 - - - - - ---------------------------------------
-
-- - ----------------------------------------------------------
-------------
20 -
25 ----
-
2510 -------
-
20
Figure 3-10: Algorithmic loop elimination: Results on the real data field, solution
after 1 st iteration. The solution consists of two unconnected subtours.
0
5
15
10
20
2
30
4
35
5
5
-
25 --
loop elimination: Results on the real data field, solution
Figure 3-11:20 Algorithmic
-after I"h iteration. The solution consists of two unconnected subtours.
15-
10
2 0 -
5
------5
-
10--
0
15
after
AAoihi
Figure~~~~~
iIrtin
Th
4--1
eiIain Io
In
sIuto
77
ReIt
I' tw fsit
If
3
4
4
.........
the rea dat fed
s-bt---s.
Lonece
soIl1tion
-inuirr
-
-~
-
. .. ..
25
20
10
0
5
10
15
20
25
30
35
40
45
50
Figure 3-12: Algorithmic loop elimination: Results on the real data field, solution
after 1 0 th iteration. The solution consists of two unconnected subtours.
Figure 3-10 shows the solution obtained after the first iteration as can be seen the
vehicle stars the motion at the lower middle part of the grid but there exists a small
loop disconnected from the rest of the path at the lower left corner. As the algorithm
keeps running results presented in Figures 3-11 and 3-12 are obtained respectively
after the 5th and the
10 th
iteration. The figures reveal the fact that the disconnected
loops keep traveling hither and thither quite a lot in the presence of multiple peaks
with large skirts. Especially if the motion starts around the weaker peak, the loop
is formed around the stronger peak and it travels many times around the stronger
peak, till it reaches the magnitudes around the weaker peak. Given that each iteration might take 10 - 20 seconds, the total running time could be really high for even
the simplest one vehicle case problem. Also another shortcoming of this approach is
the fact that there is no inherent mechanism to take address the curling problem and
latitudinal steering.
These drawbacks limit the applicability of this approach and motivate an alternate
method.
78
3.1.7
Adding Tour Elimination Constraints
The subtour problem emerges in the class of optimization problems where a route or
routes need to be generated. Examples to these problems include Traveling Salesman
Problem (TSP), Vehicle Routing Problem(VRP) [63], [25], [76]. In general in these
problems the aim is to generate a closed loop for a vehicle that will optimize a given
objective function. The objective could be to visit all the nodes in minimal time (or
another objective such as minimization of fuel consumption) in the TSP. In the VRP,
a vehicle or more generally a fleet of vehicles supply customers. Each vehicle has a
certain capacity and each customer has a certain demand. Further on there exists a
depot(s) and a distance (length, cost, time) matrix between the customers. Optimal
vehicle routes (minimum distance or number of vehicles) are sought. Many variations
of the VRP exists such as VRP with multiple depots, with time windows, etc... [61),
[78], [96]. The special case of the VRP results in the TSP, therefore the VRP includes
the TSP. Both in the TSP and the VRP an optimal tour (or tours in case of multiple
vehicle VRP) is sought. A frequent problem is that, without any special constraints,
some subtours might exist in the optimal solution obtained. The reason lying behind
this is very similar to the reason why disconnected loops occurred in our problem.
There might exist some areas with high reward out of the reach of the vehicle and in
attempt to cover those nodes the vehicle departs from the primary tour and follows
disconnected secondary tours, which are named subtours. A detailed formulation of
the TSP can be found in [32]. The way the problem is formulated is such that there
exist arcs connecting nodes in a certain manner, and binary variables are assigned to
the arc. If a binary variable associated with an arc turns out to be 1 it means that
arc is in the solution set, otherwise it means it is not a part of the solution. Let N
denote all the nodes in the system and Si denote a cut. The basic idea to avoid the
subtours is to create all possible cuts and to introduce the constraint that there exist
at least two arc variables set to 1 leaving and entering Si for all i. The number of
cuts are exponential leading to exponentially many constraints. A detailed discussion
of the generalized subtour constraints can be found in [66]. In our case same type of
79
constraints could be applied with a slight modification. Since unlike the TSP or the
VRP cases it is not necessary to return to the same node, the generated path will be
an open path. Therefore it will be enough to have at least two arc variables, instead
of two entering and leaving every possible cut. Although formulating the subtour
elimination constraint this way will guarantee continuity of the path, it does not have
any regulation on the shape of the path and hence does not ensure the avoidance of
the curling behavior. Also the number of constraints will be exponentially many.
In our problem there is not a major tour and subtours to be eliminated. There
is a major open path and tours that might emerge. Therefore the constraints to be
introduced to provide path continuity will be called tour elimination constraints.
The basic idea behind the suggested constraint structure is to study the possible
loop shapes and then to break them into building block shapes. The last step is to
introduce constraints to avoid these fundamental loop geometries. When these constraints are superposed more complicated and bigger loop shapes will also be covered.
The simplest loop shape possible (considering only diagonal and vertical moves are
allowed) is a 1 x 1 square. This will be the simplest building loop geometry to be
considered. Others will be 2 x 2,3 x 3, ...Q x Q squares.
Q
will be the largest size
square that constraints will be written for and the number Q will be function of the
vehicle range. To exemplify if the range of the vehicle is 4 only 1 x 1 loops need to be
included. If the range is between 5 and 11, 1 x 1 and 2 x 2 loops need to be included.If
the range is between 12 and 15, loops of size up to 3 x 3 need to be included.
Also the superposition of constraints helps to avoid the curling behavior and contribute to the proper steering of the vehicle.
The details of these constraints are
discussed in depth below.
Size 1 x 1 Loop Constraints
Figure 3-13 depicts the construction of size 1 x 1 loop elimination constraints. The
simplest and most straightforward way to impose this constraint is to say that coun-
80
terclockwise(or clockwise) flows around a square loop of size 1 x 1 should add up to
at most 3 units.This will mean excluding one of the flows and breaking the loop. The
problem with that approach is that a U-shape consisting of any of the 3 flows is still
allowable and this means the vehicle can curl, which is not desired. To overcome this,
the constraint is split into two. This is shown in Figure 3-13. The first sub-constraint
for clockwise flow direction states that fi +
f3
< 1, which is to say that at most only
one of the horizontal flows can be included. Similarly the second sub-constraint for
clockwise flow direction states that
f2
+
f4
< 1, which means at most only one of
the vertical flows can be chosen. Application of these two constraints does not allow
U-shaped paths, hence it avoids curling at the smallest scale. The same discussion
must be repeated for the counterclockwise direction, this is shown using the flows
f5,
f6, f7, f8.
Some allowable and unallowable moves are presented to solidify the
concept. These constraints must be added for all the possible size 1 x 1 squares in
the grid. In a grid of size n x m there are (n - 1) * (m - 1) such square loops. Hence
it means in total 4 * (n - 1) * (m - 1) (2 for clockwise, another 2 for counterclockwise
loops per 1 x 1 square) constraints to take care of the size 1 x 1 loops.
if.
,<
f
1
f + f 3 <--I
fs
fs
Unallowable Moves
Allowable Moves
Figure 3-13: Constraints to eliminate loops of size 1 x 1.
81
Size 2 x 2 Loop Constraints
Figure 3-14 presents the idea behind size 2 x 2 loop constraints. This time a 2 x 2
square is considered and to clarify only the circumferential flows and the loop of
length 8 are of interest. As can bee seen in the Figure 3-14, E fi (the summation of
circumferential flows) must be less than 4. The value of the right hand side is a design
parameter. It controls the amount of curling and its value is inversely proportional to
the amount of allowed curling. A value of 4 was in this case. It could be any number
up to 7. While this constraint takes care of the peripheral loops, it is important
to figure out that the superposition of the size 1 x 1 loop constraints on top of size
2 x 2 loop constraints make it possible to interweave the internal area with anticurling anti-loop constraints and avoid internal loops and loops of more complicated
shapes. One of such loops is depicted in the unallowable section in Figure 3-14. These
constraints must again be added for all the possible size 2 x 2 squares in the grid. In
a grid of size n x m there are (n - 2) * (m - 2) such square loops. Hence it means in
total 2 * (n - 2) * (m - 2) (1 for clockwise, another 1 for counterclockwise loops per
2 x 2 square)constraints to take care of the size 2 x 2 loops.
f
fi
f7
f
f6
f2
f5
f6fI=
fs
"UnallowableMoves
Allowable Moves
Figure 3-14: Constraints to eliminate loops of size 2 x 2.
82
Size 3 x 3 Loop Constraints
Figure 3-15 demonstrates the the construction principle of size 3 x 3 loop constraints.
Similar to previous case, this time a 3 x 3 square is considered and once more only
the circumferential flows and the loop of length 12 are of interest. As can bee seen in
the Figure 3-15, E
fi
(the summation of circumferential flows) must be less than 6.
This value is also a design parameter. It controls the amount of curling and its value
is inversely proportional to the amount of allowed curling. It could be any number
up to 11.
Again in the same way as the previous case, this constraint takes care
of the peripheral loops, and the superposition of the size 1 x 1 and size2 x 2 loop
constraints on top of size 3 x 3 loop constraints makes it possible to prevent smaller
internal loops and loops of more complicated shapes. One of such loops is depicted
in the unallowable section in Figure 3-15. These constraints must again be added
for all the possible size 3 x 3 squares in the grid. In a grid of size n x m there are
(n - 3) * (m - 3) such square loops. Hence it means in total 2 * (n - 3) * (m - 3) (1
for clockwise, another 1 for counterclockwise loops per 3 x 3 square) constraints to
take care of the size 3 x 3 loops.
~~
fi f2
t~
fil
~
_.___
2
Unallowable Moves
4
f9
fs
f
Allowable Moves
Figure 3-15: Constraints to eliminate loops of size 3 x 3.
83
The process of adding loop prevention constraints can be scaled up in gradual
manner depending on the range of the variable as described before.
In total the
number of constraints will be O(n*m). Hence there will be a polynomial number of
constraints. Compared with generalized subtour elimination constraints [66], the total
number of constraints has been reduced from exponentially many to polynomially
many. This is made possible by exploiting the special structure of the network and
leads to a performance increase during the solution process.
The loop constraints can be expressed concisely as follows: In the below terminology SiLk denotes kth instance of the set of flows that construct the size 1 x 1 loop
prevention constraints. Same terminology is extended to size 2 x 2 and size 3 x 3 loop
prevention constraints.
Z fi-j
51
Vfi-j E SlLk and VS1Lk E N (To avoid size 1 loops)
Z fi~- 5 4
Vfi-j e S2Lk and VS2L - K E N (To avoid size 2 loops)
Z fi-j
Vfi-j E S3Lk and VS3Lk E N (To avoid size 3 loops)
3.1.8
56
Masking of Out-of-Range Flows
The allowable range of a vehicle leads to a structure on the regions which can be
actually visited by the vehicle. If the vehicle range is 10 units, then the allowable
region for that vehicle is a circle of radius 10 units, centered at the starting point of
the vehicle. The flows outside this region are not accessible by the vehicle and are
set to 0. Introducing these constraints eliminates some of the unknown flows in the
system and expedites the solution phase. These constraints can be summarized in
shorthand notation as follows:
fij = 0
V(i, j) E (N-R)
84
where R stands for the set of nodes within the range of the vehicle
3.1.9
Complete Formulation for the Single Vehicle Case
The loop prevention and masking constraints can be combined with the initial formulation to yield the complete formulation for the single vehicle case:
R: Range
N : Network of all nodes in the grid and the start and the termination nodes.
= i(P + P%): Cost of moving from node i to node j.
A: Connectivity matrix.
fij : Flow from node i to node j.
s: Starting node for network flow problem.
t: Termination node for the network flow problem.
max E c,_jfi_j;
subject to
E fi_j - Efj_i = b
(3.9)
V(i -j) EN
or in an equivalent representation Af = b, where b, = 1
bt
=
-1
b2
=
0
i
#
s, t;
fi-. -Li.
< R
(3.10)
V(i - j) (k - 1) E N where Li-j is a distance modification matrix to take care of
diagonal moves if they are allowed to and the curvilinear grid geometry in case it is
used.
85
V(i-j) and (j- i)EN
(1
(3.11)
opposite flows between two nodes are not allowed.
fi-j + f_,- 5 (2 - b1)
ViE N,
V(i-j) and (j-i)
EN
(3.12)
to avoid visiting the same node twice.
1: fi-i :5 1
Vfi-j E S1Lk
, VS1Lk E N
(3.13)
Vfi-j E S2L
VS2Lk E N
(3.14)
Vfi-j E S3Lk , VS3Lk E N
(3.15)
to avoid size 1 loops.
1: fi-j :5 4
to avoid size 2 loops.
to avoid size 3 loops.
fi-j = 0
V(i - j) E (N-R)
(3.16)
where R stands for the set of nodes within the range of the vehicle
fi-j = {0, 1}
fi86
must be integer.
(3.17)
3.2
3.2.1
Results
Results for Single Vehicle Case
The above mathematical program has been coded in "ILOG OPL" Studio. It has
been run for different starting points. The results are presented in Figures 3-163-20.
The fields used represent the uncertainty on temperature in Monterey Bay
on August 27,2003, as calculated by the Harvard Ocean Prediction System (HOPS)
[3). There is data for 3 different depth zones ,namely [0 - 40)m, [40 - 100]m and
[100 - 200]m. Since this instance of the problem is a 2D case, the data from [0 - 40]m
zone will be used. There also exist data on uncertainty on velocity and salinity.
Depending on the objective, velocity or salinity fields (or a weighted average of all
fields) could be used as well. The starting point, range and total reward information
(value of the objective function) is detailed in the figure captions. Grey dots show
the starting point of the motion, white dots show the terminal location. Figure 3-16
shows the path of a vehicle with a designated range of 12 that began its motion at
the coordinates x = 20, y = 5. The total reward was found to be 603 units. Figures 3-18- 3-20 demonstrate that the method achieves global optimality. Figure 3-18
shows the path of the vehicle when it starts the motion at x = 26, y = 19 with a
path of 10 units. The vehicle is attracted by the peak located downward and moves
towards it. When the starting position is moved to x = 26, y = 21, this time the
vehicle is required to move towards the upper small peak, resulting in less collected
award as shown in Figure 3-19. When the starting point is kept at x = 26, y = 21,
but the range is increased to 12, this time the vehicle travels towards the lower peak
as demonstrated in Figure 3-20. This shows that the vehicle is not trapped at a local
solution and finds the globally optimal path.
The optimization code was run on a Pentium 4, 2.8 GHz machine, with 1 Gb of
memory. The range variable has been chosen to be between 12 and 14 units, which
corresponds to the usual range capability of an AUV. Depending on the starting point
and the path length the solution time varies between 30 to 200 seconds.
87
I-Am -?,-
-
-1
35
30
25
20
15
10
5
01
0
10
5
1
15
1
25
20
30
35
40
45
50
Figure 3-16: Result for single-vehicle case. Starting coordinates and range: x = 20,
12; Total Reward = 603.
y = 5, Range
35 -
-
--
30
25
20
10-
0
5
10
15
25
20
30
35
40
45
50
Figure 3-17: Result for single-vehicle Case. Starting coordinates and range: x
y = 20, Range = 12; Total Reward = 320.
88
=
20,
35
30
25
20-
15-
10
0
5
10
15
20
25
30
40
35
45
50
Figure 3-18: Result for single-vehicle Case. Starting coordinates and range: x
y
19, Range = 10; Total Reward = 306.
35 -
-
-...
-.
-
-
-
=
30
25
20-
15-
10-
0
5
10
15
25
20
Figure 3-19: Starting coordinates and range:
Total Reward = 276.
89
30
40
x
=26,
45
y
=
50
21, Range
=10;
26,
35
30
25
20-
15-
10
0
5
10
15
20
25
Figure 3-20: Starting coordinates and range:
Total Reward = 344.
3.2.2
40
3
x
26, y
45
=
50
21, Range
=
12;
Multi-Vehicle Case
It is frequently the case that there exist multiple assets that can be assigned to the
adaptive sampling of a specific territory. Typically if the region of interest is too
large to be covered by a single vehicle (especially if the important feature locations
this
are scattered), employing multiple vehicles becomes a must. In situations like
In
the coordination between the vehicles arises as a crucial aspect of the formulation.
the lack of proper treatment of inter-vehicular coordination there might exist some
the
unwanted path patterns. Most important of such patterns is the over-sampling of
same area by two or more different vehicles at the expense of excluding some other
inareas with slightly little reward gain. When a region is scanned by a vehicle the
formation regarding that region becomes available and extra scans by some different
assets (with identical or similar sensors) do not contribute to the adaptive sampling.
a
Therefore it makes sense to introduce some constraints on the vehicles such that
pre-specified distance is kept between the vehicles. Imposing such constraint creates
of
a barrier between the vehicles and avoids possible crashes as well. The amount
assets
separation dictates the overall path pattern as well. Suppose that there are two
for a specific sampling task and the uncertainty field contains two peaks. Suppose
90
that, both of the vehicles start their motion around the stronger peak, if the separation between them is set to a small value, they will both tend to move around the
stronger peak leaving the vicinity of the smaller peak intact. As the separation value
is increased, one of the vehicles might drift towards the weaker peak. Although the
overall reward might be smaller numerically, the fact that another peak vicinity is
covered might contribute to the reduction of uncertainty more. Therefore this is a
design parameter and must be considered depending on the shape of the field, number
of vehicles assigned and their ranges.
1
21<=12*(1
2
- f .)
=21112-(I-
fil)
Figure 3-21: Vicinity constraints for horizontal flows.
In this section the formulation of vicinity constraints for a two vehicle case will be
explained. The argument can be extended to any number of vehicles easily. Figure 321 and Figure 3-22 portray the construction of vicinity constraints. In Figure 3-21
the flows in a rectangle of size 2 x 3 is under the consideration. As it will be clear as
the formulation progresses a rectangle of this size is good enough to impose a distance
constraint of 2 units between two vehicles. Should it be needed to impose a larger
distance constraint, the size of the rectangle would be increased. The fi,o shown by
an orange arc denotes the horizontal flow belonging to vehicle 1, at the center of the
rectangle. The f2,is stand for all the possible flows belonging to vehicle 2 in the same
rectangular area. The constraint E f2,i 5 12* (1 - fi,o) tells that if fi,o is 1 then none
91
2J
L
f2 4 <= 12 (1- r,
Figure 3-22: Vicinity constraints for vertical flows.
of the
f2,i
can be 1 and it means that vehicle 2 can not navigate in this rectangular
region. If fi,o is 0, it means that at most 12 flows belonging to vehicle 2 can be set to
1. Here the choice of the number 12 depends on the previous constraint introduced
to avoid loops. It must be large enough to ensure that it does not interfere with
loop avoidance constraints. On the left half of Figure 3-21 the case for fi,o being
a horizontal forward flow has been explained. On the right half of the same figure
the complementary discussion for horizontal reverse flow has been pictured.
This
constraint must be imposed upon the complete set of horizontal and vertical flows existent in the field, which adds up to 2 * n * m horizontal vicinity constraints. A similar
argument needs to be done for the vertical flows. Figure 3-22 serves the purpose of
depicting the vertical flow case. This time the rectangular window has been rotated
by 90'. The fi,o is the vertical flow at the middle of the rectangular window.The
rest of the discussion is very similar to the horizontal case. These constraints can be
written in condensed manner for the generalized multiple vehicle case as follows:
92
E f,,i-j :; 12(1 -
Vf,,i-j
, fq,ij E VCRZ,
fq,k-1)
Vp,qlp > q E V, VVCRz E N
where VCR, denotes a vicinity constraint region corresponding to the rectangular
windows in Figure 3-21 and Figure 3-22 and V stands for the set of all vehicles in the
fleet. Also f,,_. stands for the flow of vehicle p from node i to j.
The complete formulation for the multi vehicle case can be written as follows:
R: Range
N: Network of all nodes in the grid and the start and the termination nodes.
V: Set of all vehicles in the fleet
cpi..= -(P,,
+ P,,j) : Cost of moving from node i to node j for vehicle p.
A: Connectivity matrix.
fp,i-j : Flow from node i to node j belonging to vehicle p.
s: Starting node for network flow problem.
t: Termination node for the network flow problem.
max E c,,i-.f,,i~subject to
Z
,i-j - E fp,-i = b,
V(i - j) E N
Vp E V
or in an equivalent representation Af, = bp where b,,, = 1
0
i
s, t)
93
bp,
(3.18)
=-1
bp,=
(3.19)
- Lp,i-j < R
E f,-j
Vp E Vwhere Li-j is a distance modification matrix to
V(i - j)(k - 1) E N and
take care of diagonal moves if they are allowed and the curvilinear grid geometry in
case it is used.
fp,i-j + fp,-i : 1
V(i - j)
and (j - i) E N Vp E V
(3.20)
opposite flows between two nodes are not allowed.
fyi-j + f
:<,-i(2 - bi)
Vi E N,
V(i - j) and (j - i) E N, Vp E V (3.21)
to avoid visiting the same node twice.
fp,-j 5 1
VS1Lk E N, Vp E V
(3.22)
Vfp,i-, E S2Lk, VS2Lk E N, Vp E V
(3.23)
VS3Lk E N, Vp E V
(3.24)
Vp E V
(3.25)
Vfp,i-
E S1Lk,
to avoid size 1 loops.
Zf,--
4
to avoid size 2 loops.
E f,,i-
6
Vfp,i-j E S3Lk,
to avoid size 3 loops.
fwih a= 0
V(i j) E (N-R),,
where R stands for nodes within the range of vehicle.
94
E f,,j
Vf
f,ijEVCRz,
f,i-
5 12(1 - fq,k-)
Vpqlp>qEV,
VVCRzEN
(3.26)
vicinity constraints.
f,-i
= {0, 1},
f,,-j must be integer.
(3.27)
The mathematical program has been implemented using "ILOG OPL Studio" as in
the single vehicle case. Unfortunately when the program was run a memory error was
encountered. After several contacts with the support department of ILOG it became
clear that there existed a memory management problem arising when the size of the
problem is above a threshold. This problem caused a memory leak and consumption of
system memory even before the solution process began. At that point it was decided
to change the platform of implementation and other candidates were evaluated. The
"XPress-MP" from "Dash Optimization" [11] outstood as the alternate optimization
platform to replace ILOG OPL Studio. It is very similar to ILOG in terms capability.
On the plus side it can also handle non-linear MIP problems, where you can either
has a nonlinear term in the objective function or in the constraint set. The control
on the solver parameters are not as detailed as ILOG solver, but X-press MP was
capable of delivering acceptable results to us.
Figure 3-23 and Figure 3-24 represent the solution when the starting points of
the two vehicles are fairly far from each other. Also during the rest of the motion
they navigate apart enough from each other such that that the vicinity constraints do
not need to be considered. When the vicinity constraints fall, the problem becomes
decoupled and reduces to the complexity of solving the problem as a single vehicle
case for each vehicle. The total solution takes around 15 - 20 seconds on a Pentium
4, 2.8 GHz computer with 1 Gb memory.
95
35 -
30-
25-
0
5
10
15
25
20
30
35
40
45
50
Figure 3-23: Result for two-vehicle case. Starting coordinates for vehicle 1: x = 15,
y = 10, Range = 14. Starting coordinates for vehicle 2 x = 39, y = 12, Range = 14;
Total Reward = 1078.
3 ----.......
0
5
.L
10
10
........
....
...............
............
1__2_
15
20
25
30
35
40
45
50
Figure 3-24: Result for two-vehicle case. Starting coordinates for vehicle 1 x = 28,
y = 21, Range = 12. Starting coordinates for vehicle 2 x = 15, y = 15, Range = 12;
Total Reward = 704.
96
--FR
.
-. 7--
30
25
20
15
10
01
5
0
10
Is
25
20
30
35
40
45
50
Figure 3-25: Result for two-vehicle case. Starting coordinates for vehicle 1 x = 26,
y = 25, Range = 14. Starting coordinates for vehicle 2 x
29, y = 7, Range = 14;
Total Reward = 1375.
35-
-
30
25
20
15
10,
0
V
5
10
15
20
25
30
35
40
45
50
Figure 3-26: Result for two-vehicle case. Starting coordinates for vehicle 1 x = 37,
y = 8, Range = 12. Starting coordinates for vehicle 2 x = 30, y = 10, Range = 12.
Total Reward = 11
97
Figure 3-25 and Figure 3-26 belong to the cases where two vehicles come close
enough to each other such that vicinity constraints are active. For these cases the
solution time varies between 200 to 700 seconds on a Pentium 4, 2.8 GHz machine,
with 1 Gb of memory. The solution times in general are pretty acceptable.
3.3
Discussion About the Inclusion of Diagonal
Moves
As it was mentioned in the beginning of the formulation for the sake of simplicity and
the purpose of concept proof, only horizontal and vertical moves were considered. Fig
1.
3-27 shows the compl<
xx
xx
xx
Figure 3-27: Diagonal Moves I
Figure 3-28: Diagonal Moves II
As can be seen in Fig 3-27 and Fig 3-28 inclusion of diagonal moves brings in
98
complex loop shapes to be considered. First and foremost, as shown in Fig 3-27, all
the constraints similar to those which were considered for only vertical and horizontal
flow case needs to be considered to take care of the square and rectangular shape loops
located at a 450 to the horizontal. Also as can be observed in Fig 3-28, when the
diagonal moves combine with the horizontal and vertical ones, more complicated loop
geometries emerge. Whereas it is possible to write constraints to consider all these
shapes, it is a rather tedious job and as the range increases, it becomes very difficult
to manage. Also the solution time will increase. An alternative way to treat diagonal
moves might be to use only horizontal and vertical flows and modify parts of the
solution. This is summarized in Fig
3-29. Whenever a stair pattern is observed,
a horizontal and a vertical floe is replaced by a diagonal one that will connect the
ends of two and form a triangle.Then the horizontal and vertical flows are obliterated.
Since this results in a savings in the path range, the same problem can now be resolved
with right hand-side of the range constraint increased by an amount that depends
on the number of modifications made. When some modifications are done the path
length will be likely to stay in the range limits. This method is suggested as the way
of dealing with diagonal flows considering the formulation ease and reduction in the
solution time it brings.
M.sI .-
I.
I g r
..
-------
i
Figure 3-29: Diagonal Moves III
99
3.4
Discussion of 3-Dimensional Fields
The easiest way to extend the previous discussion on 2D fields to 3D fields is to add
2D fields in z-direction (depth direction) to construct the layers of the 3D field. Each
field will have the horizontal and vertical flows on itself as explained below. Also
these fields must be interconnected in z-direction. To achieve this consecutive nodes
in z-direction should be connected by diagonal flows, since a straight horizontal move
can not be taken by an AUV. Then the problem can be formulated in a very similar
way as 2D case. The problem with this case is the extremely crucial growth in the
variable and constraint size and the corresponding solution time. Another possibility
to tacl
2m
formul2
40
30
/0
440
SO
to1
20
(b)
(a)
Figure 3-30: (a) Three layers of a 3D field plotted on the same graph; (b) Result for
the heuristical method.
Fig 3-30 (a) shows a 3D field decomposed into 3, 2D field layers. The suggested
heuristic can be summarized as follows:
* STEP 1: Choose a range value 70 - 80% of the real range.
9 STEP 2: Condense the 3D field information onto 2D either by picking the
100
maximum value along the depth direction at a given x - y coordinate or using
an average value along the depth range that is of interest at a given x - y
coordinate, and assigning that value as the uncertainty value at that coordinate.
Regenerate the flow costs using this new modified field.
" STEP 3: Solve the new problem.
" STEP 4: Along the deduced path, as the z coordinate at a particular x - y
coordinate, choose the z coordinate with the highest uncertainty value.
" Moving from a 2D path to a 3D path the path length is apt to increase. Recalculate the path length.
- If the path length is within some predefined limit of the range, STOP.
- If the path length is less than the predefined limit of the range, increase
the range value by some coefficient, go to STEP 1.
- If the path length is more than the predefined limit of the range, decrease
the range value by some coefficient, go to STEP 1.
The heuristics aims to converge to the correct path length value by solving the
basic problem in a loop. It must be noted that instead of choosing the nodes with
maximum uncertainty value along a particular depth value to regenerate the uncertainty field, an average field over depth direction could also be used. This heuristics
yield similar running times as in 2D case if the initial range value and other aforementioned parameters are carefully chosen.
3.5
Optimal Path Planning Problem and the Selective Traveling Salesman Problem
The optimal path planning problem that has so far been formulated has some similarities in statement and formulation to the "Selective Traveling Salesman" or " "Orienteering" problems. This section aims to discuss these similarities.
101
Orienteering is a sport which is a mixture of cross-country running and navigation
in a forest, using maps and compasses. Competitors aim to find the control points
located in the forest which are marked on the competitors map. The most common
form of orienteering is the orienteering event in which the competitor is required to
visit each and every node marked on the map. There is a variation of this sport ,
known as score orienteering event, in which the competitors are not required to visit
all of the control points. Each control point has a score assigned to it, and the aim of
the competitor is to maximize his total score within a certain prescribed time limit.
A similar problem to the orienteering problem is the well-known extension of
"Traveling Salesman Problem" known as "Selective Traveling Salesman Problem"
(STSP). In STSP each node has an associated profit and instead of visiting all nodes
the most profitable set of nodes must be visited, taking into account the problem
constraints such as predefined time or range limit. The same mathematical model
The STSP has been the subject of some
can be obtained from either problems.
previous research and both MIP formulations for exact solution and various heuristics
for approximate solutions have been reported [67], [90], [22], [54], [55], and [51].
[67] presents a MIP formulation for STSP problem. Let G = (V, A) be a complete
graph with set Vvi, ..., v,, and arc set A = (vi, vj) : vi, v3 E V, vi :4 v.
A profit pi
is associated with each vertex vi E V and a cost c%, is associated with each arc
(vi, vj) E A (cii = Of oralli). It is assumed that the cost matrix satisfies the triangle
inequality (cs 5 cik + ckj)foralli,j, k). Let C* be the ordered set of vertices in the
optimal circuit. Also a binary variable xij is defined which takes the value 1 if and
only if vi and vj are two consecutive vertices belonging C*. Then the STSP can be
formulated as follows:
maximize
n
n
Pi + E Pi
i-2
subject to
102
j
ij,
n
n
ZExi= EZXi=1,
i=2
n
n
ZXik =Zxkj:1,k
'=1
2...n,
(3.29)
c,
(3.30)
j=1
n
n
E
c
i=1 j=1
VkES
i=1
j=1
(3.28)
j=2
viES,vjVS
viES,vjOS
Xij E 0, 1, i=1..n;i
=A j.
Equation 3.28 specify that vertex v, is required to belong to the solution. Equation 3.29 is the flow conservation constraint. Equation 3.30 determines the length
of the tour, based on the predefined upper-bound on the total cost of the tour, c.
Equation 3.31 is the subtour elimination constraint and one can find the details of
this constraint in [67].
To establish the link between this formulation and the one previously presented
in this chapter, the key step is to replace xij with
matrix is the same in both formulations.
fi-j.
The formulation of the cost
This clarifies the link between the two
formulations. The pi term in the above formulation corresponds to the cost terms
donated by c.j in the formulation presented by us. In the network based MIP formulation introduced there is no corresponding constraint for Equation 3.28. That is
because of the fact that a closed tour is not compulsory. Equation 3.29 corresponds
to flow conservation constraints (Equation 3.9). Equation 3.30 can easily be transformed to corresponding range equation (Equation 3.10) by replacing cj3 by Li-j. As
103
explained earlier in the formulation presented the tour elimination constraints, which
correspond to subtour elimination constraint, are handled by taking into account the
specifics of the problem structure (Equations 3.11-3.16).
To mark the similarity between the suggested formulation and the STSP formulation, it can be said that two formulations are similar except for Equations 3.28
and Equation 3.31. The tour elimination constraint is dealt with a different, more
detailed approach also to take into account specific allowed maneuvers.
3.6
Conclusion
In this chapter a network approach based MIP formulation to the adaptive sampling
problem has been discussed and some results have been presented. Then the results
have been examined. The STSP problem is known to be NP-hard [48]. The problem
studied has the extra complexity of not containing a loop compared to the STSP
problem. Intuitively speaking, the loop constraint adds a sense of direction for the
terminal point to be visited and makes the overall problem simpler compared to the
case where the path is an open loop as in our case. Therefore claiming the NPhardness of our problem will be a proper comment to make. Common with any
NP-hard problem the solution times will increase exponentially with the increase in
problem size, such as the number of nodes number of vehicles or the vehicle range.
There are different methods to deal with large size MIP problems. To get approximate
solutions in remarkably reduced times, heuristical approaches are av good candidate
to consider. Also there exist parallel MIP solution strategies and solvers that exploit
the power of multiple processors [89], [62]. There also exists a parallel version of the
optimization software from Dash Optimization, and for performance enhancement
purposes it might be utilized in future work [11].
The purpose of this initial work
though, was to come up with a valid formulation. Improving the solution time is out
of the scope of this initial phase of the work and remains as a subject for future work
in this area. It can be said that, on the positive side of the suggested formulation
104
lies the link to the generalized STSP formulation, which might provide an advantage
for future heuristical studies. Some work has been done on heuristics for STSP and
the previous work might lay a foundation for the problem studied. Also when the
formulation of the cost matrix is recalled, it makes it possible to specify asymmetric
costs between two nodes. In the case of increased fuel consumption due to moving
against a strong current, this feature might be very handy to model the unevenness
in the fuel consumption due to dependence on movement direction. An extension of
the problem emerges when the ship-AUV interaction is taken under consideration.
In that case the AUV needs to stay in the coverage zone of the ship in order for the
communication between them not to fail. This case can also easily be handled by
adding some constraints that will restrict the allowable motion region for the AUV.
Another variation is the existence of obstacles in the region. This case can either be
handled as setting the cost terms that correspond to an obstacle region to "0" or/and
setting the flows in the obstacle region to "0". On the downside, the modeling of the
diagonal flows has its issues as explained. Also due to the nature of the formulation all
possible flows in the network must be created regardless of whether they will be a part
of the solution or not. This increases the number of decision variables remarkably,
leading to a high memory requirement, and increased solution time. Also in order to
run the optimization, preprocessing is required to build the matrices to be fed into
the solver. Initialization of these matrices requires knowledge of the starting point of
the vehicle and the assigned range. This poses a particular problem when the timeprogressive case is considered. In the time-progressive case the optimization must be
performed over consecutive days. The terminal point of the vehicle at a specific day
becomes the starting point for the same vehicle at the following day. If optimal tracks
are sought over two consecutive days, given the fact that initially only the starting
points of the vehicles for the first day are known, the matrices to model the vehicles
movements on the second day cannot be formed. This shortcoming of the method
renders it infeasible for the time-progressive case. The above shortcomings of the
formulation suggested in this chapter laid down the motivation to investigate a new
method to approach the problem. The second method developed is the subject of the
105
following chapter.
106
Chapter 4
New MIP Based Solution
Approach
As discussed in the concluding remarks of the previous chapter, the network-based
MIP approach had some shortcomings regarding to handling the time-progressive
case. The motivation FOR coming up with a method that is powerful enough to deal
with the time-progressive case built the foundation of the ideas to be presented in
this chapter. Although there is a lot of previous work done in path planning area
using a variety of different techniques such as generic algorithms and randomized
algorithms, [23], [74], [38], [87], [88], these works generally aim at path planning on
a map trying to achieve obstacle collision and time/fuel minimization. Some work
can be found in the robotics literature on optimal path planning where dynamics
of the system are taken into account to optimize a given cost criteria such as power
consumption or time. The main discrepancy between these works and the one we have
studied lies in the difference in objective functions. In our case, given an uncertainty
field, the objective is to maximize the line integral of uncertainty values along the
chosen path. The motion is also constrained by inter-vehicle coordination issues
and some predefined constraint on the geometry of the path aimed to straighten the
path and avoid curling. With regards to the similarity of the objective function,
most similar problem is Selective raveling Salesman Problem (STSP). Although it
arouse from a different perspective the approach taken in the previous chapter was
107
shown to formulation-wise converge partly to the STSP. A rather new approach to
path planning for Unmanned Autonomous Vehicles (UAVs) was reported in [86],
[83]. From mathematical, implementation and solution point of views the objective
functions that are considered in these articles are much simpler than the we one deal
with. But the overall problem formulation presents a very good insight to the use
of MIP in path planning. The skeleton of the problem formulation to be presented
in this chapter will be based on the framework introduced in [86], [83]. As will be
discussed later in detail the objective function we have is particularly difficult to
model and a novel technique will be used to represent the objective function. Finally
the whole discussion on single day formulation will be extended to multiple day (timeprogressive) case.
4.1
Basics of the Formulation
As can be remembered in the previous approach, the framework of the formulation
was to first weave the whole grid with binary flow variables and with the addition
of some constraints, and then let the optimizer solve which flow variables will be set
to a value of 1 (representing the fact that it will be in the optimal solution) and
which will be set to a value of 0. The new framework treats the path generation
problem radically differently than the first one. Rather than setting all moves that
are possible to be made by the vehicle a priori, the path length is divided into N - 1
segments by using N points. Then by introducing the proper constraints for motion
and the desired objective function, the optimizer is expected to solve for the x and
y coordinates for each point in the path. When consecutively numbered points are
connected, the path is constructed. Unlike the first approach the variables that form
the path are not binary variables. They can take either real or integer values. The
lower and the upper limit on them are determined by the coordinates of the terrain
under consideration. This line of thought is depicted in Fig 4-1. The starting point
of motion which is supplied as the initial condition to the system has been shown by
a white dot. The black dot denotes the terminal point, and the grey dots show the
108
intermediate points.
Figure 4-1: Path construction by segmentation
4.2
Objective Function
In a 2D scenario for a single vehicle, the objective function can be written as:
N
P(x(i), y(i))
max
(4.1)
i= 1
where P stands for the 2D array that represents the uncertainty field and x(i)
and y(i) represent the x and y coordinate values of the i"' point on the path. In
the single-vehicle case x and y are vectors of length N. x 1 and yi correspond to
the starting point coordinates and are input to the system. The rest of the x and y
vectors are unknowns.
Had it been possible to feed the objective function to an optimization solver in
the exact way it has been written above, the formulation of the objective function
would be an easy task. Unfortunately, it is not possible to specify a variable as the
index of an array in any optimization solver available. The variables can be used to
build Co or C' functions, but can not be used as indices to match a tabulated data.
109
Therefore, an alternative way of representation is needed. There exist different ways
of doing it and they are discussed below.
1. Field Representation by Curve Fitting
A linear objective function of the form ax+b is acceptable by optimization
solvers.
Hence the easiest way could be the use of a linear objective func-
tion. This requires to fit a linear curve into the given uncertainty field. For a
2D uncertainty field the fitted curve will be a plane. The objective function
which is the summation of N planes will be concave [333. This will supply us
with a concave linear objective function which eases the solution process. Unfortunately the linear representation in inadequate for representing peaks and
valleys in an uncertainty field such the one presented in Fig 4-1.
Another common type of objective function for which there exists special algorithms is the quadratic objective function. It is possible to approximate peaks
and valleys using a quadratic curve fit. But the problem is by using a quadratic
curve fit only one peak or valley can be modeled. This crates a problem since
there exists multiple such features in the fields we need to work with.
Another alternative is to use a nonlinear curve fit. This brings the cost of
making the formulation a nonlinear mixed integer problem (NMIP) (mixed integer component will be explained in the coming sections). NMIP solvers are
remarkably slower than MIP solvers and this approach has the risk of raising
the solution time beyond what is acceptable. Also NMIP solvers are not as
strong as MIP ones, hence as the complexity of the fields and the problem size
increase, they might fail to ever return a solution. Another problem is the quality of the match. We tried to fit a nonlinear curve to the field shown in Fig 4-1
by using a commercial software that comes with a large library of regression
models. The best fit achieved 75% overall accuracy (though locally it went
up to > 90% accuracy).
Such weakness in field approximation might create
110
problems depending on the complexity of the field and the starting point of the
vehicles.
2. Field Representation by Piecewise Curve Fitting
Given the inadequacies of the types of curve fitting in the previous section, a
promising idea is the use of piecewise function to represent a complicated field.
Use of piecewise functions enables us to focus on a part of the whole field at
a time and makes it possible to formulate complicated fields with good accuracy.
Considering the fact that we will have peaks and valleys in the kind of fields we
will be dealing with it makes sense to use piecewise quadratic functions. Also
another option which might be even more powerful is to use piecewise nonlinear
functions. To fit a number of quadratic or nonlinear functions to a given field
is not very straightforward task and needs extra effort to implement. Also as
mentioned before, performance issues arise when it comes to solve for quadratic
or nonlinear objective functions.
A seemingly simpler but strikingly powerful approach is to use piecewise liner
functions. Triangulation is one common method used to fit curves on a 3D
surface. This method generates piecewise planes by using the height information from 3 neighbor nodes. Meshing a 3 field this way gives smoothness to the
representation.
Although the piecewise representations mentioned above generate field formulations that are in suitable format to use with optimization solvers, they all
require some amount of preprocessing.
3. Field Representation by Approximation Using Special Ordered Sets
As long as the relation of variables in a set are concerned, two very important
modeling restrictions on the variables arise in mathematical programming for
111
which the concept of special ordered set of type 1 (SOS1) and special ordered
set of type 2 (SOS2) have been developed [92]. This concept is first introduced
by Beale and Tomlin [24].
An SOS1 is a set of continuous or integer variables among which only a single
variable must be non-zero.
An SOS2 is a set of continuous or integer variables among which only two
variables can be non-zero. Also the two nonzero variables must be adjacent
in the ordering assigned to the set. Using SOS2 functionality it is possible to
approximate a non-convex, non-concave 2D nonlinear function.
Let Uij denote a 2D array that corresponds to the values of a grid. The grid
need not be equidistant. The function z
=
f(x, y) can be approximated by the
following equations:
DXi lxi
is sos2
(4.2)
DY - lyj
is sos2
(4.3)
where lx is an array that corresponds to weight along x coordinate at integer
points and similarly ly is an array that corresponds to weight along y coordinate
integer points. DX is an array that serves to define the range of x coordinates
of the given Uip Similarly, DY is an array that serves to define the range of y
coordinates of the given Us,. ixy stands for the weight at a specific coordinate.
lx, ly and ixy are all unknown variables in the formulation. As will be clear in
the next paragraphs they are dependent on the targeted x, y values and will be
determined accordingly. They act more like auxiliary variables. The elements
of DX and DY are integer coordinate values. They are used to weave the grid
region under consideration. To exemplify, for the field presented in Fig 4-2, DX
112
will have the values of 1, 2... 10 whereas DY will have the values 1, 2.. .6. The
first SOS2 condition states that the multiplication of lx with DX will create
a set of numbers that complies with SOS2 condition. That is to say, at most
two elements in the set could be non-zero and they must be adjacent. If we are
trying to calculate f(3.5, 5.5), this condition tells us that, in the set resulting
from the multiplication mentioned above, only the elements corresponding to
x = 3 and x = 4 should turn out to be non-zero. Similar argument is true for the
y coordinate. As a result, at most 4 elements in both direction might come out
to be non-zero and the values of Uy corresponding to these four coordinates
will be used to approximate the value of f(x, y) at a non-integer coordinate.
This concept is shown in Fig 4-2.
6
-+++++++++I I I I I I I I I
1 2 3 4
5 6
I
7 S 9 10
Figure 4-2: Representation of value at any coordinate as a convex combination of the
values of four neighboring grid points.
Eaoxyij = axi
Vi
(4.4)
1XYij = lyj
Vi
(4-5)
Equations 4.4 and 4.5 establish the conservation of weight along each row and
113
column.
lxi = 1
(4.6)
Zly = 1
(4.7)
j
Equations 4.6 and 4.7 enforces convexity. For a non-integer coordinate, this
condition guarantees that the corresponding z value will be a convex combination of that of two or four neighboring integer coordinates.
Then x, y and
f
can be calculated using
x=
DXi -lxi
(4.8)
DY - lyj
(4.9)
i
y=
j
f=
E
iij
U'13 lxyZ3
(4.10)
There is some amount of degeneracy in this way of representing a nonlinear
field, but for our purposes, the accuracy provided by this method leads to very
good results. This method also requires minimum setup effort.
It must be noted that the equations above provide a framework to overcome the
modeling difficulty mentioned before and creates a suitable formulation that the
optimizer will accept. Equations 4.4-4.10 act like a part of the constraint set.
They are not part of the objective function. They prepare an infrastructure to
generate the nonlinear function
f
(which is a function of x and y) presented
by Equation 4.10 that will be used in creating the objective function. In conjunction with the other constraints added, the optimal values of x and y and
114
resulting value of function
f will be fixed
to satisfy the given objective function.
The above discussion lays the foundation for representing the nonlinear field and
the above formulation is good for finding the value at a single (x, y) coordinate. In our
formulation however, the path is segmented by N points and the above formulation
should be carried out at each path point. Also in the case of multi-vehicles, every
path point belonging to each vehicle must be taken into consideration. The above
formulation can easily be extended to multi-vehicle, multi-coordinate case by adding
additional indices to the notation introduced above. The new formulation becomes:
DXi - lXpki
is sos2
Vp E [1,...,P] and Vk E [1,...,N]
(4.11)
DY - l ypkj
is sos2
Vp E [1, ..., P] and Vk E [1, ...,N]
(4.12)
Vi, Vp E [1, ..., P] and Vk E [1,...,N]
(4.13)
Vj,Vp E [1, ..., P] and Vk E [1, ..., N,]
(4.14)
lXYpki = lXpki
Z XYpkij
lYpkj
lXpki = 1
Vp E [1, ..., P] and Vk E [1, ...,N]
(4.15)
lYpkj = 1
Vp E [1,...,P) and Vk E [1,...,N]
(4.16)
DXi -lxpki
xpk =
ypk=
=
EDY - lykJ
Vp E [1, ..., P] and Vk E [1, ...,N]
(4.17)
Vp E [1,..., P] and VkE[1, ..., N,]
(4.18)
i
fpk =ZZ Uijlxypki
iij
Vpe [1, ...,P] and Vk E [1, ... , Np]
115
(4.19)
where P is the total number of vehicles in the fleet and Np is the total number of
path-points belonging to pth vehicle. In all of the above equations, subscripts p and
k stand to denote the kth path-point of pth vehicle. The objective is to maximize the
summation of line integrals of the uncertainty values along the path of each vehicle
in the fleet. Given the above formulation for the field, the objective function can be
written as:
P
Np
max Z 1
fpk
(4.20)
p=1 k=1
The above provides us with an objective function in a valid format. In the next
section the constraints that shape the motion of the vehicles will be discussed.
4.3
Motion Constraints
In order to get the vehicles to move in a desired manner, some constraints that shape
the vehicle navigation are needed and they will be the subject of this section.
4.3.1
Primary Motion Constraints
When the vehicle is at a particular path-point except the terminal path-point, it
needs to move to the next path-point on its path. For that reason reason we need a
constraint that will thrust the vehicle to the next path-point. Referring to Figure 4-3,
if the vehicle is at the blue point numbered as 1, it needs to move one of the 8 adjacent
points shown in green.
Explained motion can be achieved by the following set of constraints:
Vp E [1, ... , P], and Vi E [2, ..., Np]:
Xp, = Xp(i-1) + bpil - bpi2
116
(4.21)
il
K
Ir
A
k
Figure 4-3: Allowable set of path-points by taking into account the spatial constraints
between the candidate point and the point that precedes it by one. Blue dots represent
current path-points in the path, green ones show the allowable path-point locations
and the red ones show the unallowable path-point locations for the path-points under
consideration.
(4.22)
bpzi + bpz2 5 1
Ypi = Yp(i-1) + bpi3
(4.23)
-bpi4
(4.24)
bp13 + bp 4 < 1
Vp E [1, ... , P], and Vi E [2, ... , Np] :
bpzi + bpz2 + bpz3 + bp 4 ; 1
Vi E [2, ... ,Np,,and
(4.25)
Vj E[1, ... ,4] :
bpij E 0, 1
(4.26)
The bpi,, bpi2 , bpi3 and bpj4 in Equations 4.21-4.26 are auxiliary binary variables
needed to model the propulsive motion constraint.
117
Equation 4.21 states that the
x-coordinate of a next path-point along a path should be determined from the xcoordinate value of the path-point preceding it with the proper settings of bpi, and
bp 2 . If bpi is set to 1 and bpi2 is set to 0 then the x-coordinate of the next path-point
will be one unit greater than that of the current one. If bpi is set to 0 and b7, 2 is set
to 1, this means the x-coordinate of the next path-point will be one unit less than
that of the current one. If they are both set to zero it means that the x-coordinate
should not change, which is an allowable possibility. Another scenario that will keep
the x-coordinate fixed is when both bpi, and bpi2 are set to 1. This is a degenerate
case and it must be avoided. To ensure both bpi, and bpi2 will not be set to 1 at the
same time Equation 4.22 is introduced. A similar argument along the same lines
also follows for the y-coordinate as presented by Equations 4.23 and 4.24. Another
case that needs to be considered is when the vehicle gets stuck at the same x and
y coordinates without any motion in neither x nor y coordinate. To eliminate such
behavior Equation 4.25 is included, which ensures that at least one of the bi,, bpj2 , bpi 3
and bpi4 will be nonzero to mobilize the vehicle.
4.3.2
Anti-Curling/Winding Constraints
As mentioned in the previous chapter, when a point in the map is visited and measurements are made, not only the uncertainty value at the particular point but also
the uncertainty value at the neighboring points are decreased. Therefore there exists
an area of influence for a measurement. If the vehicle curls around the same area
too much, it will be visiting points whose uncertainty values are already decreased by
previous measurements. This results in inefficient consumption of range and might
leave important regions of interest unvisited. Therefore some measures must be taken
to avoid excess curling. To flatten the vehicle paths we introduce a method which
relates the coordinate of a path-point gradually to the coordinates of the path-point
preceding it by two path-points, to the coordinates of the path-point preceding it by
three path-points, and so on up to the desired point depending on given range value.
Some of the parameters in this approach are flatness design parameters and can be adjusted to change the straightness of the path providing some flexibility to the designer.
118
The first set of constraints that will be imposed to straighten the path, involves
the relative location of the x and y coordinates of a path-point with respect to the x
and y coordinates of the path-point that precedes it by two. These constraints can
be described as follows:
Vp E [1, ..., P] and Vi E [3, ..., Np:
|Xi - Xp(i- 2 )I
Equation
Ai
OR |ypi - Yp(i-2)1 > Al
(4.27)
4.27 states that either the distance between x coordinate of a path-
point and that of the path-point that precedes it by two or the distance between y
coordinates of same path-points must be at least A, units. In this formulation A,
is a design parameter and can be adjusted to create the desired path straightness as
described before. A good choice of A 1 for the kind of field sizes and ranges we deal
with is 2. Figure 4-4 depicts some allowable move scenarios. Blue dots numbered as
1 and 2 are the two preceding path-points. The red dots show unallowed moves. The
green dots show the allowable locations for the next path-points. These choices of
allowable path-points are generated by aggregately taking into account the previous
propulsive constraints. The restriction arising from the superposition of propulsive
constraints renders some points that actually look feasible when only Equation 4.27
is considered to be infeasible.
But Equation 4.27 is a nonlinear constraint and must be transformed into a linear
one in order to be used in a Mixed Integer Linear Program(MILP). This transformation will be done in two steps. First, the absolute value constraint can be eliminated
by the following transformation:
Vp E [1, ..., P] and Vi E [3, ..., N]:
119
12
2
111
__I
M1
4____
_____
V___
Figure 4-4: Allowable set of path-points by taking into account the spatial anti-curling
constraints between the candidate point and the point that precedes it by two. Blue
dots represent current path-points in the path, green ones show the allowable pathpoint locations and the red ones show the unallowable path-point locations for the
path-points under consideration.
Xpi
-
Xp(i-2) >
A1
Xpi >
A1
or
Xp(i-
or
Ypi -
Yp(i-2) >
A1
or
Yp(i-2) - Ypi >
Al
2) -
(4.28)
Equation 4.28 is a disjunctive constraint and is not a suitable kind of constraint
for MILP formulation. Constraints in a MILP formulation must be conjunctive. But
it is possible to transform a disjunctive constraint into a conjunctive one by using
auxiliary binary variables and "Big-M" constants. Such transformation yields:
Vp E [1, ..., P] and Vi E [3,..., Np] :
Xpi -
and
Xp(i--2)
xp(i- 2 ) -
Xpi
120
A1
-
M
A1
-
M * t1pi2
* t1pil
and
Ypi - Yp(i-2)
Al - M * t1p3
and
Yp(i-2) - Ypi
A1 - M * tlpi4
(4.29)
4
t1,i, < 3
and
(4.30)
w=1
tlpiw E 0, 1
Vw E
,7
4]
[1, ...
(4.31)
In the above formulation M is a number safely bigger than any of the numbers
that may appear on any side of the inequalities. In any of the inequalities presented
in Equation 4.28, if t1pi, is equal to 0 then the right-hand-side of the inequalities
simplify to a single A, term. This will give us an inequality that will contribute to
the constraint set to narrow down the feasible region. Whereas if tl,,, is 1 the righthand-side of the inequalities boils down a very big negative number, namely A1 - M.
Since this negative number should be less then any value the left-hand-side of the
inequality could possibly take, the inequality will not supply any useful information
and turn out to be redundant. Therefore, in order to ensure that that at least one
the inequalities will contribute to the constraint set, at least one of the t1Pjw must be
zero. Equation 4.30 guarantees that condition.
As a variation of the same theme, the second set of constraints that will be imposed
to straighten the path involves the relative location of the x and y coordinates of a
path-point with respect to the x and y coordinates of the path-point that precedes it
by two. These constraints can be written as follows:
Vp E [1, ..., P] and Vi E [4, ..., N] :
IXpi - Xp(i- 3 )I
A 2 OR Jypi - Yp(i-3)I > A 2
(4.32)
A good choice for A 2 is 2.5. Figure 4-5 shows some allowable move scenarios. As
before, the constraint presented by Equation 4.32 combines with the other motion
constraints introduced before and the allowable moves presented in Figure 4-5 are
121
a result of the collective restrictions on the navigation of the vehicle.
Blue dots
numbered as 1, 2 and 3 are the three preceding path-points. Same as before, the red
dots show unallowed moves. The green dots show the allowable locations for the next
path-points.
1
3
1
2
2
Figure 4-5: Allowable set of path-points by taking into account the spatial anti-curling
constraints between the candidate point and the point that precedes it by three. Blue
dots represent current path-points in the path, green ones show the allowable pathpoint locations and the red ones show the unallowable path-point locations for the
path-points under consideration.
After similar transformations as elaborated before, Equation 4.32 can be written
as mixed integer/linear constraints
Vp E [1, ..., P] and Vi E [4, ..., N]:
Xri -
Xp(i- 3 )
A1
-
M
Xpii
A,
-
M * t2pi
* t2,a
and
xp(i- 3 ) -
and
ypi - Yp(i-3)
A1 - M * t2,i 3
and
Yp(i-3)
A,
-
Ypi
-
M * t2pi4
(4.33)
4
and
E t2pi
W=1
122
<3
(4.34)
t2pi E 0,1
Vw E [1, ..., 4)
(4.35)
This approach can be extended to include the relation between more path-points
in a row to avoid curling depending on the range of the vehicle and the features of a
given field. For our purposes the inequalities described above were good enough to
create the desired effect.
4.3.3
Vicinity Constraints for Multi-vehicle Case
In the case in which there exist multiple vehicles navigating to different regions of
the mission zone, first and foremost collisions between vehicles must be avoided. In
addition to avoidance, stemming from the same root as in the case of curling problem
it is disadvantageous for two vehicles to navigate too close to each other, even if they
do not run the risk of colliding. This means a particular area might be over-sampled
and measurements by one or some of the assets might not contribute to improve the
quality of the forecast as desired, if not at all. Also in the case of multiple peaks and
available vehicles starting their motion close to the stronger peak, the vicinity constraints might help the vehicles get separated, pushed away from each other. This, as
a result, might lead to the visiting of some weaker peaks, which would not be visited
otherwise.
To achieve this, for every pair of vehicles p and q, every pair of path-points must
be a safe distance apart from each other. Let the safety distances in x and y directions
be denoted by Axsaety and Aysafety respectively. The vicinity constraints then can
be constructed as follows:
Vp,
E [1, ... PA:OVpIqpp->
VijAEs[1, ...
!
JXpi-Xj 2Axsafety
j;
OR Jyp -- yqgj
123
(N4.3
Aysafety
(4.36)
Considering the planar motion case for simplicity of exposition, for two vehicles
and for a predefined safety distance of 2 grid units in both x and y directions, allowable paths for both vehicles are illustrated in Figure 4-6. Orange dots represent the
path of first vehicle, blue dots represent the path of second vehicle.
I
_A
-
Figure 4-6: Paths of two vehicles in the presence of vicinity constraints with a vertical
and horizontal safety distances of two grid units
Utilizing the transformations to handle the absolute value and the conjunctive
constraints as elucidated in previous subsection, it is possible to expand Equation 4.36
to:
ViJ E [1, ... , Np]:
,7
P] : Vp, ql p > q ;
Vp, q E [1, ...
and
Xpi
-
Xqj > AXsafety
xqj
-
Xpi
Alsafety
-
M * vlpqijl
-
M * Vlpqjj2
and
Ypi - Yqj
Ayfajety - M * vlqij3
and
Yqj
AYsafety - M * vlpqij4
(4.37)
and
(4.38)
-
Ypi
124
Vlpqt
W=1
< 3
Vlpqijw E 0, 1
VW E [1, ..., 4
(4.39)
Again Axsafety and Aysafety are design parameters and can be varied depending
on the field features, number of vehicles and vehicle range. At the moment we do not
have a procedural way of setting the value of safety distances, the task remains as a
future goal towards the fully automation of the adaptive path planning process.
Equations 4.38-4.39 cover all the path-point combinations between any two given
vehicle pair. Depending on the initial locations of the vehicles imposing all of the
constraints might not be necessary. To exemplify, if two given vehicles are initially
set apart by a distance of 15 grid units, even if they head right towards each other,
vehicles should not come into 2 grid point vicinity of each other, it is redundant to
impose the constraint between the first six path-points since physically it is impossible
them to violate the vicinity constraint. Therefore, imposing the vicinity constraints
as a function of the initial inter-vehicle distance might cut down the problem size and
the solution time.
4.3.4
Coordination Issues Related to Communication with
AUV
Although the AUV's in an adaptive sampling network are autonomous in their navigation, they need to maintain a communication link either with a shore station, buoy
[40] or a ship in order to transmit collected data. Communication with the shore
stations are generally maintained over radio signals. For this mode of communication
the AUV must come to the surface to transmit data. Generally the AUV must be
within at most 10 -15km vicinity of the shore station for a successful communication
link to be established. Data downloading by direct connection to the AUV is also
employed. Communication with the ship can be over radio signals, acoustically, or
via direct connection to the AUV by a cable. Communication through radio signals is
125
similar to the communication with a shore station and the AUVs are required within
at most 10 - 15km vicinity of the ship. Communication via an acoustical modem is
still a very new technology, although recently there were some advances in the field
and off-the-shelf commercial products do exist [12]. Best results are obtained when
the ship shadows the AUVs in the fleet by sailing above the AUVs. As a horizontal offset is introduced the communication quality begins to suffer. For high quality
data transmission the maximum horizontal offset is limited by 2 - 3km. There exists
hardware that supports a maximum horizontal distance of 10km but is bulky to be
used with an AUV and very expensive. In both cases the AUVs must be in some
vicinity of the ship that shadows them. The most common method of data transmission between the ship and AUV in use is direct connection. The communication with
buoys comes into play in the context of an Autonomous Ocean Sampling Network
(A OSN) [40], [13], [14], [15]. AOSN is a concept that is still under development and
it aims the realization of a completely autonomous network in charge of collecting
data from the ocean. The network consist of AUVs, buoys, shore stations, acoustic
modems, satellite and radio links and other potential autonomous vehicles. In a simplified scenario, the shore station makes the mission plan and sends it to the buoys
via a radio link. Buoys establish an acoustical communication link with AUVS and
upload the individual path plans to the AUVs. The AUVs navigate in accordance to
the uploaded plan and make necessary measurements. When the mission is over the
collected data is transmitted to one of the buoys from which data is sent to the shore
station using the wireless connection. Also, buoys not only act as an intermediate
data logger but also as docking stations where AUVs can be recharged and continue
their mission without being needed to be carried to the shore or to a ship. Figure 4-7
illustrates an AOSN. There have been two large scale projects on AOSN.
Ranges of AUVs vary between 15-60km [16]. Given the current state of adaptive
sampling, as long as the charging of AUVs are concerned, we can probe in to this
issue on the basis of mission length. If we consider a single day mission, at the end of
the day the AUV must either return to the ship or shore station or park at the suface
in some proximity of the ship or the shore station, send a signal, and must be picked
126
Radio Modem
Figure 4-7: Illustration of an "Autonomous Oceanographic Sampling Network".
up by a boat. If we consider a multi-day mission there are two possibilities. First,
given the rather short ranges of AUVs, they might need to be charged at the end of
each day. Or if the range capability allows the operation of AUV for consecutive days
without the need to be recharged, the AUV might sleep at the sea when its motion
for a specific day is over till the next day. This way it needs to return to the ship or
the shore station at the end of the mission only.
Currently there is no AOSN physically implemented in the sense that it is completely autonomous. Although there have been two large scale projects on the implementation of the idea to some degree of autonomy [13], [14], [15]. But when the
ultimate goal of complete autonomy is achieved, different from the cases we elaborated above, the AUV docks with a buoy in the ocean and gets recharged there,
without the need of being picked up by a ship or returning to a shore station.
Depending on communication and docking needs, as long as the adaptive sampling problem is concerned there are three different main scenarios that need to be
considered:
1. Coordination with a Ship Nature of adaptive sampling problem requires
that it is best to have a ship to move with the AUV fleet. In that case AUV
can communicate with the ship for data transmission. Inclusion of a ship in the
127
adaptive network enables to visit locations far from the shore stations and perform broad-areacoverage problems [46]. The ship AUV coordination issue adds
another dimension to the problem. The ship and the AUVs in the fleet that are
linked to the ship must navigate in harmony to finish the mission successfully.
Also when the mode of communication is brought into consideration, there
emerge two cases to consider. The first one is communication via acoustical
means, second is radio communication or direct link. The acoustical case is the
more sophisticated one and we will commence the discussion by focusing on it
first. Also in all of the following discussion we consider a single day long mission.
As mentioned before, for an acoustic link to work, during the mission the AUV
must stay in the vicinity of the ship. In addition to that when its charge is
consumed it must either return to the ship or park at a surface location that is
close enough to be picked up by a boat dispatched from the ship. To impose
this characteristic to the AUV motion we need to add some extra constraints.
As the previous sentence suggests there is flexibility as far as deciding the terminal path-point coordinate is concerned. It can either be specified to be the
coordinate of the ship, or stay in the same vicinity of the vehicle as the rest of
the path-points, or it can be dictated that although it does not need to be same
as the ship coordinates (meaning return to the ship) it should be closer to the
ship than the rest of the path-points. Also in order to synchronize the motion
of the ship and the AUV fleet the path of the ship must be known. Once the
ship path is known it must be segmented into as many path-points as AUV the
has because there exists a time domain dependence between identically indexed
ship and AUV path points. To elucidate, the n'h path-point of the ship must
correspond to the location of the ship at the time when AUV visits the nth
path-point on its path. An AUV moves at a speed of 1 - 3 knots and a ship
might move 1 - 10 knots. Therefore sometimes as a part of the overall mission
plan the ship might need to slow down to escort the AUV. If all AUVs in the
fleet have same number of path-points, a single segmentation is enough, if they
128
do not then the ship path segmentation must be performed for every AUV. Assuming the terminal path-point of the AUV must stay within the same distance
to the ship as the other path-points, this idea can be put into MIP formulation
as follows:
Vp E [1, ..., P] Vi E (1, ..., Np]:
Jxj - ship.xi|15 AX,i,ic nty
AND
jypi - shipypi|15 AYshipvicinity (4.40)
where ship.xpi and shipypi stand for x and y coordinates of the ith path-point
of the ship path segmentation for pIh vehicle. AXshipvicinity and AYshipvicinity
are the constants that are used to define region of vicinity for a ship. The
region of coverage can be thought of as a circle centered at the coordinate of
the ship. Equation 1 approximates this circular region by a square for the sake
of simplicity of formulation. This is shown in Figure 4-8. Another alternative,
more complex way of defining this region is to approximate a circle by the
biggest polygon that will fit inside the circle and write down the equations of
lines that construct the polygon with q edges as a function of coordinates of the
ith path-point of pth vehicle. This is approach is portrayed in Figure 4-9 where
the circle is approximated by a hexagon. The constraint set is formed by adding
either apiqx + bpiqy 5 cpiq or aiqx + bpiqy ;> cpi, depending on the equation in
consideration, to impose the confinement of the (x, y) point inside the hexagon.
As explained in depth in previous chapters Equation 1 can be transformed into:
Vp E [1, ...
,7
PI Vi E [1, ... , N,] :
129
/
N
/
/
/
Figure 4-8: Approximation of a circle by a square.
4
Finp
x
Pil~
-
Figure 4-9: Approximation of a circle by a hexagon.
130
P -
and
ship...z,,
Axshipvicinity + M *
sixpii
ship..xpi - xpi 5 AXahip.vicinity + M * s1xi
and
ypz - ship-ypi 5 Ayhip..vicinity + M * sly,i
and
ship.ypi - yp2
AYshipvicinity
2
+ M * s1ypi2
(4.41)
2
and
E s1x,,
1
(4.42)
1
(4.43)
w=1
2
and
E slypi,
w=1
slxpi., slypi, E 0, 1
(4.44)
Vw E [1, 2]
Another issue that arises in ship AUV coordination is the collision avoidance
between the AUVs and the ship. This condition can be met by introducing a
minimum safety distance between the ship and the AUVs that must be observed
during the course of the sampling. Extending the previous idea, this condition
can be formulated as follows:
Vp E (1, ...
,7
PI Vi E [1, ...
,N,]:
Ixpi
- shipxpil '2 AXshipafety
OR jyi - ship-yil >
The above equation can be transformed into:
Vp E [1, ...
,7
P] Vi E [1, ...
,N,]:
131
1yUhipsafety
(4.45)
xpi - ship..xpi
AXshipsafety - M * s2pni
and
shipxpi - xpi
LXshipsafety A
M*
and
ypi - ship-ypij
AYship_-afety
-
M
* s 2 pi3
and
ship-ypi - ypi
AYship.safety -
M
*s2P
s2pi2
(4.46)
4
and
E s2pi. < 3
(4.47)
w=1
s2piw E 0, 1
Vw E [1, ..., 4]
(4.48)
To handle the cases where the terminal path must be in a tighter vicinity of the
vehicle or the AUV must return to the ship, the constraints that account for
terminal path-point must be specially treated. If an AUV is to return to the
ship we can have the extra constraint:
xpNP
= ship-xpN,
ypN, = ship-ypNp
Vp E [1, ..., PJ
Vp E [1, ... , PI
(4.49)
Or if the terminal path-point needs to lie in a tighter vicinity than the other
path-points for the ease of picking up, then we need to add the constraints:
Vp E [1, ..., P] :
xpNP -
and
ship-xpNp
ship-xpNp
-
xpNP
AXhip...vicinity..TP
+ M
AxshipvicinityTP + M
132
*
s1xTPpNpl
* s1xTPpNy2
and
ypN
and
ship-ypNp
~
shipp-ypN
-
ypN,
AYhip-vicinityTP
+ M * slyTPpNyl
+ M
2
(4-50)
1: s1xTPpNp. = 1
(4.51)
AYship-vicinity-TP
* slyTPpN
2
and
w=1
2
and
s1yTPpNyW = 1
E
(4.52)
w=1
s1xTPpNpw, slyTPpNpw E 0, 1
Vw E [1, ..., 2]
(4.53)
where AX9hip.vicinity_Tp and AYshipvicinityTP stand for the tighter bounds on
the vicinity of terminal path-points to the ship.
If the preferred way of communication is opted to be wireless communication
(radio), then only the Equations 1-1 need to apply.
If direct connection is the selected communication then only Equation 1 needs
to be applied.
2. Communication with a Shore Station In the case of shore station the end
path-point of the vehicles need to either lie in a vicinity of the station location
or they must match with the coordinates of the shore station if they are required
to return to it. If the vehicles need to lie in a proximity of the shore station to
be picked up by a boat, we need to introduce the constraints:
Vp E [1, ..., P] :
XpNp -
shorex
dshore-vicinity
A
133
+ M * s3xpi
and
shore.x -
and
ypN, - shore-y
and
shore..y -
xpN,
lAshore-vicinity
+ M * s3xp2
Yshore-vicinity
+ M * s3ypi
AYshore-vicinity + M * s3yp2
ypN,
(4.54)
2
and
E s3x. < 1
(4.55)
v=1
2
and
s3xpw, s3ypw E 0, 1
Vw E
1 s3ypw < 1
W=1
[1, ...
,2]7
(4.56)
(4.57)
where, shorex and shore-y stand for the x and y coordinates of the shore
station.
Or, if the vehicle needs to return to the shore station we need to
impose:
xpNP
= sho e..x
ypN,=shore-y
Vp E [1, .. ,P]
VpE[1,...,P]
(4.58)
3. Communication with an AOSN As mentioned before the AOSN is still in
the conceptualization phase and there is not a physical implementation of a
truly autonomous AOSN yet. The complete specifications of an AOSN is not
clear as to offer a complete detailed formulation for path planning. But we can
still offer a formulation hinging around an extended functionality of buoys as
docking stations in addition to being a node in the communication network. If
we consider a single day mission, we can introduce the condition that the AUV
must return to the closest buoy at the end of the day and if we assume we have
134
M buoys whose coordinates are represented by the arrays buoy-Xh and buoy-Yh,
we can write:
Vp E [1,,
P} :
M
XpNp
buoyxh * bvph
=E
h=1
M
buoy-yh
YpNp =
*
bvph
h=1
(4.59)
Ebvph = 1
Vp E [1, ... , P]
(4.60)
h=1
bvph
E0,71
Vh E
,MI
7
(1, ...
(4.61)
Variables bvph are auxiliary variables that help to choose one of the buoy coordinates as the end point coordinate of AUVs. Equation 3 guarantees that only
one buoy coordinate will be assigned to a specific AUV. Also depending on the
docking capabilities of an buoy we can impose the constraint that at most one
AUV can park at a given buoy. This can be formulated as:
N
E boph
Vh E [1, ..., M]
<;1
P=1
135
(4.62)
Other constraints related to the communication with buoys or some other constraint that cannot be foreseen at this time without an actual implementation
of an AOSN might need to be added. The important point is, given the power
of MIP techniques as exemplified in the previous section and the flexibility of
the suggested formulation framework, other requirements that could emerge depending on the specific implementation of an AOSN can easily be added to the
formulation.
In the scheme of adaptive sampling, given the current state of capabilities it is
most suitable to have a ship shadowing the AUVs. Sometimes the mission can be
organized from a shore station too. But this necessitates that the regions of interest
must be fairly close to the shore. The coordination with buoys case does not have
practical use at the moment but it will in the future when an AOSN becomes available
for oceanographic measurements.
4.3.5
Obstacle Avoidance
In the case of existence of obstacles in the region of interest, the task of collision
prevention with obstacles could be managed in two alternative ways. One option is
to introduce inequalities which will remove the regions where obstacles lie from the
feasible coordinate set of the vehicle navigation. Another, simpler approach is to set
the uncertainty values within the regions occupied by the obstacles to zero. Those
points will not be included in the solution since there will be no contribution to the
objective function from visiting them.
4.4
Mathematical Program
The combination of the objective function Equation 4.20 with motion constraints
Equations 4.21-4.38 yield a large non-convex mixed integer/linear program (MILP).
The complete MILP can be written as:
maximize
136
p
NI
(4.63)
fpk
E
p=l k=1
subject to:
DXi - lXpki
is sos2
Vp E [1, ... , P] and Vk E [1,...,Np]
(4.64)
DY - lypk.j
is sos2
Vp E [1,...,P] and Vk E [1,...,Np1
(4.65)
lXYpkij
lXpki
Vi, Vp E 1,...,P] and Vk E [1, ... ,N]
(4.66)
SlXYkij =
lYpkj
Vj,Vp E [1, ..., P] and Vk E [1, ..,N]
(4.67)
lxpki
1
Vp E [1, ..., P] and Vk E [
SlYpka=1
j
fpk
N]
(4.68)
Vp E [1,...,P] and Vk E [1,...,Np]
(4.69)
Xpk =
DXi . lXpki
Vp E [1, ...,P]
Ypk
DYj - 1Ypkj
Vp E [1, ..., P] and Vk E[1,...,Np]
=
Uj - lXYpkij
=
i
and Vk E[1,...,N]
Vp E [1, ..., P] and Vk E [1, ..., Np]
j
(4.70)
(4.71)
(4.72)
Vp E [1, ..., P, and Vi E [2,..., Np] :
Xp = Xp(i-1) + bpi 1
137
-bp2
(4.73)
(4.74)
(
bpil + bpi 2 S 1
ypi = yp(i-1)
+
(4.76)
1
bpz + bpi4
vp E [1
(4.75)
bpi3 -bpi4
.,P], and VI E [2, ... , Np] :
br 1 + b, 2 + bp 3 + bpi 4
Vp E [1, ...,I P],
(4.77)
1
Vi E [2, ... , Np], and Vj E [1, ... 4]:,4
(4.78)
bpij E 0, 1
Vp E [1, ..., P] and Vi E [3,..., Np] :
Xpi
-
Xp(i-2)
and
xp(i-2)
and
Ypi - Yp(i-2)
and
Yp(i-2)
-
-
X
A1
-
M
*
t1jli
A1
-
M
*
tlpi2
A
A1 - M *
t1pi3
Al
A
Ypi
and
4
M
*
(4.79)
tli4
Etlpi,
3
(4.80)
w=1
tV[.P E 0, 1
V
VP E [1, ... , P] and Vi E [4, ... , Np] :
138
E [1, .. , 4],
(4.81)
Xpi -
A, - M * t2pn
3)
Xp(-
and
xp(i-3) - Xpi
A1 - M *t2i2
and
Ypi - Yp(i-3)
A, - M * t2pi3
and
Yp(i-3) - Ypi
A 1 - M * t2pi4
(4.82)
4
and
t2,pi
Vp, q E [1, ...
7P]
,
:Vp, ql p > q ;
Xpi
and
E 0, 1
E t2i < 3
w=1
(4.83)
(4.84)
Vw E 1, ..., 4]
Vij E [1, ...
,
7N] :
-
Xqj
AXsafety
-
M
*
vlpqij1
Xqj - Xpji
AXsafety - M * Vlpqij2
Yqj
Aysafety - M * vlpqij3
and
ypi -
and
Yqj - Ypi
AYqafety
- M * vlpqij4
(4.85)
4
and
1
v1,,i,,
3
(4.86)
W=1
V1,qijw E
0, 1
Vw E [1,
...
,7
4]
(4.87)
Assuming the A UVs are being shadowed by a ship and the mode of communication
is acoustic:
Vp E [1, ...
,7
P) Vi E [1, ... Np):
xpi - ship..xpi
Axhip._vicinity + M * s1xp1
139
and
+ M
ship-xPt - x,. < Axship vicinity
and
ypi - ship-ypi
and
shipy
+ M * slypsi
< AYship-vicinity
Ayshipviciny + M * SlYpi2
yp
-
* s1xpi2
(4.88)
2
slxpi, <1
E
and
(4.89)
w=1
and
1
slypsw =
(4.90)
w=1
s1xpiw, slypiw E 0, 1
(4.91)
Vw E [1, 2]
P] Vi E [1, ... , Np] :
,I
Vp E[1, ...
xpi - ship-xpi
AXship-safety -
M * s2,
and
shipixPi - xP,
AXship-safety
-
M *s22
and
ypi - shipyp,
Ayshipsafety
-
M * s2Pi3
and
shipy,
AYship-safety -
-
yp,
M * s2pi4
(4.92)
E s2piw < 3
w=1
(4.93)
4
and
s2piw E 0, 1
(4.94)
Vw E [I1,..., 4]
If the A UVs need to park in a closer proximity of the ship:
Vp E [1, ..., P] :
XpNP -
and
and
ship-xpNP
shipxpNp
ypNP
-
-
XpNp
ship-ypN
AXsh i p-vicinity-TP
+ M
AX±hip-viinity-TP+
AYship-vicinityTP
140
* s1xTPpNpI
M
*
s1xTPpNp2
+ M
*
s1yTPPNP1
and
shipypN
- ypNp
AYshipvicinity.TP
+ M * slyTPpN,2
(4.95)
2
and
Es:1xTPpN
= 1
(4.96)
1
(4.97)
W=1
2
and
E slyTPpNW
=
w=1
s1xTPpNpw, slyTPpNpw E 0, 1
Vw E [1,
... ,
2]
(4.98)
If the A UVs need to return to the ship:
xpNP
= ship-xpNp
ypN, = ship..ypN,
Vp E [1, ..., P]
Vp E [1,
... , P]
(4.99)
The choice of implementation platform is XPress-MP optimization package from
"Dash optimization" [11]. It has a MILP solver that is suitable for solving the above
formulation. There are several ways a program can be entered into XPress-MP. One
way is to supply the problem either in LP or MPS file format. These formats require
the explicit representation of all of the constraints. However, writing a LP or MPS-file
generating script is an extremely error-prone task and offers very little flexibility of
implementation. Another, more solid approach is to use the DLL libraries supplied
as a part of the optimization package and implement the MILP using a high level
programming language such as C, C
or Java. Another possibility is to use high
level modeling language that is compatible with the solver. Such modeling languages
are especially meant to deal with optimization problems and are equipped with tools
that give the user extreme power to tackle optimization problems with comparatively
shorter development times. A modeling language offered by Dash Optimization is
141
Mosel. Therefore, the Mosel modeling language was used to formulate the path planning problem.
Implementing the mathematical program in Mosel is straightforward, requiring
minimal translation from the canonical form shown in Equations 4.63-4.4.
Also,
Mosel is capable of easily implementing the SOS2 constraints. The user needs only
to specify that a specific constraint is SOS2, the auxiliary binary variables that are
needed to implement the SOS2 constraint are generated automatically. The problem
formulation, basic problem parameter settings and optimizer parameter settings are
kept on a ".mos" file. The field data is stored in a separate data file. The data files
can be edited by a simple MATLAB script.
Therefore, we specify the data field, starting points of the vehicles, ranges of each
vehicle. Apart from that no matrix entry is required. The constraints specified by
Equations 4.63-4.4 are internally transformed into necessary matrices. Therefore the
user can enter the problem completely as formulated without needing to convert it to
matrix format. One important point of the solution process is the fine tuning of solver
parameters. This will be discussed in greater depth in the coming sections. When
the optimizer is run the solution progress is displayed in a small window, giving the
user an idea about the propriety of the choice of solver parameters. The output can
be tailored into various formats.
4.5
Results for Single-Day Case
The above formulation has been tried on a variety of different scenarios with different
fleet size, ranges and starting points. The fields that have been used are the temperature forecast uncertainty maps in Monterey Bay on August 27,2003, as calculated by
the Harvard Ocean Prediction System (HOPS) [3]. Data is available for 3 different
depth zones ,namely [0 - 40]m, [40 - 100]m and [100 - 200]m. In the examples that
follow, the data from [0 - 40]m zone was used. There also exists data on uncertainty
142
on velocity and salinity. Depending on the objective, velocity or salinity fields (or
even a weighted average of all fields) could be used as well. The starting point, range
and total reward information (value of the objective function) is detailed in the figure
captions. In all of the following graphs grey dots indicate the starting point of the
motion, white dots indicate the final point on the path.
One important thing to notice is the variable input in the problem to control the
range is the number of path-points, "N,". It tells how many segments the path will
be composed of, but it is not equal to the path. Assuming the vertical and horizontal
spacing between the grid nodes are of unit distance, if all the moves are horizontal or
vertical, then the total path length will be a unit less than the allowable range. But
since diagonal moves are also allowed, a choice of N, that is very close to the allowable
range might result in a path length excessive of the range. Therefore, it is best to
start with choosing a conservative value for Np such as "range/1.5". If the resulting
path length is acceptably close to the range no further action is required. If not, , the
value might be adjusted to converge to the given range in an iterative manner. The
number of these iterations is generally no more than two or three. In our case the
spacing between nodes axe 1.50126km, which requires another conversion. The value
objective function is generated by adding up the values at N, points. This is not
truly representative of the total gain due to the aforementioned relation between the
number of path-points and range. The resulting objective function value will be less
than the real gain. To overcome this problem we need to scale up the total reward.
This is easily done by scaling up the rewards at the path-points marking the end of
a diagonal move by a factor of x2.
4.5.1
Results for Single-Vehicle Case
Figure 4-10 shows the generated path for starting points x = 15km ; y = 12km and
a range of 10km. As can be seen in Figure 4-10 the grid on the region of interest,
namely Monterey Bay, has been created at an angle of 29.38674 with the east-west
direction. For the ease of representation in the following figures the field will be shown
143
60
50
.
40
0.2
30
0
10
20
20
.
30,
4010
k
60.
km
0
70
Figure 4-10: Result for single-vehicle case. Starting coordinates and range: x =15km;
y = 12km, Range = 10km; Total Reward = 455.
144
in its original orientation. Also we are using temperature fields, therefore the unit of
the total reward in all of the examples that will follow will be Celsius.
60-
50
40
30
D3
10.
0
10
20
30
40
5
0
70
Figure 4-11: Result for single-vehicle case. Starting coordinates and range: x
y = 12km, Range = 15km; Total Reward = 713.
15km;
Figures 4-10-4-15 show the solutions for the same starting point as the range
ascends. Figure 4-16 shows the solution time as a function of the range. Two characteristics sought in a good solution are the flatness of the path and the capability
to cross the regions of high uncertainty. The paths obtained in Figures 4-10-4-15
successfully exhibit these desired characteristics.
As the Figure 4-16 reveals the solution time increases exponentially as a function
of time. This behavior is expected since the formulation is a binary integer program
and binary integer programs are known to be NP hard.
For practical purposes,
the time allocated for the solution of an adaptive sampling problem is three to four
hours. Therefore the results we get even for a range of 35km (which is a long range
for our practical planning purposes) are well below the allowed time for the task.
To examine the dependency of solution times to the starting position another set of
problems were solved for a starting position of x = 7.5km, y = 21km. Results are
presented in Figures 4-17-4-22.
The solution times as a function of range for above case is shown in Figure 4-23.
145
60
50
40
0.4
E 30
0.3
20
0.2
10
0.1
0
70
Figure 4-12: Result for single-vehicle case. Starting coordinates and range: x = 15km;
y = 12km, Range = 20km; Total Reward = 973.
.........................
60
................. ............. I..............
40
40
E 30
20
10
0
10
20
30
km
40
50
60
70
Figure 4-13: Result for single-vehicle case. Starting coordinates and range: x = 15km;
y = 12km, Range = 25km; Total Reward = 1238.
146
60-
50-
40-
130
20
10
0'
0
10
20
40
30
0
60
70
km
Figure 4-14: Result for single-vehicle case. Starting coordinates and range: x
y = 12km, Range = 30km; Total Reward 1489.
=
15km;
50
0
10
20
40
30
0
60
70
km
Figure 4-15: Result for single-vehicle case. Starting coordinates and range: x = 15km;
y = 12km, Range = 35km; Total Reward = 1729.
147
330
25
-
0
5
10
15
20
25,
30
35
40
Range,(kin
Figure 4-16: Solution times for a single vehicle with starting position at x = 15km;
y = 12km.
60
-
40-
230-
0.3
20.
02
10
0.1
'0
10
20
30
km
40
50
60
70
0
Figure 4-17: Result for single-vehicle case. Starting coordinates and range:
7.5km; y = 21km, Range=10km; Total Reward = 250.
148
x
=
60
0.5
50M
40
0.3
E30
0.2
"ENSf
0
10
20
30
40
z
50
60
70
Figure 4-18: Result for single-vehicle case. Starting coordinates and range: x
21km, Range=15km; Total Reward = 431.
7.5km; y
60-
0.4
40
03
_ 30
20
102
00
10
20
30
km
40
50
60
70
Figure 4-19: Result for single-vehicle case. Starting coordinates and range: x
7.5km; y = 21km, Range=20km; Total Reward = 651.
149
=
sm
=
-
--
j
24,
--
--
--
--
60
0.5
50
0.4
40
03
3o-
0.2
1200
0.1
o
10
20
30
40
50
0
60
krn
Figure 4-20: Result for single-vehicle case. Starting coordinates and range: x
7.5km; y = 21km, Range=25km; Total Reward = 917.
=
60
50,
0.5
40-
0.4
30-
20
0.2
10
0-1
0
10
20
30
40
50
s0
70
I
0
km
Figure 4-21: Result for single-vehicle case. Starting coordinates and range: x
7.5km; y = 21km, Range=30km; Total Reward = 1180.
150
=
60
0.5
50
40-
0.4
30
S0.3
20-
0.2
10
0.1
0'
0
07
010
0
30
40
50
60km
Figure 4-22: Result for single-vehicle case. Starting coordinates and range: x
7.5km; y = 21km, Range=35km; Total Reward = 1429.
=
70
60
C 30'-
0
20.
S
5
10
1
20
26
30
35
40
Pange (kin)
Figure 4-23: Solution times for a single vehicle with starting position at x = 7.5km;
y = 21km.
151
When Figure 4-23 is compared to Figure 4-16, it is observed that the solution
times are three to four times faster. To examine the dependency of solution time
on the starting point location, another scenario with the starting point located at
x=50km and y=6km is investigated. The results are presented in Figures 4-24-4-29.
60
0.5
50-
40
0.2
30
20-
0-1
10-
10
20
40
30
50
60
70
'U',
Figure 4-24: Result for single-vehicle case. Starting coordinates and range: x = 50km;
y = 6km, Range=10km; Total Reward = 421.
Figure 4-30 shows the plot of solution times as a function of range. This plot
once more displays the exponential growth of solution time as the range increases.
Also when it is compared to Figure 4-16, it is observed that for equal range values
the solution times differ by an order of magnitude. Keeping the range fixed, different
choices of starting points yield different solution times. This is because the field is different in different regions and for particular regions existence of alternate paths with
objective function values close to each other, makes the branching in the branch and
cut algorithm more complicated, resulting in increased solution times. The starting
point sensitivity will be investigated in detail later in coming subsection.
When Figure 4-30 is examined it is seen that the solution time for Range=35km
is 2060sec. This value is well below the allowed time but still it is a long wait time. In
152
60-
0.5
50
04
40
130
20-
10
0
10
20
40
30
50
60
70
Figure 4-25: Result for single-vehicle case. Starting coordinates and range: x = 50km;
y = 6km, Range=15km; Total Reward = 666.
........... ........
60i
0.5
50
40
130
-0.3
20
0.2
10
0.1
0
10
20
30
40
50
60
70
0
Ik11
Figure 4-26: Result for single-vehicle case. Starting coordinates and range: x = 50km;
y = 6km, Range=20km; Total Reward = 885.
153
60
0.5
50
0.4
40
E 30
0.3
20
0.2
10
0.1
10
20
30
40
50
s0
70
Figure 4-27: Result for single-vehicle case. Starting coordinates and range: x
y = 6km, Range=25km; Total Reward = 1191.
--.- .----.....-..--
60
50km;
...* .-...-........ ..-.-.05
50
0.4
40
0.3
130
20
0.2
10
0.1
0L
0
=
10
20
30
40
50
60
0
70
km
Figure 4-28: Result for single-vehicle case. Starting coordinates and range: x = 50km;
y = 6km, Range=30km; Total Reward = 1443.
154
60F
00.
40
104
40
y
=
6km, Range=35km; Total Reward = 1698.
an attempt to decrease the exponentially growing solution time for high range values,
an alternative solution strategy is suggested. One of the biggest bottlenecks that renders the problem at hand very difficult is the lack of terminal path-point information.
Since the terminal path-point information is unknown in the beginning, this results
in a large amount of alternative, feasible paths that need to be considered. $uch a
large search space impedes quick solutions. The exact information of the terminal
path-point in the path makes the overall solution very fast. Heuristics for generating
information about the location about the final path-point have been sought. The
solution found exploits the exponential decrease in the solution times as the size of
the region of interest shrinks. (The related sensitivity study will be presented in detail later in this section.) To take advantage of this pivotal idea, the whole grid is
coarsened by a factor of two. The coarsening of the grid results in some loss in the
data, but this is not a huge concern. The only information that needs to be extracted
from the coarsening of the grid is the whereabouts of the terminal path-point, not
even the exact spot. Therefore the problem is solved with the coarsened field and the
properly downsized N. The result for Range=35km is presented in Figure 4-31.
155
When Figure 4-31 is compared with Figure 4-29, it is observed that the general
shape of the path is similar in both although there exist differences in the details.
The optimal values of the objective functions are in good agreement too,1698 vs.
1691. Most importantly for our purposes their terminal path-points are very close to
each other. Hence the solution based on the coarsened field representation is good
enough to roughly mimic the solution from the complete field representation. The
big difference is in the solution times though. The solution time for coarsened grid is
0.485sec compared to 2069sec. As the next step the terminal path-point information
from the coarsened grid is used in the original grid in the form of extra constraints
aimed to narrow down possible values that the terminal path-point can take. These
constraints can be written as:
EX
XpN
XCpN
XpN
XCpN + ex
YpN
YCPN
YpN
YCpN +
-
-
EY
6
Y
(4.100)
where xcpN stands for the optimal value of x coordinate of Nth path-point of pth
vehicle obtained from solving the problem using the coarsened field representation.
The values of e. and eY define the size of the search space for the terminal path-point.
On the one hand, very small values might lead to misguide the vehicle and restrict
it to finalize its motion in a suboptimal way. On the other hand, too large values
might defeat the whole purpose of the method. Therefore a good compromise must
be attained. A value of 4 - 6 has been determined experimentally to work for our
examples. The solution of this modified problem using the whole field information and
for the case where both ex and e. are set to 5 is presented in Figure 4-32. This result
is exactly the same as the one presented in Figure 4-29. Therefore the method works
successfully to give the optimal solution. The solution time was recorded to be 471sec,
156
which means a four times faster solution compared to the original method. This shows
that the method performed the way it was expected to. The above example is for
a single-vehicle case but the same idea can easily be extended to multi-vehicle as it
will be demonstrated later in this chapter. This modified method can be used for any
values of range. But for small values of range, solution times are rather quick and
incorporation of extra constraints does not bring too much benefit. It is best if the
modified method is resorted to whenever solution times are getting longer than an
acceptable threshold.
2600
2000
C
co
50
04
0
5
10
26
20
f5
30
36
40
Range JkM4
Figure 4-30: Solution times for a single vehicle with starting position at x = 50km;
y = 6km.
4.5.2
Results for Multi-Vehicle Case
Often times a number of vehicles are available to scan the area of interest to a greater
extent. Existence of multiple vehicles enables more thorough data collection in the
region. It also brings some coordination issues such as avoiding vehicle collision and
intelligent coordination of vehicles to cover as much critical data as possible. The
collision avoidance and coordination issues were handled by the introduction of Equations 4.85-4.87. The switch from one vehicle case to a multi-vehicle case is relatively
easy, since the nature of presented formulation eases the handling of multi-assets. The
157
60
r
40
D.3
130
0.2
20
10
10
20
40
30
50
s0
70
0
Figure 4-31: Result for single-vehicle case with coarsened field. Starting coordinates
and range: x = 50km; y = 6km, Range=35km; Total Reward = 1691.
........... ................... I .......
W60
0.5
50-
40
0.3
130
20-
0.2
10
0.1
0'
0
10
20
30
40
so
60
70
0
kmi
Figure 4-32: Result for single-vehicle case with narrowed terminal. Starting coordinates and range: x = 50km; y = 6km, Range=35km; Total Reward = 1698.
158
parameter P, which stands for the total number of vehicles, must be set to the correct
value and the starting points must be initialized for the additional vehicles. Lastly,
Equations 4.85-4.87 must be added to the constraint set. Compared to the previous
method the overhead of switching from the one vehicle case to the multi-vehicle case
is greatly reduced.
It has been observed in the results of the previous chapter that the complexity of
the formulation depends exponentially on the path length and also is a function of
starting point. The same holds true for the multi-vehicle case. In addition to these, it
must also be noted that the inter-vehicle distance might sometimes affect the solution
time remarkably. These points will be shown in the following examples.
.
...... ......... ....
...........
60 ]
0.5
0.3
E
0.2
00
10
20
30
40
s 60
70
Figure 4-33: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
15km, yi = 22.5km, Rangei = 15km; x 2 = 45km, Y2 = 15km, Range2 = 14km;
Total Reward = 972.
Figures 4-33-4-35 show solutions for a two-vehicle fleet. The ranges of the vehicles
in a multi-vehicle setting for practical application ranges between 10km to 15km.
Therefore the presented examples will be in that range interval generally. The safety
distance in both x and y directions ( Axsafety and
Aysafety)
are selected to be two grid
units, which corresponds to 3km. In the previous subsection the solution times were
presented as a function of range in kilometers. Such an approach is not applicable for
159
60%
D:5
0
0.4
40-
0.3
E130
20
DA1
10
0
10
10
20
40
30
50
60
70
Iqn
Figure 4-34: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
15km, y1 = 22.5km, Rangei = 16.5km; x 2 = 45km, Y2 = 15km, Range2 = 18km;
Total Reward = 1273.
60
rF
..........
......
0.5
50
O.4
40
130
20-
0.-2
10
0.1
0
10
20
30
40
50
80
70
Inl
Figure 4-35: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
15km, yi = 22.5km, Rangei = 22.5km; x 2 = 45km; y2 = 15km, Range2 = 24km;
Total Reward = 1879.
160
7,- ;eg ,
the multiple vehicle case. To reduce the number of independent parameters to one, for
the purposes of simplicity of presentation, parametrization of range length has been
performed as the the number of path-points rather than length of range in kilometers.
In all the multi-vehicle case examples that will be presented the number of path-points
is the same for all vehicles in the fleet. Depending on their motion the total path
length might differ. If the range of each vehicle needs to be set accurately this is
easily achievable by setting number of path-points for each vehicle differently. The
solution times for the above case is presented in Figure 4-36. As it can be seen from
Figure 4-36, the solution time increases exponentially as a function of path-points.
This behavior is very similar to the single-vehicle case.
25
C
.2 10
0
0
1
2
3
5 6 7
4
8
9
10 11 12 13
14
Nim ber of Path- Pirs
Figure 4-36: Solution times for two vehicles with starting positions x1
yi = 22.5km; x2 = 45km; Y2 = 15km.
15km,
Figures 4-37-4-39 show results for different starting points selection. The safety
distance in both x and y directions ( Axsafety and
Aysafety)
are again selected to be
two grid units which correspond to 3km. Solution times are presented in Figure 4-40.
Similar to the previous case, there exists an exponential growth as the number of
path-points increases. The difference lies in the slope of the curve. In this case, the
growth is steeper. As observed in the single-vehicle case the steepness of the curve
varies as the starting points change.
However the exponential growth behavior is
161
maintained.
60.
50
40
E 30.4
.
20-
1001
00-
10
2 .0
30
410
510
60
70
1
Figure 4-37: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
19.5km, yi = 3km, Rangei = 12km; X2 = 4.5km, Y2 = 10.5km, Range2 = 13.5km;
Total Reward = 1152.
Figures 4-41-4-43 show results for another choice of starting points. As before the
safety distances in both x and y directions ( AX,afty, and
Aysafety)
are again selected
to be 2 grid units which correspond to 3km. The difference of this scenario compared
to the previous ones is the fact that this time vehicles start very close to each other
and the regions of high uncertainty values lies within reach of both vehicles. Therefore, there is a conflict of interest as far as which nodes to visit is concerned. In the
previous examples, the vehicles navigate far away enough from each other to result in
a decoupled case. The problem can be thought of as two independent single-vehicle
case problems. The vicinity constraints were automatically satisfied, eliminating further branching that increases the complexity of the branch and bound tree. In this
last example the vicinity constraints are not satisfied automatically and this leads
to extra branching. Figure 4-41 shows the result for the case where number of path
points is set to 8. The solution time is 125sec.
As the next step, the number of
path-points is increased to 10. The result is presented in Figure 4-42. It was observed after 200 seconds that the best solution obtained had 2% optimality gap and
162
60
0.3
0.2
20
31
20
30
40
50
60
70
0
Figure 4-38: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
19.5km, y1 = 3km, Rangei = 15km; x 2 = 4.5km, y2 = 10.5km, Range2 = 15km;
Total Reward = 1380.
60
0.5
50
40
0.4
E
0:2
0
Figure 4-39: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
19.5km, yi = 3km, Range1 = 20km; x 2 = 4.5km, Y2 = 10.5km, Range2 = 20km;
Total Reward = 1527.
163
OK
I-
bc
--
- Z'_ -
-
-
I-
4
5
500
460
400
300
E
p 250
C
2 200
S150
100
50
00
1
2
3
7
8
9
10
11
Kim ber of Path- Pdrds
Figure 4-40: Solution times for two vehicles with starting positions x1 = 19.5km,
yi = 3km; X2 = 4.5km, y2 = 10.5km.
the gap was dropping at a slow pace. To improve the solution time an end point
narrowing technique, which can be viewed as the variation of the same theme introduced in the long-range situation for the single-vehicle case, has been utilized. The
strategy consists of first getting a rough idea about the whereabouts of the terminal
path points and then imposing constraints to confine the terminal points to a smaller
region. This method has been shown to accelerate the solution time remarkably. In
the previous section, to approximate the terminal points a coarser grid was employed
which could be solved for much faster and the terminal point information obtained
was projected to the full size grid. An alternative approach is to solve the full size
grid to some percentage of optimality and extract the terminal point information
from this suboptimal solution for terminal point region narrowing. Also a cut-off
value could be entered to the solver to reduce the feasible solution set even more.
The result after terminal point region narrowing constraints are added is shown in
Figure 4-43. Actually the solution is identical as the one found shown in Figure 4-42.
This suggests that in the formulation without any terminal point region narrowing,
although the optimizer was able to find the optimal solution in 200sec, closing the
gap was taking all the remaining time.With terminal point region narrowing, the time
164
it takes to get the optimal solution is 9.2sec which is a good improvement, as expected.
It has been mentioned that the value of the safety distance between the vehicles is
also an important factor that affects the solution time. To exemplify this the safety
distance has been increased from 2 grid units (5km) to 5 grid units (7.5km). The
result is presented in Figure 4-44. When the safety distance is increased to 5 grid
units, the conflict of interest on the same region of the map (the rectangular region
which can roughly be defined by 28km < x < 45km and 1km < y 5 10km) vanishes,
since the constraints no longer allow the co-navigation of both vehicles in this region.
As a result the first vehicle is forced to drift to the lower right corner of the map.
As the vehicles move apart from each other the vicinity constraints are automatically
satisfied and this results in a shorter solution time. Due to a tightening of the feasible
solution set, the optimal value of the objective value is less than the case where safety
distance was 2 grid units (5km).
60.
50
1
40
.
1300.
20.
100.
0
10
20
30
40
s0
60
70
Figure 4-41: Result for two-vehicle case. Starting coordinates and ranges: xi =
45km, yi = 3km, Rangei = 12km; x 2 = 42km, Y2 = 10.5km, Range2 = 12km;
Total Reward = 1195.
165
60 r
0.5
50-
'0.4
4F
D.3
20
02
10-
O.1
0
10
20
30
40
50
60
0
70
Figure 4-42: Result for two-vehicle case where the problem has been solved to 2%
optimality. Starting coordinates and ranges: x, = 45km, yi = 3km, Rangei = 15km;
X2= 42km, Y2 = 10.5km, Range2 = 16km; Total Reward = 1506.
60
0.5
O1.4
-
03
0.2
0.1
o
L
0
10
20
------- t
30
-___
40
G0O6
70
0
km'
Figure 4-43: Result for two-vehicle case. Starting coordinates and ranges: x 1 =
45km, yi = 3km, Range, = 15km; x 2 = 42km, Y2 = 10.5km, Range2 = 16km;
Total Reward = 1506.
166
6000.5
0.45
50
0.4
40
40
3.35
-
-0.3
E 30
0.25
00.2
20-
00
1"10
20
30
401
0
6 .0
7i0
Figure 4-44: Result for two-vehicle case. With inter-vehicle distance set to 5 grid units
(7.5km). Starting coordinates and ranges: x, = 45km, yi = 3km, Rangei = 22km;
X2- 42km, Y2 = 10.5km, Range2 = 24km; Total Reward = 1331.
4.5.3
Vehicle Number Sensitivity
The aim of this section is to show the sensitivity of solution time to number of
vehicles involved in the sampling task. We start with a single vehicle and at each
step introduce another vehicle till we reach 5 vehicles. The number of path-points is
selected to be 8 for all vehicles and the safety distances in both x and y coordinates
are set to be 3 grid units (4.5km). The results are presented in Figures 4-45-4-49. The
solution times are presented in Figure 4-50. There is a sudden increase as the number
of vehicles increase. This behavior is in agreement with the exponential complexity
of the problem.
4.5.4
Results with Ship Shadowing
As explained earlier in this chapter, in order to perform adaptive sampling in the
regions that are away from the coast the AUVs are accompanied by a ship. The
AUVs are dropped from the ship for mission and at the end of the mission dock to
the ship. To handle this case extra constraints need to be added to the formulation
depending on the type of communication. Figures 4-51-4-52 show two cases where
167
_W
-
--
MMMMpmIIIFF!_iM
-
-
-
-
60,
50
40
130
20
0
10
30
20
40
50
70
60
Figure 4-45: Result for single-vehicle case. Starting coordinates: x 1
8km, Rangei = 15km
=
7.5km, yi
=
60 r
0.4
0.3
E
0.2
444
30
kml
40
70
I
0.1o
0
Figure 4-46: Result for two-vehicle case. Starting coordinates: x, = 7.5km, y1 = 8km,
Range1 = 15km; x 2 = 55.5km, y2 = 10.5km, Range2 = 13km
168
60
D.5
40-
04
E20o
.2
210
10
Fgure 4-47
8kmrRa47
ges
20
30
D
I."
Result for three vehicle case. Starting coordinates:
15k; X = 55.5km, Y2
y3 = 3km, Range3 13.5km
10.5km, Range2
1
7.5km, Yi ::
13km; x3
24km,
60
50
40
20
10
00
10
20
30
4w
0
70
Figure 4-48: Result for four vehicle case. Starting coordinates: x
Rangei 15km; X2 = 55.5km, Y2 -10.5km, Range2= 13km; X3
Range3 = 13.5km; X4 = 15km, y4
15M, Range4 13km
169
7.5km, yi
8km,
24km, Y3 = 3m,
601
0.5
s0
40
E20
20
0.2
10
0.1
10
Figure 4-49: Result for five vehicle case. Starting coordinates: x1 = 7.5km, yi = 8km,
Range, = 15km; X2 = 55.5km, Y2 = 10.5km, Range2 = 13km; X 3 = 24km, y3 = 3km,
Range3 = 13.5km; X4 = 15km, y4 = 15km, Range4 = 13km; X5 = 30km, y5 = 30km,
Range5 = 13km
00
300
0
100
0
1
3 Vhl 4
2
INumber of Vehicles
6
Figure 4-50: Solution times as a function of number of vehicles in the fleet.
170
the preferred mode of communication is chosen to be acoustical. Therefore in order
to maintain communication with the ship the AUVs need to stay in some predefined
vicinity of the ship throughout their navigation. To handle this case Equations 4.434.47 must be added to the formulation.
60-
50
0.45
O4
0.35
40
0.3
0.25
10,
Figure 4-51: Results for two vehicles shadowed by a ship for the case where AUVs
must be in 15km vicinity of the ship. Ship path is shown with dotted line. Starting
coordinates: x 1 = 15km, yi = 18km, Rangei = 19km; x 2 = 25.5km, Y2 = 18km,
Range2 = 18km.
In Figures 4-51-4-52 white dots in the dotted ship path show the starting point of
the ship, whereas the grey dots show its end point. The first case, where the defined
proximity is set to be 15km takes 9sec to solve. When the proximity value is decreased
to 9 the solution time also decreases to 5.25sec. The improvement is expected since
tightening the constraint also shrinks the search space,resulting in making strides in
solution time. In both cases the number of path-points (N) is set to 10.
Another possible scenario is when the communication is via direct link in which
case the AUVs need not to stay in the vicinity of the ship throughout their motion
but at the end of their travel must either park in some proximity of the ship or must
return to the ship. This time Equations 4.4-4.4 must be used. Figure 4-53 and Figure 4-54 present examples of the former and latter cases respectively. The region of
171
60F
0.5
0.45
so
40
0.3
E 30
10.25
10-
0
10
20
40
30
5
60
70
kin
Figure 4-52: Results for two vehicles shadowed by a ship for the case where AUVs
must be in 9km vicinity of the ship. Ship path is shown with dotted line. Starting
coordinates: x, = 15km, yi = 18km, Rangei = 19km; x 2 = 25.5km, Y2 = 18km,
Range2 = 18km.
proximity is defined to be 3km for Figure 4-53. The solution time is 2.3sec. This case
where terminal path-points are confined to be a in a small neighborhood has great
similarities to the terminal path-point region narrowing method as resorted in the
cases where available ranges are long and solution times tend to elongate. This case
presents the same advantage in terms of solution times; confinement of the end point
to a tight region expedites the solution process. For the case where AUVs need to
return to the ship the solution time is 2.14sec. The slightly improved solution time
compared to the previous case signifies the performance importance due to fixing the
last path-point.
In terms of performance, bottom line for all of the cases discussed above is the
fact that coordination with a ship requires extra constraints to be introduced. These
constraints narrow down the search space and result in improvement of performance.
In the above examples although the differences in performance are very slim, as the
size of the problem increases the performance gain is apt to be more drastic due to
the exponential growth of complexity.
172
60[
0.5
50
0.45
0.4
40
0 30
0,3
E 30
0.2
0.15
10
Ct
.
IT
0
10
20
40
30
50
60
0.05
0
70
Figure 4-53: Results for two vehicles shadowed by a ship for the case where the
end path-points of AUVs must be in 3km vicinity of the ship. Ship path is shown
with dotted line. Starting coordinates: x1 = 15km, yi = 18km, Rangei = 19km;
X2= 25.5km, Y2 = 18km, Range2 = 18km.
601
0.5
0.45
50
0.4
40
0.3
J
E 30
0.25
0.2
20
0.03
0,15
0.1
10
0.05
0
10
20
40
30
50
60
70
Iffn
Figure 4-54: Results for two vehicles shadowed by a ship for the case where the AUVs
must return to the ship. Ship path is shown with dotted line. Starting coordinates:
x, = 15km, yi = 18km, Range, = 19km; x 2 = 25.5km, Y2 = 18km, Range2 = 18km.
173
4.6
Time Progressive Path Planning
Up until this point we assumed that the sampling task took place on a single day
without any possible pertinence to the previous or next days. Whereas this is a perfectly fine scenario and has a lot of use, a more sophisticated situation emerges when
the sampling task needs to be carried out over multiple days. It might be the case
the region of uncertainty is moving and transforming in shape as time progresses, and
the adaptive sampling fleet must move with the moving uncertainty field to collect as
useful data as possible. In scenarios like this, it is necessary to have some information
exchange and coordination between the paths of the vehicles that must be realized
on consecutive days to satisfy path optimality over time. To exemplify, one simple
approach to sampling over multiple days could be treating each day independently.
Consider the scenario where the AUV has 60km range. On each of the three days it
has a 15km long path to realize. The vehicle starts its motion from where it finishes
the previous days and "sleeps" in the ocean at night waiting for the next day's sampling. This case can be solved by splitting the problem into three single-day scenarios
and treating each of them independently. The problem is that there is no coordination between the different days, and although the solution obtained will be spatially
globally optimal, there is no guarantee that it will also be globally optimal over time.
This approach is myopic since it does not look forward in time. For instance, on the
first day the vehicle might tend to a high uncertainty region that lies at the bottom
left corner of the map. But if the high uncertainty region on the second day happens
to appear on the upper right corner, this region will turn out to be out of the range of
the vehicle and will not be visited since the vehicle is parked at the lower left region.
Instead, the vehicle will spend its range on a region which is much less critical to
sample. This behavior tends to also extend to the third day as well, since there will
still be no exchange of information between the second and the third day.
An alternative approach is to incorporate all the available uncertainty information
for consecutive days at once into the formulation and solve concurrently for all the
174
paths for consecutive days. The information for the path on the first day becomes
available for the second, also in the opposite direction the information on the path
to be traveled on the second day becomes available for the first day. But this does
not mean that one of the paths on either day is constructed first and the other path
is defined predicated on that. Both paths are solved simultaneously as a function of
each other. By maintaining this two-way communication link, time global optimality
is also satisfied.
The previous network approach based MIP method mentioned earlier lacked the
necessary implementation flexibility to handle the time-progressive case, since the
starting points of vehicles for each day must be known a priori to create the necessary
matrices. The method introduced in this chapter embodies that power and allows
necessary updates be performed with little effort. The task of implementing the timeprogressive case can be achieved as follows. First and foremost, a time dimension
must be introduced to the indexing used in the formulation. Every variable must
have an extra index to represent which day they belong to. This is needed both for
primary variables such as x, y and
f
and also for auxiliary variables such as lx, ly, ixy,
etc... The new objective function must be the summation of rewards from all days
in consideration.
The key point in establishing the link between consecutive days
and to introduce the time-progressive features is to define the relation between the
end path-point of vehicles on one day with the starting point on the following day.
One option is to introduce the constraint that the starting point of the vehicle for a
consecutive mission day should lie within a vicinity of the end point of the previous
day. Another option is to impose the constraint that on consecutive mission days the
vehicles should start their mission exactly at the location they finished their mission
on the previous day. This can be achieved by the following constraints:
Vp E [1, ..., P],
Vd E [2, ..., D] :
Xpdl = Xp(d-1)Np
175
(4.101)
Ypdi = Yp(d-1)Np
(4.102)
There are different scenarios regarding overall coordination with a ship and where
the AUVs start their motion on each of the mission days. In this thesis we will focus
on the case where the AUVs have enough total range to complete sampling over the
defined duration without any need to dock to get recharged. Once their mission for
a specific date is complete they come to the surface to transmit the collected data
using radio signals to the ship. For the efficiency and speed of the transmission the
AUVs need to park in some proximity of the ship. Also at the end of the last day
of data acquisition, the AUVs must park either in some vicinity of the ship or must
return to it. The MIP formulation for this can be written as, where D stand for the
total number of mission days:
maximize
P
D
Np
EZEZEfpk
p=1 d=1 k=1
(4.103)
subject to:
DXi -lXprki
is sos2
Vp E [1, ..., P], Vd E [1, ..., Djand Vk E [1, ..., N,]
(4.104)
ZDYj
lypdkj
is sos2
Vp E [1, ..., P], Vd E [1, ..., D]and Vk E [I, ..., N,]
(4.105)
ElXYpdki
= lXpdki
Vi,Vp E [1, ..., P],
Vd E [1, ..., D] and Vk E [1, ..., N,]
(4.106)
176
lXYpdkij = lYpdkj
Vj,VpE[l,...,P], VdE[1, ..., D] and Vk E (1, ..., Np]
(4.107)
lXpdi
=
1
Vp E [1, ..., P]l,
lYpdkj = 1
DXdj - lXpdki
Xpdk
Vd E [1, ..., D] and Vk E [1,...,N]
(4.108)
Vd E [1, ..., D] and Vk E[, ... ,N]
(4.109)
Vp E [1, ..., P],
Vd E [1, ..., D] and Vk E [1,...,N]
(4.110)
Ypdk
=
fpdk
ZDY? -lypdkj
=
E
Z Udi
Vp E [1, ..., P], Vd E [1,..., D] and Vk E [1, ..., N,] (4.111)
- XYpkij
Vd E [1, ..., D1, Vp E [1, ...
,7
P] and Vk E [1,...,N
ij
(4.112)
The continuity constraints between successive days
VpE[1,...,P],
VdE[2, ..., D] :
Xpdl = Xp(d-I)Np
(4.113)
Ypdi = Yp(d-1)N,
(4.114)
177
Vp E [1, ..., P],
and Vi E [2, ..., Np] :
VdE[1, ..., D]
Xpdi = Xpd(i-1)
+ bpadi
(4.115)
bpdi2
-
(4.116)
bpdi + bdi2 < 1
Ypdi = Ypd(i-1)
+
bpdi3
(4.117)
bpdi4
-
(4.118)
bpdi 3 + bpdi4 < 1
Vp E [1, ...,P],
and Vi E [2,..., N]:
Vd E [1, ...,D]
+ bpd 2 +
bpdi
Vp E [1, ... P,
bpdi3 +
bdi4 2 1
Vi E [2,..., N], and Vj E[1,...,4]:
Vd E [1, ... ,D
(4.120)
bpdij E 0, 1
VpE [1,...,P],
(4.119)
VdE [1,...,D]
Xpdi
and ViE [3,...,Np]:
-
and
Xpd(i-2) -
and
Ypdi
and
Ypd(i-2) - Ypdi
-
A1
Xpd(i-2)
-
M *
tlpdil
A 1 - M * tlpdi2
Xpdi
Ypd(i-2) > A 1 - M * tlpdi3
Al - M * tlpdi4
(4.121)
4
and
tlpdiw E 0, 1
E tlpdjw
w= 1
VW E 1, ... , 4]
178
<3
(4.122)
(4.123)
Vp E [1, ..., P],
Vd E [1, ..., DI and Vi E [4,..., Np] :
A,
Xpd(i- 3 )
xpdi -
and
Xpd(i-
and
ypdi - Ypd(i-3) >
and
Ypd(i-3) -
3
) -
M * t2pdji
-
A,. - M *
xp i
2pdi2
A1 - M * t2pdi3
(4.124)
A 1 - M * t2pdi 4
ypdi
4
and
t2pdiw
E 0, 1
E t2pi, < 3
W=1
(4.125)
(4.126)
,7
4]
Vw E [1, ...
Vp, q E [1, ... ,P]:Vp,qlp>q; VdE[1, ..., D] and Vi, j E [1, ..., N]:
Xpdj
and
-
Xqdj
Axsafety
-
M
* Vlpqdijl
xqdj - Xpdj
AXsafety - M * Vlpqdij2
and
Ypdi - Yqdj
Aysafety - M * Vlpqdij3
and
Yqdj -
Ayaaety - M * Vlgdij4
Ypdi
(4.127)
4
E
and
Vlpqdijw
3
(4.128)
w=1
vlpdijw E 0,1
Vw E [1, ..., 4]
(4.129)
Assuming the A UVs are being shadowed by a ship and the mode of communication
is acoustical:
Vp E [1, ..., P],
VdE [1,...,D] and Vi E [1, ..., Np]:
179
xpdi -
and
ship.-xpi
ship-xpdi -
Axhip-vicinity + M
xpdi
* slXdil
AXshipvicinity + M * SlXpdi2
and
ypdi - shipyped
AYqhipvicinity
+ M
* slYpdii
and
ship-ypdi -
AYahip-vicinity
+ M
*
ypdi
SlYpdi2
(4.130)
s1xpi
(4.131)
2
and
E
w=1
2
and
E slype < 3
(4.132)
w=1
Vw E [1, 2)
s1,diw E 0, 1
(4.133)
Vp E [1, ..., P], Vd E [1, ..., D] and ViE [1,...,Np] :
xpdi -
ship.xpi
and
ship-xp -
and
and
AXship..afety
- M
*
s 2pdi,
AXship-_afety
M
* s2,di2
ypdi - ship-ypdi S
AYship.afety -
M
*s2,3
ship...y
AYhip,afety -
M * s2,di4
xpdj
- ypdi
(4.134)
4
and
E s2pw
3
(4.135)
w=1
s2,diw E 0, 1
Vw E [1, ..., 4]
(4.136)
If the A UVs need to park in a close proximity of the ship:
Vp E [1, ..., P] and Vd E [1, ..., D :
xpdNp -
ship..xpdi
: AS
hipvicinity. P -
180
M * s1xTPpdNp1
and
ship-xpdN
-
XpdNp
and
ypdNP -
and
ship..ypdNp - YpdNp
ship.ypdNp
Ashipvicinity-TP -M
* slxTPpdNp2
AYship-vicinity-TP -
M * SlyTPpdNpl
AYshipvicinity..TP -
M
* slyTPpdNp2
(4.137)
4
and
s1xTPpdNpw, s1yTPpdNw E 0, 1
E S2pdNyw
w=1
Vw E [1,2]
3
(4.138)
(4.139)
If the A UVs need to return to the ship:
x p dNp = ship-xpdNp
Vp E [1,
... ,
ypdNp = ship-ypdNy
Vp E [1,
...
P]
, P]
(4.140)
Figures 4-55-4-56 present results for a two-day time-progressive case. This example also reveals the power of the proposed formulation to find time global optimal
solutions. The number of path-points chosen for both vehicles on both days is 8,
which leads to a range of 15km per day. If we assume the absence of any information
link between the uncertainty data for day 1 and day 2, looking at Figure 4-55, on day
1 the second vehicle, which starts its motion at x=45km and y=30km, needs to be
drawn to the small peak located around x=40km, y=35km. If vehicle 2 moves such
as described in dayl , the high-uncertainty region on day 2 stays out of the reach of
vehicle 2. But since there is communication between day 1 and day 2, vehicle 2 compromises on the total amount of reward it can collect on day 1 ,and heads towards the
high-uncertainty region that will appear on day 2 around x=35km, y=10km, which
will enable the maximization of total reward over two days.
When we solve the problem for the above two-day time-progressive case to optimality, the elapsed time is noted to be 2211sec.
181
This is shown in Figure 4-57.
60
0
04
40
E 30-
0.3
20-
0.2
0
0
20
30
40
50
60
0
70
Figure 4-55: Results for first day of a time-progressive case example. Starting coordinates: x 1 = 15km, yi = 22.5km, Rangei = 15km; x 2 = 45km, Y2 = 30km,
Range2 = 15km.
60-
05
0.45
50-
O,4
40
0.35
0.3
10-25
0.2
20
0.15
0,05
1n
0
20
30
40
50
60
70
Figure 4-56: Results for second day of a time-progressive case example. Starting
coordinates: x1 = 25.5km, yi = 12km, Rangei = 13.5km; x 2 = 37.5km, Y2 = 19.5km,
Range2 = 12km.
182
Although such a performance index is within our limits, we can expedite the solution
process by employing terminal point narrowing techniques that have been mentioned
before.
For this purpose the problem is first solved to 2% optimality. Next, this
suboptimal solution is examined to extract the whereabouts data on the terminal
path-points of both vehicles on both days. Then this data is used to impose extra
constraints to narrow down the end path-point regions.
As explained before this
look-ahead information provides valuable performance increase.
The new solution
time with the added constraints is only 23.6sec. And the solutions from both cases
are identical. As a footnote, even if the problem is solved only to 2 - 5% suboptimal
solutions, the generated paths are quite similar. Therefore in cases where a compromise must be made between the quality of the solution and the cost of the solution,
the problem solver can be stopped at a 2 - 5% suboptimal solution to save time.
Especially, when the solver quickly finds 2 - 5% suboptimal solutions and takes a
long time either to find remaining solutions on the path to optimal solution (as it is
the case in Figure 4-57), or close the optimality gap without being able find a better
integer solution, cutting the solution process short at a suboptimal solution within
some predefined quality limit might suffice for practical purposes.
When we examine Figures 4-55-4-56, we see that in the second day both vehicles
were attracted to the high-uncertainty region located at the right. The allowable
inter-vehicle distance for this instance was set to be 2 grid units, which corresponds
to 3km. To include the scanning of the other peak on the second day to the solution,
the inter-vehicle distance can be increased. To achieve the desired effect the intervehicle distance is increased to 8 grid units, which corresponds to 12km. The result
is presented in Figures 4-58-4-59. Now as desired one of vehicles drifts to the peak
at the left. Therefore although the total amount of collected reward is less then the
previous case, vicinity of both peaks has been scanned. When assimilated into the
forecast system, the second case might yield a greater improvement in forecast quality.
Figures 4-60-4-61 present results for another case where the vehicles are dropped
to a different location at the beginning of day 1. The results are satisfactory since all
the regions of high uncertainty have been covered during the two-day long mission.
183
Figure 4-57: Solution process for an instance of time-progressive case. The top graph
shows the optimality gap. The bottom graph displays the the upper bound on the
linear relaxation and the objective function value for the integer solutions found.
0.5
-0.4
40.3
.9
0.2
0.1
0
10
20
30
40
50
60
70
0
km
Figure 4-58: Results for first day of a time-progressive case example. Starting coordinates: x1 = 15km, yi = 22.5km, Range1 = 14.5km; x 2 = 45km, Y2 = 30km,
Range2 = 15km.
184
60
a
0.5
50
0.45
j.
40
0.35
0.35
r,
30
].25
0.25
20
0.15
10
0.05
0
10
20
30
Figure 4-59: Results for second day of a time-progressive case example. Starting
coordinates: x 1 = 18km, y1 = 12km, Range,
15km; X2 =37.5km, Y2 =19.5km,
Range2 = 12.5km.
0.5
50-
w0.4
40-
30
0.2
20
10-
10
20
30
a,,
40
so
60
70
Figure 4-60: Results for first day of a time-progressive case example. Starting coordinates: x 1 = 4.5km, y, = 10.5km, Rangei = 13km; x 2 = 27km, y2 = 18km,
Range2 = 13km.
185
60
04
40
D35
E 30
202
1
10
000
0
10
20
30
40
50
W0
70
Figure 4-61: Results for second day of a time-progressive case example. Starting
coordinates: x, = 27km, yi = 3km, Rangei = 15km; x 2 = 30km, Y2 = 7.5km,
Range213km.
4.7
3D Case
The formulation presented in the previous sections can readily be extended into the
3D case by the inclusion of the z coordinate and making necessary changes on the
way the objective function and the constraints are defined.
The problems we are dealing with involve averaged uncertainty information from
three depth layers of the ocean, namely [0 - 40]m, [40 - 100}m and [100 - 200]m.
Therefore, the motion in the z direction is very limited and short compared to the x
and y directions. Instead of invoking a full 3D formulation we can take an alternative
approach by exploiting the aforementioned feature of the problem data to treat the
3D case as a simpler 2D problem. Given three fields for each of the depth layers,
we can generate a hybrid 2D field as a function of the original fields.
To reduce
the original 3D field to a 2D one, a scan is performed on the xy plane, picking the
highest value along the z direction. This value is stored in a new 2D matrix, which
we will name as the hybrid field. Also for every (x,y) position, the index of the z
coordinate to which the highest uncertainty value belongs is also stored in a different
186
matrix, which will later be used for coordinate backtracking. We call this matrix the
backtracking matrix. Next, the problem is solved using the hybrid matrix and the 2D
formulation. At this step one must notice that the number of path-points must be
chosen more conservatively to accommodate for a possible increase in the path length
due to motion in z direction, which can be at most 160m. At the end of the solution
the total path length is compared with the allowable range. If it comes out be greater
than the range, the number of path-points is decreased till the path length converges
to the range limit. At the end of the solution, the z values at the calculated pathpoint coordinates are extracted from the backtracking matrix. One important note,
instead of picking up the maximum uncertainty value at a given (x,y) coordinate, the
hybrid matrix can also be formed by using the average or integral uncertainty values
over the z direction at a given (x,y) position. At the end of the solution, as in the
previous case, the z value at a given (x,y) position is chosen to be that of the depth
coordinate with the maximum uncertainty value.
The suggested approach can be summarized as follows:
" STEP 1: Choose a conservative value for the number of path-points.
" STEP 2: Project the 3D field information onto 2D hybrid field, either by picking
the maximum value along the depth direction at a given (x, y) coordinate and
assigning that value as the uncertainty value at that coordinate or using the
average or integral uncertainty values over the z direction.
" STEP 3: Solve the problem using the hybrid field and the 2D formulation.
" STEP 4: Along the found path, as the z coordinate at a particular (x, y) coordinate, choose the z coordinate with the highest uncertainty value.
" Calculate the path length.
- If the path length is within some predefined limit of the range, STOP.
187
- If the path length is less than the predefined limit of the range, increase
the value of number of path-points by some coefficient (or just by one), go
to STEP 2.
- If the path length is more than the predefined limit of the range, decrease
the value of number of path-points by some coefficient (or just by one), go
to STEP 2.
The uncertainty data we are supplied with decreases monotonically as the depth
increases. Due to the monotonically decreasing feature of the uncertainty data, any
optimal path will tend to stay on the same depth stratum.
This feature of the
uncertainty data is shown in Figure 4-62. It is easily seen that the values for higher
depths are subjacent to that of lower depths. The data we have at the moment from
the experiments performed in the summer of 2003 exhibits this feature and makes it
very difficult to generate paths where we can witness a 3D motion. Data with a more
irregular pattern might be available from the next experiments.
0.5
.0.45
0
400.
60
60
02
km
80
0.15
0
Figure 4-62: The uncertainty values for three different depth stratum plotted on the
same graph.
188
4.8
Complexity Analysis
The formulation used in this section is an MIP formulation. MIP formulations are
generally known to be NP-hard. If the number of integer variables in the problem are
few, then the problem can be solved in a rather fast way. Also, if the number of integer
variables do not increase as the problem size increases then, the other instances of
the problem can also be solved within similar solution times.
Figures 4-63-4-64 show the growth of number of integer variables in the new MIP
method as a function of range and vehicle number respectively. The blue lines show
the number of variables in the original problem and the purple lines show the reduced
number of variables after the problem is pre-solved by the optimizer. In both graphs
there exist an ascending trend. Given this ascending trend, due to the exponential
nature of MIP formulation, as the problem size increases the solution time should
increase exponentially. This explains the exponential growth in solution times that
was observed in previous chapters.
70000
60000
55000
40000
30000
Z
10000
0
0
10
20
30
40
50
Hurriber of Path-Points
Figure 4-63: Growth of number of integer variables in the new MIP formulation as a
function of range for a single-day, single-vehicle problem.
189
120000
3 100000
880000
60000
40000
29000
0
I
I
I
I
I
0
1
2
3
4
5
6
Number of Vehicles
Figure 4-64: Growth of number of integer variables in the new MIP formulation as a
function of vehicle number for a single-day problem.
4.9
Comparison of the New MIP Method with the
Network Programming Method
The aim of this section is to compare the methods that were developed in this thesis.
The first method which is presented in Chapter 3, is based on network programming
ideas. It has some intrinsic shortcomings which eventually motivated us to investigate
the second method. Figures 4-65-4-66 show the results for a comparison problem
solved by both methods.
In both cases vehicles start their mission at the same
location on the map shown by the white dots. The New MIP Method outperforms
the Network Programming Method in terms of both the total reward collected and
the solution time. Since the New MIP Method is capable of making diagonal moves
it has better maneuverability and can make the moves the Network Programming
Method can not make. This leads to the difference in the generated paths and the
total reward collected. Also the solution time was recorded to be 92sec for the New
MIP Method and 195sec for the Network Programming Method. For a given problem
the number of variables in the Network Programming Method is higher than that
of the variables in the New MIP Method, which leads to the difference in solution
190
times. In addition to that for MIP problems ne of the factors that leads to difference
in solution times is the problem structure. The Network Programming Method could
also be suffering from its more complicated structure as far as solution times are
concerned.
-
-
35
0.5
30
25
20.4
20-
-0.3
101
5
0
5
10
15
20
25
30
35
40
45
5
0
Figure 4-65: Solution of a comparison problem using the Network Programming
Method. Total Reward = 344.
4.10
Solver Parameter Selection
The parameter selection is critical for the performance of the solver. A myriad of
parameters exist that govern the solution procedure.
The default values supplied
by the developers of the solver are generally obtained by experimenting on a wide
variety of problems. This does not mean that all of the control parameters have fixed
values. Depending on the problem. some of the variables are automatically set to
a preferred value, while some stay fixed regardless of the type of the problem.
If
the user does not interfere with the parameter selection, the default values are likely
to provide a reasonable degree of performance on many pre-experimented problem
types. If the problem at hand is complicated by nature and cannot be related to any
of the problem structures that are known to the optimizer, the intelligence provided
191
60
50
05
4D
0.4
20
0
10
20
30
40
50
0
70
Figure 4-66: Solution of a comparison problem using the New MIP Method.
Total Reward = 392.
by the optimizer might yield a very poor performance, if not complete failure to solve.
Unfortunately, the problem we are studying falls into this category. It was built from
scratch without following the structure of any well-known, well-studied problems in
the literature. Part of the problem formulation has flavors from set covering, set
partitioning and set packing problems [93].
But it cannot be fully categorized as
either of these problems. When we attempted to solve the problem using the default
solver control parameters, most of the times the solution process was very slow. This
became more obvious as the problem increased. Therefore we need to fine tune the
control parameters for our problem. We are using the "Xpress-MP" suite from "Dash
Optimization" [11]. Different MIP solvers might have different names and selection
values for a given control parameter. We will try to give a generic parameter tuning
outline, so that the settings can easily be tailored to any available MIP solver being
used.
The branch and bound algorithm is an enumerative method based on creating a
search tree in an intelligent way such that the search space is successfully confined. [34],
[94]. The branch and bound method uses a "divide and conquer" strategy to explore
the set of feasible variables.
To avoid exploring the entire set of feasible integer
192
solutions it uses bounds on the optimal cost to exclude certain regions of the set of
feasible integer solutions. Let F be the set of feasible integer solutions to the problem
minimize
subject to
c'x
x E F
The same problem can be rewritten as F being partitioned into a finite collection
of subsets Fl,..., Fk:
minimize
subject to
c'x
x E Fi,
i = 1, ..., k.
The next task is to solve the subproblems, and choose the best one amongst them.
Solving each of these subproblems might be as difficult as solving the original one.
These subproblems are treated similarly to the original problem, namely split into
smaller subproblems.
This is known as the branching part of the method.
This
branching action lead to a tree of subproblems; see Figure 4-67.
F
F
F2
F3
F4
Figure 4-67: The tree of subproblems. The feasible set is gradually partitioned into
smaller subproblems. The initial problem F is first split into F and F 2. Then F 2 is
further split into F 3 and F 4 .
It is also assumed that there exists a fairly efficient algorithm, that is capable of
193
computing a lower bound b(F) to the optimal solution of the corresponding subproblem; that is,
b(Fi) < min c'x
xEF
The pivotal idea is that while the optimal solution for a subproblem might be
costly to get, a lower bound might be a lot easier to obtain. Different methods might
be used to calculate the lower bound, the most popular of which is to solve the linear
programming relaxation of the problem.
At the heart of the algorithm lies the fact that a subproblem is not directly solved
to optimality. First of all an upper bound U on the optimal cost must be tallied during
the course of the algorithm. Given a specific subproblem, first the lower bound b(Fi)
is calculated. If the lower bound satisfies b(F) > U then the subproblem need not to
be further considered, since the optimal solution to this subproblem is no better than
the best feasible solution obtained so far. This is where the name bound comes from.
At any point, the algorithm keeps in the memory a set of outstanding (active)
subproblems and the cost U of the best feasible solution obtained so far. Initially U
might either be set to oo or the cost of one of the feasible solutions. A typical stage
of the algorithm can be summarized as follows:
1. Select an outstanding(active ) subproblem, Fi.
2. If the subproblem is infeasible, remove it. Otherwise, compute b(Fi).
3. If b(F)
U, remove the subproblem.
4. If b(Fi)
U, either solve the subproblem to optimality, or break the subproblem
into further subproblems. Add the these new subproblems to the list of active
subproblems.
The algorithm runs recursively and stops when there are no active nodes left in
the list. In this algorithm there exist several free parameters [341:
194
1. There are different ways of splitting a problem into subproblems. This is also
known as variable selection problem.
2. There exist different ways of choosing an active problem. This is also known as
node selection problem.
3. There may exist several different ways of obtaining a lower bound.
The control variable settings related to the above problems are elucidated below.
4.10.1
Control Variable Settings for Variable Selection Prob-
lem
When the linear programming relaxation is solved for a given subproblem, if all variables in the solution turn out to be assigned integer values, it means that this node (or
subproblem) is a feasible integer solution and no further branching into subproblems
is needed. But if some of the variables in the solution turn out to have fractional values, it suggests that further branching must be performed. At this point the question
of on which variables to branch raises. To articulate the branching on a variable issue,
if a variable called varl was found to have the value 4.5 when linear programming
relaxation is solved, two subproblems can be created where in one of them the value of
varl is rolled down and fixed to be 4 and another where the value of varl is rolled up
fixed at 5. This is called as branching on var. The branching priority selection plays
a huge role on the performance on the solver. It is beneficial to give the branching
priority to the variables that will help to fix the rest of the variables with fractional
values, at integer values as fast as possible. To achieve this an intelligent strategy
must be followed. The command used to set the branching priorities in Xpress-MP
software is called setmipdir [17]. It is capable of setting the priorities on a variable or
Special Ordered Set (SOS). The default branching priority value for a variable is 500.
As the value of the setting decreases, the branching priority increases, which means
if a variable is assigned a priority of 1, it will be the first variable to branch on.
195
In our formulation we have a SOS2 constraint. Although this constraint is a single
line statement in the optimization code, there exist many underlying statements. The
optimizer takes this single line of code and expands it using many binary auxiliary
variables [95]. Most of the expanded constraints has ones or zeros on the right-hand
side of the equalities or inequalities. If an equality or inequality has the characteristic
of having a small value at the right-hand side, it is easier to assign integer values
to the variables governing the left-hand side of the equation. If the right-hand side
of an equality is 1, and the left-hand side contains a relation involving 10 different
integer binary variables, then fixing one of the variables to one will mean fixing of
the remaining variables to zero automatically. This helps the solution snap to integer
values fast. Therefore the SOS2 constraints have been assigned the highest priority
value of 1. When a constraint is a assigned a priority it means that the underlying
variables are all assigned the corresponding priority.
In the formulation we also have a set of constraints that resembles set covering
problem constraints:
bpd 1 + bpd 2 + bpi
3
+ bpi
4
> 1
Along the same discussion we carried on the SOS2 constraints, since the right
hand-side of the equation has small value, this set of variables are also assigned a
high priority of 2.
Another set of constraints used in the navigation shaping involves the variables
t1pdi
and t2piw.
4
E
w=1
tlp,
<3
4
E t2p. < 3
w=1
196
These variables are also given a priority of 2. The variables used in vehicles separation constraints,
vlpqdijw,
are related to each another with the following inequality.
4
SVlpqdijw < 3
w=1
After some experimentation it was found that it is best to assign these variables a
priority of 3. If these variables are assigned the same priority as the variables
t1, 1 iw
and t2dim,, it has been observed that the solution process slows down compared to
the case they are assigned a slightly smaller priority than tlpdiw and t2pdiw.
There also exist extra branching options provided by the modeling environment
such as whether during the branching a fractional value will be rolled up or down
first, modifying pseudo costs assigned for branching up and down.
No change of
performance has been observed for different values of these settings, therefore they
were retained in their default values.
4.10.2
Control Variable Settings for Node Selection Problem
In the software we used there are couple of control parameters that are in charge of
fine-tuning the node selection process. Each active node has an LP relaxation value
and an estimated degradation to an integer solution. The controls NODESELEC-
TION, BACKTRACK, VARSELECTION and BREADTHFIRST [17] determine the
way the next node is selected. The controls that offer the same functionality might
be represented under different names in different optimization environments but any
optimization software is expected to include these parameters.
The value of NODESELECTION defines the candidate set for node selection, i.e.
the set of nodes from which one will be chosen, while the value of BACKTRACK
defines the criterion used in selection of a node from the candidate set. If NODESELECTION is 1 (the usual default) then the two descendent nodes form the candidate
set, but if both have been fathomed then all active nodes form the candidate set. If
NODESELECTION is 2, all nodes are always included in the candidate set resulting
197
in a best, or breadth first, search. If NODESELECTION is 3, a depth-first search
is performed. If NODESELECTION is 4, all nodes are considered for selection in
priority order for the first BREADTHFIRST nodes, after which the usual default behavior is resumed. If NODESELECTION is 5, a pure depth first search is performed.
For our problem in most cases a NODESELECTION setting of 3 (depth-first search)
has been found to work best. In some cases as the problem size increases it is better
to set the value of NODESELECTION to 5 (pure depth first). In very few cases the
NODESELECTION was set to 5, in which case the value of BREADTHFIRST is also
set to 1000.
For deciding between the nodes in the candidate set, the value of BACKTRACK
determines the selection criterion. If BACKTRACK is 1 and MIPTARGET has not
been set (either directly by the user or by the search previously finding an integer
solution), then the node with the best estimate is chosen. If BACKTRACK is 1
and MIPTARGET has been set, then the Forrest-Hirst-Tomlin Criterion is used. If
BACKTRACK is 2, the node with the best estimated solution is chosen. If BACKTRACK is 3, the node with the best bound on the solution is chosen. In our case the
best results have been obtained by setting BACKTRACK to 3.
The value of VARSELECTION influences degradation. There are different formulas to calculate the value of degradation. We set its value to 3 which means the
degradation is summation of twice the minimum of up and down degradations plus
the maximum of up and down degradations.
4.10.3
Other Control Variable Settings
e Integer Preprocessing
If the MIPPRESOLVE control variable which, is in charge of managing the integer preprocessing, has been set to a nonzero value before solving a MIP problem,
integer preprocessing will be performed at each node of the branch and bound
198
tree search (including the top node). The setting options for MIPRESOLVE
include reduced cost fixing, variable fixing and probing at root node. It is possible to choose any combination of these options. For our problem we only choose
variable fixing by setting the value of MIPRESOLVE to 2.
* Cover Cuts and Gomory Cuts
The control parameters GOMCUTS and TREEGOMCUTS determine the number of rounds of Gomory cuts generated at the top node and at the nodes other
than the first node in the tree respectively. We found it most beneficial to have
the settings of both controls to be between 5 and 10. The control parameters
COVERCUTS and TREECOVERCUTS determine the number of rounds of
lifted cover inequalities at the top node and at the nodes other than the first
node in the tree respectively. For single-vehicle and multi-vehicle cases for a
single day the best values of these settings were found out to be 2 or 3. For
time-progressive cases it was observed that most of the time it was best to set
both settings to 0.
* Cut Strategy
Control variable CUTSTRATEGY specifies the cut strategy. A more aggressive
cut strategy, generating a greater number of cuts, will result in fewer nodes to
be explored, but with an associated time cost in generating the cuts. The fewer
cuts generated, the less time taken, but the greater the subsequent number of
nodes to be explored. A setting of 0 means no cuts, 1 means conservative cut
strategy, 2 moderate cut strategy and 3 aggressive cut strategy. There is no
obvious pattern observed for the selection of CUTSTRATEGY setting. Sometimes a setting of zero gives very fast results. This is generally true for small
problems. As the problem size increases such as in the multi-vehicle case and
time-progressive problems, best results can be obtained by different settings
depending on the problem. A good strategy that can be suggested in such cases
199
is to start by trying a value of 0 and increase it if the performance is not satisfactory. Generally if reduction gained in solution time by generating the cuts
justifies the time cost of generating the cuts, a value of 1 or 2 has been observed
to work best.
Heuristic Strategy
The control parameter HEURSTRATEGY specifies the heuristic strategy. On
some problems it is worth trying more comprehensive heuristic strategies by
setting HEURSTRATEGY to 2 or 3. The default value is -1
which means
automatic selection of heuristic strategy. Other values for this parameter are 0
for no heuristics, 1 for basic heuristic strategy, 2 for enhanced heuristic strategy
and 3 for extensive heuristic strategy. It has been observed that it is best to set
the value of HEURSTRATEGY to either 2 or 3.
4.11
Conclusion
In this chapter a new MIP formulation has been introduced. Compared to the Network Programming formulation discussed in the previous chapter, this new technique
handles the problem formulation in a totaly different manner. It is shown to be more
powerful as it supplies functionality to formulate and solve time-progressive cases
and at the same time to be more efficient as the faster solution times indicate when
compared to the Network Programming method. Also as long as flexibility to adopt
to the changes in problem parameters such as number of vehicles, starting coordinates, etc.. are concerned, the new method is remarkably superior to the Network
Programming method. Therefore the new method presented in this section will be
the method chosen to be used in further investigations.
200
Chapter 5
Solution of Some Examples
Problems Using the
Time-Progressive Formulation
The formulations presented in the previous chapter forms the backbone of our approach for path planning for adaptive sampling. The presented techniques have the
breadth and power to deal with a myriad of scenarios which can be parameterized
by communication mode, AUV releasing and collecting methods among others. The
aim of this chapter is to use the methods presented to solve real world problems.
Two different approaches will be taken for that. The first approach solves the timeprogressive problem for three days with the uncertainty field data available on the
first day. The vehicles tracks are generated without an update on the uncertainty
fields as data is gathered. The second method uses the collected measurements to
make updates on the uncertainty fields of the days ahead. Therefore the uncertainty
fields are dynamic and the problem is solved with the dynamic fields everyday to find
the path belonging to next day.
201
5.1
Explanation of the Overall Problem Scenario
As detailed in the previous chapters there exist many parameters in an adaptive
sampling scenario. Before starting to solve the problem, guidelines must be drawn in
regard to the preferred setting to be used in the scenario. There will be two AUVs in
the fleet and we will be considering the uncertainty information over three consecutive
days.
e A UV Release and Pick-up:
The AUVs will be dropped to the starting coordinates by the ship and will be
collected from the sea at the end of the third of day by the ship. Each day
they make measurements along the paths that will be sent from the ship and
they "sleep" in the sea during night waiting for the next day's measurements.
Therefore the starting point coordinates at a specific day will be the terminal
point coordinates of the previous day. The AUVs are assumed to have a total
range of 50km. This range will be equally shared among all days. Therefore
the assigned path for each day will be about 15km.
9 Mode of Communication:
The selected mode of communication is radio link with the ship. The maximum
allowable distance between the AUV and the ship for a successful communication link depends on the hardware used. We will assume this distance to be
around 12km. We will introduce the constrain that, at the end of each day, two
AUVs must park at most within a 16 grid units (24km) vicinity of each other.
Therefore by steering the ship to the mid point on the line connecting two AUV
coordinates it will be possible to communicate with both AUVs at the same
time.
e The Number of Vehicles: It was decided to use a two vehicle fleet for the
simulation to be presented in this section.
e Inter-Vehicle Distance:
202
The allowed inter-vehicle distance will be 2 grid units (3km).
" The Number of Path-Points:
The number of path-points assigned for each day will be 8. This corresponds
to a range of 13 - 15km allocated for each day.
" Locating the Starting Points:
The method used to determine the starting points of the AUVs will be elaborated in the next section.
" Ship Path Planning: The ship path will be planned after the individual AUV
paths are generated. Once end path-points of each AUV in the fleet are known,
the ship path will be determined in a way to offer communication link with
both AUVs at the end of one day's measurements, plus to maximize the measurements it performs on its course.
5.2
Determination of Starting Points for AUVs
In the formulation presented in the previous chapter the starting points of the AUVs
were given. In a real adaptive sampling scenario, this is not the case and they must
be chosen intelligently since the choice of starting point coordinates play a huge role
on the total reward that will be collected.
To clarify an important point, the formulation presented in previous chapter is
flexible enough to give a solution although no starting points are specified. The solution found in this manner is undoubtedly the global optimal solution at large. The
problem is that, exclusion of such information from the problem data makes the already NP-Hard problem even more difficult to solve. This brings enormous overhead
and gives results only for very small vehicle ranges. Therefore, given the efficiency
and strength of the current MIP solver such an approach is not practical. This requires the user to input the starting point information.
203
The starting point must lie close to the region of interest. A region of interest can
be defined as a region where the surrounding uncertainty values are higher compared
to the other locations in the field.
To locate such regions we define an integral
uncertainty field which can be defined as:
Vd E [1, ..,D],
Vi E [1,.., n], Vj E [1, .., m]
+Ywindowsize
+X _windowsize
Uintdij =
Ud(i+m)(j+n)
E
E
(5.1)
m=-X _window size n=-Y-windowsize
where Udij stands for the element of uncertainty field matrix for day d with a column index i and a row index of j, Udij stands for integral uncertainty field, n and m are
the horizontal and vertical dimensions of the field and D is the total number of days
for which uncertainty information is available.
X.windowsize and Y.windowsize
are two important parameters that determine the clustering characteristics for the
integration. If we think of it in conjunction with the range of a vehicle, it makes
most sense to choose these parameters as a function of allowable range for vehicles.
Figure 5-1 shows the original uncertainty field. Figure 5-2 shows the integrated field
with X.windowsize and Y-windowsize parameters both set to 4.
The information presented in Figure 5-2 can be used to determine the favorable
starting positions for the AUVs. To achieve this task we define our task as choosing
the two points from the integral field presented in Figure 5-2, which are set apart
by some distance and whose corresponding values add up to a maximum possible
sum.The distance between two points is preferred to be at least the range of vehicles,
so that no regional conflicts will occur. It is possible to formulate this problem as a
MIP. The suggested MIP formulation is presented below:
maximize
P
D
E E fpd
p=1 d=1
subject to:
204
(5.2)
60
0.5
0.45
50
0.4
0.35
40
0.3
E 30
0.25
0.2
20
0.15
0.1
10
0.05
0
10
20
30
40
50
60
70
0
km
Figure 5-1: Uncertainty field for day 1.
60
50
2.'
40
13Q
2(
20
10
5
0
10
20
40
30
50
60
70
o
km
Figure 5-2: Integrated uncertainty field for day 1.
205
is sos2
Vp E [1, ..., P],
VdE([1,
DYdj - lydj
is sos2
Vp E [1, ...,P],
Vd E [1, ...,D]
P], VdE[1, .,D]
(5.6)
VdE[1,...,D]
(5.7)
Vp E [1, ...,P],, VdE[1, ..., D]
(5.8)
Jxypdi= lypdj
Vj, Vp E [1
=
1
lYpdj = 1
starting-xpd =
DXdj - lXpdi
Vp E [1,
***,
Vd E [1,
... ,
Vd E [1,
... ,
P], Vd E [1,
Vd E [,
D],
... ,
D]
D]
...
,I
Vp E [1, ..., P]
j
Vp, qE [1,..., P] :Vp, ql p> q; Vd E [,
startingxpd -
and
P],
Vp E[1, ... , P],
Uintdi- lxypij
E
i
... ,
VpE[1,...,P],,
starting _yp = EDY - lypdj
fpSd=
(5.4)
(5.5)
Vi, Vp E [1,
llxp
(5.3)
D]
lxpdi
XYpd,=
and
,D])
DXdi - lxpdi
,I
D]
...
starting-xqd
starting_xqd - starting_xpd
starting-ypd - starting-yqd
206
2
M *
v
AXhigh-region
M *
v pqd2
AYhigh.region -
M *
v pqd3
AXhigh-region
-
pqdl
2
2
(5.9)
(5.10)
(5.11)
and
starting..yqd - starting-ypd ;>
AYhigh-region -
M * v 2 pqd4
(5.12)
4
E v 2 pqdw
w=1
and
v 2 pqdijw E 0, 1
Vw E [1, ..., 4]
; 3
(5.13)
(5.14)
The formulation is similar to the one presented in the previous chapter in many
aspects. We are trying to find the coordinates of the starting points for each day
the adaptive sampling is being done in a manner that the summation of integrated
uncertainty values at these points will be maximized. Also as the lone constraint
we impose the fact that the chosen points must lie at a distance from each other so
that a larger area can be covered without making the vehicles focus on the same high
uncertainty region. This is dictated by the Equations 5.13-5.14.
Since the starting positions of the second and third days will be dictated by the
end positions from the previous days, it might look like finding the starting positions
for following days might not serve to any purpose. Though this line of thinking is correct, such information still serves to a very useful task. Having identified the regions
of high uncertainty, this information might be fed into the formulation to assert the
vehicles to make some measurements in these critical high uncertainty regions, which unless specifically specified- can be sacrificed for the purpose of making measurements
in a more cramped region. This point will be explained more in the upcoming sections
As emphasized earlier,
AXhighregion
and
AYhigh-jegion
must be better chosen as a
function of the vehicle range. The Figures 5-3-5-5 show the results for three days
in succession when the
8 units.
AXhighregion
and
AYhigh-region
are set exactly equal to N,
The white dots show the points that are found as a result of the MIP
explained above. The rectangles show the points whose values are integrated to lead
to the value of the point at the center point of the rectangle shown with a white dot.
The rectangular regions can be thought of as regions of high interest as the plots
207
support. It makes most sense to force the vehicles to start their mission on first day
in these high-uncertainty regions, so that the measurements that are most needed
can be guaranteed. Moreover the white points shown in Figures 5-3-5-5 represent the
points for which the integral field as defined in Equation 5.1 is maximized under some
constraints. Hence the white dots do not represent the point that has the maximum
uncertainty value in the rectangular regions shown. For our purposes it will make
more sense to set the starting point of the vehicle to be as close as possible to the
maxima in the rectangular region. Not losing focus of the fact that although it is
advantageous to start close to the maxima we would also want the neighboring points
to have high values. To select the starting point instead of choosing the absolute
maxima in the rectangular region, we segment the rectangular region into four equal
size partitions and perform an integration of uncertainty values over each partition.
We identify the partition with the highest value of integration and choose its midpoint
as the starting point for the vehicle. This is pictured in Figure 5-6. The blue dots are
chosen to be the starting positions for vehicles and their coordinates are x1
Y,
=
4.5km and x 2 = 43km, Y2
=
10.5km.
600.
0.45
04
403
0.25
30
0.25
20
10
0
10
2
30
40
50
6
70
Figure 5-3: Locating the regions of high uncertainty for day 1.
208
=
63km,
50
0.5
0.3
20
0.2
10
0.1
0
10
20
30
km
40
50
80
70
10
Figure 5-4: Locating the regions of high uncertainty for day 2.
O0
505
0.45
50 -
0.45
0.3
0.25
330
20
0.15
S0.05
o
1s
20
30
40
50
0
70
km
Figure 5-5: Locating the regions of high uncertainty for day 3.
0.4
50
0.35
40-
4.3
30
025
0.2
0.15
10
-
0
0
10
20
0.
40
30
50
80
70
km
Figure 5-6: Location of starting points for day 1.
209
5.3
Using High Uncertainty Data to Assert the
Visiting of High Uncertainty Regions
The high-uncertainty regions found in the previous section are useful for determining the start positions for the first day. They can also be put to good use in terms
of effective navigation and successful covering of all critical areas in the uncertainty
field. To elaborate, one unwanted behavior is the focusing of measurements along a
single peak. There might be two peaks separated by a deep valley. In such cases if
the AUV begins its motion around a peak it shuns traveling towards the second peak
since very small uncertainty available in the valley decreases the overall reward. The
mathematical optimal solution (maximization of reward) is obtained by clinging to
the vicinity of a single peak. Whereas mathematically this makes sense, it might not
be the most effective way of data acquisition, since even a single measurement done
in the vicinity of second peak might contribute more to the assimilation that will be
performed with the collected data. The assurance of covering several areas as explained above entails supplementing of extra information to the problem formulation.
At this point the high-uncertainty regions that are found for following days might be
used. This information introduces horizon information to the AUV navigation. The
suggested way to incorporate high uncertainty information into the MIP formulation
is to restrict the end path-points of vehicles for each or the last day of adaptive sampling within the high uncertainty regions. The constraints needed to impose this can
be written as follows:
Vp E [1, ..., P], VdE[2, ..., D}
XpdN
sstarting-xpd - X..windowsize
XpdN
starting-xpd + Xwindowsize
and
YpdN
starting-ypd - Y-windowsize
and
YpdN
startin-ypd+ Y-windowsize
and
210
(5.15)
The advantage in such an approach is twofold. The first one is that as explained,
regions that normally would not be visited are visited. The second advantage lies
in the computational cost. The end path-point information that is supplied provides
valuable horizon information and narrows down the search space resulting in faster
solution times.
Another approach to the same problem relies on granting of extra reward if the
locations in the determined high uncertainty regions as depicted in Figures 5-3-5-5
are visited. Unlike the previous method there is no compulsion in regards to where
the end path-point for a given day will lie. The method takes some high-uncertainty
regions as input and this can be done two ways. First, some of the uncertainty fields
can be emphasized by increasing the the uncertainty values that lie within them. If
we are performing the adaptive sampling over three days the high uncertainty regions
in day three might need such operation. Another more complicated method is to
define a high uncertainty region, leave the uncertainty values intact and grant extra
reward only if a location is visited. The MIP code below can be added to the original
formulation to achieve this task:
Vp E [1, ...
,)
P1,
Vd E [2, ...
,7
D],
xdi
Vi E [1, ...
,N,]
startingixp - X-windowsize - M * (1 - v3pdil)
and
xp
and
ypd > starting-yp - Y-windowsize - M * (1 - v3(pi3)
and
ypdj < startingyp - Y.-windowsize - M
starting..xp + X..windowsize - M * (1 - v3(di2)
*
(1 - v3pi4)
4
and
E v3iw
3
(5.16)
W=1
v3pdi. E 0, 1
Vw E [1, ... , 4]
(5.17)
If a path-point for a specific vehicle lies in the high certainty region, Equation 5.16
makes sure that the corresponding v3(p, d, i, w) is turned to 1. Also to spread the
211
available resources most effectively on the field and to avoid over-attraction to the
same area, we would like an extra reward to be granted if a high certainty field is
visited only by one AUV. Then we can modify the objective function to as follows:
P
D
D Np
Np
E E E fpik +
p=1 d=1 k=1
4
E E E Iv3,diw -
E
v3qdiwl
* Bonusd
(5.18)
p,qEPlp>q d=2 i=1 w=1
The absolute value in Equation 5.18 imposes the condition that if a high-uncertainty
zone is visited with fewer AUVs, more reward will be awarded. If the number of
vehicles with some path-points lying in the same uncertainty area increases the corresponding v3(p, d, i, w) terms which are assigned a value of 1 cancel each other, yielding
a deducted extra reward.
The absolute value expression can be rewritten in a linear programming notation
as follows:
P
D
Np
D
Np
4
E E ES abs3pqdiw
E fpdk +
Z
p,qEPJp>q d=2 i=1 w=1
E
(5.19)
p=1 d=1 k=1
,7
DJ,
Vp, qE (1,..., P]Jp >q, Vd E[2, ...
(v3diw -
(-
Vi E [1, ...
,Np],
v3qdiw) *
v3,di +
v3qdiw)
Vw E[1, ... ,4]
Bonusd 5 abs3 qdi,
(5.20)
* Bonusd 5 abs3,qdiw
(5.21)
This method is powerful in the sense that it entails also inter-vehicle coordination.
In order to work properly it requires some fine tuning of the parameters BonuSd.
5.4
Results for a 3-Day Time Progressive Case with
no Dynamic Data Assimilation
The adaptive sampling scheme we are going to discuss in this section assumes that
there are not enough resources/capabilities to assimilate the data that is collected into
212
Harvard Ocean Prediction System (HOPS) [3] as the experiments continue. Therefore
this is the case of a high time constant for data assimilation and all the path planning
must be done based on the data that is available in the beginning of the sampling
mission.
The three day data we are going to use has been collected in sea exercises performed at Monterey Bay region during August 2003 [14]. We are specifically going to
focus on data for August 26 - 28, 2003. There is data collected on different states of
the ocean such as salinity, temperature, velocity etc. We are going to use the data on
temperature uncertainty. This is a three-dimensional field and the general trend of
the field is to descend as the depth increases. The descending trend is not true in the
absolute sense as there exist exceptions to this behavior. In depth direction there are
28 different levels. So the original temperature field has dimensions of 46 x 34 x 28.
An average temperature field has been created by integrating the original temperature field over three different depth intervals, [0 - 40]m, [40 - 100]m and [100 - 200]m.
This new field has dimensions of 46 x 34 x 28 and almost monotonically decreases
in depth direction. Therefore it is fair to say that the z-coordinate of a path-point
should lie between the [0 - 40]m depth range. Therefore for the sake of simplicity the
problem will be treated as a 2D problem by using the average temperature values
for the [0 - 40]m depth range. After the solution is found, the z-coordinate will be
determined by picking the highest depth value in [0 - 40]m range at a specific x-y
coordinate.
The general settings of the problem are as explained in Section 5.1. The problem
is formulated as a 2-vehicle 3-day time-progressive case. The starting point of the
vehicles on the first day has been chosen by using the methods explained in Section 5.2.
The starting points for day one have been set to be x, = 63km, y1 = 4.5km and
X2 = 43km, y2 = 10.5km. Also the high-uncertainty regions have been determined
also for days 2 and 3 and been used to help navigation of AUV fleet to cover important
regions of interest as described by Equation 5.15 in Section 5.3.
213
The problem is solved in two stages.
During the first stage, the problem is run
with the settings as explained above. The resulting convergence plot is presented in
Figure 5-7.
Figure 5-7: Progress of the MIP search for first stage of the solution.
As can be seen in Figure 5-7 a number of integer solutions have been found within
200sec and the MIP gap has been reduced to almost 4%.
After that the process
comes to a recession and no other integer solutions have been found after 300sec have
passed. At this point, we accept the current solution and stop the solver. The results
obtained with 4% optimality gap have been shown in Figures 5-8-5-10. The starting
points of vehicles on each day are shown with a white dot and the end positions with
grey one. The path of first vehicle is painted in black and that of second vehicle in
blue.
At this point we extract end path-point information for both vehicles and apply an
end path-point narrowing for both vehicles on days 2 and 3 as explained in Chapter 4.
The program is run with the added constraints and the MIP solution process plots is
214
00-
0.5
0.45
50-
0.4
0.25
0.2
20
0.1
101
0.05
10
20
30
Owl
40
s0
0
70
0
Figure 5-8: Paths generated for day 1 during the first phase of the solution.
0
0.5
50,
40
0.3
120
20
02
10
0.1
0
10
20
30
40
00"
50
60
10
70
Figure 5-9: Paths generated for day 2 during the first phase of the solution.
60
0.5
0.4
6.35
0.3
0.25
1 3I
02
0.15
0.1
0.05
0
10
20
30
40
50
60
70
Figure 5-10: Paths generated for day 3 during the first phase of the solution.
215
given in Figures 5-11-5-12.
Figure 5-11: Progress of the MIP search for first stage of the solution.
As detailed in Figure 5-12 the last integer solution is found at an optimality gap
of 0.7% and then it takes more than 2000sec for the gap close completely. If we set
the MIP relative stop value to 0.5% (which produces very high quality solutions), the
solver will stop when the solution is within 0.5% vicinity of the optimal solution. In
that case the solution will take only about 300sec. Together with the first phase, the
total solution time will augment to 600sec.
The results obtained at the end of second phase are shown in Figures 5-13-515. As can be seen in these figures all the high uncertainty regions are successfully
covered within the assigned vehicles ranges. This is the kind of behavior expected
from the adaptive fleet and it is achieved by the suggested formulation. The pathpoint coordinates for three days are presented in Tables 5.1-5.3.
216
Figure 5-12: Detailed plot of the progress of the MIP search for first stage of the
solution.
60
-
- - -0.50,45
50
0.4
40
0.35
30
25
20
0
10 0 20
40
00
O
0
Figure 5-13: Paths generated for day 1 during the second phase of the solution.
217
600
0.5
0.4
40
30
I
20*
101
'0
Figure 5-14: Paths generated for day 2 during the second phase of the solution.
0.5
0.45
014
70
0.35
02
0.15
0.1
0.05
0
Figure 5-15: Paths generated for day 3 during the second phase of the solution.
Vehicle 2
Vehicle 1
Path-Point Number
X (km)
Y (km)
Z (m)
X (km)
Y (km)
Z (m)
1
2
3
4
5
63
61.5
60
58.5
57
4.5
3
3
3
3
-10
-10
-10
-10
-10
48
46.5
45
46.5
45
10.5
9
7.5
6
4.5
-25
-25
-25
-25
-25
6
7
55.5
54
3
3
0
0
43.5
42
3
4.5
-25
-25
8
52.5
1.5
0
40.5
4.5
-25
Table 5.1: The path-point coordinates calculated by the static method in tabular
form for day 1.
218
__
Path-Point Number
1
2
3
4
5
6
7
8
Vehicle 1
X (km) Y (km) Z (m)
I
39
37.5
36
34.5
33
31.5
30
28.5
4.5
3
1.5
1.5
1.5
3
4.5
6
-25
-25
-25
-25
-25
-30
-30
-25
Vehicle 2 X (km) Y (km) Z (m)
52.5
51
49.5
48
46.6
45
43.5
42
1.5
1.5
1.5
3
4.5
4.5
3
1.5
0
0
0
0
0
0
0
0
Table 5.2: The path-point coordinates calculated by the static method in tabular
form for day 2.
Vehicle 1
Path-Point Number IX (km)
1
28.5
2
27
3
25.5
4
24
5
27.5
6
21
7
19.5
8
18
Y (km)
6
7.5
6
4.5
3
1.5
3
3
Z (m)
-25
-25
-25
-25
-25
-25
-25
-25
Vehicle 2
X (km) Y (km)
42
1.5
40.5
1.5
39
1.5
37.5
3
36
4.5
34.5
6
33
7.5
33
9
_
Z (i)
-30
-30
-30
-30
-30
-30
-25
-25
Table 5.3: The path-point coordinates calculated by the static method in tabular
form for day 3.
219
5.5
Results for a 3-Day Time Progressive Case
with Dynamic Data Assimilation
The adaptive sampling scheme that will be the subject of this chapter assumes that
there exist enough resources/capabilities to assimilate the data that is collected into
a Dynamic Data Driven Application System (1] at the end of each day as the experiments continue.As a consequence the uncertainty fields are updated continuously as
the sampling mission continues.
We again focus on uncertainty data on average temperature of Monterey Bay
for August 26 - 28, 2003. The way the 3D data space is treated and the settings
for vicinity and communication constraints are exactly the same as in the previous
section. The starting points of the vehicles on the first day have been chosen by using
the methods explained in Section 5.2. The starting points for day one have been set
to be x1 = 63km, yi = 4.5km and x 2 = 43km, y, = 10.5km.
The overall path planning is achieved by successive solutions of 3 MIP problems.
First a 2-day time-progressive case problem is solved using the uncertainty fields for
August 26 and 27. At this point although uncertainty data is available for 3 days
and the problem can be handled as a 3-day time-progressive case, such far-sightness
was determined experimentally to be unnecessary, due to the radical changes on the
field as a result of data assimilation. A 2-day time-progressive formulation, however,
was seen to be valuable and sufficient since the uncertainty data for the next day is
likely to reveal some correlation about the transformation of the uncertainty field for
the following day after the assimilation is performed. The resulting path for day 1
(August 26) is therefore created by taking into account the potential transformation
of the field for next day. This helps the vehicle to park at the end of the first day at a
position that will be closer to the expected high-uncertainty region for the second day.
To expedite the solution process the 3-day time-progressive problem is first performed
on a coarse grid. The resulting path for the first day from this coarser solution is
shown in Figure 5-16. The solution time is 755sec.
220
D.45
20
0.4
0.35
20
3
0.25
15
0.2
10
O.15
0.1
0.05
5
10
15
20
25
30
35
0
Figure 5-16: Coarsened paths generated for day 1 (August 26) during the first phase
of the solution.
The end-point information from the coarser solution is projected to and introduced
as a constraint on the full grid to narrow down the end point region as an attempt
to expedite the solution. The resulting paths are shown in Figure 5-17. This second
leg of the solution takes 35sec.
ww
®0.5
0.4
r".0.35
40.3
&301
0.25
0.15
0.1
20
4i
0.05
0
Figure 5-17: Final paths generated for day 1 (August 26) during the first phase of
the solution.
The z-coordinates are calculated as explained in the previous section. The complete coordinates of paths of both vehicles are presented in Table 5.4.
Figure 5-18 shows the paths calculated for August 27 during the first phase of
solution. Although no data will be assimilated using these paths, they are presented
221
Vehicle
Path-Point Number IX (km)
42
1
IY (km)
_
Vehicle 2
3
Z (m)
-15
X (km)
32
IY (km) [Z
7
(m)
-20
2
41
2
-15
31
6
-25
3
4
5
6
7
8
40
39
38
37
36
35
2
2
2
2
2
1
-15
-15
-15
-15
-15
-15
30
31
30
29
28
27
5
4
3
2
3
3
-30
-30
-30
-30
-30
-30
Table 5.4: The path-point coordinates calculated by the dynamic method in tabular
form for day 1.
so
0.5
W_-
4M,
0.3
20
O.2
10-
0.1
00
i6
20
30
40
50
60
70
0
Figure 5-18: Final paths generated for day 2 (August 27) during the first phase of
the solution.
222
for the sake of comparison with the updated field in order to see the effect of data
assimilation.
Next it it assumed that some fictitious measurements are performed along the
path for August 26 and these measurements are assimilated into the Harvard Ocean
Prediction System (HOPS). It is important to note at this point that only measurements from August 26 are assimilated, not from August 27, since the field for August
27 will be updated at the end of phase one and measurements from August 27 will
be assimilated at the end of the second phase where updated fields will be used. This
part of the project is performed by a collaborating group in Harvard University and
the simulation details are out of the scope of this thesis. One can see [68] for further
details for data assimilation aspects.
The uncertainty fields for August 27 and 28 are updated as a result of data assimilation. The second phase of the solution involves solving a 2-day time-progressive
case problem using uncertainty data for August 27 and 28. The starting points of
both vehicles for August 27 are set to be the end points of the paths calculated in
phase one for August 26. As in the first phase the problem is initially solved on a
coarser grid. Resulting paths from this phase are shown in Figure 5-19. Solution on
the coarsened grid takes 634sec.
3004
03
25
20
10
5.0
Go
Is
1
15
20
25
30
25
Figure 5-19: Coarsened paths generated for day 1 (August 27) during the second
phase of the solution.
As in the first phase, the end-point information from the coarser solution is pro-
223
p.-
Vehicle2
Vehicle 1
[Path-Point Number [X (km)
35
1
I Y (km)
1
[Z (m)
-15
X (km) I Y (km)
3
27
Z (m)
-20
2
34
1
-20
26
4
-20
3
4
5
6
7
8
33
32
31
30
29
28
1
1
1
1
1
1
-20
-20
-20
-20
-20
-20
27
28
29
30
31
32
5
6
6
4
3
3
-20
-20
-20
-20
-20
-20
Table 5.5: The path-point coordinates calculated by the dynamic method in tabular
form for day 2.
jected to and introduced as a constraint on the full grid. The problem is solved on the
full grid and the resulting paths are shown Figure 5-20. Effect of data assimilation
on the uncertainty field for August 27 can easily be seen by comparing Figure 5-20
and Figure 5-18. This second leg of the solution takes 260sec.
0.4
W0-
0.3
40-r
025
L 301
,0,2
OJ75
0.1
101
00
20
30
Q0
50
00
10
0
Figure 5-20: Final paths generated for day 1 (August 27) during the second phase of
the solution.
The z-coordinates are again calculated as explained in the previous section. The
complete coordinates of paths of both vehicles are presented in Table 5.5.
The paths calculated for August 28 during the second phase of solution are presented in Figure 5-21. No data is assimilated into HOPS from August 28, it is merely
included for comparison purposes.
224
I.
60
40
0.45
0.35
.0.3
0.20
30
10.2
20
0.10
101
10
-
0
0.05
10
20
30
40
50
60
70
0
Figure 5-21: Final paths generated for day 2 (August 28) during the second phase of
the solution.
The fictitious measurements from August 27 are assimilated into HOPS and updated uncertainty field for August 28 is generated.
The third phase of the solution involves solving a single-day 2-vehicle problem
using this updated field for August 28. The starting point of vehicles are equated
to the end points from the previous day (August 27).
This is a relatively easier
problem to solve and a presolution on a coarsened grid is not needed as in previous
two phases.
The solution to this final phase is obtained rather quickly in a mere
9.6sec. The resulting paths are presented in Figure 5-22.
0.5
01
0.45
&.35
-0,3
0.25
0.-2
0.15
0:1
0.05
0
10
20
30
40
50
60
70
Figure 5-22: Paths generated for August 28 during the third phase of the solution.
225
o NVehicle 1
Path-Point Number X (km) Y (km)
1
1
28
1
2
27
1
26
3
25
1
4
1
24
5
1
23
6
1
22
7
1
21
8
Vehicle 2
Z (m)
-25
-25
-25
-25
-25
-30
-30
-30
X (km)
32
31
30
29
28
27
26
25
Y (km)
3
2
2
3
3
3
3
3
Z (m)
-25
-25
-25
-25
-20
-20
-20
-20
Table 5.6: The path-point coordinates calculated by the dynamic method in tabular
form for day 3.
The z-coordinates can be calculated as explained before. The complete coordinates
of paths of both vehicles are presented in Table 5.6.
5.6
Conclusion
In this chapter a real-time problem is solved by using a two-vehicle adaptive sampling fleet.
The problem parameters are presented in Figure 5.1.
Along the way
some techniques to determine the starting points and regions of high uncertainty
that are beneficial to visit are developed. Also additional methods to help the vehicle
visit these high uncertainty regions are introduced. At the core of the chapter lies
the solution to a specific case by utilizing two different formulations, namely static
and dynamic formulations. Static formulation assumes the absence of resources to
update the uncertainty data for following mission days continuously by assimilation
into HOPS. Therefore the whole problem is solved based on what is available on the
first day. Results for the static case are presented in Section 5.4. The second method,
which is referred to as the dynamic method, incorporates the data assimilation using
HOPS, which means the uncertainty fields are updated predicated on the data collected on previous day, and then solves a series of 2-day time-progressive problems till
the desired point in time is reached. In the example solved in this chapter the time
span of the problem was 3 days, which could be changed to any number depending
226
on the problem scenario. Results for the dynamic case are presented in Section 5.5.
When the results for the two different approaches are calculated the difference
between them is easily observed. The most important feature of the dynamic case is
the fact that the high-uncertainty region is narrowed down as a result of successive
data assimilations. One by one comparison of uncertainty fields belonging to August
27 and 28 reveals this fact.
The dynamic method reduced the overall magnitude
of the uncertainty field (by ~23% for both August 27 and 28) and confined the
high uncertainty to a smaller region. This is very important to observe since it tells
about the improvement in the quality of the forecast. In terms of the path planning,
using the dynamic approach overall vehicle motion is restricted into a smaller region
making the shadowing by a ship an easier task.
Also the AUVs find themselves
located in closer vicinity of high-uncertainty regions making it possible to focus on
more valuable locations in terms of data acquisition. Alternatively to save on fuel,
the closeness to high-uncertainty regions might provide the basis to slash the range of
the vehicle for some mission days. At this time we do not have enough data to make
the generalization that under any scenario similar results will be generated for high
uncertainty region narrowing and transition characteristics. Such investigation will be
the subject of future work. The paths generated by the dynamic case are remarkably
different from those generated by the static case. To compare the paths produced by
the static and the dynamic method in a quantitative manner, the uncertainty field
for day 4 must be generated by assimilating the fictitious measurements along the
paths created by both methods and the resulting uncertainty fields must be compared.
This will be the subject of a future study. Based on a visual assessment, we can say
that the difference between the paths generated by static and dynamic method are
remarkable and the static method will not be utilized in the future.
Another method, which is based on incorporation of an approximate data assimilation scheme into the optimization framework, could also be investigated. As it will
be detailed in the next chapter such an approach will be subject of future work.
227
228
Chapter 6
Conclusions and Recommendations
6.1
Conclusions
In this thesis we have addressed the problem of path planning of Autonomous Underwater Vehicles (AUVs) for adaptive sampling. Adaptive sampling is a novel concept
which aims to improve the quality of a forecast by deploying extra assets in addition
to the routine component of an observation network. Since the deployment of the
extra assets is a function of changing conditions and the additional assets must be
constantly repositioned to conform to these characteristics, they are given the name
"adaptive". The problem we are dealing with includes the calculation of the paths of
AUVs in an adaptive sampling fleet on a mission region such that a given optimality criteria based on the maximization of path integrals on uncertainty maps should
be satisfied under some inter-vehicle coordination, communication and motion constraints. The uncertainty maps (also known as summary maps) are the main input
to the problem and they represent the amount of uncertainty existing on the forecast
at a given location. The summary maps are supplied by out research collaborators at
Harvard University. They are obtained using the Harvard Ocean Prediction System
(HOPS) [3]. The summary maps have been used in adaptive sampling in a manual,
unstructured fashion to calculate vehicle paths before. This research aims to deal
with the problem on a mathematical and quantitative basis.
Two methods have been developed to solve the problem.
229
Both methods uti-
lize Mixed Integer Programming formulations to create the desired paths. The first
method is the preliminary method that we worked on and is based on a network
flow formulation. Our studies revealed that some similarities with Selective Traveling Salesman Problem (STSP) formulation do exist. This formulations was found
to be sufficient for problems involving single-day long adaptive sampling missions.
The complete real world problems often times include multiple-day long missions.
Therefore it is of cardinal interest to be able to solve this class of problems as well.
The intrinsic limitations of this network-based method renders it unsuitable for multiple day long mission solutions. There also exists a preprocessing burden in order to
set the input matrices to the problem. This also becomes overt when multi-vehicle
problems are solved. These problems with the network-based method provided the
motivation to seek a more powerful and flexible formulation.
The network based
method is still presented in the thesis to show the reader the extent and capabilities
of such a formulation. The main strength of the second method is the fact that it can
handle multiple-day adaptive sampling missions. The formulation approach pivots
around the extensibility and scalability concepts. By extensibility, we mean the ability to cover unforeseen situations that might arise as the adaptive sampling concept
and needs evolve. Adaptive sampling as a concept is still a very new research area
in the sense that we define the problem and modifications on the formulations are
inevitable. Therefore it is vital that the formulation must be flexible and extensible to
allow future modifications. By scalability, we mean the ease of handling multi-vehicle
case scenarios. The suggested second formulation does not require any preprocessing
as the first network based-method and only minimal intervention and modification
is required to change the number of vehicles in the adaptive sampling fleet. Also
the general framework of the formulation inspired ideas as to how to handle some
side problems which are required as initial conditions for the operation of the main
method. In this respect the method was also found to be very valuable. All these
factors made the second method stand out as the preferred method for current and
possibly future research. The method is applied to many test problems to elaborate
the use of some case-dependent auxiliary techniques and performance issues. Along
230
with other results, an analysis of sensitivity to vehicle range, fleet size, starting point
position axe performed and presented in Chapter 4. The method was known to be
NP-hard, since it is an integer formulation. This was verified by the experimental results. The computational time for the method was shown to increase exponentially as
a function of range, number of vehicles in the fleet and the size of the field of interest.
Practically, the maximum time allowed for the solution was 2 hours. Our results were
well below this upper limit. Comparison of solutions times by the second method
with the first network-based method revealed that the second method produced results faster than the first one. This was another upside of the second method. Also
multi-day long mission scenarios (named as time-progressive case) were also studied
and results were again presented in Chapter 4.
In Chapter 5, a full-fledged real world problem was solved by the second method
taking two different approaches and the results were presented. It was meant to investigate the closeness of the results produced by two methods. The first approach
is called the static approach and is meant to be used in the case of scarcity of computational resources. During a three-day-long adaptive sampling mission, it uses the
uncertainty information (which is the input to the problem) that was available on
the first day. This method ignores the changes in the fields during the duration of
the mission as the result of the assimilation of measurements performed on previous
days into the forecasting system. The second approach is named the dynamic approach and has the further intricacy that the uncertainty information is constantly
updated for each day using data assimilation features of the Harvard Ocean Prediction System (HOPS). This project is part of a broader project which is based on a
framework known as Dynamic Data Driven Applications Systems (DDDAS), which
is a promising concept in which the computational and experimental measurement
aspects of a computing application are dynamically integrated to improve the simulation/computational results. The dynamic method is illustrative of how the path
planning for the adaptive sampling project we study in this thesis fits into the greater
picture and is the approach intended to be used. The static method was suggested
to see whether it could be helpful as an approximate solution. The results from the
231
dynamic approach show that the uncertainty on the quality of the forecast decreases
and is confined in a smaller region, which proves the strength of the method. Comparison of the results from the static and dynamic methods exhibits a rather large
discrepancy between the two. This suggests that the static method should better not
be used to approximate the dynamic one.
Overall the results obtained from this initial phase of the research were satisfactory
and motivate future research on this subject.
6.2
Recommendations for Future Work
The inputs to the problem can be counted as uncertainty fields, vehicle ranges and
vehicle starting points. The vehicle starting points are calculated using a small auxiliary optimization program presented in Chapter 5. We believe there is still room for
improvement of this technique. Also there exist some important parameters in the
formulation which are responsible for setting the inter-vehicle distance and regulating
general motion shape to avoid curling. Methods can be developed to automatically
determine optimal values of these parameters by extracting information from a given
uncertainty field and starting points.
In this thesis mainly 2D cases have been solved. 3D cases have been solved by
reducing them to 2D cases. The necessary formulation for 3D cases has already been
presented. Future work on fine-tuning the solver parameters for the 3D case is also
recommended.
In this thesis we are finding the coarse paths for the AUVs. The next step in path
planning, which out of the scope of this work, is refining of the generated paths. We
can use the proposed formulation at a micro level to smooth the paths. Moreover vehicle dynamics (which might be important at a micro level) can easily be incorporated
into the formulation.
There were a couple of different modes of operation and classes of problems that
were investigated. Therefore a level of flexibility was needed and this justified the use
of modeling techniques as opposed to heuristics, so that the changes in problem setting
232
and formulation could be accommodated with ease. The mathematical modeling
techniques empower us with the flexibility to introduce necessary alterations with
relatively small amount of effort. Hence heuristics were not deemed necessary for this
initial part of the research. Also heuristic approaches need a reference optimal solution
to compare the quality of their solution. Nonexistence of any previous work was also
another motivation to pursue methods that provide guaranteed optimal solutions.
Given the curse of dimensionality problem that exists for NP-hard problems, the
methods presented in this thesis might not be suitable to be used as the problem
sizes increase beyond some limit. In that case parallel computing techniques could
be tried. The software platform chosen for the implementation and solution of the
problem already supports parallel computing [41], [18], [19], [11] therefore it will be
a relatively easy task to perform. Another option is the development of heuristics.
Heuristics might expedite the solution on the cost of sacrifice on optimality. A study
on heuristics would be beneficial and is recommended for a future research topic.
During a time-progressive problem the effect of measurements done on a previous day is reflected on the uncertainty fields for the following days by using data
assimilation features of HOPS. The results from a specific day are supplied to HOPS
and it runs separately from the optimization code. Therefore the connection between
the two is not seamless. A HOPS run is computationally intensive and might take
several hours. The assimilation part of HOPS is linear and it can be simplified to
be used in an approximate calculation.
Given its linear state transformation this
approximate assimilation operation can be embedded into optimization code. This is
a very important concept since it builds the communication link between the choice
of measurement locations on one day and its effect on the next day's uncertainty
field. Currently, when a measurement location is decided by the optimizer during
the solution, its effect on the next day's uncertainty field can not be accounted for.
If the aforementioned approximate assimilation link can be established, choice of a
measurement spot will be made by considering its effect on the next day's uncertainty
field. At the end of each day the full-size HOPS can again be run for the ultimately
precise updates on the uncertainty field. A variation of the same idea could also be
233
used in single day long missions where the vehicle range is rather long. Normally it
is reasonable to assume that for short and medium ranges the uncertainty field will
stay constant throughout a given day. But when the ranges become excessively long,
the uncertainty field might better be assumed not to be static. Earlier measurement
made on that day can be assimilated using same approximate assimilation ideas to
update the uncertainty field. Successful execution of this idea will most likely require
the use of advanced computation techniques, such as parallel/grid computing. Such
a formulation is likely to improve the results and is recommended as a future research
topic.
234
Bibliography
[1] http://www.cise.nsf.gov/dddas.
[2] http://www.nsf.gov/funding/pgm-summ.jsp?pims-id=13511&org=CNS.
[31 http://oceans.deas.harvard.edu/HOPS/HOPS.html.
[4] http://www.evolutionary-algorithms.com/tsproblem.html.
[5] http://www.cs.sfu.ca/~Aou/BonsaiG.
[6] http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Blurbs/proclp.html.
[7] http://www.iiasa.ac.at/-marek/soft/descr.htmlMOMIP.
[8] http://www.informatik.uni-koeln.de/old-ls-juenger/projects/abacus.html.
[9] http://www.coin-or.org.
[10] http://www.ilog.com.
[11] http://www.dashoptimization.com.
[12] http://www.link-quest.com/index.htm.
[13] http://people.deas.harvard.edu/-Ieslie/AOSNII/.
[14] http://www.mbari.org/aosn/default.htm.
[15] http://www.mbari.org/aosn/AOSN-MB2003table.htm.
[16] http://auvlab.mit.edu/vehicles.
235
[17] Dash Optimization, Xpress-MP Optimizer Reference Manual.
[18] http://ace.acadiau.ca/math/ACMMaC/private-docs/cplex/usrcplex/parallel7.html.
[19] http://www-unix.mcs.anl.gov/-inderot/projects/pio.html.
[20] DDDAS: Dynamic data driven applications systems. National Science Foundation, June 2005. Program Solicitation, NSF 05-570.
[21] N. L. Baker and R. Daley. Observation and background adjoint sensitivity in the
adaptive observation-targeting problem. Quarterly Journal of the Royal Meteorological Society, 146:1431-1454, 2000.
[22] Egon Balas. Prize collecting travelling salesman problem. Networks, 19:621-636,
1989.
[23] J. Barraquand, L. E. Kavraki, J. C. Latombe, T. Y. Li, R. Motwani, and
P. Raghavan. A random samplind scheme for path planning.
[24] E. M. L. Beale and J. A. Tomlin. Special facilities in a general mathematical
programming system for non-convex problems using ordered sets of variables. In
J. Lawrence, editor, Proceedings of the 5th International Conference on Operations Research, Tavistock, London, 1969.
[25] M. Bellmore and G.L. Nemhauser. The traveling salesman problem: A survey.
Operations Research, 16:538-558, 1968.
[26] T. Bergot. Adaptive observations during FASTEX: A systematic survey of upstream flight. Quarterly Journal of the Royal Meteorological Society, 125:3271-
3298, 1999.
[27] Dimitri Bertsekas. Nonlinear Programming. Athena Scientific, 1999.
[28] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 11, page 480. Athena Scientific, 1997.
236
[29] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 7, page 277. Athena Scientific, 1997.
[30] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 7, pages 28-284. Athena Scientific, 1997.
(31] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 7, page 332. Athena Scientific, 1997.
[32] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 7, pages 383-384. Athena Scientific, 1997.
[33] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 7, page 34. Athena Scientific, 1997.
[34] Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization,
chapter 11, pages 485-490. Athena Scientific, 1997.
[35] C. H. Bishop, B. J. Etherton, and S. J. Majumdar. Adaptive sampling with the
ensemble transform Kalman filter. Part I: Theoretical aspects. Monthly Weather
Review, 129:420-436, 2001.
[36] C. H. Bishop and Z. Toth. Ensemble transformation and adaptive observations.
Journal of Atmospheric Sciences, 56:1748-1765, 1999.
[37] R. Buizza and A. Montani. Targeted observations using singular vectors. Journal
of Atmospheric Sciences, 56:1748-1765, 1999.
[38] P. R. Chandler and S. Rasmussen. UAV cooperative path-planning. In Proc. of
the AIAA Guidance, Navigation, and Control Conference, number AIAA-2000-
4370, August 2000.
[39] R. C. Chang. The encapsulation of legacy binaries using an xml-based approach
with applications in ocean forecasting. M. Eng. thesis in Electrical Engineering
and Computer Science, Massachusetts Institute of Technology, May 2003.
237
[40] Thomas B. Curtin, James G. Bellingham, Josko Catipovic, and Doug Webb.
Autonomous oceanographic sampling networks. Oceanography,6(3):86-94, 1993.
[41
J. Eckstein, C. A. Phillips, and W. E. Hart. Pico: An object-oriented framework
for parallel branch and bound. RUTCOR Research Report 40-2000, Rutgers
University, Piscataway, NJ, 2000.
[42] M. Ehrendorger. Predicting the uncertainty of numerical weather forecasts: A
review. Meteorology Zeitschrift, 6:147-183, August 1997.
[43] F. Darema et al. NSF sponsored workshop on dynamic data driven application
systems. Technical report, National Science Foundation, 2000.
[44] C. Evangelinos, R. Chang, P.F.J. Lermusiaux, and N. M. Patrikalakis. Rapid
real-time interdisciplinary ocean forecasting using adaptive sampling and adaptive modeling and legacy codes:
Component encapsulation
using XML.
ICCS'2003 Workshop on Dynamic Data Driven Application Systems, Melbourne
Australia, June 2003.
[45] C. Evangelinos, R. Chang, P.F.J. Lermusiaux, and N. M. Patrikalakis. Webenabled configuration and control of legacy codes: An application to ocean modeling. International Journal of Cooperative Information Systems, 2004. In Press.
[46] E. Fiorelli, N.E. Leonard, P. Bhatta, D. Paley, R. Bachmayer, and D.M. Fratantoni. Multi-AUV control and adaptive sampling in monterey bay, June 2004.
[47] I. Foster and C. Kesselman.
The Grid: Blueprint for a New Computing In-
frastructure. Morgan Kaufmann, 1999.
[48] M. T. Garey and D. S. Johnson. Computers and Intractability:A Guide to the
Theory of NP-Complete Problems. Freeman, New York, 1979.
[49] S. K. Geiger. Legacy computing markup language (LCML) and legend - legacy
encapsulation for network distribution. M.S. thesis in Ocean Engineering, Massachusetts Institute of Technology, June 2004.
238
[50] R. Gelaro, R. H. Langland, G. D. Rohaly, and T. E. Rosmond. An assessment of
the singular vector approach to targeted observations using the FASTEX data
set. Quarterly Journal of the Royal Meteorological Society, 125:3299-3328, 1999.
[51] Michel Gendreau, Gilbert Laporte, and Fr6deric Semet. A branch-and-cut algorithm for the undirected selective traveling salesman problem.
Networks,
32(4):263-273, 1998.
[52] F. Glover and M. Laguna. Tabu Search. Kluwer, Dordrecht, Netherlands, 1996.
[53] D. E. Goldberg.
Genetic Algorithms in Search, Optimization, and Machine
Learning. Addison-Wesley, Reading, MA, 1989.
[54] B. L. Golden, L. Levy, and R. Vohra. The orienteering problem. Naval Research
Logistics, 34:307-318, 1987.
[55] B. L. Golden,
Q. Wang, and L. Liu. A multi-faceted heuristics for the orienteering
problem. Naval Research Logistics, 35:359-366, 1988.
[56] D. Guo. Automated feature extraction in oceanographic visualization. M.S.
thesis in Ocean Engineering, Massachusetts Institute of Technology, Cambridge,
Massachusetts, February 2004.
[57] D. Guo, C. Evangelinos, and N. M. Patrikalakis. Flow feature extraction in
oceanographic visualization. Computer Graphics International Conference, CGI,
pages 162-173, Crete, Greece, June 2004. Los Alamitos, CA: IEEE Computer
Society Press, 2004.
[58] T. M. Hamill and C. Snyder. Using improved background-error covariances from
an ensemble Kalman filter for adaptive observations. Monthly Weather Review,
130:1552-1572, 2002.
[59] R. Horst and H. Tuy. Global Optimization: Deterministic Approaches. SpringerVerlag, Berlin, 3rd edition, 1996.
239
[60] C. Houstis, S. Lalis, V. Christophides, D. Plexousakis, E. Vavalis, M. Pitikakis,
K. Kritikos, A. Smardas, and C. Gikas. A service infrastructure for e-science: the
case of the arion system. In E-Services and the Semantic Web workshop, number
2512 in Lecture Notes in Computer Science, page 175187, Toronto, Canada, 2002.
14th Intern. Conf. on Advanced Information Systems Engineering (CAiSE 2002),
Springer.
[61] D.S. Johnson and L.A. McGeoch. Local Search in Combinatorial Optimization,
chapter The traveling salesman problem: a case study, page 215310. John Wiley
& Sons, UK, 1997.
[62] M. Jiinger and P. St6mer. Solving large-scale traveling salesman problems with
parallel branch-and-cut. Technical Report 95.191, Institut fur Informatik, Universitst K61n, 1995.
[63] E.L. Lawler J.K. Lenstra A.H.G. Rinnoy Kan and D.B. Shmoys.
The Travel-
ing Salesman Problem. Wiley-Interscience Series in Discrete Mathematics and
Optimization. John Wiley & Sons, New York, 1985.
[64] P. J. M. Van Laarhoven and E. H. L. Aarts. Simulated Annealing: Theory and
Applications. Kluwer, Dordrecht, Netherlands, 1987.
[65] R. H. Langland and G. D. Rohaly. Adjoint-based targeting of observations for
FASTEX cyclones. In Reprints, Seventh Conference on Processes,pages 369-371.
American Meteorology Society, 1996.
[66] Gilbert Laporte. Generalized subtour elimination constraints and connectivity
constraints. The Journal of OperationalResearch Society, 37(5):509-514, May
1986.
[67] Gilbert Laporte and Silvano Martello. The selective travelling salesman problem.
Discrete Applied Mathematics, 26:193-207, 1990.
240
[68] P. F. J. Lermusiaux. Error subspace data assimilation methods for ocean field
estimation: Theory, validation and applications.PhD thesis, Harvard University,
May 1997.
[69] P. F. J. Lermusiaux and A. R. Robinson. Data assimilation via error subspace
statistical estimation. Part i: Theory and schemes.
Monthly Weather Review,
127:1385-1407, 1999.
[70] P.F.J. Lermusiaux. Estimation and study of mesoscale variability in the strait
of sicily. Dynamics of Atmospheres and Oceans, 29:255 -303, 1999.
[71] P.F.J. Lermusiaux. Evolving the subspace of the three-dimensional multiscale
ocean variability:
Massachusetts bay.
J. Marine Systems, Special issue on
"Three-dimensional ocean circulation: Lagrangian measurements and diagnos-
tic analyses", 29(1-4):385-422, 2001.
[72] P.F.J. Lermusiaux, C. Evangelinos, R. Tian, P.J. Haley, J.J. McCarthy, N.M.
Patrikalakis, A.R. Robinson, and H. Schmidt. Adaptive coupled physical and
biogeochemical ocean predictions: A conceptual basis. In F. Darema, editor,
Computational Science - ICCS 2004, volume 3038 of Lecture Notes in Computer Science, pages 685-692. International Conference on Computational Science, 2004.
[73] P.F.J. Lermusiaux, A.R. Robinson, P.J. Haley, and W.G. Leslie. Filtering and
smoothing via error subspace statistical estimation. In Advanced interdiscipli-
nary data assimilation,pages 795-802. The OCEANS 2002 MTS/IEEE, Holland
Publications.
[74] T. Lozano-Perez.
Spatial planning with polyhedral models. (e.e.), MIT, June
1980.
[75] S. J. Majumdar, C. H. Bishop, and B. J. Etherton. Adaptive sampling with
the ensemble transform Kalman filter. Part II: Field program implementation.
Monthly Weather Review, 130:1356-1369, 2002.
241
[76] P. Miliotis. Integer programming approaches to the travelling salesman problem.
Mathematical Programming, 10:367-378, 1976.
[77] J. Mockus.
Bayesian Approach to Global Optimization. Kluwer, Dordrecht,
Netherlands, 1989.
[78] P. Prosser P. Kilby and P. Shaw. Meta-heuristics: Advances and Trends in Local
Search for Optimization, chapter Guided Local Search for the Vehicle Routing
Problems With Time Windows, pages 473-486. Kluwer Academic Publishers,
Boston, 1999.
[79] T. N. Palmer, J. Gelaro, J. Barkmeijer, and R. Buizza. Singular vectors, metrics,
and adaptive observations. Journal of Atmospheric Sciences, 55:633-653, 1998.
[80] N. M. Patrikalakis.
Poseidon:
A Distributed Information System for Ocean
Processes. http://czms.mit.edu/poseidon.
[81] N. M. Patrikalakis, S. L. Abrams, J. G. Bellingham, W. Cho amd K. P. Mihanetzis, A. R. Robinson, H. Schmidt, and P. C. H.Wariyapola. The digital ocean.
In Computer Graphics International,pages 45-53, Geneva, Switzerland, 2000.
IEEE, Los Alamitos, CA: IEEE Computer Society Press.
[82] N. M. Patrikalakis, J. J. McCarthy, A. R. Robinson, H. Schmidt, C. Evangelinos, P. J. Haley, S. Lalis, P. F. J. Lermusiaux, R. Tian, W. G. Leslie, and
W. Cho.
"Towards a Dynamic Data Driven System for Rapid Adaptive Inter-
disciplinary Ocean Forecasting", chapter in Dynamic Data-Driven Application
Systems. Kluwer Academic Publishers, Amsterdam, 2004. To appear.
[83] Arthur Richards, John Bellingham, Michael Tillerson, and Jonathan How. Coordination and control of multiple UAVs. In Proc. of the AIAA Guidance, Navigation, and Control Conference, Monterey, California, August 2002. Paper No.
AIAA-2002-4588.
[84] A. R. Robinson.
"Forecastingand simulating coastal ocean processes and vari-
abilities with the Harvard Ocean Prediction System", chapter in Coastal Ocean
242
Prediction,pages 77-100. AGU Coastal and Estuarine Studies Series. American
Geophysical Union, 1999.
[85] A.R. Robinson and P.F.J. Lermusiaux. Data assimilation for modeling and predicting coupled physical-biological interactions in the sea. In A.R. Robinson,
J.R. McCarthy, and B.J. Rothschild, editors, The Sea, volume 12 of BiologicalPhysical Interactions in the Ocean, pages 475-536. John Wiley & Sons, 2002.
[86] T. Schouwenaars, B. DeMoor, E. Feron, and J. How. Mixed integer programming
for safe multi-vehicle cooperative path planning. Porto, Portugal, September
2001. EEC.
[87] C. Schumaker, P. Chandler, and S. Rasmussen. Task allocation for wide area
search munitions via network flow optimization. In AIAA Guidance, Navigation,
and Control Conference, Montreal, Canada, August 2001.
[88] Kazua Sugihara and John Smith. Genetic algorithms for adaptive planning of
path and trajectory of a mobile robot in 2d terrains. IEICE Transactions on
Information and System, 82(1):309-317, 1999.
[89] S. Tsch6ke, R. Lfiling, and B. Monien. Solving the traveling salesman problem
with a distributed branch-and-bound algorithm on a 1024 processor network.
[90] T. Tsiligirides. Heuristic methods applied to orienteering. The Journal of Operational Research Society, 35(9):797-809, September 1984.
[91] H. Paul Williams. Model Building in Mathematical Programming, chapter 8,
pages 151-153. John Wiley & Sons, Ltd, fourth edition, 1999.
[92] H. Paul Williams. Model Building in Mathematical Programming. John Wiley
& Sons, Ltd, fourth edition, 1999.
[93] H. Paul Williams. Model Building in Mathematical Programming, chapter 9,
pages 176-181. John Wiley & Sons, Ltd, fourth edition, 1999.
243
[94] H. Paul Williams.
Model Building in Mathematical Programming, chapter 8,
page 153. John Wiley & Sons, Ltd, fourth edition, 1999.
[95] H. Paul Williams.
Model Building in Mathematical Programming, chapter 9,
page 169. John Wiley & Sons, Ltd, fourth edition, 1999.
[96] Tai-Hsi Wu, Chinyao Low, and Jiunn-Wei Bai. Heuristic solutions to multi-depot
location-routing problems. Comput. Oper. Res., 29(10):1393-1415, 2002.
244
Download