Multi-Depot Green Vehicle Routing Problem to Minimize Carbon Emissions

: A Multi-Depot Green Vehicle Routing Problem (MDGVRP) is considered in this paper. In MDGVRP, Alternative Fuel-powered Vehicles (AFVs) start from di ﬀ erent depots, serve customers, and, at the end, return to the original depots. The limited fuel tank capacity of AFVs forces them to visit Alternative Fuel Stations (AFS) for refueling. The objective is to minimize the total carbon emissions. A Two-stage Ant Colony System (TSACS) is proposed to ﬁnd a feasible and acceptable solution for this NP-hard (Non-deterministic polynomial-time) optimization problem. The distinct characteristic of the proposed TSACS is the use of two distinct types of ants for two di ﬀ erent purposes. The ﬁrst type of ant is used to assign customers to depots, while the second type of ant is used to ﬁnd the routes. The solution for the MDGVRP is useful and beneﬁcial for companies that employ AFVs to deal with the various inconveniences brought by the limited number of AFSs. The numerical experiments conﬁrm the e ﬀ ectiveness of the proposed algorithms in this research. swap local search and the revised swap local search.


Introduction
According to the report of International Energy Agency (IEA), 23% of global CO 2 emissions are generated by the transportation sector, in which nearly 75% of the emissions is generated by the road sector. These figures indicate an emergent need for reducing the CO 2 emissions produced by the road sector. Green Logistics emphasizes the sustainable issues arising in logistics operations to diminish the pollution in the road transportation sector. Green logistics advocate the adoption of clean energies, such as electric and hydrogen, to decrease the pollution. The problem regarding the design of the routing scheme for green vehicles is called Green Vehicle Routing Problem (GVRP).
The Green Vehicle Routing problem (GVRP) has attracted attention from researchers due to worldwide environmental concerns [1][2][3]. The classical Vehicle Routing Problem (VRP) focuses mainly on minimizing the total transportation costs of distribution services, while the GVRP addresses sustainable issues in delivery distribution along with the optimal economic cost of delivery [2]. According to [1], the design of GVRP uses Alternative Fuel-powered Vehicles (AFV), which rely on a greener fuel source, such as electricity, natural gas, hydrogen, etc. In addition, Erdoĝan and Miller-Hooks [1] pointed out two main challenges encountered when replacing conventional vehicles with AFVs, namely the limited fuel tank capacity of AFVs and the limited availability of the Alternative Fuel Stations (AFSs). These obstacles add complexity to the model formulation and algorithm design of GVRP.
The Multi-Depot Vehicle Routing Problem (MDVRP) is another branch of the VRP problem which has attracted considerable attention among researchers and practitioners [4][5][6]. In MDVRP, a fleet of vehicles serves customers from several depots and returns back to the same pre-assigned depot. Research about the MDVRP is useful for the companies that have multiple depots.
In recent years, multinational companies such as UPS, Coca-Cola and GM have started paying attention to environmentally sustainable performances for attracting environmentally conscious customers [7,8]. Their objective in this research is to strike a balance between economic performance and environmental protection. For these companies, neither GVRP nor MDVRP may be able to satisfy their objectives. Therefore, in this paper, a model referred to as the Multi-Depot Green Vehicle Routing Problem (MDGVRP) is proposed. Compared to MDVRP or GVRP, MDGVRP has more constraints and, as a result, is more challenging to formulate and solve.
In recent years, the MDGVRP problem has been considered by some researchers [9][10][11][12]. However, compared with their models, our MDGVRP model considers different constraints and objective functions. In their MDGVRP model, the objective function is to minimize the carbon emission generated by the vehicles and does not consider the tank capacity of vehicles. Our model focuses on minimizing the traveling distance of all AFVs with limited tank capacity. Our model is based on Green-VRP (G-VRP), and their models are based on the Pollution Routing Problem (PRP). The G-VRP and PRP are two sub-categories in GVRP, which are discussed in the literature review section.
This paper is organized as follows. In Section 2, a related literature review is presented. Section 3 introduces the definition and formulation of MDGVRP. Section 4 presents the algorithms designed for solving MDGVRP. Numerical experiments are presented in Section 5 and are followed by the conclusion in Section 6.

