1 Introduction

The Heterogeneous Fleet Vehicle Routing Problem (HFVRP) is an extension of the Vehicle Routing Problem (VRP). Instead of considering identical vehicles at a central depot, the HFVRP consists of routing a heterogeneous fleet of vehicles with different capacities and costs to supply customers. The work of Baldacci et al. (2008) gives a literature review of the HFVRP and its variants. It reports different solution approches including heuristics and metaheuristics and their performances. Additionally, the authors draw attention to integer programming formulation for the HFVRP while discussing different lower bounds. Recently, a survey on HFVRP was provided by Koç et al. (2016).

Two features are considered to classify different variants of the problem in the literature: the fleet limitation and the type of costs. Most works in the literature tackled five variants. The different variants are named by using two acronyms: HVRP (Heterogeneous VRP) for problems with limited number of vehicles for each type and FSM (Fleet Size and Mix) for variants with unlimited ones followed by : F for problems with fixed costs and V for those with variable costs. The five variants considered in the literature are as follows:

  • HVRPFV: limited fleet with fixed and variable costs

  • HVRPV: limited fleet with variable costs but without fixed costs

  • FSMFV: unlimited fleet with fixed and variable costs

  • FSMF: unlimited fleet with only fixed costs

  • FSMV: unlimited fleet with only variable costs

To our knowledge, the first work which dealt with variable neighborhood search (VNS) to solve the HFVRP was provided in Imran et al. (2009). The VNS was enhanced by different local search methods including the sweep algorithm (see Gillett and Miller 1974) and the 2-opt (see Lin 1965) together with the Dijkstra’s algorithm (1959) inorder to obtain the initial solution. Two VNS variants which are different in the order of use of the diversification and Dijkstra’s algorithm were developed. The authors make use of existing data for the implementation. They proposed some modification for large data instances to better suit the HFVRP particularities. The performance of the VNS algorithm was shown in other domains such as scheduling problems (see Rahmani and Ramezanian 2016).

The HFVRP is classified as \(\mathcal{{NP}}\)-hard problem because it is reduced to a classical VRP when the provided fleet is homogenous. In this paper, we propose a skewed generalized variable neighborhood search (SGVNS) metaheuristic for the HFVRP due to its computational complexity. The algorithm is based on the exploration of different neighborhoods introducing local search procedures. We will deal with the variants with limited fleet discussed above. The algorithm is tested on instances from the literature and the results are compared with other existing methods.

The remainder of this paper is organized as follows: Sect. 2 describes some works related to the HFVRP and its main variants. A formal definition of the problem is presented in Sect. 3 while Sect. 4 gives a brief review to the VNS and provides an outline of the proposed metaheuristic. Section 5 contains the results obtained and a comparison with those reported in the literature and the final conclusions are presented in Sect. 6.

2 Literature review

A HFVRP survey touching upon the five variants aforementioned together with the approaches to solutions can be found in Baldacci et al. (2008). The FSM was initially proposed by Golden et al. (1984) to optimize the fleet composition whereas the HFVRP was introduced by Taillard (1999) to determine the optimal set of routes with a fixed fleet. In Golden et al. (1984), the authors proposed a mathematical formulation for the FSMF and efficiently compute some lower bounds. They also developed two heuristic algorithms to solve the FSM. The first one is based on the saving algorithm (see Clarke and Wright 1964) and the second is a two-phase giant-tour based approach. The giant-tour scheme is used by Teodorovic et al. (1995) to solve a stochastic HFVRP. Mathematical programming based methods have been developed by Yaman (2006), Choi and Tcha (2007). In Yaman (2006), the author described six different formulations based on flow variables and Miller–Tucker–Zemlin (MTZ) inequalities to model subtour elimination. In Choi and Tcha (2007), lower bounds for all variants of FSM are obtained using a column generation algorithm enhanced by a set covering formulation. A hybrid algorithm composed by an Iterated Local Search (ILS) based heuristic and a Set Partitioning (SP) formulation was proposed in Subramanian et al. (2012) to solve FSM variants. SP is also combined with tabu search algorithm (TSA) in Lee et al. (2008) to solve HFVRP with variable and fixed costs. More recently, a TSA which strikes a balance between intensification and diversification while using the main concepts of TS was applied in Brandao (2011). In Lee et al. (2008), a slightly improved solution quality is provided.

