In this chapter, the CARP and other related routing problems were reviewed. Although some routing problems can be solved efficiently, it was found that the CARP is NP-hard, and thus it can take an infeasible amount of time to find an optimal solution. In practice, a reasonably good solution is usually acceptable as long as it can be obtained within a relatively small amount of time. This can be achieved by means of heuristic algorithms, many of which have been proposed for the CARP in the literature. These include constructive heuristics and metaheuristic algorithms. Several techniques for computing lower bounds have also been proposed; this helps estimate how close a heuristic solution is to optimality and can also be used to prove optimality of some solutions (when a lower bound is equal to the cost of a solution). Moreover, there exists some work on developing exact algorithms for the CARP, although computational results suggest that they require a substantial amount of time to find optimal solutions in some instances.
It was noticed that most of the existing work on the CARP deal with the static version of the problem, that is, it is assumed that all information of the problem is known and does not change after the vehicles depart from the depot. In real life, however, some information of the problem may change, which may lower the quality of the original solution or render it infeasible, hence the need to update the solution. With current communication technology, a route planner can track the current state of each vehicle and inform drivers of changes in their routes in a short time, if not immediately. A review of literature revealed that there has been relatively little work on a dynamic version of the CARP. This motivates further study in this area. Furthermore, computational results in existing work suggests that heuristic algorithms would be preferable for tackling dynamic CARP due to its ability to provide feasible solutions quickly compared with exact algorithms. This motivates the idea of developing heuristic algorithms for dynamic CARP.
was found that single-solution-based metaheuristis algorithms, namely guided local search and tabu search, can achieve fairly good solutions within a small amount of computation time. In the next chapter, we opt to study how tabu search performs over a range of iterations; this metaheuristic algorithm requires relatively few parameters, which allows us to concentrate our attention when attempting to identify factors that encourage the algorithm to improve a solution quickly. A variant of a tabu search algorithm that improves a solution relatively quickly will then be selected to tackle the dynamic CARP in subsequent chapters.
Metaheuristic Algorithms for the
Static CARP
3.1
Introduction
Metaheuristic algorithms have been shown to be able to achieve near-optimal or even optimal solutions for the CARP. However, their performances were commonly reported based on certain stopping criteria such as a given number of iterations or a given number of consecutive iterations without improvement. This provides little, if any, information about their performances over the course of their execution, hence little information about what makes an algorithm find a good solution quickly. This information would be useful when designing an algorithm for a dynamic CARP, where a solution is updated while tasks are being serviced. Among algorithms that can achieve equally good solutions, it would be more preferable to use an algorithm that can improve a solution significantly within a few iterations than one that can eventually find an optimal solution but only improves a solution at a very slow rate. In this chapter, the aim is to gain more insights about what would make an algorithm find a good CARP solution quickly. In particular, several variants of a tabu search algorithm will be compared based on a wide range of stopping criteria. Tabu search is a metaheuristic that requires a relatively small number of parameters; this allows us to concentrate our attention on certain aspects of the algorithm when investigating what would make an algorithm find a good solution quickly. A description of how tabu search works in general can be found in Section 2.6.1.
fact, this operator can also be used not only with tabu search but also with other metaheuristic algorithms. This operator, called the deadheading cycle remover, works by detecting and removing unnecessary traversals that form so-called deadheading cycles in a given solution. It is intended to be a quick operator that helps tabu search improve a solution faster without too much additional computational effort. Sections 3.2 and 3.3 describe components of the tabu search algorithm that will be investigated, i.e. neighbourhood moves and definitions of tabu moves, respectively. Variants of the tabu search algorithm with different ways of defining tabu moves will be compared and analysed in Section 3.4. Section 3.5 proposes a novel operator, namely the deadheading cycle remover and analyses its effect to the performance of the tabu search algorithm. Section 3.6 discusses a possible pitfall of using different tabu lists for different neighbourhood moves. The conclusions of this chapter are given in Section 3.7.