Literature Review
GVRP has received much attention from researchers and academics in recent years due to the fact that people are becoming more conscious about environmental issues. According to a comprehensive literature survey on the GVRP in [2], there are three categories of GVRP, namely Pollution Routing Problem (PRP), Green-VRP (G-VRP) and VRP in reverse logistics. Although these categories focus on economic costs and environment costs simultaneously, the PRP is focused on minimizing the fuel consumption, and the G-VRP is focused on using AFVs instead of conventional vehicles. Therefore, the objective function of PRP is the minimization of the total GHG (Green house gas), and the objective of G-VRP is the minimization of the total travel distance of all AFVs.
In the G-VRP model, tank capacity is considered to be limited. Therefore, vehicles are required to visit AFSs to refuel when the remaining fuel level is not enough to reach the next node on the route. Erdoĝan and Miller-Hooks [1] were the first to address the AFV-based GVRP model. They proposed a model to optimize the transportation routes to overcome the obstacles caused by the limited fuel tank capacity of the AFVs. Based on their work, Felipe, Ortuño, Righini and Tirado [13] proposed a heuristic approach to solve G-VRP with multiple technologies and partial recharges. Montoya et al. [14] developed a multi-space sampling heuristic for G-VRP, and Koç and Karaoglan [15] solved G-VRP with an exact algorithm based on the branch and bound method. Zhang et al. [16] solved G-VRP by using a two-phase meta-heuristic algorithm, while Andelmin and Bartolini [17] also proposed an exact algorithm to solve G-VRP. Peng et al. [18] proposed a memetic algorithm to solve GVRP. Schneider et al. [2] extended the G-VRP by adding the customer time window constraints to the VRP for electric vehicles. All of these papers propose a different variation of the GVRP model based on the GVRP model of Erdoĝan and Miller-Hooks [4] with aim to minimize the total travel distance. The main feature of the GVRP model of Erdoĝan and Miller-Hooks [1] is to introduce limited fuel tank capacity constrains in the VRP model. Our model is based on the GVRP addressed by Erdoĝan and Miller-Hooks [1].
One of the novel features of our model is to minimize the total carbon emissions. Nocera et al. [19] assess the carbon cost emissions for road transportation through traffic flow. They proposed a TANINO model to calculate the carbon emissions of the highway SE30 of a city Seville (Spain). They took road infrastructure, vehicle type and traffic condition into account while estimating carbon emission. Fu et al. [20] proposed a methodology for estimating annual daily traffic and transport emissions for a national road network. These papers estimated the carbon cost for a real-world traffic flow problem. The carbon cost emissions in these articles assumed a linear relationship of carbon cost with the distances travelled by the vehicles, and, hence, our model assumed similar relationship for carbon cost emissions.
Our model is an extension of the multi-depot vehicle routing problem (MDVRP). The MDVRP was first described in Bennett [21]. It is a generalization of the standard VRP in which the number of depots is considered to be more than one [6]. The research of MDVRP mainly focuses on proposing and developing new methods and algorithms to solve the problem. The work of Montoya-Torres et al. [4] revealed that most researchers tend to solve the MDVRP by heuristics or meta-heuristics. For instance, Vidal et al. [5] solved the MDVRP using a hybrid genetic algorithm. Yu et al. [6] converted the MDVRP into a Single-depot VRP (SVRP) by adding a virtual depot in the first step and then by applying an improved Ant Colony Optimization (ACO) to solve the Single-depot VRP (SVRP). Escobar et al. [22] solved MDVRP by using a hybrid granular tabu search algorithm.
The work of Kaabachi et al. [9], Jabir et al. [10], Li et al. [11] and Wang et al. [12] also focuses on MDGVRP; however, their MDGVRP model is developed from the Pollution Routing Problem (PRP) and does not consider the tank capacity of vehicles. One of the aims of this paper is to propose the MDGVRP model with a limited tank capacity of AFVs. Thus, the contribution of the paper includes the introduction of a new MDGVRP model, formulation of a mathematical model for the proposed MDGVRP model, algorithm design for solving the proposed MDGVRP model. Nagy and Salhi [23] solved MDVRP with pickups and deliveries by dividing customers into borderline and non-borderline customers. Based on the idea of Nagy and Salhi [23], a Partition-Based Algorithm (PBA) is proposed in this paper. We also proposed a Two-stage Ant Colony System (TSACS) to obtain high-quality solutions.

