Master Thesis in Logistics and Supply Chain Management Solving the Green Vehicle Routing Problem using Tabu Search By Aleksandra Georgieva Academic Supervisor: Sin C. Ho, Associate Professor Department of Economics and Business Economics, Aarhus University September 2015
Page Intentionally Left Blank II
Abstract Initiatives aiming to reduce the severity of greenhouse gas emissions affect traditional logistic operations, and give rise to new variants of routing problems. This thesis studies one such problem, the green vehicle routing problem (GVRP). It is characterized by a fleet of vehicles that run on alternative fuel, have a limited driving range and face difficulties due to a limited refuelling infrastructure. It has been studied in literature only in recent years, and very scarcely. The specific features, characteristic of this problem bring new challenges to both researchers and practitioners in the field of routing optimization. Thus, providing new knowledge on solution techniques applied to the GVRP is beneficial. For that reason, this research constructed and applied a tabu search metaheuristic, using simple neighbourhood strategies that has not been implemented, in that particular configuration, to GVRP before. The objective of this research is to identify the performance of the tabu search algorithm in comparison to the solution methods used in the original study by Erdogan and Miller Hooks (2012), which introduces the GVRP. To accomplish this, the tabu search algorithm, consisting of a nearest- neighbour greedy algorithm with a random element and three local search neighbourhood operators, was coded in Visual Basic for Applications (VBA). In comparing the results to those in the benchmark research, it was identified that the algorithm considerably outperforms the Modified Clarke and Wright Algorithm and the Density Based Clustering Algorithm, used together with an improvement heuristic. For small problem instances containing 20 customers and between 2 and 10 alternative fuelling stations, tabu search found a better solution value in 31 out of 40 cases. In large problem instances, containing up to 500 customers and up to 28 stations, the algorithm showed superior performance in all cases. The highest performance gap was an improvement of solution value amounting to approximately 15%. Thus, tabu search shows superior performance to the benchmark research. This is especially relevant for real world problem instances, where due to problem size exact solution methods do not have a practical application, and therefore finding a good approximate solution technique is important for practice and applications. III
Page Intentionally Left Blank IV
Acknowledgements It is with immense gratitude and appreciation that I acknowledge the help and support of my supervisor, Associate Professor Sin C. Ho, whose guidance and valuable advice, have been of vast importance to me in the preparation of this research. I would also like to express my gratitude to my family and friends for their continuous love, support and endless motivation. V
Page Intentionally Left Blank VI
Table of Contents 1. Introduction... 1 1.1. Problem formulation... 4 2. Distribution Problems... 5 2.1. Vehicle Routing Problems... 5 2.2. A Green Vehicle Routing Problem: description and mathematical formulation... 8 2.3. Literature review... 10 2.4. Complexity theory... 13 3. Metaheuristics... 15 3.1. Classification of metaheuristics... 16 3.2. Metaheuristics important attributes in design and implementation... 17 3.3. Tabu search... 18 3.3.1. Design and implementation features... 19 3.3.2. Adaptive memory in tabu search... 20 3.3.3. Candidate list strategies in tabu search... 22 4. Elements and characteristics of the solution algorithm... 23 4.1. Creation of the initial solution... 24 4.2. Local search neighbourhood generation... 26 4.3. Tabu search algorithm... 32 5. Numerical results and benchmarking... 35 5.1. Scenarios of benchmark instances... 35 5.2. Comparative results... 36 5.2.1. Small test instances... 37 5.2.2. Large test instances... 44 6. Conclusion... 49 VII
7. Limitations and future research... 51 List of Figures... 53 List of Tables... 53 Reference List:... 54 APPENDIX A: Results from numerical experiments... 58 APPENDIX B: Contents of the CD- DVD... 75 VIII
1. Introduction Recent decades have been marked by a growing concern about the environment and the sustainability of economic growth. One of the most significant environmental problems is climate change. During the period 2000-2010 global greenhouse gas (GHG) emissions have grown faster than in previous decades, to reach an all time- high of 49 billion tonnes of CO 2 equivalents in 2010. From those, the transport sector accounts for approximately 14% (6.7 billion tonnes) of direct GHG emissions, which is largely due to the fact that 95% of the world s transportation energy comes from petroleum- based fuels (IPCC 2014). Emissions in this sector involve the use of fossil fuels for road, rail, air and marine transportation. Increasing apprehension about the effects of anthropogenic greenhouse gases on climate, and about what some believe are the first signs of global warming, has led to many governmental, as well as inter-governmental mitigation initiatives. In the transport sector, such initiatives include the reduction of kilometres travelled by road through an increase of urban trips by walking, cycling and public transportation, and by shifting greater volumes of freight onto rail. Other initiatives focus on lowering the energy intensity of transportation (megajoule per passenger kilometre or megajoule per tonne kilometre), by use of more efficient engines and alternative, advanced vehicles, and on reducing the carbon intensity of fuels by use of alternative fuels, such as biodiesel, propane, ethanol, electricity, hydrogen, natural gas and other emerging alternative fuels (IPCC 2014). In light of the mounting concern with environmental effects of economic development, over the past two decades companies are faced with rising pressure to decrease the environmental impact of their logistic operations, a major part of which is transportation (Mckinnon et al. 2010). This is the case primarily, because freight transport holds a great potential for reduction of GHG emissions. Vehicle s carbon dioxide emissions per kilometre are considerably higher for freight transport: between 2 and 1700 grams CO 2 per tonne kilometre, than for passenger transport: between 20 and 300 grams CO 2 per passenger kilometre (IPCC 2014). Thus, organizing logistics today involves not only considerations of profitability, but also incorporation of environmental and social costs. Distribution activities hold a large potential for cost reduction, and have always been at the centre of economic development (Eilon 1977). Traditional daily logistic operations and planning involve the construction of low cost tours, from plant to customer 1
locations, in order to save money and time in providing a competitive service level to clients. This in itself offers environmental benefits, as in minimizing operational costs, consumption of fuel is reduced and thus GHG emissions are cut down as well. However, the growth of environmental pollution and problems today calls for preservation practices of larger scale. In reducing the environmental impact of logistics companies increasingly turn to designing and building more sustainable distribution networks. This is done by switching to next generation alternative vehicles and fuels, and other green infrastructures. Regardless of how beneficial for emission reduction such an environmentally cautious logistic policy is, its implementation poses a number of challenges on traditional profit- driven operations. Routing problems, which deal with every-day distribution planning and scheduling, under such green logistic operations become more complex as they have wider objectives and more operational constraints (Lin et al. 2014). The problem of identifying a route for servicing a set of customers using a fleet of vehicles is known in literature as the vehicle routing problem (VRP) (Simchi- Levi, Chen & Bramel 2014). There are many variants of this general problem, which incorporate different operational conditions and goals. However, very few variants of VRP that incorporate sustainable transport concerns have been studied so far. Typical issues that green logistics has to manage are measurement of environmental effects of a distribution strategy, reduction of energy consumption, recycling refuse and management of waste disposal (Lin et al. 2014). These issues give rise to three major classes of green vehicle routing problems that take into account environmental concerns. The first class, pollution routing problems, deals with the minimization of polluting emissions. It aims at identifying a routing scheme that minimizes GHG emissions, while at the same time minimizing economic costs. The second class concerns vehicle routing in reverse logistics. These problems focus on the backward flows of goods or raw materials from the point of use to a point of disposal or recycling. The third class, green vehicle routing problems (GVRP), deals with the minimization of energy consumption and the recharging, or refuelling of vehicles, specifically alternative vehicles. Problems of this class address the challenges that pertain to the adoption of alternative fuel vehicles (AFV). These are limited refuelling infrastructure and limited driving range of such vehicles (Mckinnon et al. 2010). It is also the class, which is of great interest today as AFV and alternative fuels have the potential to 2
considerably reduce transportation related GHG emissions from corporate operations, as well as private users and help meet regulations goals. Even though GVRP, which aim at constructing low cost routes for AFV, have an application today there is very little prior research on them. The first, among a very small number of papers that address this, is the research by Erdogan and Miller-Hooks (2012). They consider the limitations on distance due to limited fuel tank capacity of AFV, and address it by allowing refuelling at alternative fuelling stations (AFS) during a tour. Their model seeks to minimize the total distance travelled by vehicles, while at the same time eliminating the risk of running out of fuel while en route. It also incorporates service time at customer locations and a limit on maximum tour duration. In solving the GVRP the authors apply two construction heuristics: Modified Clarke and Wright Savings heuristic and the Density- Based Clustering Algorithm, and a customized improvement heuristic. These approximate algorithms are appropriate, especially for real life problems that tend to be larger in size, because they find a reasonably good solution within reasonable computing time. However, there are two alternative approaches to solving this GVRP. One option is the use of exact methods, which find an optimal solution. Nevertheless, as problems get bigger in size and more complex, such algorithms become inefficient due to computational intractability (Talbi 2009). Another option is to apply a more sophisticated approximate algorithm, a metaheuristic algorithm. The significant contribution of transportation on climate change and its important role in logistic operations, make green vehicle routing problems an important area of research today. Exploration of potential reduction of the environmental effects from transportation through route planning offers valuable ideas on how companies can support greener initiatives, and still run a successful business. Alternative fuelled vehicles have a great potential of reducing GHG emissions from transport. However, there is very little research on the optimal routing of such vehicles. Therefore, this thesis will build on the research by Erdogan and Miller-Hooks, and construct a tabu search (TS) metaheuristc for solving the GVRP. The metaheuristic algorithm applied in this research consists of a specific combination of elements that has not been applied to the GVRP in prior studies. Thus, this paper will investigate whether the method applied is effective and efficient in solving the problem 3
at hand. This leads to the problem formulation of this study, which is outlined in the following section. 1.1. Problem formulation This research is going to construct and apply a tabu search metaheuristic algorithm to the GVRP. Its main purpose is discovering whether the proposed implementation of tabu search, using simple neighbourhood search strategies, is efficient and effective in solving the problem. More specifically, it aims at determining how the proposed technique performs in comparison to the methods utilized in the first study on GVRP, that by Erdogan and Miller-Hooks (2012). In order to achieve this, the research question that will be raised is: RQ: How does tabu search, using simple neighbourhood search strategies, perform for solving the GVRP in comparison to the heuristics proposed by Erdogan and Miller- Hooks (2012)? 4
2. Distribution Problems A focus on distribution activities has become essential in today s competitive world. Distribution problems can be separated into three categories: strategic level, tactical level, and operational level. Efficient and effective distribution management poses a range of challenges at all three levels. While the strategic level is concerned with long term issues such as location of supply chain entities, and the tactical level is concerned with short term problems such as fleet size and planning fixed routes, the operational level is concerned with day-to-day activities such as scheduling and routing of vehicles (Eilon 1977). Daily operational costs account for a great part of a company s distributional expenses, and represent a potential source of significant logistic savings. There are a number of formal classifications of routing problems, which help in the realization of the cost savings potential of daily logistic operations. One such class of problems is the vehicle routing problem (Anbuudayasankar, Ganesh & Mohapatra 2014). This chapter will provide an introduction to vehicle routing problems and present the green vehicle routing problem, which is studied in this research. Additionally, the chapter will provide an overview of existent literature on the green vehicle routing problem. It will also examine problem complexity theory, in order to justify the implementation of approximate solution algorithms to the problem studied in this research. 2.1. Vehicle Routing Problems Vehicle routing problems (VRP) are central to logistics management (Anbuudayasankar, Ganesh & Mohapatra 2014). Since the influential research by Dantzig and Ramser (1959) vehicle routing problems have been the focus of extensive research attention. In the general form of these types of problems a warehouse supplies goods to a set of customers, or nodes, with certain demands using a fleet of vehicles with specific carrying capacity, where the objective is to minimize the total route cost (Simchi- Levi, Chen & Bramel 2014). One possibility for the cost function is to minimize the number of vehicles that are used. Another one is to minimize the total distance travelled by the vehicles to satisfy all customers demands, where this distance 5
is represented by arcs, connecting the customer nodes and the depot. From this general form of the VRP emerge many different problem classes. Bodin and Golden (1981) present a number of characteristics through which VRP can be categorized. Their framework is shown on Figure 1. On the figure, for each category of characteristics, from 1 to 12, possible options are listed. Different combinations of Figure 1: A taxonomy for classifying vehicle routing problems 1. Time to service a node/ arc Time is specified/ fixed in advance Time windows Time unspecified 2. Number of depots One depot / domocile More than one depot / domicile 3. Size of the vehicle fleet One vehicle More than one vehicle 4. Type of vehicle fleet Homogeneous fleet Heterogeneous fleet 5. Nature of demands Deterministic Stochastic 6. Location of demands At nodes On arcs Mixed 7. Underlying network Undirected Directed Mixed 8. Vehicle capacity constraints Imposed- all vehicles have the same capacity Imposed- not all vehicles have the same capacity Not imposed 9. Maximum vehicle route- times Imposed- all times are the same Imposed- not all times are the same Not imposed 9. Costs Variable or routing costs Fixed operating or vehicle acquisition costs 10. Operations Pickups only Drop- offs only Mixed 11. Objective Minimze routing costs incurred Minimize sum of fixed and variable costs Minimize number of vehicles required 12. Other (problem - dependent ) constraints Note: Adapted from Classification in vehicle routing and scheduling, by L. Bodin and B. Golden, 1981, Networks, 11(2), pp. 98 99. 6
these characteristics result in a vast number of possible problem settings. It should be noted that even though there are many distinguishable variants of VRP, they are often very similar in nature. Some problem settings are well known, and have received considerable research attention, while others are relatively new and lack, or have a scarce amount, of prior research on them. This is an important distinction, as the identification of algorithms to solve a given problem is simplified when there is a prior research background to support the choice of solution methodology. One variation of the VRP is the capacitated vehicle routing problem (CVRP), one of the most basic vehicle routing problems and the first VRP to be addressed in literature (Lin et al. 2014). It is characterized by a single depot, which supplies products to customers using a homogenous fleet of vehicles. The vehicles have limited capacity, and the underlying network consisting of customer locations and the depot is undirected. Only routing, or variable, costs are considered, and the objective is to construct a set of routes that start and end at the depot, and which minimize routing costs without violating the capacity constraints. In other words, to minimize total distance travelled on all routes (Simchi- Levi, Chen & Bramel 2014). Another example of a commonly studied vehicle routing problem is the VRP with time windows. In this problem the customer demands a certain quantity of goods within a specific period of time, referred to as a time window. It has the same characteristics as the capacitated vehicle routing problem, however, with the addition of a time window constraint (Simchi- Levi, Chen & Bramel 2014). For more information on VRP see Golden and Assad (1988), Fisher (1995), Crainic (1998). The CVRP and the VRP with time windows are only two variants of vehicle routing problems that can be classified using Bodin and Golden s (1981) taxonomy. Additionally, there is a great amount of variants of these two general problems, as well as of other widely studied problems. However, there are also numerous problems that can be classified and incorporate new operational considerations, and which have not or only recently became a popular topic for researchers. One such problem is the green vehicle routing problem. In the following section the formulation and main characteristics of a variant of the GVRP will be discussed. 7
2.2. A Green Vehicle Routing Problem: description and mathematical formulation Green vehicle routing problems are variations of the general VRP, which have emerged in literature only in recent years (Lin et al. 2014). They have the objective of considering not only economic costs, but also environmental costs, and in doing that to reduce energy consumption from the distribution process. A variant of the green vehicle routing problem will be studied in this research, as it is described by Erdogan and Miller-Hooks (2012). The problem is defined on the undirected graph G=(V,E), where the node set V groups the set of customer nodes I={v 1,v 2,.,v n }, the single depot v 0, and the set of s alternative fuelling station (AFS) nodes F={v n+1,v n+2,.,v n+s }. Each node i ϵ V is characterized by a service time p i (hours), which is assumed to be constant for both customer nodes, where i ϵ I, and fuelling station nodes and the depot, which can also serve as a fuelling station, where i ϵ F or corresponds to the depot. All customer nodes i ϵ I have to be visited by exactly one vehicle. All AFSs nodes i ϵ F and the depot can be visited multiple times and at any time. The set E={( v i,v j ): v i,v j ϵ V, i < j) is the set of arcs that connect the nodes in V. Each arc connecting nodes v i and v j has a corresponding travel time t ij (hours), cost c ij, and distance d ij (miles). A fleet of m identical, alternative fuelled vehicles (AFV) is considered in this problem. Each vehicle has a fuel tank capacity of Q (gallons) and fuel consumption rate of r (gallons per mile). The duration of each route, which has to start and end at the depot, should not exceed T max (hours), the maximum allowed tour duration. In this model it is assumed that travel speed is constant. Also that during refuelling the tank is filled to capacity and no limit is posed on the number of visits to fuelling stations during a route. It is also assumed that each customer node can be visited by a vehicle starting and returning back at the depot, by visiting at most one fuelling station, within the pre-specified time limit on tour duration. Only routing costs are taken in consideration, and the objective is to construct a set of routes, one for each vehicle in the fleet, which start and end at the depot and minimize the distance travelled for visiting each customer exactly once, without violating the vehicle s driving range constraints and the maximum vehicle route- time constraints. 8
The mathematical formulation of the GVRP, as described above, is displayed on Figure 2. It is formulated as a mixed integer linear program. The objective function (1) aims to minimize the total distance travelled by the fleet of AFV to service all customers on a given day. Where x ij is a binary variable, which takes the value of one if a vehicle travels from node i to j, and zero otherwise. V = V U φ is the set of all customer nodes, the depot and the AFS nodes, together with a set s of dummy nodes φ ={ v n+s+1,v n+s+2,.,v n+s+s } for all AFS and the depot when it serves as a refuelling station. These dummy nodes correspond to the number of times stations can be visited for refuelling. This is important in order to allow for multiple visits to a given station. The number of dummy nodes for each refuelling station should be large enough not to restrict beneficial visits for refuelling, but as small as possible in order to reduce the size of the network. The first set of constraints (2) is degree constraints and ensures that each customer node is followed by exactly one customer, depot or AFS node. Constraints (3) are also degree constraints, which ensure that the fuelling stations, the depot and the associated dummy Figure 2: Mathematical formulation of the GVRP Note: From A green vehicle routing problem, by S. Erdogan and E. Miller-Hooks, 2012, Research Part E:Logistics and Transportation Review, 48(1), p. 103. 9
nodes will have at most one successor node (customer, AFS or depot). F 0 ={v 0 } U F, where F =F U φ, is the set of AFS and the depot, as well as the associated dummy nodes. The next set of constraints (4) ensures that at each node the number of arrivals is equal to the number of departures. Constraints (5) and (6) ensure that at most m vehicles are routed out of the depot and at most m vehicles return to the depot. The depot is copied in order to keep a record of arrival and departure times. Constraints (7) track the arrival time of vehicles at each node. τ j is a time variable specifying arrival time of a vehicle at node j, which has an initial value of zero when the vehicle leaves the depot. Constraints (8) give an initial value of zero to the variable tracking arrival time upon leaving the depot, and an upper bound on arrival time back at the depot, at the end of a route. Constraints (9) provide lower and upper bounds on arrival times at customer nodes and AFS, which aims to ensure that the tour duration constraint is met. Tracking of fuel level is done through constraints (10). Upon arrival at node j, if its predecessor node i is a customer node, the fuel level of the vehicle is reduced based on the distance between node j and i, and the fuel consumption rate. The variable y j specifies the remaining fuel in the vehicle s tank upon arrival at node j and is reset to Q, at each AFS or visit to the depot to recharge. Time and fuel level tracking constraints serve as sub tour elimination constraints. Constraints (11) reset the fuel level when the vehicles arrive at refuelling stations of the depot. The next set of constraints (12) ensures that all vehicles have enough remaining fuel to return to the depot, directly or by passing through a recharging station, from any customer node during a route. Lastly, constraints (13) ensure binary internality of the variable x ij. That is node j is either visited after node i or not. The succeeding section will present an overview of prior research on the green vehicle routing problem, as well as on problems that share common characteristics with it. Once the state of the art in relation to GVRP is outlined, one of the most important considerations in relation to the choice of solution methods problem complexity, will be discussed. 2.3. Literature review Green logistics issues give rise to many new problems in logistics operations. Sbihi and Eglese (2010) discuss the operations research perspective of green logistics and address 10
some of the problems that arise when wider environmental concerns are modelled as part of combinatorial optimization problems. However, optimization research models that incorporate such problems have gained research attention in recent times and are scarce. Lin et al. (2014) point out that GVRP research is focused on the optimization of energy consumption. Vehicle routing problems that take into consideration energy consumption, and attempt to minimize it, in direct or indirect ways, have become the subject of research attention only recently. A variation of these problems attempts to minimize the energy consumption and increase the efficiency of traditional modes of transportation. Kara, Kara and Yatis (2007) define the Energy Minimizing VRP and utilize integer linear programming. Xiao et al. (2012) extend the capacitated VRP to include a fuel consumption rate and the objective of minimizing fuel consumption. Küçükoğlu et al. (2015) address the GVRP with time windows, in which the objective is to minimize total fuel consumption and CO 2 emissions. The authors construct a fuel consumption calculation algorithm and utilize a memory structure adapted simulated annealing metaheuristic algorithm. There are a number of additional studies that consider the minimization of fuel consumption (Kuo 2010, Apaydin and Gonullu 2008, MirHassani and Mohammadyari 2014). GVRP concerning the decrease in petroleum- based fuels is another variation of green vehicle routing problems that take into consideration energy consumption, more specifically the decrease in harmful effects from it. These problems are characterised by a fleet of vehicles that run on alternative fuel. Abousleiman and Rawashdeh (2014) address some of the fundamental features of electric vehicles in their electric vehicle routing problem. These include negative path costs, battery power and energy limits and parameters that are only available at query time. Nevertheless, the authors only focus on incorporating the special features of alternative fuelled vehicles in the vehicle routing algorithm. Alternative fuelled vehicles present two additional challenges in routing compared to traditional routing problems. First, most of these vehicles have a limited driving range. Additionally, the fuelling infrastructure and network for alternative fuels is not widely available (Mckinnon et al. 2010). Thus, problems of this kind need to take into consideration the refuelling of vehicles. Conrad and Figliozzi (2011) present the first formulations of the recharging VRP, where vehicles with a limited driving range can expand it by recharging at customer locations. As a solution method a heuristic 11
based on iterative construction and improvement is used. The authors assume a fixed recharge time, however, they also study the impact of fleet driving range, time windows and recharge time, and construct solution bounds that are useful in predicting average tour length. However, Conrad and Figliozzi (2011) do not consider the posibility of a detour, to recharge at a refuelling station, while en route. Erdogan and Miller- Hooks (2012) are the first to take into consideration alternative fuel recharging stations in their routing model. The findings of their research are used as benchmarks in a number of papers that follow (Felipe et al. 2014; Scneider, Stegner & Goeke 2014). Scneider, Stegner & Goeke (2014) extend their model to incorporate more practical, real-world considerations, and present the electric vehicle routing problem with time windows and recharge stations. They integrate time windows, vehicle capacity limitations and variable recharge times, which are dependent on the fuel level of the vehicle upon arrival at the refuelling station. The electric VRP with time windows has the objective of minimizing the number of vehicles in the fleet, as well as the distance. As a solution method the authors utilize a hybrid metaheuristic combining variable neighbourhood search and tabu search. The results of their algorithm considerably outperform those in the benchmark study by Erdogan and Miller- Hooks. Felipe et al. (2014) study the GVRP with multiple technologies and partial recharges. They extend Erdogan and Miller- Hooks s (2012) model in an alternative way, by including partial recharges, the cost of battery amortization and multiple recharge technologies that are characterized by different recharge times and costs. The authors aim at minimizing the recharge and amortization costs, and implement constructive and a number of local search heuristics that are exploited within a simulated annealing framework. Their method outperforms the solution algorithms utilized in Erdogan and Miller- Hooks s research, and is competitive with the method utilized by Scneider, Stegner and Goeke (2014). Even though, the current base of studies that incorporate environmental concerns in vehicle routing problems is not extensive, there is a variety of researched problems that are related to the GVRP. Ichimori, Hiroaki and Nishida (1981) address the shortest path problem for a vehicle that visits only a single destination from its origin, has a limited driving range, and can visit refuelling nodes while en route. Ichimori, Hiroaki and Nishida (1983) consider determining the minimum range, such that a vehicle can reach all customer nodes, and the minimum number of recharge nodes. A number of works on military applications address issues related to limited fuel tank capacity (Mehrez, Stern 12
& Ronen 1983; Mehrez & Stern 1985; Melkman, Stern & Mehrez 1986). These studies suggest extending the driving range by transferring and receiving fuel from other vehicles in the fleet. Structurally similar to GVRP is the multi depot VRP with interdepots, where intermediate depots serve as replenishment facilities (Crevier, Cordeau & Laporte 2007; Tarantilis, Zachariadis & Kiranoudis 2008). This is similar to GVRP, as intermediate depots serve to reduce the limitations from vehicle capacity on constructing a route, while recharge stations serve to reduce the limitations from vehicle fuel capacity, or driving range. Another structurally similar class of problems is the waste collection VRP. Such problems are characterized by a set of disposal facilities, a set of customers from which waste must be collected and a fleet of vehicles located at a single depot. Benjamin and Beasley (2010) study the waste collection VRP with time windows, driver rest period and multiple disposal facilities. In the formulation of their problem vehicles collect waste from customers and visit a disposal facility when necessary. The choice of solution methods to the GVRP is greatly influenced by its complexity. Thus, in the following the complexity of the green vehicle routing problem will be discussed. 2.4. Complexity theory Problem complexity, which is also equivalent to the complexity of the best algorithm for solving a given problem, provides guidance in the selection of solution methodologies (Talbi 2009, pp. 9-14). Problem complexity theory is concerned with decision problems, which are those problems that can be answered with a yes or a no. Two key problem complexity classes are P and NP. The class P consists of all decision problems that can be solved using a deterministic algorithm in polynomial time, while NP is the set of all decision problems that can be solved using a nondeterministic algorithm in polynomial time. Vehicle routing problems, as many other routing and scheduling problems, are NP- hard (Lenstra & Rinnooy Kan 1981). As GVRP is a variant of VRP, it follows that GVRP is also NP- hard. NP- hard problems cannot be solved in polynomial time, unless P= NP, and to be solved to optimality, they require exponential time. Thus, for real life GVRP instances, which are often large, approximate algorithms are an attractive solution 13
approach. Although such algorithms do not provide a guarantee on the approximation of the solution, they offer an acceptable solution in terms of quality, at acceptable computational cost. For this reason, in the current research a metaheuristic approach is proposed for solving the GVRP, as described above. Considering the limited amount of research into the GVRP, in this thesis a metaheuristic algorithm will be implemented to solve the problem. The following chapter will provide the theoretical foundations of the solution method applied in this thesis. It will give an overview to metaheuristics in general, as well as to the specific method chosen in this research, tabu search. 14
3. Metaheuristics This chapter will begin by presenting the theoretical background of the solution method chosen in this study, in order to address the research objectives previously outlined. This will be done by describing the main features of metaheuristics, classification criteria according to which they can be distinguished, as well as discussing two important attributes that need to be considered in the design and implementation of such an algorithm. Additionally, this chapter will provide an overview on the basic principles of tabu search, as this is metaheuristic utilized in the current research. Metaheuristics have been gaining more and more popularity over the past two decades (Talbi 2009, p. 23). The term metaheuristic was first introduced by Glover (1986) and is used to define higher level procedures, in contrast to problem specific heuristics, which attempt to explore the search space in an effective and efficient manner through combining different concepts and learning strategies. The main goal of metaheuristic algorithms is to escape from local optima by applying strategies that guide the search process. This is done by either accepting worsening moves in the search process, or by generating new initial solutions for the search, based on a more sophisticated set of rules, not just random generation (Blum & Roli 2003). Metaheuristic algorithms are approximate, and are often applied to large-size problem instances, where exact solution methods are unpractical, as they deliver satisfactory solutions within reasonable computational time (Talbi 2009, p. 23). Thus, even though metaheuristics do not guarantee finding the global optimum in a given problem, by exploring a broad range of good solutions they locate a quality solution at an acceptable cost. An attractive feature of metaheuristic algorithms is their applicability in many areas, as they are not problem specific. Such algorithms span from complex learning schemes, to basic local search procedures that implement a set of rules for moving from one solution to another and evaluate them based on a given criterion (Blum & Roli 2003). There is a wide variety of metaheuristics, which are mostly explored in an empirical fashion throughout the literature. Examples include ant colony optimization, genetic algorithms GA, guided local search, greedy randomized adaptive search GRASP, variable neighbourhood search, simulated annealing, tabu search and iterated local search (Talbi 2009, p. 24). Although, each of these utilize somewhat unique solution approaches, they 15
can be broadly classified based on a number of characteristics. The following section will present the most important classification schemes of metaheuristics. 3.1. Classification of metaheuristics One way of classifying metaheuristics is based on the origin of the algorithm. Some algorithms are inspired by natural processes, such as ant colony optimization. While others are non-nature inspired, such as tabu search (Blum & Roli 2003). For example, ant colony optimization mimics the behaviour of ants in finding the optimal path to a food source. Ants use pheromones to communicate the attractiveness of a path leading to food. The more ants pass through a given path, the stronger the pheromone trail is. Thus, the more attractive the path is. Attractive paths, on the other hand, lead to better food sources, to good solutions. Another classification is based on the memory, or search history, characteristic of algorithms. Algorithms are divided into those, which dynamically extract information throughout the search process and use it to improve the search in a given way, and those which are memory-less and do not extract and utilize information during the search. In algorithms that use a memory structure, it is common to distinguish between short and long term memory. Short term memory refers to information on recently performed moves, visited solutions or decisions taken. In contrast, long term memory is normally the accumulation of synthetic parameters about the search (Blum & Roli 2003). For example, tabu search is an algorithm that implements a memory structure. The short term memory of the algorithm keeps the recently performed moves in a list and forbids them for a given time. This is done to avoid cycling and to escape from local optima. Additionally, the algorithm can also apply long term memory, and keep information on visited solutions throughout the entire search. By recording the frequency of solution components, the algorithm can then diversify the search and visit areas of the solutions space, which have not been visited before. Metaheuristics are further divided into deterministic and stochastic. Deterministic algorithms solve a given problem by making deterministic decisions during the search. That is, using the same initial solution, will always lead to the same final solution. In contrast, stochastic algorithms implement stochastic rules throughout the search. Thus, using the same initial solution in stochastic algorithms will not lead to the same final solution (Talbi 2009, p. 25). Tabu search is an example of a deterministic algorithm that 16
does not apply any random rules in the search. It moves from one solution to the next based on the fitness of the solution and based on the tabu status of the moves performed, to reach the new neighbouring solution. Algorithms are also categorized into greedy and iterative. Most metaheuristics are iterative, meaning that the algorithms start with a complete solution and transform it during the search. However, there are also greedy algorithms, which are initiated with an empty solution that is expanded throughout the search (Talbi 2009, p. 25). Furthermore, algorithms are divided into such that use a single neighbourhood structure to look for a solution and such that utilize various neighbourhood structures (Blum & Roli 2003). For example, the variable neighbourhood search algorithm applies a set of neighbourhood operators to diversify the search process. Although, algorithms can formally be classified in that way, it should be noted that hybrid approaches can be created. Such hybrids comprise of the characteristics of multiple metaheuristics, as well as other optimization techniques. Last but not least, metaheuristics can be classified as population based and single solution based. Population based metaheuristics focus more on exploring the search space, that is on diversification. They manipulate and change multiple solutions throughout the search process. Single solution based search, on the other hand, are intensification oriented. That is, they have properties that intensify the search within a given region. In this class of algorithms, only a single solution is evolved (Talbi 2009, pp. 24-25). In the following, the two attributes intensification and diversification will be discussed. 3.2. Metaheuristics important attributes in design and implementation In designing and implementing a metaheuristic algorithm two complementary attributes need to be balanced. These are intensification and diversification (Talbi 2009, p. 24). Intensification can be broadly described as the exploitation of the best solutions found. An algorithm that is intensification oriented will quickly converge to either a local minimum or a local maximum, depending on whether the goal is to minimize or maximize the objective function. The main benefit of intensification is that it helps in quickly identifying promising regions in the solution space. However, the shortcoming 17
of this is that the algorithm could easily get trapped in a local minimum. Thus, although the intensification attribute of an algorithm helps in identifying peaks and valleys in the solutions space, unless there is an approach to escape from them and identify new promising regions, the algorithm could get stuck in local optima. An example of an intensification oriented metaheuristic is local search. This method starts with a given initial solution and at each iteration adopts a new, improving solution from the neighbourhood of the current one. The algorithm stops when none of the solutions in the neighbourhood have a better value of the objective function. Thus local optimum is reached. The diversification attribute of an algorithm addresses the issues related to getting trapped in local optima. Diversification represents the exploration of the search space, as opposed to exploring only promising regions (Blum & Roli 2003). This is done through applying a form of random search or other procedures that contribute to exploring more thoroughly the solution search space. For example, to introduce diversification in local search, the algorithm can be re-initialized with a different, randomly generated solution, each time it reaches a local optimum. This would increase the search area, while at the same time identify a greater number of promising solutions and possibly a better final solution. Although, the result could improve by introducing diversification as well as intensification, there is no guarantee that global optimum will be reached even if the algorithms is ran many times. However, introducing those two attributes, as well as increasing the number of iterations the algorithm passes through, will increase the probability that a global optimum is reached. 3.3. Tabu search Tabu search, a metaheuristic developed by Fred Glover (1986), is a deterministic, iterative and single solution based method that uses local search and memory structures to perform an intelligent search of the solution space. The TS algorithm acts like a steepest descend/ ascend local search, with the distinction that once local optimum is reached TS accepts non-improving solutions from the neighbourhood to escape from it (Talbi 2009, p. 140). To prevent cycling throughout the continuous transformation of the neighbourhood, this method manages a list of recently applied moves and forbids them, the tabu list. The moves recorded as tabu represent solution features. However, using specific solution features to forbid the consideration of a neighbouring solution 18
may create issues. That is, a solution that has not yet been generated by the algorithm may be rejected because it was produced by a recently applied move. To avoid this restrictive feature of the tabu list, the metaheuristic uses an aspiration criterion that sets a rule for accepting solutions generated by tabu moves. When this criterion is satisfied, the tabu status of a move is overridden and the move is accepted. For a thorough review of tabu search see Glover and Laguna (1997). Tabu search has applications in a wide range of fields, such as scheduling, telecommunications, graph optimization, technology and most importantly, for the current research, routing (Glover & Laguna 1997, p.625). Its broad application in theoretical studies provide an extensive background on the methodology and implementation, as well as aid in making an inference on the efficiency and effectiveness of tabu search in optimization. In the following sections, the most important design and implementation considerations when utilizing TS will be discussed. Additionally, the different types and uses of memory structures in tabu search will be reviewed. 3.3.1. Design and implementation features In designing and implementing tabu search there are four important aspects to consider. First, the neighbourhood structure needs to be defined. An adequate neighbourhood for a given problem is characterized by the property locality (Talbi 2009, p. 89). In order for a neighbourhood structure to have strong locality, a small change in the representation of the current solution must lead to a small change in the solution value. For example, consider a problem consisting of twenty customers, for which a neighbour solution is created by switching the position of two customers. As this is a small move, it should not lead to a large change in the objective function value if the neighbourhood has a strong locality. Locality is a desirable feature, as it indicates that the solution space will be thoroughly and meaningfully searched. Another important issue in the design phase of TS is the creation of the initial solution (Talbi 2009). As tabu search is an iterative algorithm, it starts with an initial solution that is later repeatedly modified. The attributes quality and computational cost can have an impact on the performance of the metaheuristic algorithm. An initial solution of high quality, will have high computational cost, but can help the metaheuristic algorithm in 19
converging faster (Talbi 2009, p. 101). Thus, when deciding on the method for building an initial solution it is very important to consider the specifications of the problem at hand, and balance the two attributes. Defining the neighbourhood and creating the initial solution are design issues common for all single solution based metaheuristics. However, there are two additional aspects that are specifically associated with tabu search (Talbi 2009). These are the tabu list and the aspiration criterion. In successfully utilizing a tabu list, it is important to identify how moves will be recorded and decide on the appropriate size of the tabu list, or how long a move stays tabu tabu tenure. The range of the tabu list affects the area of the search space explored by the algorithm (Boussaïd, Lepagnot & Siarry 2013). That is why, identifying the correct dimension of the list is important. In practice, the size of the tabu list is commonly identified through preliminary testing. For example in the research by Scneider, Stegner and Goeke (2014), as well as in that by Benjamin and Beasley (2010), the size of the tabu list was determined by computational experimentation. The specification of aspiration criteria has the property of considerably improving the search process (Boussaïd, Lepagnot & Siarry 2013). These criteria provide a set of rules to override the tabu status of a move when it is beneficial to execute it, regardless of the fact that it was recently performed. Thus, such rules can signifficantly affect the quality of the tabu search algorithm and need to be carefully chosen. A frequently applied criterion is performing a tabu move, if it improves the objective function value compared to the best solution found so far in the search (Talbi 2009). 3.3.2. Adaptive memory in tabu search A distinctive feature of TS compared to memory-less metaheuristics is the use of adaptive memory to explore the search space in a responsive manner. Tabu search can use both explicit and attributive memory. Explicit memory keeps complete solutions. Most often these are the elite solutions found throughout the search. Attributive memory is used to guide the search, and record attributes of the solution that change when moving from one solution to the next. There are four principal dimensions of memory in TS: recency, frequency, quality and influence (Glover & Laguna 1997). The use of these dimensions can be beneficial in developing a successful tabu search algorithm. In the following, each dimension will be described in turn. 20
The recency dimension refers to the most commonly used short term memory, which records recently performed moves in the search process (Glover & Laguna 1997). In the basic form of TS this dimension is incorporated into the algorithm by the use of tabu. As discussed earlier, a guiding principle in TS is to forbid moves, recently applied in the search, for a specific number of algorithm iterations. This is enabled by the recency information. Attributes remain tabu until a predetermined number of iterations have been executed. This number is specified by the parameter tabu tenure. Tabu tenure can be a fixed amount of iterations, or can be dynamic in which case the search process can change during the execution of the algorithm. Small tabu tenure would imply that the algorithm is more focused on finding the local optima. This is the case, because a small tenure means that a move is freed after only a few iterations, thus the probability of cycling is higher and the algorithm may not be able to escape from local optimum. In contrast, big tabu tenure helps the algorithm escape local optima and perform a more thorough search of the solution space. Considering that greater tabu tenure aids exploration and small tabu tenure intensifies the search to find local optima, it is not straight forward to determine its appropriate length for the problem at hand. That is why, it is common that tabu tenure is determined by means of experimentation, or it is changed dynamically during the search. Another dimension of the memory in TS is frequency. This dimension can be used to complement the recency memory, and to help in choosing the next solution to be visited in the search process (Glover & Laguna 1997). Frequency memory can be used to store the number of times a specific solution attribute has been revisited and use that to move away from solutions contacting such attributes. This dimension can help diversify the search, together with recency. The quality dimension is related to the ability of the TS algorithm to identify what constitutes a good solution, or the path to such a solution (Glover & Laguna 1997). That is, memory in tabu search can be used to locate elements common to good solutions, and then the inclusion of these elements in the solutions throughout the search can be encouraged. The quality dimension can be used in the same manner to penalize unattractive solutions. Both uses of this memory dimension result in a more effective and efficient TS. 21
Last but not least, the influence dimension considers the impact of choices made throughout the search process (Glover & Laguna 1997). The impact on quality, as well as on structure of the solution is measured, in order to adapt the search based on previously made choices. This brings an additional level of learning to the tabu search algorithm and is an important contribution to the overall effectiveness of the algorithm. 3.3.3. Candidate list strategies in tabu search Candidate list strategy refers to the rules that determine which solutions are considered in the search. In particular, it determines which moves are allowed for creating candidate solutions. Exhaustively examining the entire neighbourhood of a solution has a very high computational cost. That is why a candidate list plays an important part in the efficiency of the TS algorithm. The main goal, in establishing a candidate list strategy, is to accomplish a trade-off between finding a quality solution and computational efficiency. Such strategies can emerge from context related rules, or from general canons. One example of a general strategy is aspiration plus, which sets a quality threshold for moves. When a move that satisfies the threshold value is reached, a number of additional moves equal to the selected plus value are examined. Then, among all examined moves the best one is selected (Glover & Laguna 1997). Context related rules on the other hand use context related information to filter the moves. Such strategy could be disallowing moves that make the solution infeasible. For example, in a problem where there is a tour time limit constraint a strategy could be to discontinue moves that violate this. This could considerably reduce the magnitude of moves considered in the search, and thus reduce the computational costs of the TS algorithm. Although candidate list strategies hold the potential to increase efficiency in the search process, they can also have a downside. In disallowing the consideration of moves, it is possible to remove from consideration potentially good solution neighbourhoods as well. For example, allowing the search to visit infeasible solutions may lead to unexplored areas that hold better local optima. To evaluate the effectiveness of the candidate list strategy, the quality of the best solution found over a specific amount of computing time should be measured. If the best solution found does not improve within that desired time limit, the candidate list strategy should be reconsidered (Glover & Laguna 1997). 22
4. Elements and characteristics of the solution algorithm This chapter will begin by introducing the main elements of the metaheuristic utilized in this research. It will continue, with a more detailed description of each component of the algorithm, as well as the advantages it introduces to the solution methodology and the motivation behind choosing each specific element. In this research, tabu search will be applied for solving the green vehicle routing problem. Figure 3 below shows all elements of the metaheuristic implemented in this paper. It starts by creating an initial solution, using a problem specific construction heuristic with a random element. The solution created is then used as an initialization for the solution processing algorithm. Tabu search utilizes three neighbourhood operators in the local search phase. The first operator relocates customers and alternative fuelling stations on the same route they were allocated initially. The second operator changes recharge stations on a given route, while the third one relocates customers on different routes. Figure 3: Elements of the metaheuristic structure Initial solution Solution processing structure Tabu search Neighbourhood generation: neighbourhood operators Nearest-neighbour greedy algorithm, which chooses the initial customer randomly Move customers / recharge stations elsewhere on the same route Change recharge stations on the same route Relocate customers from one route to another 23
Tabu search is an exploitation oriented algorithm, however, introducing three different operators in the generation of solution neighbourhoods further induces intensification. It uses a memory structure to guide the search away from local minima and locate a better solution, despite having to pass through non- improving solutions. The algorithm implemented in this research is coded in Visual Basic for Applications (VBA) in Excel 2007. In the following sections, each component of the metaheuristic will be presented in detail. 4.1. Creation of the initial solution The metaheuristic algorithm starts with an initial feasible solution that is later repeatedly modified using the tabu search algorithm, which will be explained later. There are two general strategies for constructing the initial solution: a random approach and using a problem specific construction heuristic (Talbi 2009, pp. 101-102). Although, random generation is faster compared to utilizing a construction heuristic, it can have a negative impact on the performance of the metaheuristic algorithm. That is, it may take much more computational time for the high-level algorithm to converge. On the other hand, using specific heuristics and performing the initialization with a better solution may not always be the most appropriate course of action. For example Johnson and McGeoch (1995) find that in generating the initial solution for a local search algorithm that utilizes a 3-opt move operator, random solutions lead to better results than greedy heuristics. That is why, in this research for the initialization phase a greedy construction heuristic combined with a random approach will be used (Talbi 2009, p. 102). The random characteristic of the heuristic will also introduce diversification, by allowing the higher level algorithm to explore a wider solution search space. Its purpose is to create a pool of feasible solutions, with little computational effort. Its main features are presented below. The pseudo- code for the algorithm is shown on Figure 4 below. The notation is the same as in the mathematical formulation of the GVRP presented in the second chapter. Pre-processing step required by the algorithm is the calculation of the distance between every two points using the Haversine formula. This is due to the fact that data on node locations in the numerical experiments was provided in longitude and latitude format. Additionally, customers that cannot be serviced directly by visiting one AFS or within the tour duration limit are excluded from consideration, as is done in the original 24
research by Erdogan and Miller- Hooks (2012). The algorithm begins (1) with an empty solution and builds a feasible solution iteratively by constructing one route at a time. It stops when all customers are inserted in routes and so, a feasible solution is constructed. Figure 4: Pseudo code for the nearest-neighbour greedy algorithm that chooses the initial customer randomly 1: Initialize constructing the solution, set: m = 1, i = 0, τ 0 =0, y 0 = Q; 2: REPEAT; 3: IF i = 0 THEN choose a random customer j from the unvisited customers in n, who are directly reachable form the depot without a violation of fuel capacity, as the initial customer to be visited in route m; 4: IF it is possible to reach the depot directly from customer j THEN add j to route m and set i = j, y j = Q- d ij * r, τ j = t ij + p j ; 5: ELSE IF it is possible to reach the depot from customer j by a visit to a recharge station f in between THEN find the least costly recharge station f, which does not violate time limit to visit and add first j and then f to route m, set i = f, y f = Q, τ f = τ f + t if +p f ; 6: END IF; 7: ELSE IF i 0 THEN choose customer j who is closest to i and is directly reachable from i without a violation of the fuel capacity or time limit constraint, from the unvisited customers; 8: IF it is possible to reach the depot directly from customer j THEN add j to route m and set i = j, y j = y i - d ij * r, τ j = τ j + t ij + p j ; 9: ELSE IF it is possible to reach the depot from customer j by a visit to a recharge station f in between THEN find the least costly recharge station f, which does not violate time limit to visit and add first j and then f to route m, set i = f, y f = Q, τ f = τ f + t if +p f ; 10: ELSE add the depot to route m and begin the construction of a new route by setting m = m + 1, i = 0, τ 0 =0, y 0 = Q; 11: END IF; 12: END IF; 13: UNTIL there are no more unvisited customers- a complete solution is constructed; 14: END; The construction heuristic chooses the first city in a route randomly (3), from the customers not yet serviced and who can be reached directly from the depot without running out of fuel. In the formulation of this problem it is assumed that all customers can be served by a vehicle that starts and returns to the depot, visiting an AFS if needed, within the time limit. Therefore, in feasibly inserting the initial customer to the route there is no need to consider time limit violations. The random feature of the algorithm helps for the creation of different feasible solutions, each time the heuristic is ran. After the initial customer is chosen, the algorithm chooses the closest, in terms of distance, customer (7) and/or the closest recharge (5; 9) station to visit when that is needed due to 25
capacity limitations. The route is expanded until the time limit is reached. Then a new route is started and expanded in the same manner. This procedure continues until there are no more un-routed customers. Cordeau et al. (2002) point out four criteria to measure the performance of vehicle routing heuristics: accuracy, speed, simplicity and flexibility. In terms of those criteria, the algorithm utilized here performs well concerning computational speed and simplicity. It creates acceptable solutions fast and is moderately simple to implement. Regarding accuracy, the algorithm aims towards diversification, rather than constructing a solution close to optimality. However, quality is not of great importance at this stage, as the higher level algorithms presented next attempt to improve solution quality. 4.2. Local search neighbourhood generation Part of the tabu search algorithm consists of using a local search procedure to define moves in the local neighbourhood of the current solution. Local search utilizes neighbourhood operators to create a set of candidate neighbouring solutions. These operators define the neighbourhood and need to be adequate for the problem at hand, as they play a critical role in solving the problem (Talbi 2009). In this thesis, three different neighbourhood operators are utilized for constructing the composite neighbourhood of the TS. High computational costs, associated with the generation of a large neighbourhood by using three operators, necessitate the specification of a candidate list strategy. In this research, the strategy is to consider as candidates only feasible solutions. Feasible solutions for the problem studied here, are those that do not violate time limit and fuel capacity constraints. This will limit the candidate list and thus reduce the computational effort required for the TS algorithm. Despite this benefit, considering only feasible solutions may forbid the exploration of new neighbourhoods that can contain good quality solutions. However, the application of three operators has the potential to explore and exploit the search space more thoroughly as well. Additionally, the neighbourhood of a solution will grow exponentially with the number of nodes on the graph. Therefore, applying a candidate list strategy is especially valuable with increasing problem size. Thus, in balancing costs and solution exploration only feasible moves will be allowed. In addition to defining the neighbourhood, another important element in the local search procedure is the choice of a selection strategy. Best improvement, first improvement 26
and random selection are the three general strategies (Talbi 2009, p. 123). In best improvement, the neighbourhood of a solution is exhaustively evaluated and the best candidate is selected. By comparison, in first improvement, the first candidate found that improves quality is selected. For this research the best improvement strategy was chosen. This is due to the fact that when applying local search to solutions that already possess good quality attributes, such as those that are greedily generated, it takes the algorithm less time to reach local optimum. That is, as the initial solution here is generated in a partly greedy manner, it will contain good node combinations. This implies that the local search algorithm will converge to an optimum using less iterations, by comparison to when the solution is built exclusively in a random manner. An ability to reach local optima faster substantiates the exhaustive exploration of neighbouring solutions, as it will not affect the computational costs as significantly, as it would otherwise. The first neighbourhood operator, applied in the local search phase, moves customers or recharge stations on the same route they were initially placed. The second operator changes recharge stations on a given route. These two operators were utilized in the research by Benjamin and Beasley (2010), in the improvement phase of their algorithm to reach local optima before the solution is inserted in the higher level algorithm. Although, in their problem they have disposable facilities instead of recharge stations, these facilities play the same functional role. They allow the vehicle to increase capacity and thus service more customers within a route. Therefore, the operators they utilized can be applied to the problem studied here. However, in the current research these operators will be implemented as part of the tabu search procedure. Thus, they will be used to dynamically transform the neighbourhood throughout the entire solution search process, and not just in the initialization procedure. The move used by the first neighbourhood operator is to relocate each node in a given route, on a position different from the one it initially had. For each node in a given route, this operator considers moving every other node in the route right after it, without changing the sequence of the rest of the nodes. This is illustrated on Figure 5 below, where node e is moved straight after node b and the remaining nodes are in the same sequence. 27
Figure 5: Neighbourhood operator 1- Move customers/ recharge stations elsewhere on the same route Before move: After move: a e a e d d b b c c The pseudo code for the procedure of performing and evaluating moves is displayed on Figure 6. As the procedure will be part of the tabu search algorithm, the pseudo code shows the tabu status check and the aspiration criterion check in relation to that as well. The algorithm starts with the current initial feasible solution S (1) and evaluates one Figure 6: Pseudo code for neighbourhood operator 1- Move customers/ recharge stations elsewhere on the same route 1: INPUT: current initial feasible solution S; 2: FOR each route r in S DO; 3: FOR each node i in I and F DO; 4: FOR each node j in the same route r as i DO; 5: Update S move : move node j right after i, check for feasibility; 6: IF feasible THEN; 7: IF aspiration criterion OR move is not tabu THEN; 8: SolutionCandidateList= SolutionCandidateList + S move ; 9: ELSE skip move; 10: END IF; 11: END IF; 12: NEXT; 13: NEXT; 14: NEXT; 15: OUTPUT SolutionCandidateList; move at a time based on it (2-4). The solution, after a move is performed, is recorded in the temporary solution S move (5). If the solution after the move is feasible (6), the algorithm checks whether the move has a tabu status or it satisfies the aspiration criterion (7). All feasible solutions, created by a move that is not tabu or covering the aspiration criterion, are recorded in a candidate list (8), while all other solutions are put out of consideration (9). 28
Benjamin and Beasley (2010) identified that changing, or removing, a disposal facility in a route could also improve solution quality. Thus, the second operator utilized here considers changing or removing recharge stations on a given route. The move is represented by removing each station node from a route in turn, and if the solution is no longer feasible, placing each alternative AFS node on its place, while leaving the sequence of the rest of the nodes unchanged. This is illustrated on Figure 7 below, where recharge station c was removed from the route and station f was inserted. Figure 7: Neighbourhood operator 2- Change recharge stations on the same route Before move: a e After move: a e f d f d b b c c The pseudo code for the procedure is shown on Figure 8. The algorithm starts with the current initial feasible solution S (1) and evaluates one move at a time based on it (2-4; 11). If removing a recharge station from a given route leaves the solution feasible, then the temporary solution S move is updated accordingly (6). After that, the algorithm checks whether the move is tabu, or satisfies the aspiration criterion (7), in order for it to be included in the candidate list (8). If not, the move is skipped and the next one is considered (9). Else, if deleting an AFS violates feasibility, each alternative station is considered to replace the deletes one, and the candidate solution is evaluated in the same manner (12-16). If this solution cannot be accepted into the candidate list, it is left out (17). 29
Figure 8: Pseudo code for neighbourhood operator 2- Change recharge stations on the same route 1: INPUT: current initial feasible solution S; 2: FOR each route r in S DO; 3: FOR each recharge station i in F, on route r DO; 4: remove i from route r; 5: IF feasible THEN; 6: Update S move : delete recharge stations I; 7: IF aspiration criterion OR move is not tabu THEN; 8: SolutionCandidateList= SolutionCandidateList + S move ; 9: ELSE skip move; 10: END IF; 11: ELSE 12: FOR each recharge station j i in F DO; 13: Update S move : replace recharge station i with j on route r, check for feasibility; 14: IF feasible THEN; 15: IF aspiration criterion OR move is not tabu THEN; 16: SolutionCandidateList= SolutionCandidateList + S move ; 17: ELSE skip move; 18: END IF; 19: END IF; 20: NEXT; 21: END IF; 22: NEXT; 23: NEXT; 24: OUTPUT SolutionCandidateList; The third operator, relocate, was introduced in Savelsbergh (1992). In it, a move is represented by removing a node from its current position on one route and inserting it into a new position on another route, without changing the sequence of the rest of the nodes. This operator is only applied to customer nodes, therefore recharge stations are not moved between routes. Figure 9 below shows a move, as defined by this operator. In that move customer node b was removed from its initial route R1 and inserted between nodes d and e in route R2. 30
Figure 9: Neighbourhood operator 3 - Relocate Before move: After move: R1 R2 a d b c e R1 R2 a d b c e The algorithm begins with the current initial feasible solution S. Figure 10 shows the pseudo code for the relocate neighbourhood operator. Relocate becomes a computationally costly operator when the number of customer nodes in the problem is large. To limit the relocation, a constant n is pre-specified (1). This number corresponds to the relocations that are performed for a given customer node. As the objective is to minimize the distance passed by a vehicle, the most appropriate course of action is to reinsert a given node before or after n closest customers to it, which belong to a different route. Thus, for each customer node the algorithm creates a list of n closest customers from different routes (2-3). Relocation is then considered next to each of the n nodes (4). The solution, after a move is performed, is recorded in the temporary Figure 10: Pseudo code for neighbourhood operator 3 - Relocate 1: INPUT: current initial feasible solution S and number of customers to consider in a reinsertion move- n; 2: FOR each customer i in I DO; 3: Find n closest, in terms of distance, customers to i that are currently part of a route r, different from the route customer i belongs to; 4: FOR j= 1 to n (for each of the closest n customers) DO; 5: Update S move : remove customer i from its current position and insert him before/ after j; 6: IF feasible THEN; 7: IF aspiration criterion OR move is not tabu THEN; 8: SolutionCandidateList= SolutionCandidateList + S move ; 9: ELSE skip move; 10: END IF; 11: END IF; 12: NEXT; 13: NEXT; 14: OUTPUT SolutionCandidateList; 31
solution S move (5). If the solution after the move is feasible (6), the procedure is to check whether the move is tabu or it satisfies the aspiration criterion (7). The feasible solutions created by a non- tabu move or covering the aspiration criterion, are recorded in a candidate list (8). All other solutions are put out of consideration (9). The three operators are integrated in the TS algorithm to create the neighbourhood of the current solution being processed by the procedure. Therefore, the solution candidate list contains all accepted neighbouring solutions found during the local search phase. This is the input into the tabu search procedure, which will be described in the following section. 4.3. Tabu search algorithm The pseudo code for TS is shown on Figure 11.Tabu search is initiated with the initial feasible solution created through the construction heuristic - S 0 (1). In the initialization, three parameters are specified as well. The first parameter sets the stopping criterion of the search, while the second specifies the tabu tenure to be used. The third parameter sets the maximum number of iterations TS is allowed to run. This is necessary in order to limit the computing time of the algorithm. The values of these parameters will be determined through computational testing. The solution produced by the construction heuristic is then set as the best solution S best (2-3). The best solution in the procedure is used in the aspiration criterion. The criterion is such that a tabu move is accepted, only if it provides a solution value lower than the best solution found so far. This will allow the algorithm to accept tabu moves that lead to quality solutions, which have not been encountered before. In step (4) the tabu list is initialized. The algorithm will be executed until the stopping condition becomes true (5) or until the maximum number of iterations is reached. The algorithm terminates if the number of iterations without an improvement of the best solution value is greater than a, the pre-specified parameter. This stopping criterion serves to discontinue the search, by applying memory to keep the last iteration in which the best solution was improved. In the beginning of every iteration the candidate list is emptied (6), and a new candidate list is generated using the local search procedure described above (7). The solution candidates in this list are already checked for tabu moves, or if they satisfy the aspiration criterion. Step (8) selects the best nontabu candidate S candidate, or such accepted due to the aspiration criterion, while (9) adds its move attributes to the tabu list. For each move, regardless of the neighbourhood 32
operator used, the arcs deleted from the solution due to the move are recorded as tabu. The selected candidate is set as the current solution S in (10). If the candidate solution is better than the best solution Figure 11: Pseudo code for the Tabu Search algorithm 1: INPUT: initial feasible solution S 0, stopping criterion constant a, tabu tenure b, maximum number of iterations; 2: SET S= S 0 ; 3: SET S best = S; 4: SET TabuList = null; 5: DO WHILE number of iterations without an improvement of S < a OR maximum number of iterations; 6: SET SolutionCandidateList = 0; 7: CALL Neighbourhood operators; 8: S candidate = best candidate in SolutionCandidateList; 9: Add to TabuList move attributes of S candidate ; 10: S = S candidate ; 11: IF S candidate < S best THEN; 12: S best = S candidate ; 13: END IF; 14: IF TabuListSize > b THEN; 15: Delete expired entries in TabuList; 16: END IF; 17: WEND; 18:OUTPUT S best ; found so far in the search, this is updated in (11-13). Steps (14-16) update the tabu list by deleting expired attributes. This is determined by the pre-specified parameter b, which is the tabu tenure. It specifies the number of iterations a set of move attributes stay tabu. The output of the TS algorithm is the best solution visited during the search process (18). This is the finalization of the metaheuristic algorithm. Following that, it can be run again, which will produce a new initial solution and thus a new test on the algorithm s ability to produce satisfactory results. The TS algorithm, including the three neighbourhood operators in the local search phase, possesses both intensification and diversification attributes. The local search component has mostly an intensification role, as it searches thoroughly the neighbourhood of the current solution. The recency memory introduced in tabu search provides the algorithm with the ability to avoid recently performed moves, and thus explore more thoroughly the solution search space. Therefore, the algorithm described and applied herein possesses a certain level of both, of the important attributes that 33
affect metaheuristic performance. After presenting the algorithm implemented to solve the GVRP, the following chapter shows the experimental results. 34
5. Numerical results and benchmarking This chapter will begin by presenting the different problem scenarios, utilized for testing tabu search s performance. It will continue by introducing the computational results of the algorithm applied in this thesis, and comparing them to those in the benchmark research by Erdogan and Miller-Hooks (2012). 5.1. Scenarios of benchmark instances To evaluate the performance of the metaheuristic developed in this thesis the benchmark instances of the GVRP proposed by Erdogan and Miller- Hooks (2012) are used. There are in total 52 instances. These are divided into small and big, real world test instances. The small instances are represented by four sets, each consisting of ten instances with 20 customers, a depot and a number of AFSs. The instances are different in the distribution of customer locations, which can be uniformly distributed or clustered. They also differ in the number of available stations, which can vary from 2 to 10. The overview of the small test instances is displayed in Table 1 below. Table 1: Small test instances' categorization Scenario Description S1 10 randomly generated problem instances, each containing 20 uniformly distributed customers and 3 fixed AFSs S2 10 problem instances, each containing 20 clustered customers and 3 fixed AFSs S3 10 problem instances, 5 selected from S1 and 5 from S2, each containing 20 customers and 6 randomly generated AFSs S4 10 problem instances, 5 created from a single instance in S1 and 5 created from a single instance in S2, each assigned a specific number of AFSs by gradually increasing it from 2 to 10 Note: Adapted from A green vehicle routing problem, by S. Erdogan and E. Miller-Hooks, 2012, Research Part E:Logistics and Transportation Review, 48(1), p. 108. The large, real world, test instances contain up to 500 customers. They differ in the number of customers, as well as in the number of AFSs. Their overview can be seen in Table 2. Erdogan and Miller Hooks (2012) present a fourth scenario for the real world test instances. In it, they alter the driving range constraint. However, due to the limits of this research this scenario will not be investigated here. 35
Table 2: Large test instances' categorization Scenario Description 1 One problem instance, containing 111 customers and 21 fixed AFSs 2 7 problem instances, each containing from 200 to 500 customers, added by increments of 50, and 21 fixed AFSs 3 4 problem instances, identical to that in scenario 1, but with strategically located AFSs that are gradually increased from 22 to 28 by increments of 2 Note: Adapted from A green vehicle routing problem, by S. Erdogan and E. Miller-Hooks, 2012, Research Part E:Logistics and Transportation Review, 48(1), p. 111. Although it has already been mentioned in the previous chapter, it is worth mentioning again that some of the customers in the test instances violate an important assumption in the formulation of the GVRP, and are thus removed from it. The assumption is that each customer on the graph can be serviced within the time limit, and with at most one visit to a recharge station. Therefore, some problem instances contain fewer customers than were originally intended to be part of them. Problem parameters were set common for all instances studied here as was done in the benchmark research. All vehicles in the fleet have a fixed fuel tank capacity of 60 gallons, a consumption rate of 0,2 gallons of fuel per mile, and travel with an average speed of 40 miles per hour. The total allowable tour duration is 11 hours, while service times are 0,5 hours at customer locations and 0,25 hours at fuelling stations. In the following, the computational results from the TS algorithm will be presented and compared to the results from the benchmark research. 5.2. Comparative results In this section the results from the TS algorithm developed in this thesis will be compared to the results obtained by Erdogan and Miller Hooks (2012). The authors report three different results to a given problem instance. In the small instances they report the solution value found using the CPLEX commercial solver, as well as the results obtained by the Modified Clarke and Wright Savings (MCWS) heuristic and the Density Based Clustering Algorithm (DBCA), both modified using an improvement heuristic. To obtain the CPLEX solution, the authors fix the number of vehicles in the fleet to the value obtained in the best solution of their heuristic. Although this makes the set of results comparable, it also means that the CPLEX solution may not be the optimal one. This is the case, because, if the global optimum includes five vehicles, but the best 36
heuristic found a solution with six, CPLEX will find the best solution it can, containing six vehicles. Thus, it will not be the optimal one. In the large instances the authors report the solution value found when driving limits are removed completely, as well as the results from the heuristics they implement. The TS algorithm was implemented in VBA. This enabled the building of user-defined functions, automating processing and accessing Windows API and other low-level functionalities, which itself allowed the building of the optimization model. The experiments were run on a workstation with Intel(R) Core(TM) CPU i5 M480 @ 2.67GHz, 64-bit platform with 8GB of RAM. In the CD- DVD attached to this thesis, the reader can find a separate Excel file containing the data on each problem instance, as well as the solution algorithm coded in VBA. Appendix B contains a description of the content of the CD- DVD. In the following, first the computational results on small problem instances will be reported, and then those for real life, large problem instances. 5.2.1. Small test instances After preliminary testing, it was identified that for the small instances, a tabu tenure of 8 iterations is an appropriate value. Additionally, the tabu search algorithm was set to iterate for at most 20 iterations, while the stopping criterion was set to 10 iterations without an improvement. For the third neighbourhood operator, the number of customers to reconsider for a reinsertion move was chosen to be 13, where all 20 customers participate in the solution. In contrast, when the number of customers decreases, the constant specifying the reinsertion is decreased as well. At the extreme, when only 6 customers participate in the solution, this constant is chosen to be 3. The logic behind this is that the reinsert operator considers a move next to the n closest customers currently in a different route. However, when the number of customers in the solution is small, thus the number of routes is small as well, there are very few reinsertions to consider. The algorithm was executed in total 10 times for each instance, and the best solutions found are reported here. Appendix A contains the solution values for each of the algorithm runs, for all instances studied in this thesis. To improve the quality of the initial solution inserted into the TS algorithm for the small instances, each time tabu search is ran, the construction heuristic is executed a number of times and the best solution is chosen. The number of executions is set to be a proportion of the nodes in the problem. It is set to 50% of the number of customers, thus 37
it is 10. This is an important strategy for the algorithm, as due to the random element in the construction heuristic it can produce a wide range of solutions. Some of whom may be of very poor quality, which on the other hand necessitates more iterations of the TS algorithm to converge. However, algorithm parameters are set common for all instances. Thus, in order to reduce computational time of the TS algorithm the best solution, out of ten solutions, produced in the construction phase is chosen. Table 3: Initial solution used in TS for the best solution found, small instance - S1I1 Node number 1 22 23 14 6 3 1 Time passed (hours) 0 2.48 3.62 5.64 7.16 8.60 10.84 Distance passed (miles) 0 79.06 104.61 165.42 206.38 253.83 343.46 Remaining fuel (gallons) 60 44.19 39.08 26.92 18.72 9.23 42.08 Node number 1 12 16 17 13 5 1 Time passed (hours) 0 2.86 3.74 5.32 7.16 8.45 10.89 Distance passed (miles) 0 94.22 109.78 152.80 206.36 248.08 345.71 Remaining fuel (gallons) 60 41.16 38.04 29.44 18.73 10.38 40.47 Node number 1 18 7 10 9 25 24 1 Time passed (hours) 0 2.71 4.07 6.01 6.61 8.33 10.04 10.49 Distance passed (miles) 0 88.51 122.63 180.39 184.51 233.38 281.51 299.70 Remaining fuel (gallons) 60 42.30 35.47 23.92 23.10 13.32 3.70 0.06 Node number 1 11 4 8 1 Time passed (hours) 0 4.34 6.97 8.13 10.89 Distance passed (miles) 0 153.54 248.73 275.10 385.74 Remaining fuel (gallons) 60 29.29 10.25 54.73 32.60 Node number 1 21 15 1 Time passed (hours) 0 1.39 4.82 6.87 Distance passed (miles) 0 35.61 152.69 234.82 Remaining fuel (gallons) 60 52.88 29.46 13.04 Node number 1 20 19 1 Time passed (hours) 0 3.74 4.57 7.98 Distance passed (miles) 0 129.56 142.98 279.36 Remaining fuel (gallons) 60 34.09 31.40 4.13 Total Cost 1888.8 38
The algorithm constructed and utilized in this research shows a good ability of improving the solution, it was initialized with. For the first instance in scenario one, of the small test problems, tabu search found the best solution value to be approximately 1723 miles. This problem instance contains twenty uniformly distributed customers, three recharge stations and a depot that can serve as a recharge station as well. Table 3 Table 4: Best solution found in TS, small instance - S1I1 Node number 1 12 16 17 13 5 1 Time passed (hours) 0 2.86 3.74 5.32 6.66 7.95 10.39 Distance passed (miles) 0 94.22 109.78 152.80 206.36 248.08 345.71 Remaining fuel (gallons) 60 41.16 38.04 29.44 18.73 10.38 40.47 Node number 1 22 23 6 14 3 1 Time passed (hours) 0 2.48 3.62 6.26 7.79 8.58 10.82 Distance passed (miles) 0 79.06 104.61 190.45 231.41 253.10 342.73 Remaining fuel (gallons) 60 44.19 39.08 21.91 13.72 9.38 42.08 Node number 1 21 24 1 Time passed (hours) 0 1.39 2.37 2.83 Distance passed (miles) 0 35.61 54.96 73.15 Remaining fuel (gallons) 60 52.88 49.01 45.37 Node number 1 11 4 8 1 Time passed (hours) 0 4.34 7.22 8.13 10.89 Distance passed (miles) 0 153.54 248.73 275.10 385.74 Remaining fuel (gallons) 60 29.29 10.25 54.73 32.60 Node number 1 20 19 15 1 Time passed (hours) 0 3.74 4.57 6.44 8.49 Distance passed (miles) 0 129.56 142.98 197.46 279.58 Remaining fuel (gallons) 60 34.09 31.40 20.51 4.08 Node number 1 18 7 10 9 25 1 Time passed (hours) 0 2.71 4.07 6.01 6.61 8.33 9.89 Distance passed (miles) 0 88.51 122.63 180.39 184.51 233.38 295.64 Remaining fuel (gallons) 60 42.30 35.47 23.92 23.10 13.32 0.87 Total Cost: 1722.54 39
shows the initial solution that was chosen, as input into the TS algorithm, while Table 4 shows the best solution found by TS based on that. Nodes in the results of this research were named using a different naming convention, than the original research by Erodgan and Miller-Hooks (2012). In all problem instances node number 1 is the depot, nodes from 2 to the total number of recharge stations plus 1 are AFSs, and all other nodes are customer nodes. Thus, in the first route on Table 3 nodes number 22, 23, 14, and 6 are customer locations, while node number 3 is an AFS. There are in total six routes in the solution. For each route the time, when leaving each node is reported. The time is reported in a cumulative manner, so that under the last node is a route, the depot, it can be verified that the time limit is not violated. Additionally, the distance passed when arriving at a given node is reported in a cumulative way. The remaining fuel in the tank of the vehicle, travelling on a given route is shown as well. An interesting observation that can be made based on the fuel Figure 12 : Initial solution used to acquire the best solution to small instance S1I1 - plot Route 1 Route 2 Route 3 Route 4 Route 5 Route 6 level, is that often at the end of a route there is an excess amount of fuel in the tank. Thus, time for recharging is lost to charge fuel that is never used on the route. Overall, in the example displayed for the given problem instance, tabu search improved the 40
solution by 166 miles in total. Although it did not reduce the number of routes, it still achieved a good improvement in the solution value. Figure 12 shows the plot of the initial solution while Figure 13 shows that of the best solution found in instance S1I1. On the figures circles represent customers, triangles recharge stations and the depot is marked by a square. From the plot of the initial solution it can be seen that Route 1 is not efficiently constructed. That is, the arcs within the route are crossing. In the best solution this is changed. On Figure 13 this same route, there corresponding to Route 2, is changed and the crossover of arcs is removed. Figure 13: Best solution of small instance S1I1 - plot Route 1 Route 2 Route 3 Route 4 Route 5 Route 6 The best results, out of ten executions, produced by TS on the small problem instances are reported on Table 5 below. The table also reports on the findings by Erdogan and Miller- Hooks (2012) using the two heuristics MCWS and DBCA, and CPLEX. The name of the test set reflects, which scenario it belongs to and which instance of that scenario it is. For example, S1I1 means that this is the first instance of scenario one, where there are 20 uniformly distributed customers and three recharge stations. Objective function results of the TS algorithm that improve those found by Erdogan and Miller- Hooks (2012) are in bold typeface. For instances, where the number of vehicles m was reduced as well, this number is in bold and italic typeface. Additionally, the 41
number of customers served is reported. It should be noted that for one of the instances this number does not correspond to the findings in this research. This is instance 10 in scenario 3. The number of customers served is written in italic typeface, as it is higher than in the original findings. For that reason, the solution value identified here is not comparable to the benchmark solution. The last column in the table shows the difference of the results found in this research, and those found using CPLEX in Erdogan and Miller-Hooks s (2012) research. Tabu search identified a better solution to the problem instance in 31 out of 40 instances. The reason why, it did not find a better solution in all instances, can be partly contributed to the use of common parameters throughout the testing on small instances. The distribution of customers, as well as the location and number of recharge stations vary among problem instances. Therefore, for tabu search to find a high quality solution, the parameters should reflect the problem changes. Thus, if in 31 instances a tabu tenure of 8 iterations contributed to finding a very good solution, in the other 9 it did not. However, as the small instances serve to test the overall ability of the algorithm to effectively solve the problem a common set of parameter values was used, and they were not adapted to the different problems. Additionally, in 19 of the instances tabu search found a better solution than the CPLEX solver did. This can be partly attributed to the fact that in 15 problem instances the algorithm found a best solution containing fewer routes than what was set in the CPLEX calculations by Erdogan and Miller Hooks (2012). In addition, CPLEX result do not guarantee optimality, as the computation time limit was set to 100,000 s with an optimal solution tolerance 10-3 (Erdogan & Miller Hooks 2012). Overall solution value difference of TS compared to CPLEX is a reduction of 0,02 percent. In contrast, MCWS and DBCA report an overall increase in solution value of approximately 6 percent compared to CPLEX. Thus, tabu search outperforms the two heuristics utilized by Erdogan and Miller Hooks (2012). This can be observed by the average solution values found. While TS has an average objective function value of approximately 1647 miles, MSWS and DBCA have average values of over 1770 miles. In addition to the forty small test instances, this research will compare the results found by the tabu search algorithm on 12 real world instances as well. The following section will present these. 42
Table 5: Results from TS on small instances scenarios CPLEX MCWS DBCA TS Total cost (miles) m Cust. served Total cost (miles) Diff. (%) Total cost (miles) Diff. (%) Total cost (miles) m Cust. served Diff. (%) Test set S1I1 1797.5 6 20 1818.4 1.16 1797.5 0.00 1722.54 6 20-4.17 S1I2 1574.8 6 20 1614.2 2.50 1613.5 2.46 1574.78 6 20 0.00 S1I3 1765.9 7 20 1969.6 11.54 1964.6 11.25 1625.36 6 20-7.96 S1I4 1482.0 5 20 1508.4 1.78 1487.2 0.35 1463.47 5 20-1.25 S1I5 1689.4 6 20 1752.7 3.75 1752.7 3.75 1697.44 6 20 0.48 S1I6 1643.1 6 20 1668.2 1.53 1668.2 1.53 1657.69 6 20 0.89 S1I7 1715.1 6 20 1730.5 0.89 1730.5 0.89 1602.56 6 20-6.56 S1I8 1709.4 6 20 1718.7 0.54 1718.7 0.54 1758.77 6 20 2.89 S1I9 1708.8 6 20 1714.4 0.33 1714.4 0.33 1716.72 6 20 0.46 S1I10 1261.2 5 20 1309.5 3.84 1309.5 3.84 1181.31 4 20-6.33 S2I1 1235.2 5 20 1300.6 5.30 1300.6 5.30 1294.48 5 20 4.80 S2I2 1539.9 5 19 1553.5 0.88 1553.5 0.88 1562.33 5 19 1.45 S2I3 985.4 4 12 1083.1 9.92 1083.1 9.92 880.20 3 12-8.83 S2I4 1080.2 5 18 1135.9 5.16 1091.8 1.08 978.83 4 18-16.62 S2I5 2190.7 7 19 2190.7 0.00 2190.7 0.00 2156.01 7 19-1.58 S2I6 2785.9 9 17 2883.7 3.51 2883.7 3.51 2426.09 8 17-12.91 S2I7 1394.0 5 6 1701.4 22.05 1701.4 22.05 1014.96 3 6-27.19 S2I8 3319.7 10 18 3319.7 0.00 3319.7 0.00 3133.48 9 18-5.61 S2I9 1800.0 6 19 1811.1 0.62 1811.1 0.62 1688.09 6 19-6.21 S2I10 2583.4 8 15 2648.8 2.53 2644.1 2.35 2644.11 8 15 2.35 S3I1 1578.2 6 20 1614.2 2.28 1614.2 2.28 1578.12 6 20 0.00 S3I2 1438.9 5 20 1561.3 8.51 1541.5 7.13 1592.20 6 20 10.65 S3I3 1571.3 6 20 1616.2 2.86 1616.2 2.86 1613.43 6 20 2.68 S3I4 1692.3 6 20 1902.5 12.42 1882.5 11.24 1717.03 6 20 1.46 S3I5 1253.3 5 20 1309.5 4.48 1309.5 4.48 1192.24 4 20-4.87 S3I6 1645.8 6 20 1645.8 0.00 1645.8 0.00 1669.79 6 20 1.46 S3I7 1505.1 6 19 1505.1 0.00 1505.1 0.00 1505.07 6 19 0.00 S3I8 2842.1 10 20 3115.1 9.61 3115.1 9.61 2654.05 8 20-6.62 S3I9 2550.0 9 16 2722.6 6.77 2722.6 6.77 2212.20 7 16-13.25 S3I10 1606.7 6 16 1995.6 24.21 1995.6 24.21 2008.59 7 17 - S4I1 1582.2 6 20 1582.2 0.00 1582.2 0.00 1598.91 6 20 1.05 S4I2 1504.1 6 20 1580.5 5.08 1580.5 5.08 1598.91 6 20 6.30 S4I3 1397.3 5 20 1561.3 11.74 1541.5 10.32 1449.15 5 20 3.71 S4I4 1377.0 6 20 1561.3 13.39 1561.3 13.39 1598.91 6 20 16.12 S4I5 1397.3 5 20 1536.0 9.93 1529.7 9.48 1580.96 6 20 13.15 S4I6 1080.2 5 18 1135.9 5.16 1117.3 3.44 978.83 4 18-9.38 S4I7 1466.9 6 19 1522.7 3.81 1522.7 3.81 1490.36 5 19 1.60 S4I8 1455.0 6 20 1786.2 22.77 1730.5 18.94 1353.62 5 20-6.97 S4I9 1455.0 6 20 1786.2 22.77 1786.2 22.77 1353.72 5 20-6.96 S4I10 1454.9 6 20 1783.6 22.59 1729.5 18.87 1353.71 5 20-6.96 Average: 1677.9 6 18.775 1781.423 6.655 1774.147 6.1332 1646.974 6 18.8-0.023 43
5.2.2. Large test instances Parameter values needed by the TS algorithm, such as tabu tenure, maximum tabu search iterations, stopping criterion and number of reinsert moves, were set specifically for each problem instance. Parameter setting in the small problem instances was used to generate common rules for setting the parameters here. In small instances preliminary testing showed that an appropriate number of TS iterations is equal to the number of customers in the problem, to 20. Additionally, tabu tenure was set to approximately one third of the total number of nodes in the problem, with a tolerance of 5-10%. These rules were used to generate parameter values, which can be seen on Table 6. Values of the stopping criterion and the number of reinsert moves were set in such a way, so that they balance solution quality and computational cost. It should be noted that due to the very high computational cost of executing the algorithm in Excel, through VBA, the parameters used for acquiring the results for real life instances may not be optimal. That is, increasing the number of iterations tabu search is ran for, or increasing the allowed reinsert moves in the creation of the neighbourhood, may lead to better solutions than were identified here. In fact, in preliminary testing it was often the case that increasing the reinsert moves for big instances led to better solutions. However, this happened at a very high computational cost. Therefore in balancing quality and cost, the search process was necessarily limited. The algorithm was executed in total 5 times for each instance, and the best solutions found are reported here. The results from all executions of TS on the problem instances are provided in Appendix A. Table 6: TS parameter settings for large problem instances Number of customers TS iterations Tabu tenure Stopping criterion Reinsert moves- n 111 111 40 15 30 200 200 70 15 15 250 250 90 15 15 300 300 115 15 15 350 350 135 15 15 400 400 140 15 15 450 450 160 20 10 500 500 165 20 10 44
The best solutions out of the 5 runs for each problem instance in scenarios 1 and 2 are shown on Table 7 below. The table also shows the results found by the benchmark research using MCWS and DBCA. The name of the test set shows the number of customers and the number of AFSs in each instance. Objective function results, identified by TS, which improve the best solution found by Erdogan and Miller- Hooks (2012) are in bold typeface. Additionally, where the best solution found through TS improves the number of routes constructed, this number is in bold and italic typeface. For two of the instances a greater number of feasible customers was identified. These are marked with italic typeface. The last column of the table shows the percentage gap between the best solution found using TS and the average of the two solutions provided by the benchmark research. Table 7: Results from TS on large instances scenarios 1 and 2 MCWS DBCA TS Test set Total cost (miles) m Cust. served Total cost (miles) m Cust. served Total cost (miles) m Cust. served Diff. (%) 111c21s 5626.6 20 109 5626.64 20 109 5152.762 19 109-8.42 200c21s 10429 35 190 10413.59 36 191 9475.571 33 192-9.07 250c21s 11887 41 235 11886.61 41 236 11103.29 39 237-6.59 300c21s 14243 49 281 14229.92 49 282 13058.75 46 283-8.27 350c21s 16472 57 329 16460.3 57 329 14777.63 54 329-10.25 400c21s 19472 67 378 19099.04 66 373 17280.48 61 378-10.39 450c21s 21854 75 424 21854.19 75 424 18587.28 66 424-14.95 500c21s 24527 84 471 24517.08 84 471 21695.37 78 471-11.53 Average 15564 53.5 302.125 15510.92 53.5 301.875 13933.95 49.38 302.88-10.25 The tabu search algorithm implemented in this research found a better solution to the large problem instances in all cases studied. Tabu search displayed a superior performance to MCWS and DBCA, with an average solution value gap of approximately 10%. From the percentage difference reported it can be seen that TS s performance compared to the heuristics improves with problem size. That is, for the largest two problem instances studied, containing 450 and 500 customers, tabu search has the highest performance difference. In instances, where the number of customers served in the solution was higher than in the original research, TS still found a solution 45
value that was on average lower by 8%. The average total cost for TS is approximately 1600 lower than that for the two heuristics utilized in the benchmark research. Tabu search also reduced the number of routes in all instances. On average the number of routes in best solutions found was 49, while in the benchmark research the average number of routes was 53.Thus, not only does tabu search provide a better solution in terms of distance passed by the vehicles in the fleet, but also it reduces the number of vehicles required. This on the other hand, reduces the fixed costs companies face, and not only the variable costs associated with travel distance. The results produced by the TS algorithm on instances from scenario 3 are displayed on Figure 14. This scenario investigates the impact on solution values of an increase in the number of fuelling stations available. On the graph it can be seen that there is a considerable gap between the best solutions identified using MCWS and DBCA, and those using TS. Tabu search clearly performs better than the benchmark results in all test instances under this scenario. However, the difference is more dramatic when there are fewer stations included in the problem, and the gap narrows down when 28 stations are introduces into the problem. This means that tabu search has a better ability to locate a quality solution when the problem constraints are restrictive. Figure 14: Results from TS on large instances from scenario 3 5700 5600 5500 Total cost (miles) 5400 5300 5200 5100 5000 4900 MCWS and DBCA TS 4800 21 22 24 26 28 Number of AFSs 46
The overall performance of the tabu search algorithm constructed and implemented in this research is superior to the solution methods used by Erdogan and Miller-Hooks (2012). Especially for real world problem instances, where problem size is greater and thus exact solution methods do not have a practical application. This adds value to the results found in this research. This is the case, as finding global optima using exact optimization is not an option for real life problems. However, identifying a simple implementation of an approximate algorithm that generates good solutions offers a resolution. 47
Page Intentionally Left Blank 48
6. Conclusion This thesis studied the green vehicle routing problem. It is characterized by a fleet of alternative fuelled vehicles that need to service a set of customers and have a limited driving range, which can be extended by making intermediate stops at refuelling stations. This problem is a novel variant of vehicle routing problems, and is of great relevance today, as companies are facing rising pressures to reduce the environmental effects of their logistic operations. Vehicle routing optimization is an attractive area of research, as it offers practitioners numerous benefits in terms of potential cost savings. However, problems that incorporate environmental concerns have limited prior research on them. This is especially true for the GVRP. The GVRP is a NP-hard problem, which leads to the choice of approximate solution techniques for solving it. Thus, within this study a tabu search algorithm was utilized, consisting of a nearest neighbour construction heuristics that chooses the initial customer randomly, and three simple neighbourhood operators. This study sought to evaluate the performance of this method by comparing the results it produces to the benchmark research by Erdogan and Miller- Hooks (2012). To support its objective, the current research presented the conceptual background on the GVRP and laid the theoretical foundations for the solution class, as well as the solution technique applied to it here. It constructed the tabu search algorithm, containing elements that have not been applied to the GVRP in that particular setting before, and implemented it using VBA in Excel. The developed algorithm was then used in numerical experiments on 52 test instances. The metaheuristic applied in this research achieved higher performance than the MCWS and DBCA, together with an improvement heuristic, applied in the benchmark research. It produced better solutions in approximately three quarters of the small test instances, and in all of the big instances, where it was not only able to reduce total distance travelled but also the number of required vehicles. The tabu search algorithm displayed a considerably superior performance in large test studies, which implies that the algorithm will have a better application in practice for determining more optimal routing plans for a fleet of alternative fuelled vehicles. As a consequence, despite the fact that the algorithm applied here is a simple implementation of the tabu search metaheuristic, 49
it offers the possibility of much more cost savings in real world applications than the algorithms proposed by Erdogan and Miller-Hooks (2012). 50
7. Limitations and future research This research is necessarily limited in terms of scope. The problem studied here contains only a limited number of real life considerations. These simplifying assumptions make the problem easier to solve, but may oversimplify reality. That is, it is assumed that there is no requirement on the specific time to service a customer, a homogenous fleet of vehicles with unlimited load capacity and fixed operating costs. Future research may include more real life considerations into the routing model, and extend the algorithm applied here to reflect that. For instance, in the formulation of the problem variable costs can be included, such as time dependent travel times due to congestion as in the study by Kok, Hans and Schutten (2012). This will allow the solution results to be more accurately applicable in real life implementations, as well as to test the performance of the solution method developed here under a more complex problem setting. The tabu search algorithm developed and implemented in this research makes limited use of memory. Due to the scope of this thesis, it only uses the recency dimension of memory and applies medium term memory to enforce the stopping criterion. Future research can implement additional memory structures that utilize the frequency, quality or influence dimensions. This can enrich the algorithm by performing a more intelligent search of the solution space. Memory can be used to implement the approach of path relinking (Glover & Laguna 1997). This approach integrates both intensification and diversification attributes and can be used to look for a better solution, by applying and making used of additional memory structures in the TS algorithm. Introducing more exploration and exploitation into the algorithm holds the potential of identifying solutions closer to the global optima. The metaheuristic developed and implemented in this research does not consider infeasible solutions throughout the search process. This is the case mainly due to the high computational costs related to accepting infeasible solutions in the search, as this will increase algorithm complexity as well as algorithm running time. Future research may extend the current algorithm, and explore the search space more thoroughly by taking into consideration infeasible solutions. This has the potential to introduce a greater level of diversification to the algorithm, and thus potentially lead to better solutions. 51
Visual Basic for Applications in Excel 2007 was used for programming the algorithm in this thesis, due to the author s limited knowledge in more traditionally used programming languages for that purpose. This affected computational speed, together with the fact that the author has only limited experience with optimizing the procedures created in VBA. Therefore, computational speed of the algorithm is not reported in this thesis, as it may not represent fully and completely the actual time requirements of the solution method. Additionally, this imposed limits on the computational ability of procedure, as the memory limit for VBA procedures in Excel is 500 megabytes (Excel Memory Limits 2014). Procedures that passed that limit returned an error for lack of memory. Therefore, future research may implement the algorithm in a more widely used language for the purpose, which will allow for a comparison of computational time. Such programming languages are Java, used for example in Erdogan and Miller Hooks s (2012) research, or C++, used in Benjamin and Beasley s (2010) paper. Implementing the algorithm in a better environment will aslo offer a more practical application in real life, where speedy solutions are essential. 52
List of Figures Figure 1: A taxonomy for classifying vehicle routing problems... 6 Figure 2: Mathematical formulation of the GVRP... 9 Figure 3: Elements of the metaheuristic structure... 23 Figure 4: Pseudo code for the nearest-neighbour greedy algorithm that chooses the initial customer randomly... 25 Figure 5: Neighbourhood operator 1- Move customers/ recharge stations elsewhere on the same route... 28 Figure 6: Pseudo code for neighbourhood operator 1- Move customers/ recharge stations elsewhere on the same route... 28 Figure 7: Neighbourhood operator 2- Change recharge stations on the same route... 29 Figure 8: Pseudo code for neighbourhood operator 2- Change recharge stations on the same route... 30 Figure 9: Neighbourhood operator 3 - Relocate... 31 Figure 10: Pseudo code for neighbourhood operator 3 - Relocate... 31 Figure 11: Pseudo code for the Tabu Search algorithm... 33 Figure 12 : Initial solution used to acquire the best solution to small instance S1I1 - plot... 40 Figure 13: Best solution of small instance S1I1 - plot... 41 Figure 14: Results from TS on large instances from scenario 3... 46 List of Tables Table 1: Small test instances' categorization... 35 Table 2: Large test instances' categorization... 36 Table 3: Initial solution used in TS for the best solution found, small instance - S1I1... 38 Table 4: Best solution found in TS, small instance - S1I1... 39 Table 5: Results from TS on small instances scenarios... 43 Table 6: TS parameter settings for large problem instances... 44 Table 7: Results from TS on large instances scenarios 1 and 2... 45 53
Reference List: Abousleiman, R & Rawashdeh, O 2014, Tabu search based solution to the electric vehicle energy efficient routing problem, IEEE Transportation Electrification Conference and Expo (ITEC), IEEE, pp. 1-6. Anbuudayasankar, SP, Ganesh, K & Mohapatra, S 2014, Models for Practical Routing Problems in Logistics, Springer International Publishing, Switzerland. Apaydin, O & Gonullu, MT 2008, Emission control with route optimization in solid waste collection process: A case study, Sadhana, vol. 33, iss 2, pp. 71 82. Benjamin, AM & Beasley, JE 2010, Metaheuristics for the waste collection vehicle routing problem with time windows, driver rest period and multiple disposal facilities, Computers & Operations Research, vol. 37, pp. 2270 2280. Blum, C & Roli, A 2003, Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison, ACM Computing Surveys, vol. 35, no. 3, pp. 268-308. Bodin, L & Golden, B 1981, Classification in vehicle routing and scheduling, Networks, vol. 11, no. 2, pp. 97 108. Boussaïd, I, Lepagnot, J & Siarry, P 2013, A survey on optimization metaheuristics, Information Sciences, vol. 273, pp. 82-117. Conrad, RG & Figliozzi, MA 2011, The Recharging Vehicle Routing Problem, Industrial Engeneering Research Conference, Reno, NV. Cordeau, JF, Gendreau, M, Laporte, Potvin, JY & Semet, F 2002, A guide to vehicle routing heuristics, Journal of Operational Research Society, vol. 53, pp. 512-522. Crainic, TG 1998, Fleet management and logistics, Kluwer, Dordrecht. Crevier, B, Cordeau, JF & Laporte, G 2007, The multi-depot vehicle routing problem with inter-depot routes, European Journal of Operational Research, vol. 176, iss. 2, pp. 756 773. Dantzig, GB & Ramser, JH 1959, The truck dispatching problem, Management Science, vol. 6, pp. 80-91. 54
Eilon, S 1977, Management perspective in physical distribution, OMEGA, The Int. Journal of Management Science, vol. 5, no. 4, pp. 437 462. Erdogan, S & Miller-Hooks, E 2012, A green vehicle routing problem, Transportation Research Part E:Logistics and Transportation Review, vol. 48, no. 1, pp. 100-114. Excel Memory Limits 2014, Viewed 28 August 2015, <http://www.decisionmodels.com/memlimitsc.htm>. Felipe, A, Ortuno, MT, Righini, G & Tirado, G 2014, A heuristic approach for the green vehicle routing problem with multiple technologies and partial recharges, Transportation Research Part E: Logistics and Transportation Review, vol. 71, pp. 111-128. Fisher, M 1995, Vehicle Routing, in Ball, MO et al. (eds), Handbooks in Operations Research and Management Science, vol. 8, Elsevier Science B. V., pp. 1 33. Glover, F 1986, Future paths for integer programming and links to artificial intelligence, Cmput. & 0per. Res., vol. 13, no. 5, pp. 533 549. Glover, F & Laguna, M 1997, Tabu Search, Kluwer Academic, Boston. Golden, BL & Assad, AA 1988, Vehicle Routing: Methods and Studies, North- Holland, Amsterdam. Ichimori, T, Hiroaki, I & Nishida, T 1981, Routing a vehicle with the limitation of fuel, Journal of Operations Research, vol. 24, no.3, pp. 277 280. Ichimori, T, Hiroaki, I & Nishida, T 1983, Two routing problems with the limitation of fuel, Discrete Applied Mathematics, vol. 6, pp. 85 89. IPCC 2014, Climate Change 2014:Mitigation of Climate Change. Working Group III Contribution to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change, Cambridge University Press, Cambridge, United Kingdom and New York, NY, USA. Johnson, DS & McGeoch, LA 1995, The Travelling Salesman Problem: A Case Study in Local Optimization, in Aarts, EHL & Lenstra, JK (eds.), Local Search in Combinatorial Optimization, John Wiley and Sons, London, pp. 215-310. 55
Kara,I, Kara, BY & Yatis, MK 2007, Energy Minimizing Vehicle Routing Problem, in Dress,A, Xu,Y & Zhu,B (eds.), Combinatorial Optimization and Applications, Springer-Verlag Berlin Heidelberg, Germany, pp. 62-71. Kok, AL, Hans, EW & Schutten, JMJ 2012, Vehicle routing under time- dependent travel times: The impact of congestion avoidance, Computers & Operations Research, vol. 39, pp. 910-918. Küçükoğlu,I, Ene,S, Aksoy,A & Öztürk, N (2015), A memory structure adapted simulated annealing algorithm for a green vehicle routing problem, Environmental Science and Pollution Sensing, Monitoring, Modeling and Remediation, vol. 22, pp. 3279-3297. Kuo, Y 2010, Using simulated annealing to minimize fuel consumption for the timedependent vehicle routing problem, Computers & Industrial Engineering, vol. 59, iss 1, pp. 157 165. Lenstra, JK & Rinnooy Kan, AHG 1981, Complexity of vehicle routing and scheduling problems, Networks, vol. 11, pp. 221-227. Lin, C, Choy, KL, Ho, GTS, Chung, SH & Lam, HY 2014, Survey of Green Vehicle Routing Problem: Past and future trends, Expert Systems with Applications, vol. 41, pp. 1118-1138. Mckinnon, A, Cullinane, S, Browne, M & Whiteing, A 2010, Green Logistics, Kogan Page Limited, London. Mehrez, A & Stern, HI 1985, Optimal Refuelling Strategies for a Mixed- Vehicle Fleet, Research Logistics Quarterly, vol. 32, pp. 315-328. Mehrez, A, Stern, HI & Ronen,D 1983, Vehicle Fleet Refuelling Strategies to Maximize Operational Range, Naval Research Logistics Quarterly, vol. 30, pp. 319-342. Melkman, AA, Stern, HI & Mehrez, A 1986, Optimal Refuelling Sequence for a Mixed Fleet with Limited Refuelings, Naval Research Logistics Quarterly, vol. 33, pp. 759-762. 56
MirHassani, SA & Mohammadyari, S 2014, Reduction of carbon emissions in VRP by gravitational search algorithm, Management of Environmental Quality: An International Journal, vol. 25, iss 6, pp. 766 782 Savelsbergh, MWP 1992, The Vehicle Routing Problem with Time Windows: Minimizing Route Duration, ORSA Journal on Computing, vol. 4, no. 2, pp. 146-154. Sbihi, A & Eglese, RW 2010, Combinatorial optimization and Green Logistics, Annals of Operations Research, vol. 175, no. 1, pp. 159-175. Scneider, M, Stegner, A & Goeke, D 2014, The Electric Vehicle-Routing Problem with Time Windows and Recharging Stationsm, Transportation Science, vol. 48, no. 4, pp. 500-520. Simchi- Levi, D, Chen, X & Bramel, J 2014, The Logic of Logistics, Springer Science and Business Media, New York. Talbi, E 2009, Metaheuristics: from design to implementation, John Wiley & Sons, Inc., Hoboken, New Jersey. Tarantilis, CD, Zachariadis, EE & Kiranoudis, CT 2008, A Hybrid Guided Local Search for the Vehicle-Routing Problem with Intermediate Replenishment Facilities, INFORMS Journal on Computing, vol. 20, no. 1, pp. 154 168. Xiao,Y, Zhao,Q,Kaku,I & Xu,Y 2012, Development of a fuel consumption optimization model for the capacitated vehicle routing problem, Computers and Operations Research, vol.9, pp.1419-1431. 57
APPENDIX A: Results from numerical experiments Small test instances ten runs of the TS algorithm for each (best solution values are in bold typeface) S1I1 20 customers (uniformly distributed), 3 AFSs 1 1770.640167 6 20 2 1770.640167 6 20 3 1972.481487 7 20 4 1722.544822 6 20 5 1886.699416 7 20 6 1816.155861 6 20 7 1977.14362 7 20 8 1770.640167 6 20 9 1784.517304 6 20 10 1878.970793 7 20 S1I2 20 customers (uniformly distributed), 3 AFSs 1 1681.902184 7 20 2 1681.902184 7 20 3 1681.902184 7 20 4 1681.902184 7 20 5 1622.030271 6 20 6 1574.77981 6 20 7 1681.902184 7 20 8 1574.77981 6 20 9 1681.902184 7 20 10 1574.77981 6 20 58
S1I3 20 customers (uniformly distributed), 3 AFSs 1 1812.297887 6 20 2 1722.675459 7 20 3 1812.297887 6 20 4 1625.364652 6 20 5 1625.364652 6 20 6 1706.911762 6 20 7 1802.868144 6 20 8 1704.479531 6 20 9 1625.364652 6 20 10 1722.675459 7 20 S1I4 20 customers (uniformly distributed), 3 AFSs 1 1591.059694 6 20 2 1593.241951 6 20 3 1463.468531 5 20 4 1592.460939 6 20 5 1593.241951 6 20 6 1592.702859 6 20 7 1601.136212 6 20 8 1591.301614 6 20 9 1491.624409 5 20 10 1591.301614 6 20 S1I5 20 customers (uniformly distributed), 3 AFSs 1 1697.942648 6 20 2 1713.214356 6 20 3 1703.240616 6 20 4 1703.240616 6 20 5 1713.716178 6 20 6 1697.440826 6 20 7 1697.440826 6 20 8 1703.742439 6 20 9 1697.440826 6 20 10 1697.440826 6 20 59
S1I6 20 customers (uniformly distributed), 3 AFSs 1 1791.384772 7 20 2 1781.557611 7 20 3 1809.387413 7 20 4 1791.384772 7 20 5 1781.557611 7 20 6 1786.901811 7 20 7 1657.68968 6 20 8 1786.901811 7 20 9 1791.384772 7 20 10 1658.846373 6 20 S1I7 20 customers (uniformly distributed), 3 AFSs 1 1758.283172 7 20 2 1732.027483 6 20 3 1602.564873 6 20 4 1758.283172 7 20 5 1756.701055 7 20 6 1762.492637 7 20 7 1762.492637 7 20 8 1602.564873 6 20 9 1762.492637 7 20 10 1762.492637 7 20 S1I8 20 customers (uniformly distributed), 3 AFSs 1 1777.809668 6 20 2 1777.809668 6 20 3 1936.166556 7 20 4 1921.079958 6 20 5 1777.809668 6 20 6 1788.359564 6 20 7 1758.772537 6 20 8 1927.692339 7 20 9 1769.322433 6 20 10 1769.322433 6 20 60
S1I9 20 customers (uniformly distributed), 3 AFSs 1 1740.011812 6 20 2 1716.715759 6 20 3 1881.427086 7 20 4 1745.162377 6 20 5 1742.379719 6 20 6 1736.697863 6 20 7 1748.012621 6 20 8 1759.993916 6 20 9 1976.335242 7 20 10 1976.335242 7 20 S1I10 20 customers (uniformly distributed), 3 AFSs 1 1309.525438 5 20 2 1273.94142 5 20 3 1309.525438 5 20 4 1292.63023 5 20 5 1361.841161 5 20 6 1309.525438 5 20 7 1273.94142 5 20 8 1181.308073 4 20 9 1309.525438 5 20 10 1316.242201 5 20 S2I1-20 customers (clustered), 3 AFSs 1 1335.912835 5 20 2 1320.008817 5 20 3 1335.912835 5 20 4 1294.481924 5 20 5 1343.078574 5 20 6 1320.008817 5 20 7 1344.005548 5 20 8 1335.912835 5 20 9 1337.678521 5 20 10 1302.870708 5 20 61
S2I2-20 customers (clustered), 3 AFSs 1 1563.951162 5 19 2 1605.652549 6 19 3 1563.951162 5 19 4 1562.327356 5 19 5 1562.327356 5 19 6 1591.805006 6 19 7 1563.951162 5 19 8 1563.951162 5 19 9 1563.951162 5 19 10 1563.951162 5 19 S2I3-20 customers (clustered), 3 AFSs 1 898.3919689 3 12 2 900.655745 3 12 3 898.3919689 3 12 4 880.1951755 3 12 5 900.655745 3 12 6 880.1951755 3 12 7 898.3919689 3 12 8 880.1951755 3 12 9 898.3919689 3 12 10 898.3919689 3 12 S2I4-20 customers (clustered), 3 AFSs 1 1109.725459 5 18 2 1154.095428 5 18 3 978.8283146 4 18 4 1109.725459 5 18 5 1109.725459 5 18 6 1117.321821 5 18 7 1147.782825 5 18 8 1117.321821 5 18 9 1109.725459 5 18 10 978.8283146 4 18 62
S2I5-20 customers (clustered), 3 AFSs 1 2156.009559 7 19 2 2220.198479 7 19 3 2159.748205 7 19 4 2159.748205 7 19 5 2220.198479 7 19 6 2198.322245 7 19 7 2159.748205 7 19 8 2237.376458 7 19 9 2158.184847 7 19 10 2207.552286 7 19 S2I6-20 customers (clustered), 3 AFSs 1 2426.090579 8 17 2 2429.961286 8 17 3 2498.975892 8 17 4 2429.961286 8 17 5 2498.975892 8 17 6 2426.090579 8 17 7 2505.809702 8 17 8 2505.809702 8 17 9 2572.486745 8 17 10 2509.315694 8 17 S2I7-20 customers (clustered), 3 AFSs 1 1014.95549 3 6 2 1014.95549 3 6 3 1014.95549 3 6 4 1014.95549 3 6 5 1014.95549 3 6 6 1014.95549 3 6 7 1014.95549 3 6 8 1014.95549 3 6 9 1014.95549 3 6 10 1014.95549 3 6 63
S2I8-20 customers (clustered), 3 AFSs 1 3133.47888 9 18 2 3144.930843 9 18 3 3133.47888 9 18 4 3298.726175 10 18 5 3133.47888 9 18 6 3144.930843 9 18 7 3310.178138 10 18 8 3133.47888 9 18 9 3133.47888 9 18 10 3135.166683 9 18 S2I9-20 customers (clustered), 3 AFSs 1 1694.228774 6 19 2 1727.413468 6 19 3 1721.531391 6 19 4 1694.228774 6 19 5 1717.032342 6 19 6 1694.228774 6 19 7 1688.086282 6 19 8 1750.217036 6 19 9 1750.217036 6 19 10 1750.217036 6 19 S2I10-20 customers (clustered), 3 AFSs 1 2654.136365 8 15 2 2690.567608 9 15 3 2652.668215 8 15 4 2690.948591 9 15 5 2654.136365 8 15 6 2794.833153 9 15 7 2644.10938 8 15 8 2657.794048 8 15 9 2644.490362 8 15 10 2690.948591 9 15 64
S3I1-20 customers (uniformly distributed), 6 AFSs 1 1578.122203 6 20 2 1578.122203 6 20 3 1578.122203 6 20 4 1578.122203 6 20 5 1681.90218 7 20 6 1578.122203 6 20 7 1578.122203 6 20 8 1663.782722 7 20 9 1578.122203 6 20 10 1578.122203 6 20 S3I2-20 customers (uniformly distributed), 6 AFSs 1 1708.444809 7 20 2 1598.905458 6 20 3 1626.819415 6 20 4 1592.199309 6 20 5 1708.444809 7 20 6 1657.244348 6 20 7 1592.199309 6 20 8 1598.905458 6 20 9 1598.905458 6 20 10 1626.819415 6 20 S3I3-20 customers (uniformly distributed), 6 AFSs 1 1621.953566 6 20 2 1723.020285 6 20 3 1621.953566 6 20 4 1621.953566 6 20 5 1669.166988 6 20 6 1673.821633 6 20 7 1673.821633 6 20 8 1673.821633 6 20 9 1796.258858 7 20 10 1613.431145 6 20 65
S3I4-20 customers (uniformly distributed), 6 AFSs 1 1773.907856 6 20 2 1912.360667 7 20 3 1788.175271 6 20 4 1898.893214 7 20 5 1913.376094 7 20 6 1717.025488 6 20 7 1873.484436 7 20 8 1749.206436 6 20 9 1749.206436 6 20 10 1805.698124 6 20 S3I5-20 customers (uniformly distributed), 6 AFSs 1 1272.628605 5 20 2 1334.024608 5 20 3 1331.338033 5 20 4 1192.238406 4 20 5 1253.873888 5 20 6 1355.89887 5 20 7 1192.238406 4 20 8 1281.011506 5 20 9 1316.242201 5 20 10 1312.583316 5 20 S3I6-20 customers (clustered), 6 AFSs 1 1670.574476 6 20 2 1708.719404 6 20 3 1670.574476 6 20 4 1670.574476 6 20 5 1670.574476 6 20 6 1669.788917 6 20 7 1670.574476 6 20 8 1670.574476 6 20 9 1707.881155 6 20 10 1669.788917 6 20 66
S3I7-20 customers (clustered), 6 AFSs 1 1505.065977 6 19 2 1549.435951 6 19 3 1505.065977 6 19 4 1505.065977 6 19 5 1505.065977 6 19 6 1505.065977 6 19 7 1549.435951 6 19 8 1558.057766 6 19 9 1505.065977 6 19 10 1505.065977 6 19 S3I8-20 customers (clustered), 6 AFSs 1 2869.584089 9 20 2 3023.317035 10 20 3 2660.490024 8 20 4 2816.201524 9 20 5 2660.490024 8 20 6 2661.479301 8 20 7 2847.10282 9 20 8 2654.047141 8 20 9 2868.594813 9 20 10 2868.594813 9 20 S3I9-20 customers (clustered), 6 AFSs 1 2212.195038 7 16 2 2175.657756 7 16 3 2212.195038 7 16 4 2175.657756 7 16 5 2175.657756 7 16 6 2175.657756 7 16 7 2212.195038 7 16 8 2175.657756 7 16 9 2212.195038 7 16 10 2175.657756 7 16 67
S3I10-20 customers (clustered), 6 AFSs 1 2133.417336 7 17 2 2166.644251 7 17 3 2171.227411 7 17 4 2096.61051 7 17 5 2096.61051 7 17 6 2201.470487 7 17 7 2008.588265 7 17 8 2325.811474 8 17 9 2181.159216 7 17 10 2189.747168 7 17 S4I1-20 customers (uniformly distributed), 2 AFSs 1 1647.798521 6 20 2 1682.890449 6 20 3 1715.708379 7 20 4 1662.240063 6 20 5 1598.905458 6 20 6 1606.169028 6 20 7 1626.819415 6 20 8 1599.462879 6 20 9 1606.169028 6 20 10 1598.905458 6 20 S4I2-20 customers (uniformly distributed), 4 AFSs 1 1716.48939 7 20 2 1715.708379 7 20 3 1599.462879 6 20 4 1662.240063 6 20 5 1626.819415 6 20 6 1599.462879 6 20 7 1660.057806 6 20 8 1598.905458 6 20 9 1598.905458 6 20 10 1654.976492 6 20 68
S4I3-20 customers (uniformly distributed), 6 AFSs 1 1592.199309 6 20 2 1598.905458 6 20 3 1592.199309 6 20 4 1652.794236 6 20 5 1626.819415 6 20 6 1598.905458 6 20 7 1598.905458 6 20 8 1634.082985 6 20 9 1449.147182 5 20 10 1598.905458 6 20 S4I4-20 customers (uniformly distributed), 8 AFSs 1 1684.004336 6 20 2 1677.894734 6 20 3 1652.794236 6 20 4 1677.894734 6 20 5 1598.905458 6 20 6 1626.819415 6 20 7 1677.894734 6 20 8 1598.905458 6 20 9 1740.862891 7 20 10 1634.082985 6 20 S4I5-20 customers (uniformly distributed), 10 AFSs 1 1580.955104 6 20 2 1598.905455 6 20 3 1596.263253 6 20 4 1677.894732 6 20 5 1596.263253 6 20 6 1599.462875 6 20 7 1580.955104 6 20 8 1580.955104 6 20 9 1626.819412 6 20 10 1596.263253 6 20 69
S4I6-20 customers (clustered), 2 AFSs 1 1109.725469 5 18 2 978.8283186 4 18 3 1089.532535 4 18 4 1109.725469 5 18 5 1109.725469 5 18 6 1109.725469 5 18 7 1109.725469 5 18 8 978.8283186 4 18 9 1162.717255 5 18 10 1109.725469 5 18 S4I7-20 customers (clustered), 4 AFSs 1 1497.365881 5 19 2 1496.554395 6 19 3 1516.45032 5 19 4 1534.611761 6 19 5 1534.611761 6 19 6 1534.611761 6 19 7 1490.364216 5 19 8 1504.055128 5 19 9 1516.45032 5 19 10 1497.365881 5 19 S4I8-20 customers (clustered), 6 AFSs 1 1484.613271 6 20 2 1484.613271 6 20 3 1522.670637 6 20 4 1484.613271 6 20 5 1492.114004 6 20 6 1522.670637 6 20 7 1698.559177 6 20 8 1484.613271 6 20 9 1353.62049 5 20 10 1492.209634 6 20 70
S4I9-20 customers (clustered), 8 AFSs 1 1484.613271 6 20 2 1742.929146 6 20 3 1522.670637 6 20 4 1522.670637 6 20 5 1353.71612 5 20 6 1537.605056 6 20 7 1492.209634 6 20 8 1492.209634 6 20 9 1522.670637 6 20 10 1353.71612 5 20 S4I10-20 customers (clustered), 10 AFSs 1 1528.975218 6 20 2 1528.975218 6 20 3 1482.271602 6 20 4 1522.662614 6 20 5 1528.975218 6 20 6 1484.605248 6 20 7 1484.837606 6 20 8 1522.662614 6 20 9 1528.975218 6 20 10 1353.708098 5 20 71
Large instances five runs of the TS algorithm for each (best solution values are in bold typeface) 111c21s -Scenario 1 1 5194.880085 19 109 2 5305.835894 20 109 3 5152.761856 19 109 4 5525.568147 20 109 5 5275.633384 19 109 200c21s Scenario 2 1 9718.460981 34 192 2 9497.268098 34 192 3 9522.71788 33 192 4 9475.570876 33 192 5 9708.160895 35 192 250c21s Scenario 2 1 11238.81706 41 237 2 11492.30061 42 237 3 11375.83444 41 237 4 11103.28665 39 237 5 11495.91607 42 237 300c21s Scenario 2 1 13165.7388 47 283 2 13793.78449 50 283 3 13117.65115 46 283 4 13538.58493 49 283 5 13058.75075 46 283 350c21s Scenario 2 1 15212.07009 56 329 2 14777.62995 54 329 3 15059.18467 53 329 4 15417.68404 55 329 5 15235.6096 55 329 72
400c21s Scenario 2 1 17671.05826 63 378 2 17471.02169 63 378 3 17691.0334 63 378 4 17978.10414 64 378 5 17280.48381 61 378 450c21s Scenario 2 1 19297.78258 70 424 2 19155.1558 69 424 3 18587.27925 66 424 4 20501.2954 73 424 5 19339.46746 69 424 500c21s Scenario 2 1 23120.19304 82 471 2 22619.61508 82 471 3 21695.37209 78 471 4 23354.52031 83 471 5 21730.12495 78 471 111c22s Scenario 3 1 5392.105945 20 109 2 5495.92795 20 109 3 5361.632371 19 109 4 5522.959503 20 109 5 5567.489526 20 109 111c24s Scenario 3 1 5247.874619 19 109 2 5138.407391 19 109 3 5341.337421 19 109 4 5459.230239 20 109 5 5449.594182 20 109 73
111c26s Scenario 3 1 5463.759036 20 109 2 5257.494786 19 109 3 5592.931459 21 109 4 5256.151544 19 109 5 5239.053823 19 109 111c28s Scenario 3 1 5151.228302 19 109 2 5220.875005 19 109 3 5382.92906 20 109 4 5151.213803 19 109 5 5501.483881 21 109 74
APPENDIX B: Contents of the CD- DVD The CD - DVD attached to this thesis contains the following: 40 Excel files containing small instance problem sets 12 Excel files containing large instance problem sets A Read Me text file explaining how to use the files 75