Cluster-based approaches to solve variants of the CLRP
5.1 Solving the HpMP
5.1.2 A new cluster-based method to solve the HpMP
The proposed cluster-based method to solve the HpMP is illustrated in Figure 5.1.
The solution approach can be divided into two phases, similar to the approach given by Branco and Coelho (1990) described in Section 3.3.2. The two phases are the clustering and routing phase.
In the clustering phase, any of the clustering methods investigated in Chapter 4 can be used to create route clusters. Here the method ensures that the number of cycles are exactly |K| = p. The clustering phase also checks that every cycle contains at least three customers to satisfy Eq. (5.6). If this is not the case, the two customers closest to this cluster are re-assigned to the cluster to ensure the minimum requirement is met. An exception is made in cases where the re-assignment of these customers will cause another cluster to also become too small. In this case, only customers from clusters with more than three points are considered for re-assignment.
5.1 Solving the HpMP
Figure 5.1: The proposed cluster-based method to solve the HpMP.
5.1 Solving the HpMP
In the routing phase, Hamiltonian cycles are constructed from the route clusters, using the modified Christofides algorithm (MCA). The routing phase is used to satisfy Eq. (5.4) and Eq. (5.5). The MCA is now described in more detail.
5.1.2.1 Proposed method to create Hamiltonian cycles in the routing phase - the modified Christofides algorithm (MCA)
The MCA consist of three possibilities to construct a cycle from a route cluster in the routing phase of the cluster-based HpMP method. The three possibilities depend on the number of customers in the route cluster:
1. Where the number of customers in the cluster is below a predetermined thresh-old value, η, the branch–and–bound search method is used to find the short-est Hamiltonian cycles. The method uses an enumerated search to find the shortest cycle within a cluster, while eliminating the branch of a partially con-structed cycle as soon as it becomes clear that it cannot produce a shorter cycle than the current best. This method is explained in Section 3.1.2.1. Here the Christofides algorithm (Papadimitriou and Steiglitz, 1998, p 416–418) as described on page 70, can be used to determine an upper bound and the initial best solution.
To construct a cycle the method incrementally adds one customer at a time from the specified route cluster. This create a partially constructed cycle.
The remaining group of customer points and the two endpoints of the partially constructed cycle is referred to as the remaining subset. Every time a customer is added, the method calculates a lower bound for the remaining subset. The lower bound refers to the shortest distance of any route that could possibly come from the remaining subset. This lower bound is added to the distance of the already partially constructed cycle and is used to determine if this partial cycle could better the current best cycle. If the branch is not worth pursuing, the method removes the last added customer and add the next one to the partial cycle. The method continues in this way until all combinations of customers in a cycle have been tested or eliminated using the lower bound.
Two lower bound calculations were tested. In the first, the MST for the re-maining subsetis calculated to find the shortest possible route that could result from this subset. In the second lower bound calculation, the shortest edge for every point in the remaining subset to another point also in the subset, is identified. The distance of these edges are added together. Unlike the first, it is therefore possible in the second approach to create a disconnected graph from the remaining subset that will not result in a connected route and where Eq. (5.4) is not satisfied. Although the first approach therefore gives a tighter lower bound, the calculation time was longer in the numerical tests than the
5.1 Solving the HpMP
time to enumerate all possible cycles that can result from this branch. It was therefore decided to use the second method to calculate lower bounds.
The value of η will obviously differ per dataset and programming environment.
It will also differ depending on what is seen as an acceptable CPU time by the user. Barreto et al. (2007), for example, suggest solving a maximum of 40 customers exactly. In the tests conducted in this study a value of η = 20 was used.
2. In the case of more than η customers in a given route cycle, the Christofides algorithm is used to construct the route. In order to improve the solution, two different local searches are introduced. We refer to this as the enumerated Christofides algorithm. The first improvement is to construct all the different possible Eulerian walks from the eligible edges in the graph G, instead of only one Eulerian walk as described in step 3e on page 70. The different constructed Eulerian walks all start with the same starting point to prevent testing the same solution from different starting points. This enumeration gives various TSP answers and the shortest Hamiltonian cycle is picked.
The best solution is subjected to a second local search. It uses the same methodology as the branch–and–bound, but only a subset of the edges are used. The subset is similar to the neighbourhood of the Granular Tabu search method described by Toth and Vigo (2003) on page 74. It includes all edges from the MST (minimum spanning tree), as well as the edges in the best solution. A threshold length is calculated, see Eq. (3.55), and all edges shorter than this threshold length are also included. Finally, we also add the edges of each customer’s closest three neighbours, should the neighbours be in the same route cluster. To ensure the method stays within a time limit, the number of tested complete routes are limited.
3. When the number of customers in a cluster becomes more than a predeter-mined number, ρ with ρ > η, the time to solve the Hamiltonian cycles using the enumerated Christofides algorithm with local search becomes unacceptable. In these cases the normal Christofides algorithm is used and only one Eulerian walk is constructed. We adapt the method by also testing the TSP route created when the walk is followed backwards in Step 3e of the Christofides algorithm on page 72. The second local search is also excluded because the construction of the neighbourhood becomes too time consuming. In this thesis a value of ρ = 40 was used.