Problem Description and Formulation
A standard MDGVRP can be described as finding routes with the least distance from more than one depot to a set of customers. Each customer is associated with a fixed allocated demand to be delivered. Each customer is visited by the vehicle fleet only once, and the demand of the customer is satisfied after each visit. A vehicle starts from a depot, serves customers one-by-one, and, finally, returns back to its originally assigned depot. During the service process, when the remaining cargo of a vehicle is not able to satisfy the demand of the next customer, the vehicle returns back to the depot for reloading. If it is necessary to refuel during the service process, the vehicles visit the AFSs for refueling. Therefore, a particular AFS can be visited more than once. The objective of the problem is to minimize the total carbon emissions of operating all vehicles.
In this section, we introduce some definitions and notations that will be used in the rest of the paper. Let G = (V, E) be a complete and directed graph, in which V is a set of vertices and E is a set of edges between different vertices. The vertex set V has three subsets: customer set C = {c 1 , c 2 , . . . c N } for N number of customers, depot set D = c N+1 , c N+2 , . . . c N+M for M number of depots and AFS set S = c N+M+1 , c N+M+2 , . . . c N+M+NS } for NS number of AFSs. Therefore, the number of customers, depots and AFSs are N, M and NS, respectively. For every AFS, n f ( f = 1, 2, . . . NS) is the number of dummy vertices. In this way, the number of visiting times for every AFS can be recorded by n f . In the research of Bard, Huang, Dror, and Jaillet (1998), there are more details and techniques about the use of dummy vertex. The edge set E = c i , c j : c i , c j ∈ V, i j represents the edges connecting different vertices of V, and every element of E is associated with the distance between two vertices d ij and fuel consumption f ij . In MDGVRP, we assume that the relationship between the travel distance and the fuel consumption is linear. The fuel consumption rate r is assumed to be a fixed value. Therefore, the fuel consumption in arc c i , c j is calculated as f ij = r· d ij . All other notations used to formulate MDGVRP are defined as follows:  The mathematical formulation for MDGVRP can be presented as follows: x ijk ∈ {0, 1}, ∀i, j ∈ V, k ∈ K In this formulation, Equation (1) is the objective function, which minimizes the total carbon emissions produced by all the vehicles. Constraints (2) and (3) limit each customer to a single visit by a single vehicle. Constraint (4) ensures that, for each vehicle, the number of outgoing arcs from one vertex is equal to the incoming arcs to this vertex. Constraint (5) means that any vehicle k can only leave a depot once. Constraints (4) and (5) combine together to ensure that the starting and ending depot of a vehicle is the same. Constraints (6) and (7) ensure that the vehicle capacity constraint is preserved. Constraints (8)- (10) guarantee that the vehicle tank capacity constraint T is satisfied and these constraints also eliminate sub-tour. In this formulation, Constraints (8)-(10) distinguish the MDGVRP from MDVRP. These constraints are completely different from the other formulation because of the specific property of MDGVRP. Constraint (8) calculates fuel consumption if a vehicle is travelling between two customers. Constraint (9) calculates fuel consumption from depot or fuel station to customer. Constraint (10) ensures that the remaining fuel is enough to go to its next destination. Finally, Constraint (11) limits x ijk to a binary variable. This mathematic model is verified by A Mathematical Programming Language (AMPL), which is introduced in Section 5.

Estimation of Carbon Emission Conversion Factor (CCF)
The research paper of Nocera et al. [19] and Fu et al. [20] estimated carbon cost for real-world traffic flow problem. Nocera et al. [19] estimated the carbon emission by multiplying the total distance travelled by vehicles with the unitary emissions factor. Similarly, Fu et al. [20] estimated carbon emission by multiplying the kilometers of different vehicles (VKMs) with the conversion factor. These two papers motivated us to calculate the carbon emission by multiplying total distances covered by vehicles with the carbon emission conversion factor (CCF). According to Reichmuth et al. [24], a hydrogen-fueled vehicle produces 0.2 kg CO 2 per mile of vehicle travel distance. Thus, we assumed CCF to be 0.20 kg per miles.

Solution of MDGVRP
In this section, two methods are designed to solve MDGVRP: the Partition-Based Algorithm (PBA) and the Two-stage Ant Colony System (TSACS) algorithm. The details of these algorithms are provided in the following sections.