The HFVRP was first introduced by Taillard (1999) and later studied by Tarantilis et al. (2003, 2004), Li et al. (2007) and Brandao (2011). In Taillard (1999), the authors used a heuristic column generation method to solve medium and large size problem instances. The works of Tarantilis et al. (2003) and Tarantilis et al. (2004) developed two algorithms belonging to the stochastic search methods namely, a listed based threshold accepting (LBTA) and a backtracking adaptive threshold accepting (BATA). The numerical results show that BATA improves solutions in comparison with LBTA and taillard’s heuristic. A deterministic tabu search algorithm was proposed by Brandao (2009) to solve the FSMVRP. The author also adapted this algorithm for the HFVRP Brandao (2011). They have shown that solving the HFVRP is much more difficult than solving the FSM. A deterministic variant of the simulated annealing metaheuristic: a a record-to-record travel algorithm (HRTR) was considered in Li et al. (2007). HRTR generated six new best-known solutions in comparison with LBTA and BATA algorithms. Baldacci and Mingozzi (2009) presented an exact algorithm for the HVRPFD based on the set partitioning formulation; they used three types of bounding procedures based on the LP-relaxation and the Lagrangean relaxation. Computaional results have shown that the exact algorithm gives better solutions when it is tested on taillard’s instances (Taillard 1999). Notwithstanding that, such algorithms are not only time-consuming but they are not appropriate for solving larger instances. Iterated local search (ILS) was promising in dealing with HFVRP. The first ILS approach using a variable neighborhood descent (VND) with random neighborhood ordering (RVND) in the local search was developed by Penna et al. (2013). Later, Subramanian et al. (2012) proposed a hybrid ILS with a SP formulation (ILS-RVND-SP). These algorithms have been evaluated on the set of instances of Taillard (1999). The latter algorithm improves the result of one instance and is equal to the best known solution (BKS) for the HVRPFD and the FSMFD. Recently, an ILS-based algorithm was designed to solve a real variant of HFVRP where performing multiple trips and being unable to serve particular customers (docking constraints) are allowed (Coelho et al. (2016)). In addition, both HVRPV and HVRPFV problems are tackled in Liu (2013). The author developed a hybrid population heuristic which yielded competitive results with those existing in the literature such as Prins (2009).

In practice, different situations could represent both FSM and HFVRP. The FSM is suitable for strategic decisions when the size and the composition of the vehicle fleet is not yet decided whereas the HFVRP is more adapted for operational decisions when deciding the vehicles needed among existing ones in the fleet. A case study involving a heterogeneous vehicle fleet in the French fourniture industry is presented in Prins (2002). Several real applications can be found in Li et al. (2007). Examples include FedEx Ground and newspaper delivery because the need for different types of vehicles. Tarantilis and Kiranoudis (2007) developed a flexible adaptive memory-based algorithm to solve two case studies from diary and construction company.

Other variants of HFVRP with some additional constraints are also adressed in the literature. A multi-level composite heuristic was developed by Salhi and Sari (1997) to solve the multi-depot vehicle fleet mix problem. A cluster-based optimization approach for the multi-depot heterogeneneous fleet vehicle routing problem with time windows was proposed in Dondo and Cerda (2007). More recently, the vehicle loading problem with a heterogeneous fleet was modeled and solved in Liu et al. (2016).

Specifically, the main idea of our algorithm is to allow moves toward unfeasible solutions using an appropriate penality function. In fact, this function uses control parameters in a dynamic fashion to create a compromise between intensification and diversificaton. When the capacity constraints are violated, we move towards feasible regions as long as those parameters are increased (intensification). Those parameters are adequately decreased as soon as the capacity constraints are respected by the current solution in order to visit new solution regions (diversification). In addition, the SGVNS process accepts moving to worse solutions while remaining within the feasible regions. To this end, we introduce a threshold parameter to accept worse solutions while applying shaking and local search. The way in which these ideas are implemented are described in the next sections.

3 Problem description

