Mathematical Problems in Engineering

Volume 2015 (2015), Article ID 707056, 12 pages

http://dx.doi.org/10.1155/2015/707056

## A Hyperheuristic for the Dial-a-Ride Problem with Time Windows

^{1}Escuela de Ingeniería Informática, Pontificia Universidad Católica de Valparaíso, Avenida Brasil 2950, 2340025 Valparaíso, Chile^{2}Escuela de Ingeniería Comercial, Universidad de Valparaíso, Pasaje La Paz 1301, 2531075 Viña del Mar, Chile

Received 25 September 2014; Accepted 15 December 2014

Academic Editor: Haipeng Peng

Copyright © 2015 Enrique Urra et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

The dial-a-ride problem with time windows (DARPTW) is a combinatorial optimization problem related to transportation, in which a set of customers must be picked up from an origin location and they have to be delivered to a destination location. A transportation schedule must be constructed for a set of available vehicles, and several constraints have to be considered, particularly time windows, which define an upper and lower time bound for each customer request in which a vehicle must arrive to perform the service. Because of the complexity of DARPTW, a number of algorithms have been proposed for solving the problem, mainly based on metaheuristics such as Genetic Algorithms and Simulated Annealing. In this work, a different approach for solving DARPTW is proposed, designed, and evaluated: hyperheuristics, which are alternative heuristic methods that operate at a higher abstraction level than metaheuristics, because rather than searching in the problem space directly, they search in a space of low-level heuristics to find the best strategy through which good solutions can be found. Although the proposed hyperheuristic uses simple and easy-to-implement operators, the experimental results demonstrate efficient and competitive performance on DARPTW when compared to other metaheuristics from the literature.

#### 1. Introduction

The dial-a-ride problem with time windows (DARPTW) [1] is known in the literature as a complex combinatorial optimization problem related to transportation, in which a set of customers must be picked up from an origin location and they must be delivered to a destination location. For achieving this, a set of vehicles are available, and a transportation schedule must be constructed for each one, which should be subject to several constraints. In the time-window-free version of the problem (DARP), the vehicles have freedom for defining the time at which customers are picked up/delivered, but under the time-window version (DARPTW, the one considered in this research) a vehicle schedule must assure that the customer is served in a restricted time range: the time windows (TW) itself. That constraint adds an important complexity degree to the problem, which can be proven to be -hard [2]. DARPTW comes from a family of pickup-and-delivery problems that originates from the travel salesman problem (TSP) [3]. While most of them must deal with objects, in DARPTW people must be transported; therefore, the problem evaluation is closely related with quality of service issues; for example, the total time a customer remains onboard a vehicle should not be excessive.

The solution space of the DARPTW problem is particularly challenging for any automated solving mechanism, because small changes in the solution structure could lead to completely infeasible solutions. For example, if a client is moved to a different vehicle schedule, a complete restructure of the latter is required, and it is highly probable that previous constraints that were fulfilled are now violated. Because of this and considering the high number of involved variables, common solutions in the literature for the DARPTW are based on heuristic methods. For example, Genetic Algorithms (GA) is a metaheuristic approach used in several works. In [4], a first bit-solution based variant was evaluated, and considering several feasibility problems involved in this implementation, an improved integer-based representation and more specialized operators were tested, which allowed converging towards feasible and better solutions. In [2], a classical* cluster-first, route-second* approach was implemented, in which* clustering* is the process of assigning customers to vehicles and* routing* is the process of defining the order of the pickup and delivery of customers. The GA was used exclusively for the clustering process. In a previous work [5], a GA that uses preprocessing mechanisms for reducing the search space complexity was implemented, allowing executing more efficiently specialized solution-modification operators alongside the genetic operators. Another novel contribution of the latter research was implementing the GA for solving both scheduling components of the solutions: the routing and the clustering. A different metaheuristic used for solving DARPTW is Simulated Annealing (SA); for example, in [6] this technique was mixed with other specialized smaller heuristics, generating an efficient and stable approach that particularly improved quality of service issues. In [7], a multiobjective SA algorithm was implemented and embedded into a multiagent system to solve the dynamic version of the problem.