Partition-Based Algorithm (PBA)
The Partition-Based Algorithm (PBA), which is based on the idea of dividing customers into borderline and non-borderline customers, was proposed by Nagy and Salhi (2005) [23] to solve MDVRP. In this paper, we extend the PBA for solving MDGVRP. A borderline customer is a customer who is situated approximately halfway between two depots. For instance, consider customer i with the nearest depot p and the second nearest depot q. Let d ip and d iq be the distance between customer i and depot p and the distance between customer i and depot q, respectively. Customer i is identified as a borderline customer if ≥ r a (r a is a parameter between 0.5 and 1). Otherwise, customer i is considered as a non-borderline customer. The process of applying the PBA to solve MDGVRP is as follows.
Step 1 Divide all customers into borderline and non-borderline customers.
Step 2 Assign all non-borderline customers to their nearest depot.
Step 3 Generate a GVRP route for each depot and associated non-borderline customers as follows.
Step 3.1 Generate TSP (Travelling salesman problem) routes based on nearest neighbor criteria (NNC) (Gutin, Yeo, and Zverovich, 2002) for non-borderline customers is associated with a depot.
Step 3.2 Generate GVRP routes from the TSP routes for each depot.
Step 4 Insert the borderline customers into one of the GVRP routes based on the cheapest insertion criteria. If necessary, start a new trip to insert borderline customers.
Step 5 Use MDGVRP local search for the MDGVRP solution to remove redundant nodes. The details of a MDGVRP local search are provided in Section 4.2.3.
Step 3.2 of the algorithm is the most crucial part of the PBA. Generating GVRP route from TSP is obtained in two phases. In the first phase, a VRP route is generated from the TSP route, and, in the second phase, the GVRP route is generated from the VRP route. Zhang et al. [16] generated GVRP routes from TSP routes in two steps. This paper extends the work of Zhang et al. [16] to include more feasible GVRP solutions. The details of generating a GVRP route from a TSP route are given below.
Phase 1: Generate VRP route from TSP route.
VRP routes are generated before GVRP routes. VRP routes are generated by inserting depots into the TSP routes based on customer demand. The VRP routes start from depots with full cargo loads and visit the customers in the same order as they appear in the TSP routes. However, when the remaining cargo of the vehicle is not enough to satisfy the demand of the next customer (NC k ), a depot is inserted in the TSP route. In this way, VRP routes for all the depots are generated.
Generating GVRP routes is the most challenging part for generating solutions for MDGVRP. Generating GVRP routes needs AFSs or depots inserted into the VRP routes based on the fuel consumption between the nodes in the VRP routes. The process of generating the GVRP route based on the VRP route for a depot k is shown in Figure 1.
In a GVRP route for depot k, when the remaining fuel level f of the vehicle is not enough to allow the visit to the next node, the vehicle is required to visit an AFS or go back to depot k for refueling. Therefore, in this situation, an AFS or a depot is inserted into the VRP route for depot k.
The AFS is inserted only when all of the following conditions are satisfied: The remaining fuel level of the vehicle is sufficient to reach the AFS.

2.
The fuel consumption between the AFS and depot k is less than tank capacity T.

3.
The distance travelled to visit the next customer (NC k ) through the AFS is shorter than the distance travelled to visit the next customer (NC k ) through the depot k.
Depot k is inserted only when either condition 1 and 2 or 3 is satisfied: Either: 1 The remaining fuel level of the vehicle is sufficient to reach depot k. 2 The distance travelled to visit the next customer (NC k ) through depot k is shorter than the distance travelled to visit the next customer (NC k ) through the AFS. Or:

3.
The remaining fuel level of the vehicle is not sufficient to reach an AFS or the depot k. In this situation, depot k is trying to be inserted in the previous node. The process is repeated till a place is found for inserting depot k.

