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