The HFVRP can be defined as follows: Given a directed graph \(G=(V,E)\) where \(V=\{0,1,\ldots ,n\}\) is the set of nodes including the depot represented by the vertex 0 and \(V'=V \setminus \{0\}\) is the set of n customers. \(E=\{(i,j): i,j \in V\}\) is the set of arcs. Each customer \(i\in V'\) has a demand \(q_{i}\) supplied from the depot \((q_{0}=0)\) and each arc (ij) is associated with a distance \(d_{ij}\) \((d_{ii}=0 \forall i \in V)\). The fleet is composed by t different types of vehicles. For each type \(k \in T=\{1,\ldots ,t\}\), \(n_{k}\) vehicles are located at the depot and each vehicle has a capacity \(Q_{k}\), a fixed cost cost \(f_{k}\) and a variable cost \(v_{k}\). Every arc (ij) has a non-negative travelling cost \(c_{ij}^{k}=v_{k}d_{ij}\). A route (Rk) is defined by the sequence of visited customers begining and ending at the depot \((R=(i_{1},i_{2},\ldots ,i_{|R|}), \, i_{1}=i_{|R|}=0)\) using the vehicle of type k. The HFVRP consists in defining a set of routes while minimizing the total cost such that the following constraints are satified:

  1. (i)

    The total demand of the customers in a route (Rk) does not exceed the vehicle capacity \(Q_{k}\),

  2. (ii)

    Each customer is visited exactly by one route,

  3. (iii)

    The number of routes assigned to a vehicle k does not exceed \(n_{k}\).

4 The variable neighborhood search algorithm

The variable neighborhood search is firstly introduced by Mladenović and Hansen (1997). The basic idea of the VNS and its variants is the systematic change of the neighborhood when the search is trapped at a local minimum (see Hansen et al. 2010; Mladenović and Hansen 1997). The main step of the classical VNS starts from an intial solution followed by a shaking procedure and a local search. If the solution is improved, one continues with the first neighborhood; otherwise, a second neighborhood is used and the process is repeated until an acceptance criterion is reached. The procedure is a descent, first improvement method with randomization in the shaking phase. In addition to its simplicity, VNS does not need parameters that influence the efficiency of the implementation.