Two-stage Ant Colony System (TSACS) Algorithm
It was observed that ants usually walk by taking the shortest route between their nest and the food because of the different levels of pheromone density on various routes [25]. By simulating the food-seeking behaviors of ant colonies in nature, the Ant Colony System (ACS) algorithm was developed in 1996. In the last 20 years, the ACS algorithm has been successfully applied to solve the VRP and its variants (e.g., Bell and McMullen [26], Dorigo et al. [25], Gambardella et al. [27], Gajpal and Abad [28], Lin et al. [2], Montoya-Torres et al. [4], Yu et al. [6] and Ting and Chen [29]).
In TSACS, there are two types of ants, depot-ants and route-ants. The depot-ants are used to assign customers to a depot, and the route-ants are used to generate routes. The main component of the ant colony is the definition of trail intensity. The proposed TSACS algorithm uses two types of ants; therefore, two types of trail intensities are defined. The first trail intensity denoted as τ d ik is related to depot-ants. The second trail intensity denoted as τ r ij is related to route-ants. The term τ d ik represents the trail intensity of the depot-ants for assigning customers i to depot k, and τ r ij represents the trail intensity of the route-ants for traveling to node j from node i. In TSACS, route ants generate MDGVRP routes in two steps. In the first step, MDVRP routes are generated based on TSP routes. In the second step, MDGVRP routes are generated based on the MDVRP routes. A high quality MDVRP solution has a higher chance of getting a better MDGVRP solution. In TSACS, Variable Neighborhood Scheme (VNS) is applied to improve MDVRP solution quality. Once the solution is generated, an MDGVRP solution is generated afterwards. In addition, for each MDGVRP solution, a set of MDGVRP local searches is applied to improve solution quality. The pseudo code of TSACS is demonstrated in Algorithm 1. Set_Parameters;

Initial Trail Intensity Matrixes
At the beginning of the algorithm, the trail intensity of the depot-ants τ d ik and the trail intensity of the route-ants τ r ij are initialized. As mentioned in previous sections, there is a significant difference between MDVRP and MDGVRP. In MDVRP, customers can be assigned to any depot. However, in MDGVRP, some customers can only be assigned to a few or even only one depot because of the limited vehicle tank capacity. The customer i can be feasibly assigned to depot k if at least one of the following conditions is satisfied: Condition 1. A vehicle can depart from depot k to visit customer i and come back depot k without refueling. Condition 2. A vehicle can depart from depot k to visit customer i by refueling at AFS l, and, then, the vehicle can go back to depot k from customer i directly.
Initially, all trail intensities are kept the same. Thus, the trail intensity τ d ik is initialized as follows: The trail intensity for route-ants τ r ij is initialized as τ r ij = 0.01 (∀i, j ∈ V).

Generate Ant Solution
In TSACS, each artificial ant generates one feasible solution in every iteration. For MDGVRP, a feasible solution is a set of GVRP routes for all depots (MDGVRP routes). The MDGVRP solution for each artificial ant is generated in two steps, as described below.
Step 1. Assign Customers to Depots The first step is to assign customers to different depots using depot-ant and the probability of assigning customer i to depot k is as follows: The assignment of customers to a depot starts with the first customer, and, then, other customers are iteratively assigned to different depots from set CD k (∀k ∈ D). The term CD k (∀k ∈ D) represents the set of customers assigned to depot k. At the end of this step, a set CD k is obtained for each depot k (∀k ∈ D).

Step 2. Generate GVRP Routes
After assigning customers to depots, route-ant is used to generate TSP routes for each depot based on the trail intensity of route-ants τ r ij . Let NC k (∀k ∈ D) stand for the set of unvisited customers for depot k. At the beginning of the process, VC k is initialized as NC k = CD k . For depot k, the TSP route starts from depot k and visits the customers one-by-one from set VC k to form a TSP route. The probability of visiting customer j from the current customer i is as follows: The selected customer is then removed from the set NC k . The procedure continues until set VC k becomes an empty set. After generating TSP routes, GVRP routes are generated based on the procedure described in Section 4.1.

Variable Neighborhood Scheme (VNS)
VNS is a set of local search techniques used to improve the quality of ant solutions. As shown in Algorithm 1, in TSACS, VNS is applied in each ant loop (line 11) for the generated ant solution.
VNS consists of four neighborhood solution search techniques, specifically the perturbation scheme, relocate local search, revised swap local search and 2-opt local search. Algorithm 2 illustrates the pseudo code of VNS. The main structure of VNS is a loop (from line 4 to 13). In each loop, the ant solution generated in the previous loop (S ) go through a perturbation scheme, relocate local search, revised swap local search and 2-opt local search in this sequence. Finally, it returns the best neighborhood solution found in VNS (S L ). Relocate local searches and 2-opt local searches have been successfully applied in many algorithms in literature. Therefore, only the details of the perturbation scheme and revised swap local search are discussed in the following sections. The VNS method is shown in Algorithm 2.