Among heuristic methods, metaheuristics algorithms are the most used techniques through which problems as DARPTW are solved. The prefix “meta” is because they define an abstract framework whose components must be adapted to the solved problem by including extensive problem knowledge within the operations of the algorithm [8]. This adaptation process allows a metaheuristic algorithm to perform efficiently for the target problem, but the main trade-off is a costly implementation process that can be eventually infeasible for real production environments. Under this scenario, a new type of heuristic method named* hyperheuristics* [9–11] appears in the optimization research field as a more balanced alternative in which, rather than adapting the main search mechanisms, these ones are encapsulated in a high-level layer that can be reused among different problems or families of problems. For achieving this idea at the design level, a hyperheuristic requires several low-level heuristics provided by the problem domain, that is, very simple and specialized operators. A hyperheuristic uses these low-level heuristics for searching an efficient search strategy by leveraging their combined behavior in different manners.

Many applications of hyperheuristic solvers were developed during the last decade [12]; however, no implementations for the DARPTW are currently provided to our knowledge. Only the work in [13] addresses DARP instances by using a hyperheuristic approach; however, the tackled problem does not consider time windows, and then it corresponds to a simplification of the problem instance considered in this work. Also in [14] a hyperheuristic was implemented for solving the VRP problem in its dynamic version.

In this work, a new hyperheuristic approach for solving the DARPTW is presented, which is based in an adapter layer that allows the interaction between both the hyperheuristic and the DARPTW domain. There are three main contributions related to the main research product of this work: (i) it represents the first approach for solving DARPTW under a hyperheuristic architecture, (ii) the hyperheuristic architecture implemented in this work may be reused for evaluating different transportation problems, which can be part of the same family of DARPTW, and (iii) although very basic hyperheuristic operators and DARPTW low-level heuristic were used, the obtained results are competitive and efficient regarding other heuristic approaches in the literature, which demonstrates the convenience of dynamically mixing low-level operators through high-level strategies even if all of them are very simple.

This paper is structured as follows. In Section 2, a general background on hyperheuristics is presented, as well as the main motivations behind the concept. In Section 3, the DARPTW problem is described in detail, which includes its mathematical definition. In Section 4, the overall design of proposed solution is presented, which includes the main algorithmic structures of the implemented solver. In Section 5, the experimental design and the obtained results are described and discussed. Finally, in Section 6, several conclusions regarding this work are outlined.

#### 2. Hyperheuristics

The term heuristic has a broad significance in different areas of science. The concerns of this research reside on optimization, in which heuristics are associated with computational mechanisms that perform a search over the solution space of a problem to be solved, in the hope to find the best (if not the optimum) solution. The complexity of the strategy used in the search ranges from simpler algorithms to intelligent learning techniques. Different heuristic classifications have been emerged according to such complexity; for example, metaheuristics [15, 16] are algorithmic frameworks those search strategy is based on a set of subordinate and very specific operators, for example, simpler heuristics. Metaheuristics are* made-to-measure* techniques [11], because they include extensive problem domain knowledge in their design. This makes their applicability to resource-constrained scenarios harder, which are common in real industry settings. In response, the hyperheuristic concept has emerged as a relatively new heuristic technology. The search strategy of hyperheuristics can be considered as a process of* using heuristics to choose heuristics* to solve the problem in hand [17]; however, newer approaches even consider the* automated generation of heuristics* [9].

Hyperheuristics operate at a higher level than metaheuristics, because they often have no knowledge of the problem domain. To accomplish this, a hyperheuristic is commonly structured as Figure 1 shows. There is a high-level domain where the hyperheuristic itself resides. Also, there is a low-level domain, which can be considered the problem domain itself. In the latter, a collection of simple and highly specialized* low-level heuristics* reside, which are based on rich problem knowledge to operate. At different stages, the hyperheuristic selects and applies a low-level heuristic using some decision criteria to move from the current problem state to another. This process allows associating each heuristic, or even a combination of them, with the problem conditions and state. Because of this, in the literature it is often said that hyperheuristics* perform the search over a virtual solution space of low-level heuristics*, unlike simple heuristics or metaheuristics, which perform the search directly over the problem space. The* domain barrier* is the key component of the framework, which prevents passing problem knowledge from the low-level to the high-level. Therefore the hyperheuristic only knows about the existence of the low-level heuristics, but only as if they were* black-boxes*. The logic which they use to perform some operation in the problem domain is completely encapsulated, and only* problem-independent data* is transferred between the layers, such as solution quality values and CPU times, which allows the hyperheuristic to make decisions and store useful search information.