The variable neighborhood descent (VND) is a deterministic variant of the VNS whereas the reduced variable neighborhood search (RVNS) is a stochastic one. More precisely, let X be the set of feasible solutions, f(x) be the value of the objective function to be minimized and the neighborhood structure \(N(x),\, x \in X\), be the set of solutions obtained from x by applying some modifications. The VND consists of finding the best neighbor \(x'\) of an initial solution x within a neighborhood \(N_{k}(x), k=1...k_{max}\). If the solution is improved, the algorithm continues the search with the new obtained solution and \(k=1\), otherwise it iterates with \(N_{k+1}\). The last step is referred to Change-Neighborhood \((x,x',k)\). Once a local optimum is found, the possibility of finding promising regions from that will arise. To this end, the RVNS considers a set of neighborhoods \(N_{k}\), \(k=1...k_{max}\), usually taken in a nested way (i.e each neighborhood contains the previous one). Rather than exploring neighborhoods to get the best neighbor as in the VND, the algorithm randomly chooses a point \(x' \in N_{1}(x)\). If \(f(x') < f(x)\) then Change-Neighborhood \((x,x',k)\) and the procedure is repeated until \(k=k_{max}\). The basic VNS consists of three major steps: shaking, local search and changing neighborhood. After an initial solution is found, a solution \(x'\) is randomly generated from the first neighborhood \(N_{1}(x)\) during the shaking phase. The local search is then used with \(x'\) as an initial solution to obtain a local optimum \(x''\). Finally, the Change-Neighborhood \((x,x'',k)\) is applied. Combining the features of VND in the local search phase and RVNS to improve the initial solution leads to the general VNS (GVNS). Interesting applications of the VNS metaheuristic could be found in Melian and Mladenović (2007). A GVNS heuristic was proposed for the multiple travelling salesman problem in (Soylu 2015) where two objectives: minimizing the longest tour length and minimizing the total length of all tours are taken into consideration. The heuristic was applied in the traffic signalization network of Kayseri province in Turkey and gave good results. The work of Armas and Melián-Batista (2015) considers a variant of VRP with multiple objectives and developed a VNS for a dynamic rich VRP with time windows.

4.1 Skewed general VNS

The size of neighborhoods while selecting neighborhood structures remains important to escape the valley containing local optima. Due to the loss of information when considering larger neighborhoods, VNS turns into multistart. To overcome this problem, the skewed variable neighborhood search (SVNS) enhances the exploration of the set X by visiting distant valleys (Mladenović et al. 1997). In this paper, we adress a skewed general variable neighborhood search (SGVNS). We allow visiting a solution worse than the incumbent, if this solution is far from it according to a distance function \(\rho \). The different steps of SGVNS are presented in Algorithm 1.

figure a

VNS algorithm and its variants are used efficiently to solve some of location and routing problems. The first implementation of the VNS algorithm to solve the HFVRP was proposed by Imran et al. (2009). The computational results show that the approach is competitive in comparison with the best known results existing in the literature. In the sequel, we describe the different components of our VNS namely the evaluation function and the neighborhood structures followed by a description of the main algorithm.

4.1.1 Evaluation function

In order to have a successful algorithm to solve a problem, an overlap between intensification and diversification is required. The intensification is provided by intensively exploring some regions of the solution space. More than that, the exploration of different regions of the search space diversifies the search. We define an evaluation function in a way to ensure both intensification and diversification. Indeed, in addition to the fixed and varible costs, we added a penality generated with the violation of the capacity constraints for vehicles. Let S be one candidate solution, f(S) be the sum of costs previously described in the Sect. 3 and D(Rk) the total demand of the customers in a route (Rk), we denote by F(S) the evaluation function which is calculated as follows:

$$\begin{aligned} F(S)=f(S)+pen(S) \end{aligned}$$

where pen(S) is a dynamic penality defined by

$$\begin{aligned} \alpha \sum _{i=0}^{n_{k}} \max (0, D(R,k)- Q_{k}) \end{aligned}$$
(1)

and \(\alpha \) represents a penality of violating the capacity of a vehicle k. As the evaluation function is defined, we allow to visit infeasible solutions that exceed the capacity of a vehicle.

The penality will increase rapidly if the parameter \(\alpha \) is fixed to a constant value. Consequently, we propose to create an oscilliation between the feasible and infeasible space by changing \(\alpha \) dynamically in the following way: \(\alpha = \alpha (1+\beta )\) if \(D(R,k) > Q_{k}\) otherwise, we set \(\beta =\beta (1-\varepsilon )\). We begin by increasing the parameter \(\beta \) to quickly achieve the feasible solution space. After that, we enlarge the search space by decreasing it when no better solutions could be found . So, the current region as well as distant regions are thoroughly explored. This mechanism is also known as strategic oscillation involved in Glover (1977) and used since then for a variety of Tabu Search procedures.

4.1.2 Neighborhood structures

Fig. 1
figure 1

2-opt intra-route

Fig. 2
figure 2

Swap move of a customer intra-route

Fig. 3
figure 3

Swap move of a customer inter-route

Fig. 4
figure 4

Shift move of a customer intra-route

Fig. 5
figure 5

Shift move of a customer inter-route

Fig. 6
figure 6

Extended Or-opt intra-route

Fig. 7
figure 7

Extended Or-opt inter-route

Fig. 8
figure 8

Inverse Extended Or-opt intra-route

Fig. 9
figure 9

Inverse Extended Or-opt inter-route

Fig. 10
figure 10

k-Swap intra-route

Fig. 11
figure 11

k-Swap inter-route

Fig. 12
figure 12

Reverse k-Swap intra-route

Fig. 13
figure 13

Reverse k-Swap inter-route

Fig. 14
figure 14

cross-route move

In this study, we performed neighborhood structures involving inter and intra-route moves. The aim was to enhance the cost of routes. We have considered neighborhood structures based on insertion, exchange and shift operators (see Penna et al. (2013)). An inter-move involves two different route \(R_{1}\) and \(R_{2}\) whereas an intra-move is perfomed inside the same route. The different neighborhoods are depicted in the Figs. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) below where one route is represented by a vector beginning and ending with 0 which indicates the depot and the other components depict customers and are described as follows:

  1. 1.

    2-opt \((N_{1})\): A neighbor of a solution is generated by replacing two non adjacent arcs by two new others within the same route.

  2. 2.

    Swap move of a customer \((N_{2})\): This neighborhood structure corresponds to a permutation of two customers in the same route or in different routes.

  3. 3.

    Shift move of a customer \((N_{3})\): A neighbor of a solution is generated by switching a customer from its position and inserting it into a new one. This move can be intra-route or inter-route.

  4. 4.

    Extended Or-opt \((N_{4})\): This neighborhood corresponds to an insertion move but it considers a set of customers rather than only one as with \(N_{1}\). The neighborhood \(N_{4}\) consists in removing a set of consecutive customers and inserting it between two other nodes. This move is applied inside the same route or between two different routes. The k-shift move (Penna et al. 2013) is a special case of \(N_{4}\).

  5. 5.

    Inverse Extended Or-opt \((N_{5})\): In this case, we consider a transfer of a set of consecutive customers (bone) from their current position and then we reinsert them in a reverse order starting from the last customer and finishing with the first one.

  6. 6.

    k-Swap \((N_{6})\): A new solution is obtained by applying a permutation between two bones inside the route or between two different routes. Both bones are reinserted following the same order of visit of customers.

  7. 7.

    Reverse k-Swap \((N_{7})\): This neighborhood structure considers a swap of two bones as within neighborhood \(N_6\) but with a rearrangement of the visit order. The extracted bone is reinserted in such way that the last customer is the first one.

  8. 8.

    Swap move of two routes \((N_{8})\): This move consists of exchanging two routes between two vehicles with different capacities.

  9. 9.

    Cross-route \((N_{9})\): Two arcs, (ij) and \((i',j')\) belonging to two routes are removed. After that, the routes are reconnected by adding the arcs \((i,j')\) and \((i',j)\). It is reported that the cross is applied between the closest nodes between routes.

4.2 The SGVNS for the HFVRP

This section describes the SGVNS algorithm for the HFVRP and the ensuing steps. To implement our algorithm, we essentially outline three procedures: the shaking phase, the local search phase and the move or not phase. The local search phase corresponds to a VND where neighborhoods \(N_{1}\),...,\(N_{7}\) are applied in a sequential way. The VND explores the next neighborhood unless the previous one fails to improve the current solution. In order to escape from the current local optimal solution, we consider larger neighborhoods in the shaking phase. The perturbation is applied using neighborhoods \(N_{3}, N_{8}\) and \(N_9\) as follows: we consider three types of shaking; each one according to a probability \(Pr(N_{i}), i \in \{3,8,9\}\). The solution space of the third neighborhood is exhaustively explored. Indeed, we apply the insertion move \(N_{3}\) inter-route, k times for customers in a given route. We denote by \(N_{3}^{k}, k=1,\ldots ,5\) this particular case. This neighborhood is aiming at generating a new sequence of customers within a route. The use of the neighborhood \(N_{8}\) is aiming at changing the assignment of vehicles to routes. In addition, the cross neighborhood \(N_{9}\) is an attempt to explore other solutions by changing the structure of the routes while exchanging arcs between routes. In the move or not phase, we accept to visit worse solutions without escaping feasible regions according to a threshold parameter \(\tau \). The pseudocode of the SVNS for the HFVRP is presented in Algorithm 2.

figure b

5 Computational results

Our algorithm was coded in C++ and executed on a core i7 with 3.00 GHz. For each instance, the proposed algorithm is excuted 10 times and the result is rounded up to next higher digit. We test the SGVNS in instances decribed in Sect. 5.1. A comparison with the best known algorithms performed in the literature is reported in Sect. 5.2. The following notations are given to manage the computational results and the comparison with existing ones in the literature. “Inst”, denotes the name of the instance, n is the number of customers, BKS denotes the best known solution in the literature, “Best Sol” and “Time” represent, respectively, the objective value of the best solution and the average computational time associated with to the corresponding work. “First time” indicates the first time the best solution was found by the SGVNS. \(Gap(\%)\) records the percent deviation of an algorithm between its best value and BKS and is given by the following formula: \(\frac{Bset Sol-BKS}{BKS} \times 100\). For Tables 4, 5, 6, and 7, the last rows: “Average”, “Avg. deviation” and “computer resource” specifie the average cost and time for each set of problems, the percent deviation of the average cost to the average of the BKS costs and the computer resource used for every solution method respectively.

Avg cost and Avg gap\((\%)\) denote, respectively the average solution cost of the 10 runs and the gap between the former value and BKS. We observed on preliminary experiments that the following calibration for our algorithm, which we adopt in the following experiments, yield the best results: \(\beta \) is set initially to 0.005, the parameter \(\tau \) is set to \(\frac{1}{4n}\) with n is the number of customers and the different probabilities are set to: \(Pr(N_{3})=0.1, Pr(N_{8})=0.1, Pr(N_{9})=0.8\).

5.1 Benchmark instances

We tested our algorithm on benchmark instances generated by (Taillard 1999; Li et al. 2007; Brandao 2011). There are three types of instances: the first set numbered from 13 to 20 represents instances with customers between 50 et 100 (see Taillard (1999), the second set contains instances named \(H_{i}, i \in \{1,\ldots ,5\}\) with 200–360 customers and are proposed by Li et al. (2007) and the third set identified as N1-\(N_{5}\) was created by Brandao (2011). The characteristics of each set of instances are in Tables 12 and 3 respectively. The last column represents the ratio of total demand and total capacity in percent. For the third set, the authors assume that this ratio is slightly higher than the two others.

Table 1 Instances from Taillard (1999)
Table 2 Instances from Li et al. (2007)
Table 3 Instances from Brandao (2011)

5.2 A comparative study

We perform a comparison of our solution approach with the best heuristics available in the literature to the best of our knowledge. For the first set of instances and the case of the HVRPV, we compare our results with those given by a backtracking adaptive threshold accepting algorithm (BATA), heuristic column generation (HCG), a record-to-record travel algorithm (HRTR), a hybrid algorithm composed by an Iterated Local Search (ILS) based heuristic and a Set Partitioning (SP) model (IL-RVND-SP) and a Population heuristic given by Taillard (1999), Tarantilis et al. (2004), Li et al. (2007), Subramanian et al. (2012) and Liu (2013) respectively. The best solutions are recorded in blodface and the solution improved with the SGVNS are underlined. The results in Table 4 show that the SGVNS find all the best known solutions except one which is the instance 19. For this instance, we find the same solution as methods developed since 2007 but the solution cost found by Taillard (1999) remains the best. However, the SGVNS improves all the results found by Taillard (1999). Our solution method is as good as or better than BATA, HRTR and ILS-RVNS-SP. When compared with Population heuristic, the SGVNS produces four better solutions and four identical. As for the HVRPFV, we compare our results with those given by ILS-RVND-SP, population heuristic and adaptive memory programming metaheuristic (MAMP) developed by Li et al. (2010). Table 5 shows that our algorithm finds solution values equal to the best known solutions and improves the result for the instance 20.

For instances presented in Tables 3 and  6 shows that the SGVNS is able to find best known solutions or to improve it except for one instance. In particular, the SGVNS outperforms the TSA of Brandao (2011) and it can be observed that our algorithm is competitive with the ILS-RVNS-SP heuristic. In fact, it improves one solution, gives three identical ones and is a slightly worse for the instance N1. For larger instances described in Tables 2 and 7 shows the performance of our algorithm to find four new best solutions among five. The new best solutions are introduced in the appendix.

Overall, our algorithm failed to obtain the best known solution of only one instance. Hence the SGVNS proved to be performant.

Table 4 Results for HVRPV on the instances of Taillard (1999)
Table 5 Results for HVRPFV on the instances of Taillard (1999)
Table 6 Results for HVRPV on the instances of Brandao (2011)
Table 7 Results for HVRPV on the instances of Li et al. (2007)

In addition, it is worth mentioning that the solution costs in light of reported compuation times for previous works are not comparative. For example, in the case of the instance H5 it can be observed that the TSA found the BKS in 13321 s which is equivalent to 37n while the ILS-RVND-SP did not after 621.17 s. Therefore, we propose to run our algorithm for three different parameters of time (n, 2n, 4n) to be able to assess the efficiency of our results. The average results and percent deviations of our algorithm over different times for the different instances are given in Tables 8, 9, 10 and 11. Our results are summarized in terms of average gap in Fig. 15. In this figure, the instances from Taillard (1999) are labeled from 13 to 20 followed by the letter F for the case of HVRPFV variant. Firstly, as we can see, the improvement of results are meaningful especially for the instances of Li et al. (2007). This can be interpreted that the increase of time can be proved to provide considerable improvements when instances are large.

Fig. 15
figure 15

Results for SGVNS for three parameters of time : n, 2n and 4n

Table 8 Average results and Gaps for different parameters of time for the HVRPV: instances of Taillard (1999)
Table 9 Average results and Gaps for different parameters of time for the HVRPFV: instances of Taillard (1999)
Table 10 Average results and Gaps for different parameters of time for the instances of Li et al. (2007)
Table 11 Average results and Gaps for different parameters of time for the instances of Brandao (2011)

6 Conclusion

The heterogeneous fleet vehicle routing problem (HFVRP) is a more sophisticated variant of vehicle routing. The problem arises when a set of heterogeneous fleet of vehicles with different capacities and costs are routed to supply customers from a central depot. In this paper, we propose a skewed version of variable neighborhood search (SGVNS) and we have considered the HFVRP variant with limited fleet with fixed and/or variable costs. We explore different neighborhood structures in an exhaustive way in order to provide a balance between intensification and diversification of the solution space. After implementing a SVNS, we provide computational results showing the performance of our algorithm. The SGNS improves five best known solutions for the large instances, one for the small instances and is as good as the best algorithms with a reasonable computation time. Our approach is clearly efficient compared with those cited in this paper. In the future, we propose to study the mixed fleet variant of the HFVRP including additional characteristics presented in practical situations.