Perturbation Scheme
A perturbation scheme is an effective method to diversify solutions and escape from the local optimal. A perturbation scheme consists of two main steps: removal steps and reinsertion steps. During the removal process, 20% to 40% of the total number of customers are randomly removed from the original solution S and stored in the unvisited customer set NC. If more customers are removed, the neighborhood solution will be completely new. On the other hand, if fewer customers are removed, the solution will not be diversified. Therefore, we determined to remove 20% to 40% of customers in each round. In the reinsertion process, customers in NC are inserted into routes one-by-one based on the minimum increased value of the total route's distance.

Revised swap Local search
Revised swap local search is a new local search technique proposed in this paper. In the classic swap local search, two selected customers exchange their positions. However, in the revised swap local search, two selected customers exchange their routes and are inserted into the best positions in the new routes. Figure 2 demonstrates the difference between the classic swap local search and the revised swap local search. In this example, c 10 and c 9 are selected to apply a swap local search. In the classic swap local search, these two customers are exchanged to each other's positions and the total distance reduces to 2770 from 2890. However, in the revised swap local search, these two customers only exchange their routes, and they are inserted into the best positions on the new routes. Finally, the total distance reduces to 2650. A database is used for reducing CPU (center process unit) time. The database calculates and stores the best position of each customer in each route. When two customers are exchanged, only the affected route is recalculated for the best position of customers from other routes, which helps to reduce CPU time.
database calculates and stores the best position of each customer in each route. When two customers are exchanged, only the affected route is recalculated for the best position of customers from other routes, which helps to reduce CPU time.

MDGVRP Local Search
After generating an ant-solution for MDGVRP, we apply an MDGVRP local search on each MDGVRP solution. In TSACS, we adopt two types of local search: a redundancy removal (RR) local search and a relocate local search. An RR local search is applied twice, before and after a relocate local search. A relocate local search for MDGVRP is similar to the relocate local search for MDVRP in VNS.
Redundant nodes are removed to improve the solution quality. Redundant nodes are nodes which can be removed without making the solution infeasible. The initial solution generated by TSACS contains depots and AFSs as redundant nodes because ants generate GVRP routes from TSP routes in two steps. These redundant nodes can be removed to improve the solution quality.

Update the Trail Intensity
At the end of each iteration, the trail intensities of depot-ants and the trail intensities of routeants are updated by the best solution found so far. The trail intensities of depot-ants are updated as follows: where

MDGVRP Local Search
After generating an ant-solution for MDGVRP, we apply an MDGVRP local search on each MDGVRP solution. In TSACS, we adopt two types of local search: a redundancy removal (RR) local search and a relocate local search. An RR local search is applied twice, before and after a relocate local search. A relocate local search for MDGVRP is similar to the relocate local search for MDVRP in VNS.
Redundant nodes are removed to improve the solution quality. Redundant nodes are nodes which can be removed without making the solution infeasible. The initial solution generated by TSACS contains depots and AFSs as redundant nodes because ants generate GVRP routes from TSP routes in two steps. These redundant nodes can be removed to improve the solution quality.

Update the Trail Intensity
At the end of each iteration, the trail intensities of depot-ants τ a ik and the trail intensities of route-ants τ t ij are updated by the best solution found so far. The trail intensities of depot-ants are updated as follows: where , i f customer i is assigned to depot k in the best solution. 0, otherwise.
Here, α is the trail persistence and l ik is the distance between customer i and depot k. Similarly, route trail intensities are updated as follows: , i f node i and j are connected in the best solution.
In this way, the trail intensities are updated at the end of each iteration, which guides the artificial ants to find better solutions in the next iteration.

