Volume 17, Number 3, November 2014
Precedence And Time Windows Constrained Travelling Salesman Problem (TSP) In Maritime Surveillance
- 1 Center for OR and Analysis, Defence R&D Canada, Department of National Defence, National Defence Headquarters, 101 Colonel By Drive, Ottawa, Ontario, K1A 0K2, Canada.
- 2 Department of Mathematics & Statistics, McGill University, Burnside Hall, 805 Sherbrooke St W., Montreal, Quebec, H3A 0B9, Canada.
Abstract
Maritime surveillance initially involves the military operational commander deciding on the areas to be searched. The aim is to detect and classify targets/ships subject to the aircraft’s time-on-station constraint, namely the aircraft is restricted to no more than 12 flying hours/day. Very often, a precedence relationship exists between regions to be searched. In addition, time windows or rigid lower and upper bounds on the time the regions have to be searched are also specified. It has recently been shown by Marlow et al [1] and the authors [5] that the surveillance problem can be modelled as a travelling salesman problem (TSP). However, our problem is unique and distinct from the classical TSP. The time windows and precedence constraints are frequently subject to changes or revisions because of continuous intelligence updates. Previously calculated flight path can become infeasible. The solution procedure should only involve easy implementable algorithms so as to allow flight crew to readily recalculate the revised flight path, preferably in an interactive mode. This paper develops an implementable hybrid dynamic programming/heuristic algorithm for surveillance mission planning. To avoid incorporating the difficulty of time windows or precedence constraint changes in the formulation, we adopt the K best solution strategy approach [2]. The essence is to put aside the time windows and/or the precedence constraint and compute successively more desirable solutions for the TSP until the best solution which does satisfy the change restrictions is found, namely the kth best solution.
Introduction
Throughout history, the central problem in maritime warfare has been to locate and identify the enemy. Surveillance, which is defined as the systematic observation of aerospace, surface, sub-surface areas, places and objects by visual, electronic, photographic and other means, therefore, is fundamental to warfare at sea [3]. By conducting surface surveillance operations, Canada is able to enforce its presence/interest in coastal waters and thus protect Canadian sovereignty; furthermore, surveillance operations provide Canada with a means to deter non-state threats such as terrorism or illegal migrants infringing into Canadian coastal waters [4].
In brief, a surveillance operation (in Canada) initially involves the military operational commander deciding on the areas to be searched. Next, a maritime patrol aircraft (MPA) will be deployed to the areas of interest to perform the surveillance function. The aim of the operation might be to detect and classify targets/ships (or classify as many targets as possible) subject to the aircraft’s time-on-station constraint, namely the MPA is restricted to no more than 12 flying hours per day. The latter is imposed to ensure crew safety. The surveillance mission may incorporate no-fly-zones, an area over which an aircraft cannot fly [5]. Missions are often faced with the sequential ordering of searching a set of regions where precedence relations between the regions exist. Time windows or rigid lower and upper bounds on the time the regions have to be searched are also specified.
It has been observed by Marlow et al [1] and Ng and Sancho [5] that the maritime surveillance problem can be modelled as a travelling salesman problem and its variants [6]. The traveling salesman problem TSP is one of the most intensively studied problems in optimization [7,8]. It is very easy to describe but very difficult to solve. The theoretical importance of the TSP is that it belongs in the class of combinatorial optimization problems known as NP-complete. On the other hand, there are also important cases of practical problems that can be formulated as TSP or its generalizations, for example, the drilling of printed circuit boards, the overhauling of gas turbines, the analysis of the structure of crystals (www.tsp.gatech.edu/index.html). The theoretical and practical importance of the TSP has therefore resulted in significant research activities [7,8]. However, the maritime surveillance problem modelled as a TSP has its unique features. After the MPA has commenced its operations and is away from the home base, the time windows and precedence constraints frequently change or are subject to revisions because of continuous intelligence updates. To capitalize on the most recent intelligence, the revised search path subject to conditions change has to be recalculated by flight crew (on board the MPA) who are generally not equipped or knowledgeable enough to understand sophisticated analytical algorithms. Thus the solution procedure should only involve easy implementable algorithms, preferably in an interactive mode. The aim of this paper is to develop an implementable hybrid dynamic programming/heuristic algorithm for surveillance mission planning. Previously, Mingozzi, Bianco and Ricciardelli [9] have discussed the use of dynamic programming strategies for the TSP with time windows and precedence constraints. However, the calculated optimal solution may become infeasible or unacceptable when time windows or precedence relations (conditions) change. Their methodology cannot be easily implemented in an interactive mode for the flight crew. The above mentioned issues are also typical drawbacks when other existing TSP techniques are applied to solve the surveillance problem. To avoid incorporating the difficulty of time windows or precedence constraint changes in the formulation, we adopt the K best solution strategy approach [2]. The essence is to put aside the time windows and/or the precedence constraint and to compute successively more desirable solutions for the TSP until the best solution which does satisfy the change restrictions is found, namely the kth best solution.
Model formulation
In this paper, we assume only the time windows are subject to changes because of intelligence updates. We formulate the dynamic programming formulation to the precedence constrained travelling salesman problem (PTSP). (The case of both time windows and precedence relations are subject to continuous changes can be dealt with very easily, since the dynamic programming formulation for the TSP is readily available.) We propose a ‘check and confirm’ heuristic to find the best kth PTSP solution that satisfies the latest time windows updates.
Let Nj = {2,3,…, j–1, j+1, … , N},
Pj = set of all nodes (other than node 1) that must precede node j
and
S = subset of Nj containing i members.
Define the optimal value function:
fi (j, S) = length of the shortest path from city 1 to city j via the set of i intermediate cities S, and satisfies the given precedence relations. (i indicates the number of cities in S).
The dynamic programming formulation is:
fi (j, S) = minkЄS [ fi–1(k, S – {k}) + dk,j ] if PjS or if Pj =Ø
= ∞ if Pj S
where dk,j is the distance from city k to city j; i = 1,2,…,N–2; j ≠ 1; SNj,
with boundary conditions:
f0 (j, -) = d1j if Pj=Ø
= ∞ otherwise
The solution is given by:
Rank minj=2,…,N {fN–2(j,Nj) + dj,1} values in ascending order w1, w2,……. The smallest and best solution is w1 and the second-smallest value is w2. (However, there is no guarantee that it is the second-best solution to the PTSP.) There might exist a value (or values) which is (are) larger than w1 but less than w2. We propose the following ‘check and confirm’ heuristic to find the in-between values and compute the K best solutions. The essence of the heuristic is based on the observation (Principle of Optimality) fN–3(k, Nk – {j}) is the optimal policy at node k, stage N–3. It therefore suffices only to examine whether there exists a value (or values), (obtained by combining the distance from node k to the previously identified node j and fN–3(k, Nk – {j})), between w1, w2. That is, we search for any ‘k’ such that:
If no ‘k’ exists, w2 is the second-best solution. If one ‘k’ exists, then fN–3(k, Nk–{j}) + dk,j + dj,1 is the second-best solution and w2 is the third-best solution.
Suppose two ‘k’ values exist between w1, w2 (denoted by k1, k2) and let:
We investigate whether other values exist between x1, x2. Using the same reasoning as provided in the above, namely fN–4(m, Nm – {k} – {j}) is the optimal policy at node m, stage N–4. We search for any ‘m’ such that:
fN–4(m, Nm – {k} – {j}) + dm,k + dk,j + dj,1 lies between x1, x2.
Suppose two ‘m’ values exist between x1, x2 (denoted by m1, m2).
Let:
Again we examine whether other values exist between y1 and y2. We search for any ‘p’ such that:
fN–5(p, Np – {m} - {k} - {j}) + dp,m + dm,k + dk,j + dj,1
lies between y1, y2. Suppose two ‘p’ values exist between y1, y2 (denoted by p1, p2) and let:
z1 = fN–5(p1, Np – {m} – {k} – {j}) + dp1,m1 + dm1,k1 + dk1,j + dj,1
z2 = fN–5(p2, Np – {m} – {k} - {j}) + dp2,m1 + dm1,k1 + dk1,j + dj,1
We then explore values that might exist between z1 and z2 using the same logic as outlined previously.
The case of having three or more values, say x1, x2, x3, … lying between w1, w2 are dealt with in a sequential manner. First, we consider x1, x2 and determine whether values exist between x1, x2. Repeat the process for x2, x3; then for x3, x4; etc. Cases for three or more z values lying between y1, y2 or y2, y3 are evaluated in a like manner. After the ‘check and confirm’ heuristic application to w1, w2; we proceed to apply the same heuristic to interval w2, w3 ….. and so forth.
We summarize the K best solutions found using the simple ‘check and confirm’ heuristic. We define vector (w1, w2, Xx, Yy, Zz) where w1, w2 denotes the smallest and 2nd smallest minj=2,…,N {fN-2(j, Nj) + dj,1} value respectively; Xx denotes the number of values (given by equation (2)) that exist between w1, w2, for example Xx = 1 indicates there exists one value greater than w1 but less than w2. Similarly Yy, Zz denotes the number of values existing between x1, x2 and y1, y2 respectively. The definitions of x1, x2, y1, y2 are defined in equations (3) and equation (4). We list the K best solutions found by the heuristic:
(w1, w2, Xx, Yy, Zz) k number of best solutions found, solutions presented in ascending order
(w1, w2, 0, 0, 0) k = 2, w1 < w2
(w1, w2, 1, 0, 0) k = 3, w1 < fN-3(k, Nk - {j}) + dk,j + dj,1 < w2
(w1, w2, 2, 0, 0) k = 4, w1 < x1 < x2 < w2
(w1, w2, 2, 1, 0) k = 5,
w1 < x1 < fN-4(m, Nm - {k} - {j}) + dm,k + dk,j + dj,1 < x2 < w2
(w1, w2, 2, 2, 0) k = 6, w1 < x1 < y1 < y2 < x2 < w2
(w1, w2, 2, 2, 1) k = 7,
w1 < x1 < y1 < fN-5(p, Np – {m} - {k} – {j}) + dp,m + dm,k + dk,j + dj,1 < y2 < x2 < w2
(w1, w2, 2, 2, 2) k = 8, w1 < x1 < y1 < z1 < z2 < y2 < x2 < w2
The five-component vector (w1, w2, Xx, Yy, Zz) can be extended to include six or seven components and so on if the above branching and tracking procedure warrants. Once the dynamic programming functional values min j=2,…,N {fN-2(j, Nj) + dj,1} have been evaluated, the heuristic only involves simple comparison of values to determine the K best solutions. It is intuitively easy to understand and can be readily implemented in an interactive mode.
On the other hand, unless the number of regions to be searched is relatively small, we concede that the ‘dynamic programming/check and confirm’ heuristic approach for maritime surveillance can be quite tedious and cumbersome. In surveillance applications, the time-on-station constraint (less than 12 flying hours because of crew safety concern) severely restricts the number of regions that can be searched. In view of this physical limitation, the size of the surveillance problem is normally restricted to less than ten regions [3]. Albeit the hybrid ‘dynamic programming/check and confirm’ heuristic involves mundane calculations, it provides a viable solution approach for finding the K best solutions to the TSP with precedence constraint. Next, the kth best solution which satisfies the latest time window restrictions solves the surveillance problem.
Example
It is required to start in node 1 visit all the nodes and return back to node 1. Also node 2 must be visited before nodes 3 and 5, node 3 must be visited before node 7, node 5 must be visited before node 6, and node 4 must be visited before node 9. Table 1 summarizes the asymmetric distance matrix dij between nodes i and j. (The aircraft velocity decreases with head wind and increases with tail wind. To highlight this fact, an alternative is to keep the aircraft velocity constant and increase the distance dij for flights subject to head wind and decrease dij for flights with tail wind.)
In addition, node 2 is to be visited in the time window [4, 10] and node 5 in the time window [15, 20]. For illustrative purposes, we have assumed that one unit of time is equivalent to one unit of distance. Following our approach in the previous section, we put aside the time windows constraint (since they are subject to changes). Next, we compute successively more desirable solutions for the PTSP until the best solution which does satisfy the updated time windows restriction is found, namely the kth best solution.
| dij | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 4 | 2 | 3 | 5 | 7 | 6 | 5 | 8 |
| 2 | 3 | 0 | 5 | 6 | 7 | 2 | 3 | 4 | 1 |
| 3 | 8 | 7 | 0 | 5 | 5 | 3 | 4 | 9 | 6 |
| 4 | 6 | 4 | 4 | 0 | 3 | 5 | 6 | 2 | 5 |
| 5 | 2 | 6 | 1 | 5 | 0 | 1 | 2 | 3 | 4 |
| 6 | 1 | 3 | 7 | 2 | 5 | 0 | 6 | 2 | 4 |
| 7 | 7 | 2 | 5 | 2 | 6 | 1 | 0 | 2 | 3 |
| 8 | 5 | 7 | 3 | 2 | 6 | 1 | 4 | 0 | 2 |
| 9 | 4 | 4 | 5 | 3 | 7 | 8 | 5 | 3 | 0 |
The following values are found using the dynamic programming formulation for the PTSP (equation 1):
f0(2,–)=d1,2=4; f0(3,–)=∞; f0(4,–)=d1,4=3; f0(5,–)=∞; f0(6,–)=∞; f0(7,–)=∞; f0(8,–)=5; f0(9,–)=∞. The value ∞ means that the precedence constraint has been violated.
Also:
f1(3,{2})=4+d2,3=9; f1(4,{2})=4+d2,4=10; f1(5,{2})=4+d2,5=11; f1(6,{2})=∞; f1(7,{2})=∞; f1(8,{2})=4+d2,8=8; f1(9,{2})=∞.
Continuing on we find using equation (1), the solution to the PTSP is:
f7(9,{2,3,4,5,6,7,8})+d91=30=w1 with f7(9,{2,3,4,5,6,7,8})=26, d91=4 and the path is d12+d23+d37+d75+d56+d64+d48+d89+d91.
We also find that the second smallest value in equation (1) is:
f7(8,{2,3,4,5,6,7,9})+d81=35=w1
With f7(8,{2,3,4,5,6,7,9})=30, d81=5 and the path is d12+d23+d37+d75+d56+d64+d49+d98+d81.
Next we use equation (2) to find any value of the PTSP that lies between w1 and w2. We obtain the value:
f6(4,{2,3,4,5,6,7,8})+d49+d91=33=x1
With f6(4,{2,3,4,5,6,7,8})=24, d49=5 and d91=4 the path is d12+d23+d37+d75+d56+d68+d84+d49+d91.
There is no other value found using equation (3). However, we still have to find other values, if possible, using equation (4) between x1=33 and w2=35. Only one value, f5(6,{2,3,5,7,8})+d64+d49+d91=34=y1 is found, with f5(6,{2,3,5,7,8})=24, d64=1, d49=5, and d91=4 and the path is d12+d23+d37+d75+d58+d86+d64+d49+d91. Thus the first-, second-, third-, and fourth- best solutions to the PTSP are given by 30, 33, 34 and 35 respectively with the paths specified in the above. It can be easily verified that all the four solutions satisfies the time window constraints, namely node 2 is to be visited in the time window [4, 10] and node 5 in the time window [15, 20]. The best solution is 30.
However, recent intelligence updates specify that aside from the given time windows constraints for nodes 2 and 5, node 6 can only be visited in the time window [23, 25]. It is found that only the third-best solution (= 34) can satisfy the time windows constraints for nodes 2, 5 and 6. The optimal path is given by d12+d23+d37+d75+d58+d86+d64+d49+d91.
Conclusion
In this paper, we have modelled the maritime surveillance as a TSP with precedence and time windows constraints. However our problem is unique in that the constraints are subject to continuous updates and changes. Previously calculated flight path can become infeasible. In addition, technical difficulties on board the aircraft restrict the implementation of well-established analytical TSP solution algorithms. In view of this, we have adopted the K best solution strategy [2]. All conditions that are the subject of updates or changes are put aside; more desirable solutions for the TSP are then computed successively until the best solution which does satisfy the change restrictions is found, namely the kth best solution. Based on the Principle of Optimality, we have developed a heuristic approach to compute the K best solutions, thus providing a viable solution alternative to a class of TSP variants.
Our dynamic programming heuristic approach to calculate the flight path of maritime surveillance has recently been introduced to the military operational commander. The intent is to have the said approach implemented as one of the standard operating procedures for surveillance. Final implementation cannot commence until approval is received from upper military echelons.
References
[1] D.O. Marlow, P. Kilby, and G.N. Mercer, “The Travelling Salesman Problem in Maritime Surveillance—Techniques, Algorithms and Analysis”, MODSIM 2007 International Congress on Modelling and Simulation, Modelling and Simulation Society of Australia and New Zealand, pp. 684–690, December 2007.
[2] E. Lawler, “A Procedure for Computing the K Best Solutions to Discrete Optimization Problems and it Applications to the Shortest Path Problem”, Management Science, Vol. 18, pp. 401–407, 1972.
[3] D.A. Brugioni, “Reconnaissance and Surveillance”, T.N. Dupuy (ed), International Military and Defense Encyclopedia, Macmillan: New York, 1993.
[4] K.Y.K. Ng and A. Ghanmi, “An Automated Surface Surveillance System”, Journal of Operational Research Society, Vol. 53, pp. 1–12, 2002.
[5] K.Y.K. Ng and N.G.F. Sancho, “Regional Surveillance of Disjoint Rectangles: A Travelling Salesman Formulation”, Journal of Operational Research Society, Vol. 60, pp. 215–220, 2009.
[6] G. Gutin and A. Punnen, The Traveling Salesman Problem and its Variation, Springer, 2002.
[7] D. Applegate, et al, The Traveling Salesman Problem, Princeton University Press, 2006.
[8] M. Junger, G. Reinelt, and G. Rinalde, “The Traveling Salesman Problem”, M.O. Ball, T.L. Magnanti, G.L. Monma and G.L. Nemhauser (eds), Handbook in Operations Research and Management Sciences, Vol. 7, North-Holland: Amsterdam, 1995.
[9] A. Mingozzi, L. Bianco, and Ricciardelli, “Dynamic programming strategies for the Traveling Salesman Problem with Time Windows and Precedence Constraints”, Operations Research, Vol. 45, pp. 365–377, 1997.