Numerical Experiments and Analysis
MDGVRP is a new model; therefore, new problem instances are generated to test the performance of the two algorithms designed for solving MDGVRP. Besides, we also tested our TSACS on the 23 benchmark instances of MDVRP to check the performance of TSACS on MDVRP. All experiment results are reported in the following sections.
We randomly generated 17 small problem instances and 60 large problem instances. The positions of depots, AFSs and customers are randomly generated on one 300-by-300-mile grid. In generating the customer locations. We ensure that a customer can be assigned to, at least, one depot. The tank capacity of vehicles T is 60 gallons, and the fuel consumption rate r is 0.2 gallons/mile. The demand of each customer q i (∀i ∈ C) is generated between 15 and 25, and the capacity of vehicle Q is set to 300.
These 17 small instances (labeled as MDGVRPT 1 to MDGVRPT 17) consider the number of customers (N) as 5, 7, 9, 11, 13 and 15; the number of depots (M) as 2, 3 and 4; and the number of AFSs (NS) as 2, respectively. Thus, a total of 17 small instances are generated. In large instances (labeled as MDGVRP 1 to MDGVRP 60), the number of customers is 25, 50, 75, 100, 150 and 200; the number of depots is 4, 6 and 8; and the number of AFSs is 2, 4, 6 and 8. Thus, a total of 60 large instances are generated. The small problem instances are used to obtain the optimal solution by solving the mathematical formulation provided in Section 3. The large problem instances are generated to evaluate the relative performance of proposed algorithms. Before testing the instances, all necessary parameters are set as follows For TSACS, we set the number of iterations A as 1000, the number of artificial ants y as 20, the trail persistence for depot-ants α as 0.95 and trail persistence for route-ants β as 0.95. The TSACS stops if, at least, one of the following conditions is satisfied: (1) no better solution found in the last 50 iterations; (2) the solving time has exceeded 7200 s. For the PBA, the rate distinguishing between a borderline and non-borderline customer r a is set as 0.7.

Experiment Results and Analysis
The TSACS algorithm and the PBA were coded in C++ and implemented on AMD Opteron 2.3 GHz with 16 GB of RAM. The mathematical formulation is solved using AMPL on a desktop with Intel Core i5-4590 3.3 GHz with 8 GB of RAM. The computing time of the mathematical formulation is affected by the number of dummy vertices. Therefore, we set the number of dummy vertices for each AFS to 2 (3 nodes in total for each AFS) and the maximum number of vehicles is the three times of the number of depots. We also set the maximum solving time as 14,400 s (4 h). All experiment results are provided in the following sections.

Experiments on Small-Size Instances
The purpose of small-size instances is to evaluate the absolute performance of the proposed algorithm. We use a formulation described in Section 3 to obtain the optimal solution. We report MDGVRP CO 2 emissions (kg) and the CPU time (seconds) used to solve the instance and Percentage Gap (PG) from the optimal solution for the proposed TSACS algorithm and the PBA. The results are shown in Table 1. The results reported in Table 1 show that the average carbon emissions for the solution obtained by CPLEX, PBA and TSACS are 200.88, 139.32 and 200.88, respectively. The proposed TSACA is able to find the optimal solution for all small-sized instances with an average PG of 0.0 %. The PBA obtained the optimal solution for only four instances, and the average PG between the PBA solution and the optimal solution is 35.84%. The PG for MDGVRPT6 is 159.34%, which indicates that the solution quality of the PBA is not as good as that of TSACS for small-size instances.
From Table 1, it can be seen that TSACS can find the optimal solution for all small-sized instances in 152.35 s on average, which is much less than the 1178.68 s spent by CPLEX. It can also be observed that, when the problem size increases, the CPU time of CPLEX rises dramatically. We could not solve the instance for more than 15 customers.

Experiments on Large-Size Instances
The optimal solution cannot be obtained for a larger size problem. Therefore, Relative Percentage Deviation (RPD) is used to evaluate the performance of the TSACS and PBA. For the j th instance and i th algorithm, the RPD ij is calculated based on the following Equation (18): In this formula, H i j stands for the solution obtained by the i th algorithm for the j th instance and B j represents the best solution from all evaluated algorithms for the j th problem instance. The results of large instances are shown in Table 2. In Table 2, it is clear that the quality of solutions generated by TSACS is much better than that of PBA. The RPD of TSACS is 0.00% for all problem instances, which means that TSACS can obtain a better solution for all problem instances. The average RPD of PBA is 132.56%, which indicates that the solution of PBA is 132.56% worse, on average, than that of TSACS. In addition, the solution quality of PBA is very "unstable". For some instances, such as MDGVRP46 and MDGVRP51, PBA can get relatively high-quality solutions. However, for most of the other instances, the solution quality of PBA is unsatisfactory. The PBA can solve all instances faster. For TSACS, the solving time increases with the size of each instance. In fact, for TSACS, solution quality and CPU time are correlated. The CPU time can be shortened by decreasing the number of iterations or by reducing the number of artificial ants. However, decreasing the CPU time decreases the solution quality. Therefore, a trade-off analysis is performed to fix the number of iterations and the number of ants.

Experiments on MDVRP Instances
MDGVRP is a variant of MDVRP. Thus, the proposed algorithm can also be used to solve MDVRP. There are 23 benchmark instances for MDVRP extracted from previous literature. All these 23 benchmark instances and best-known solutions are available at http://neo.lcc.uma.es/vrp/vrp-instances/ multiple-depot-vrp-instances/. The proposed TSACS is compared with the FIND algorithm [30], CGL method [31], a standard ACO [25], ACO with the ant-weight strategy and the mutation operation (ACO-WM) [32], the PIACO method [6], the HGSADC algorithm [5], and ELTG [22]. For solving the MDVRP problem, we set our objective function as a minimization of total distances because existing algorithms minimize the total travel distance. We set carbon emission conversion factor (CCF) to 1 while solving the problem with the total travel distance objective function.
The experimental results and related RPD of different algorithms are provided in the Table 3. Additionally, as mentioned in [6], the run times are not only dependent on the CPU of the computers but also on the operation system (OS), compiler, programming language and the precision used during the execution of the run. Therefore, the comparison of CPU time is not included.
From Table 3, it can be seen that HGSADC has the best performance, followed by ELTG, PIACO, TSACS, CGL, FIND, ACO-WM and ACO. The average RPD of TSACS is only 0.68%, which is the 5th best among all algorithms, and TSACS can match the existing best-known solution for 14 instances, which is 3rd among all algorithms. The experimental results on MDVRP instances proved that TSACS can solve MDGVRP problems as well as MDGVRP variant problems with acceptable solution quality.

Comparative Evaluation of the Proposed Algorithms
This paper solves the MDGVRP problem using three methods: (1) the mathematical model, (2) the PBA, and (3) TSACS algorithm. The mathematical model is solved by AMPL software using CPLEX solver. The main advantage of the mathematical model is its ability to obtain the optimal solution. However, the CPU time used by the mathematical model increases exponentially when problem size (in terms of N, NS and M) increases linearly. Thus, the mathematical model becomes impractical for solving bigger problem instances. The biggest problem solved by our mathematical model has only 11 customers, three AFVs and four depots. The PBA falls under the category of the heuristic algorithm. The main advantage of the PBA is the use of less CPU time. The PBA is able to solve the problem in less than one second for all the instances, including instances with 200 customers. The main disadvantage of the PBA is the poor solution quality produced by the algorithm. The PBA is, on average, 35% worse than the optimal solution, even for small problem instances. The TSACS algorithm falls under the category of metaheuristic. The TSACS algorithm is a compromise method between the mathematical model and the heuristic algorithm. The TSACS has an advantage over mathematical model for solving bigger problem instances but it cannot guarantee optimal solution. The TSACS has an advantage over the PBA for producing better quality solution but it takes more CPU time.

Conclusions
Recently, multi-national transportation companies have been focusing more on environmental sustainability performance. In this paper, the Multi-Depot Green Vehicle Routing Problem (MDGVRP) is addressed. In MDGVRP, the Alternative Fuel-powered Vehicles (AFVs) are used to deliver goods to customers. These AFVs depart from different depots, serve customers, and, at the end, return back to their original depots. In the service process, AFVs need to consider the remaining fuel level and the remaining cargo level. We provide mathematical formulation to model the MDGVRP problem with the aim of minimizing the total carbon emissions of fleet operation.
We proposed two algorithms, the Two-stage Ant Colony System (TSACS) Algorithm and the Partition-Based Algorithm (PBA) to solve MDGVRP. We generated 17 small-size instances and 60 large-size instances to test the performance of the TSACS algorithm and the PBA. The experimental results reveal that although the PBA can solve each instance within 1 s, the solution quality is unsatisfactory. However, TSACS has a very good overall performance on solution quality. The average carbon emissions for 18 small problem instances is 200.88 kg for both CPLEX and the TSACS algorithm, which indicates that proposed TSACS is able to achieve optimal solution for all small problem instances. TSACS is able to obtain the best solution for all 18 small-sizes instances in 155.18 s on average.
The experimental results of TSACS on the benchmark instances of MDVRP prove that TSACS can also be used to solve variants of MDGVRP problems. These results indicate that the ant colony algorithm can effectively solve the MDGVRP problem. In the future, the proposed ideas may be implemented for testing the performance for solving other variants of combinatorial optimization problems in logistics and supply management [33]. Moreover, with the development of alternative fuel-powered vehicles and a growing concern for environmental protection, we believe that the research on MDGVRP can be applied to other types of VRP with additional social-consideration-type constraints.