On a multitrip vehicle routing problem with time windows integrating European and French driver regulations
 113 Downloads
Abstract
In the European Union, truck drivers must comply with Regulation (EC) No 561/2006, which provides a set of rules on the daily or weekly working time and on break or rest periods after specific working times. Truck drivers can be back to the depot much earlier than the end of their working period, and be able to perform other trips. The resulting problem is a MultiTrip Vehicle Routing Problem with Time Windows, where truck drivers have the possibility to accomplish, during their time horizon, more than one trip, combined with a Truck Driver Scheduling Problem. It aimed to find and assign a set of routes to a fleet of vehicles allowing each customer to be visited within its given time window, and the accumulated load to be delivered (or collected) not exceeding the capacity of the vehicle. Each truck driver must comply with applicable hours of service regulations, and the objective is to minimize total transportation cost. To solve this problem, we have developed a hybrid method composed of a genetic algorithm and a local neighborhood search. Experiments have been conducted on instances from the literature and reallife cases from SYSTRANS, a specialized French software company.
Keywords
Transportation Multitrip VRPTW Truck driver scheduling European and French Regulation Hybrid genetic algorithm1 Introduction
The transport market is well known for various key developments and complexities which may arise from different sources, such as customers, vehicles or the European social legislation. Apart from the requirements set by the customers, when creating vehicle routes, legal rules on driving and working hours should be respected by the drivers. The integration of working hour regulations into the design of vehicle routes presents new challenges for road freight companies and provides a perspective of improving driver effectiveness and road safety.
Restriction regulations concerning truck drivers’ working and driving hours have been released within the European Union from decades ago. The particularity of longdistance haulage lies in the fact that the driving time is usually large. On the other hand, it has been shown by recent studies, that after 4 h of continuous driving the risk of an accident is doubled, and after 8 h of continuous driving, it is even ten times higher [32]. Obviously, regular breaks and rest periods for drivers reduce the risk of an accident related to fatigue.
To handle this situation, the European Union has introduced in April 2007 by means of Regulation (EC) No 561/2006 stricter laws on driving and working times of truck drivers. Freight forwarding companies are thus obliged to organize their drivers’ working times such that they can comply with the legal rules. In the meantime, digital tachographs have become mandatory in the European Union. With this tool, the control authorities can easily monitor a posteriori and supervise the truck drivers’ working times. Consequently, the planning of break and rest periods has become an important new challenge in vehicle routing and scheduling. Despite the critical importance and the significant impact of these regulations on longdistance haulage, where the total travel times between customer locations depend on driving and working times, break and rest periods, they have attracted little interest in the logistic literature. Consequently, routes computed by the different VRPTW approaches are likely to be infeasible.
In the VRPTW literature, most of the publications share the assumption that each vehicle is restricted to perform no more than one trip during its work horizon. This hypothesis is not always realistic in practice. In fact, most companies have a limited number of trucks and the addition of customer requests often exceeds the sum of their vehicle capacities. Consequently, a reuse of vehicles is necessary. The arising problem is a MultiTrip Vehicle Routing Problem with Time Windows (MTVRPTW).
SYSTRANS is a software company specialized in solving largescale realworld MultiTrip Vehicle Routing Problems with Time Windows. It counts among its clients several types of carriers (freight forwarder, carrier line) with different activities (pickup, distribution and complete transport). In order to carry out the different types of activities in the best possible way, companies have to face increasingly strong constraints, particularly with respect to truck drivers with different profiles (Regional, National, Highway) and different time contracts. Drivers may have preferences to be taken into account in their assignments such as work in some countries, accept or not of sleep out, carry a particular type of goods, etc. For a best assignment, logisticians consider a large number of parameters, the most important being the regulation constraints. The difficulty lies in the fact that French and European laws must be followed which is the subject of this work conducted in close collaboration with SYSTRANS, and which could be entitled: A hybrid genetic algorithm for MultiTrip Vehicle Routing Problems with Time Windows combined with a Truck Driver Scheduling Problem (TDSP).
2 Related work
Despite its big impact on the total travel time between customers’ locations, regulations regarding drivers’ working hours in road freight transport have attracted very little interest in the VRPTW literature. Some research has tried to address driver scheduling in vehicle routing problems according to USA, European Union (EU), and other regulations worldwide concerning working hours.
For the USA, restrictions on driving and working hours are imposed by the Department of Transportation (DoT). Savelsbergh and Sol [42] include breaks and daily rest periods into a column generation approach for a pickup and delivery problem where breaks must be taken within fixed time intervals. Another column generation approach for combined routing and scheduling is presented by [48], who study a rich pickup and delivery problem considering multiple time windows and US hours of service regulations. Campbell and Savelsberg [8] modify an insertion heuristic in such a way that it considers maximum shift times for drivers.
Archetti and Savelsbergh [1] present an \(O(n^3)\) algorithm for Truck Driver Scheduling Problems in the USA. Goel and Kok [24] introduced a scheduling method for the US Truck Driver Scheduling Problem with Single and Multiple Time Windows. In [39, 40], the authors developed a tabu search heuristic for Vehicle Routing and Scheduling Problems and incorporated the new US working time regulations, which came into force in July 2013. Goel [18] has presented a new simulationbased method for assessing the impact of hours of service regulations on operational costs and road safety. A hybrid algorithm for the VRPTW with different hours of service regulation is presented in [26]. Recently, the first exact approaches for solving the Vehicle Routing and Truck Driver Scheduling problem (VRTDSP) with US hours of service regulation are proposed by [45] and later by [22].
Until 2007, drivers’ working hours in the European Union were regulated by Regulation (EC) 3820/85.
Rochat and Semet [41] developed a tabu search metaheuristic including the Swiss legislation on breaks and rest periods. A tabu search heuristic for the MultiTrip Vehicle Routing and Scheduling Problem is presented by [6] who include rules on driving times according to Regulation (EEC) No 3820/85. Goel and Gruhn [21] introduce a large neighborhood search algorithm for a Vehicle Routing Problem which is capable of handling drivers’ working hours controlled by Regulation (EEC) No 3820/85.
As of April 2007, a new regulation was introduced. It is defined in Regulation (EC) No 51/2006 and distinguishes between four driver activities: driving time, availableness period, rest period, and other work (loading or uploading, cleaning, and technical maintenance). A part of these new regulations are integrated into a large neighborhood search by Goel (2007). In 2008, [49] present a hybrid metaheuristic coupled with a construction heuristic for a combined Vehicle Routing and Crew Scheduling Problem. Goel [16] includes a set of basic rules into a large neighborhood search algorithm and presents computational results based on modified problem instances of the [43] test instances for the VRPTW. Bartodziej et al. [5] designed a column generation approach and some local searchbased metaheuristics for solving a combined Vehicle and Crew Scheduling Problem which incorporates rest periods for drivers. Goel [17] presents a method for scheduling driving and working hours of truck drivers for a given sequence of locations to be visited within specified time windows with respect to Regulation (EC) No 561/2006. The first solution algorithm which includes the whole set of rules imposed by the Regulation (EC) No 561/2006 and also the legislation on working hours set by Directive 2002/15/EC, is the restricted dynamic programming heuristic by [30].
PrescottGagnon et al. [37] developed a large neighborhood search algorithm based on a column generation heuristic to solve VRPTW under European Union driving time regulation. This heuristic showed a very good performance on the modified Solomon instances as presented by [16]. Meyer [32] develops a linear programming model to include the social constraints of Regulation (EC) No. 561/2006 and Directive 2002/15 /EC in the VRPTW. This model was solved with CPLEX and tested on randomly generated instances. Derigs et al. [11] have modified the two approaches presented in [5], to deal with the problem of MultiTurn Vehicle Routing Problems by integrating all the social constraints related to driving and work. To validate their approaches, tests were carried out on real data from the Georgi Transporte company (specialized in freight transport in Germany). Goel and Kok [23] presented a depthfirstbreadthsecond search method which can find schedules complying with Regulation (EC) No 561/2006. The pickup and delivery problem integrating European social constraints have been addressed by [12]. To solve this problem, authors developed a large neighborhood search approach and consider all the standard driving and work time constraints. Goel and Vidal [26] presented a hybrid genetic search for vehicle routing and truck driver scheduling, which has been evaluated for various different regulations in the world. Finally, [19] calls into question the literature of the vehicle routing problem with European social constraints because of the nonconsideration of the regulation regarding the nighttime work. In his work, Goel proposes a new algorithm of multidimensional labeling where he introduced a component to handle the nighttime work.
For worldwide hours of service regulations, the problem of determining feasible truck driver schedules has been studied by [25] for Canada and by [20] for Australia.
Despite the significant improvements in resource optimization that represent a relevant cost in shipping companies, allowing vehicles to perform multiple trips has remained very punctually investigated for years. This problem is principally interesting in the context of city logistics, where customers are situated in city centers. Road and law restrictions goodwill the use of electrical or small capacity vehicles to perform deliveries. This leads to trips much shorter than the working day, so that a vehicle is able to go back to the depot and be reloaded before starting another service trip. This introduces the multitrip aspect in the vehicle routing problem (MTVRP).
Fleischmann [15] was the first to address this problem and to use a bin packing problem heuristic to assign routes to the vehicles. In the late 1990s, [44] generated solutions of the classical vehicle routing problem are generated using a tabu search heuristic, and then a subset of the resulting routes is selected and a MTVRP solution is constructed using a bin packing heuristic. Petch and Salhi [35] propose a threephase heuristic to solve a variant of the problem, where the objective is to minimize the maximal overtime. In their approach, routes are first generated with a savingsbased heuristic, then combined to produce solutions to the MTVRP through the bin packing heuristic, and finally improved with a local search heuristic to form complete solutions. Petch and Salhi [36] keep the same objective and propose a hybrid genetic algorithm composed by a genetic algorithm and a local search for the MTVRP. Olivera and Viera [34] use a tabu search algorithm with an adaptive memory approach to tackle the MTVRP. In [29], the MTVRP was processed for the first time with an exact method using a branchandcut algorithm. Mingozzi et al. [33] propose an other exact method for the MTVRP based on branchandprice. Cattaruzza et al. [9] propose a populationbased algorithm where they apply the split developed by [38] for the VRP and dynamic programming to find the MTVRP solutions which will be improved by a local search.
Several authors address the MTVRP with Time Windows (MTVRPTW). In [6], a tabu search heuristic for a reallife version of the MTVRPTW is proposed. Authors consider vehicles with different capacities and the access to some customers is restricted to particular vehicles. Moreover, drivers must respect the maximum legal driving time per day. In their subsequent work, [7] adapt the algorithm to compare the results with those obtained by [44].
Recently, [2, 3, 27, 31] address the MTVRPTW with exact methods. These methods proceed in two phases. The first phase consists in listing all the possible trips by a labeling algorithm, and the second one aims to assign the trips to vehicles using a branchandprice algorithm. Azi et al. [4] propose an Adaptive Large Neighborhood Search (ALNS) algorithm where they develop destruction and insertion operators for customers and trips. Wang et al. [47] propose an algorithm based on the adaptive memory procedure paradigm. Finally, in [10], a populationbased procedure for a more general MTVRPTW is proposed.
3 Problem statement
SYSTRANS provides a set of commercial solutions for its customers which are large carriage companies. Optim Tour is one of these solutions specialized in solving realworld instances of MTVRPTW. The main drawback of this tool is the nonintegration of social legislations regarding drivers’ working times and driving times on one hand, and the unreasonable computational effort required to solve largescale instances on the other hand. The goal of this study is to fill this gap.
SYSTRANS customers are road transport companies which operate in the European Union, particularly in France. Therefore, they are subject to both European and French social legislations. As a result, these companies have to organize the work of their drivers in such a way that they comply with the two regulations. Consequently, the arising problem is a combination of MTVRPTW and TDSP.
The European social legislation imposes restrictions on driving and working hours of drivers engaged in road transportation. It refers to the Regulation (EC) No 561/2006 and the Directive 2002/15/EC which regulate drivers’ driving and working hours, respectively.
3.1 Regulation (EC) No 561/2006
 Breaks
are short periods exclusively used for recuperation during which a driver may not carry out any work. They are distinguished into short breaks of at least 15 min and long breaks of at least 30 min.
 Rest periods
are longer periods during which a driver may freely dispose of his time. These rest periods are divided into a short rest of at least 3 h, a long rest of at least 9 h, a regular daily rest period of at least 11 h and which must be completed within 24 h after the end of the previous rest period, and weekly rest periods of at least 45 h.
 Driving time
refers to the time during which a driver is operating a vehicle and includes any time during which the vehicle is temporarily stationary because of reasons related to driving, e.g., traffic jams. It is divided between nonstop driving periods of at most 4h30 referring to the accumulated driving time between a break and a rest period or between a rest period and a break, daily driving time which is the accumulated driving time between the end of one daily or weekly rest period and the beginning of the following daily or weekly rest period and which shall not exceed 9 h. Weekly driving time is the accumulated driving time during a week and which shall not exceed 56 h.
 Other work
refers to any work except for driving and includes time spent fo loading or unloading, cleaning and technical maintenance, customs, etc.
3.1.1 Necessary requirements

After a driving period of 4h30 a driver shall take an uninterrupted long break of not less than 45 min, unless he takes a rest period.

The daily driving time shall not exceed 9 h. After the daily driving time, a regular daily rest period of at least 11 h must be taken. Within each period of 24 h after the end of the previous daily or weekly rest period a driver shall have taken a new daily rest period. In other words, a daily rest must start no later than 13 h after the end of the last one. This implies that the driver cannot work more than 13 h per day (the maximum daily duration is equal to 13 h).

The weekly driving time is restricted to 56 h. The weekly rest period of at least 45 h shall start no later than 144 h after the end of the previous weekly rest period.
3.1.2 Optional requirements
A break can be divided into a short break of at least 15 min and a long break of at least 30 min.
The daily driving time can be extended to 10 h twice a week. After the daily driving time of 10 h, a reduced daily rest period of 9 h must be taken. In this case, the maximum daily duration is extended to 15 h.
A regular daily rest period can be divided into a short rest of at least 3 h and a long rest of 9 h.
A reduced daily rest period is a long rest of at least 9 h not preceded by a short rest. The regulation allows drivers to take three reduced daily rest periods between two weekly rest periods.
3.2 Directive 2002/15/EC
These regulations restrict the working time of people working in road transportation. As driving times are part of the total working time, Directive 2002/15/EC and Regulation (EC) No 561/2006 are interdependent, and both have to be considered by road transport companies.
Working time is defined as the time dedicated to all road transportation activities (Directive 2002, Article 3): driving time, time for loading and unloading, time for assisting passengers while boarding and disembarking from the vehicle, and time for cleaning and technical maintenance. Besides of these, working time comprises all times excluding rest or free times. Unforeseen waiting time is a working time. According to this regulation, drivers must not work more than 6 h without taking a break of at least 30 min if the working time is between 6 and 9 h, or of at least 45 min if the working time exceeds 9 h. This total break time can be divided into three parts of at least 15 min each (separating the break time into at most three 15 min breaks is not considered in this paper—in the case of longdistance haulage, the driving time is usually large and having multiple short break is never considered by the drivers). The total working time during a day may not exceed 13 h. Once a week, it can be extended to 15 h. The weekly working time is restricted to 60 h.
3.3 French social legislation: Art L.3312.2 Code du transport
In France, the restrictions laid down in Regulation (EC) No 561/2006 are supplemented by the regulation Art L.3312.2 Code du Transport inspired by Directive 2002/15/EC. A truck driver, driving in France, is subject to both the EU and the French regulation. The stricter rules apply above all.
According to Art L.3312.2 Code du Transport, drivers must not work more than 6 h without taking a break of at least 30 min if the working time is between 6 and 9 h, or of at least 45 min if the working time exceeds 9 h. The total working time during a day and a week may not exceed 12 h and 56 h, respectively (compared to 13 h and 60 h in Directive 2002/15/EC). An extension of the total working day to 15 h is not permitted in France.
According to French regulations (code de transport : L312229, L33121 and L312231), a driver is considered as a night worker if he works (at least twice a week) at least 3 h of his daily working time in the aperture [9 p.m.–6 a.m.] and accumulates 270 h per year in the same aperture. Since the horizon planning considered in this work is 1 week, the night worker is outside the scope of this paper.
4 Statement of the problem handled in this study
(8, 43): I think a subsection (3.4) summarizing and formally defining the problem could be added, i.e., defining the considerations (no night workers, breaks of 45 min and rest periods of 11h only...) made and constraints included in the problem. It could also be clarified the conditions to be considered to state that two (or more) routes can be combined into a trip. Again, it is just a suggestion.
5 A hybrid genetic algorithm (HGA) for MTVRPTW integrating European and French driver regulations
Our approach is based on a hybrid genetic algorithm and inspired by the algorithm of [46]. The different steps of our method are introduced in Algorithm 1.
The following sections detail the components of the genetic algorithm.
5.1 Encoding of solutions
In our implementation, a solution is represented by an ordered sequence of n customers without trip delimiters. It can be considered as a giant tour performed by one vehicle with infinite capacity and an unlimited period of time. The giant tour encoding was introduced by [38], where he presented an efficient algorithm called split, in view of an optimal decomposition of the giant tour in polynomial time. This encoding type allows the reuse of crossovers as designed for the Traveling Salesman Problem (TSP).
5.2 Evaluation of individuals
We define \(\mathcal {S}\) as a set of feasible and infeasible solutions. A solution \(s\in \mathcal {S}\) is made up by a set of routes \(\mathcal {R}(s)\).
Let us consider a route \(r=(n_{0}, n_{1}, n_{2},\ldots , n_{k+1})\in \mathcal {R}(s)\) starting from depot \(n_{0}\), visiting k customers and returning to the depot \(n_{k+1}=n_{0}\).
For \(i=1,\ \ldots , \ k\), \(q_{n_{i}}\) and \(\tau _{n_{i}}\) represent, respectively, the request and the service time of each node \(n_{i}\).
The distance between \(n_{i}\) and \(n_{i+1}\) is given by \(\delta _{n_{i}n_{i+1}}\).
\(t^{r}=(t_{n_{0}}^{r}, t_{n_{1}}^{r},\ldots , t_{n_{k+1}^{r}})\) represents the visiting times associated with the nodes of route r.
In this work, the daily necessary rules are always respected: the truck driver cannot drive more than 4h30 or work more than 6 h without taking a break of at least 45 min, and he cannot drive more than 9 h or work more than 12 h without taking a rest period of at least 11 h.
Number of breaks and rest periods to take with less than \(T_{d}\) and \(T_{w}\)
\(T_{w}\)  \(T_{d}\)  

4h30  9  13h30  18lh  22h30  29  
6  (0,0)  (1,0)  
12  (1,0)  (1,0)  (1,1)  
18  (1,1)  (1,1)  (1,1)  (1,1)  
24  (2,1)  (2,1)  (2,1)  (2,1)  (2,2)  (2,2) 
30  (2,2)  (2,2)  (2,2)  (3,2)  (3,2)  (3,2) 
Load \(q(r)=\sum _{i=1}^{k+1}q_{n_{i}}\)
Distance \(d(r)=\sum _{i=0}^{k}\delta _{n_{i}n_{i+1}}\)
Timewarp \(TW(r)=\sum _{i=0}^{k}TW_{n_{i}n_{i+1}}\)
Duration \(\varDelta (r)=t_{n_{k+1}}t_{n_{0}}\)
For the necessary constraints, we use this labeling algorithm to integrate a set of a necessary constraints discussed in Sect. 3.1.1. To integrate the optional constraints (see Sect. 3.1.1), we use a labeling algorithm proposed by [37].
5.2.1 Example of evaluation
In order to explain our calculation, let us consider the example given by Fig. 1, where the service time of each customer is equal to 1 hour (\(\tau _{i}=1\)h). In this example, the truck driver leaves the depot on Monday at \(t_{0}=09:00\) with a label \(l_{0}(0,0,0,0)=(t_{0}^{ww},t_{0}^{wd},nb_{0}^{break},nb_{0}^{rest})\). He has 6 h to reach the first customer \(C_{1}\), so his accumulated weekly working time (\(t_{1}^{ww}\)) and driving time (\(t_{1}^{wd}\)) is equal to 6 h. To find the number of breaks and rest periods that he has to take before arriving at this customer, we will look for \((T_{w}> 6, T_{d}> 6)\) in Table 1. The result is given by the first black cell (1,0) which indicates 1 break (\(T_{break}\) = 45min) and 0 rest periods. Consequently, \(nb_{1}^{break}=1nb_{0}^{break}=1\) et \(nb_{1}^{rest}=0nb_{0}^{rest}=0\). The state of the driver at this node is represented by \(l_{1}=(6,6,1,0)\) and the time \(t_{1}\) of visiting this customer is given by: \(t_{1}=t_{0}+6+1*0.75=\text {Monday\ at}\) 15:45 (Fig. 1b).
From \(C_{1}\) to \(C_{2}\), there are 13 h, \(t_{2}^{ww}=t_{1}^{ww}+1\text {h}+13\ \text {h}=20\ \text {h}\) and \(t_{2}^{wd}=t_{1}^{wd}+13=19\ \text {h}\). As in the previous path (Fig. 1b), we will look for \((T_{w}> 20, T_{d}> 19) \). The result is given by the second black cell in Table 1 (2 breaks and 2 rest periods). But the driver has already taken one break at \(C_{1}\), so \(nb_{2}^{break}=2(nb_{1}^{break}+nb_{0}^{break})=1\) and \(nb_{2}^{rest}=2(nb_{1}^{rest}+nb_{0}^{rest})=2\). \(t_{2}=t_{1}+1+13+1*0.75+2*11=\text {Wednesday at}\) 04:30 (Fig. 1c).The truck driver arrives at \(C_{3}\) with \(t_{3}^{ww}=t_{2}^{ww}+1\text {h}+5\text {h}=26\ \text {h}\) and \(t_{3}^{wd}=t_{2}^{wd}+5=24\ \text {h}\). With these accumulated weekly working and driving times, the truck driver has to take 3 breaks and 2 rest periods (see the last black cell corresponding to this case). Then \(nb_{3}^{break}=3(nb_{2}^{break}+nb_{1}^{break}+nb_{0}^{break})=1\), \(nb_{3}^{rest}=2(nb_{2}^{rest}+nb_{1}^{rest}+nb_{0}^{rest})=0\). Consequently, \(t_{3}=t_{2}+1+5+1*0.75=\text {Wednesday at}\) 11:15 (Fig. 1d).
Finally, in order to return to the depot, the driver continues to drive 3 h and thus \(t_{4}^{ww}=27\ h\) and \(t_{4}^{wd}=26\ \text {h}\). The number of breaks and rest periods corresponding to these accumulated weekly working and driving times is given by the same cell as in the previous step (Fig. 1d)). \(nb_{4}^{break}=3(nb_{3}^{break}+nb_{2}^{break}+nb_{1}^{break}+nb_{0}^{break})=0\) and \(nb_{4}^{rest}=2(nb_{3}^{rest}+nb_{2}^{rest}+nb_{1}^{rest}+nb_{0}^{rest})=0\) so that, finally, \(t_{4}=t_{3}+1+2=\text {Wednesday at}\) 14:15 (Fig. 1e).
5.3 The operators of the genetic algorithm
In this step, incremental genetic algorithm operators are used to generate a new individual. Two parents P1 and P2 are selected through the binary tournament method; for each parent, two individuals are randomly stretched using uniform distribution, and the best one is retained. After that, the operation of crossover is applied and the two solutions are replaced by the offspring. As the solutions are giant tours, the classical TSP crossovers can be applied. In this work, we have chosen the order crossover OX [38], which constructs two offsprings by preserving partial tours from the parents. In OX, two cut points i and j are randomly drawn from the first parent P1, then the subsequence between i and j (included) is copied into the child, at the same positions. Finally, the second parent is browsed from position \(j+1\), to fill the remaining positions by its customers which are not present in the child. When the end is reached, the sequence continues at the first position. The second child is obtained by applying the same procedure and by exchanging the roles of the two parents.
5.4 Routes assignment to drivers procedure
This procedure is twofold: first, optimally splitting the giant tour into trips and second assigning the trips to the drivers. For this purpose, to find the optimal trips, we use the split procedure proposed by [38]. For the assignment of these trips, we propose two different strategies, the first one is based on an innovative splitbased procedure, while the second is based on a graphcoloring procedure.
5.4.1 Splitting the giant tour
As said before, the first split procedure is used to subdivide the given giant tour into optimal subtours. The giant tour S is an ordered sequence of n customers (\(S=(s_{1}, s_{2}, \ldots , s_{n})\)) without trip delimiters (Fig. 2a). Equation 5 is used to calculate all the feasible routes. These routes preserve the order of customer visits given by S and respect the capacities, time windows and social rule constraints. Then the result is presented by an auxiliary graph \(G = (V, A, C)\) (Fig. 2b)). V is a set of vertices indexed from 0 to n representing returns to the depot. An arc \( (i, j)_{i <j} \in A\) is a subsequence \((s_{i +1}, \ldots , s_{j})\) of customers corresponding to a feasible trip and C represents the costs of the trips. An optimal segmentation is determined by applying the kshortest path procedure until to find the first feasible shortest path (Fig. 2c). Each arc in such a shortest path represents a trip.
Each trip is characterized by a nonstop driving and working time and a cumulative daily driving and working time carried out during the last day of his trip, as well as a cumulative weekly driving and working time. These cumulative times describe the state of the driver performing this tour. It is also characterized by an interval denoting the beginning and the end of the tour. These elements will be used in the next phase (assignment phase) to check the social rules during the assignment of these tours to drivers (Fig. 3a).
5.4.2 Split for assignment
The second split procedure is used to optimally assign the trips to the drivers. We consider the sequence \(T=(T_{1}, T_{2}, \ldots , T_{k})\) of trips resulting from the first split procedure. This sequence is represented by a second giant tour (Fig. 3a). Suppose that the trips of this sequence are performed by the same driver, following the order given in this sequence . Using this second giant tour, we look for the different feasible assignments. These assignments determine for each driver all the trips that he can perform respecting the social rules. They are represented by an auxiliary graph \(G'=(V',A',C')\) (Fig. 3b). \(V'\) is the set of vertices indexed from \(0\ \text {to} \ k\) representing the driver changes. An arc \((i,j)_{i<j} \in A'\) exists if the trips \((T_{i+1}, \ldots , T_{j})\) correspond to a feasible assignment. \(C'\) is the set of associated costs for the different feasible assignments calculated by means of the labeling algorithms and Eq. 5.
The two split procedures allowed us to find a possible assignment of 4 tours to two truck drivers while respecting all the social constraints (Fig. 5).
5.5 The graphcoloring procedure
Alternatively to the second split procedure, we have developed a graphcoloring procedure to handle the assignment of tours to truck drivers.
DSATUR is the most efficient and widely used greedy algorithm for solving graphcoloring problems [28]. It can be implemented in polynomial time \(O(n^{2})\).
The saturation degree of a vertex \(T_{i}\), \(dsat(T_{i})\), is the number of different colors of the neighbors of \(T_{i}\).
 1.
Select an uncolored vertex \(T_{i}\) with the greatest \(dsat(T_{i})\). In the case of a tie, select the vertex of greater degree.
 2.
Color the chosen vertex with the lowest numbered color.
 3.
If all vertices are colored, stop. Otherwise, return to 1.
To assign these tours to truck drivers, we will apply the DSATUR algorithm (Fig. 7).
Initially, \(dsat(T_{i})_{i=\overline{1,4}}=0\) (Fig. 7a). Color 1 (hatched) is assigned to the vertex of largest degree \(T_{1}\) (when several vertices have that same degree, select one vertex arbitrarily), and the saturation degree of its neighbors is incremented (\(dsat(T_{3})=1\), \(dsat(T_{4})=1\))(Fig. 7b).
Since \(T_{3}\) and \(T_{4}\) have the same saturation degree, \(T_{4}\) is chosen compared to its ordinary degree and colored with color 2 (black), therefore, \(dsat(T_{1})=1\) and \(dsat(T_{2})=1\) (Fig. 7c).
The noncolored vertices \(T_{3}\) and \(T_{2}\) have the same saturation degree and the same ordinary degree, so we choose \(T_{3}\) arbitrarily. Color 1 cannot be assigned to \(T_{3}\) since it is assigned to its neighbor \(T_{1}\), therefore color 2 is assigned to \(T_{3}\) and \(dsat(T_{1})\) is increased (Fig. 7d). Finally, \(T_{2}\) is colored with color 1 and \(dsat(T_{4})\) is updated.
From the assignment perspective, the coloring has the following meaning: \(T_{1}\) and \(T_{2}\) are performed by the same truck driver, \(T_{3}\) and \(T_{4}\) are performed by another one.
5.6 Local search procedure
Any solution \(S_{ref}=\{c_1, c_2, \ldots , c_n\}\) resulting from the two split procedures (or the graphcoloring procedure) undergoes a local searchbased improvement procedure.
\(\mathcal {M}_{1}\), the insertion of the next customer;
\(\mathcal {M}_{2}\), the insertion of the depot;
\(\mathcal {M}_{3}\), the insertion of the depot and a change of the driver;
\(\mathcal {M}_{4}\), the swap of the current customer with the previous one;
\(\mathcal {M}_{5}\), the cyclic permutation (\(a,b,c \rightarrow b,c,a\));
 \(\mathcal {M}_{6}\), the cyclic permutation (\( a,b,c \rightarrow c,a,b\));$$\begin{aligned} \mathcal {M}=\{\mathcal {M}_2, \mathcal {M}_3, \mathcal {M}_4, \mathcal {M}_5, \mathcal {M}_6\} \end{aligned}$$
5.7 The selection of survivors
Our algorithm starts with an initial population of size \(\mu \) that is randomly generated. Next, it generates \(\lambda \) new individuals to reach the maximum population size \(\mu +\lambda \). Once this size is reached, the \(\mu \) individuals that will constitute the next generation are selected by means of the binary tournament method.
6 Computational experiments
To test the performance of our algorithm, experiments have been conducted on the instances proposed by [16] and on SYSTRANS realworld problems. Our algorithm is coded in C++ and runs on an Intel Xeon E52630 2.4 GHz Processor. For all experiments, the following parameters are used : \(I_{n}=8000\), \(T_{max}=180\) min, \(\mu =900\), \(\lambda =100\) and \( N_{neighborhood}=20000\).
6.1 Tests on Goel’s instances
The instances proposed by [16] are derived from the VRPTW benchmark of [43] which is the only benchmark that exists for the VRPTW with social constraints. The tests performed before on these instances consider the case of a single trip, which is not our case. On the other hand, the algorithm that we have developed in this work is designed for the MTVRPTW with social constraints, and it is very difficult to adapt it to the single trip case. As there is no benchmark for the MTVRPTW with social constraints, we will perform our tests on Goel’s benchmark.
These instances are grouped into six classes : R1, C1, RC1, R2, C2, and RC2. In the R1 and R2 classes, customers are randomly distributed within a square region. In classes C1 and C2, they are clustered, and in classes RC1 and RC2 the customer distribution is mixed. In total, there are 56 instances that all involve 100 customers with a demand between 10 and 50 units and a service time of 1 hour. The capacity of each vehicle is 200 units for classes R1, C1, and RC1, 1000 units for classes R2 and RC2, and 700 for class C2. The planning horizon is 144 h (6 days).
First, we will present the impact of the multitrip on the solutions of the VRPTW with all the rules described in Sects. 3.1 and 3.2 (Table 2). The best number of vehicles (Bst Flt), best distance (Bst Dist), and the percentage of reduction in the number of vehicles (%Vehicles) and distance (%Distance), in comparison with the case of a single trip are reported in Table 2. Then for each procedure, we have performed two types of experiments that differ by the driver rules considered. The first tests assess the performance of our algorithm on the following necessary set of rules : A driver must take a 45min break after 4.5 h of driving, he must take an 11hour rest after 9 h of driving, the weekly driving time is limited to 56 h, and a daily rest must be taken within 24 h after the end of the last daily rest. The second tests consider all the rules described in Sects. 3.1 and 3.2.
For each procedure, each instance and each set of rules five runs have been performed. The best number of vehicles (Bst Flt), the best distance (Bst Dist), and the percentage of reduction in number of vehicles (%Vehicles) and distance (%Distance) in case of the graphcoloring procedure are reported in Tables 3 and 4. Best results are presented using bold face.
Impact of the multitrip on the solutions of the VRPTW with all rules
Instance  Goel and Vidal  Our solution  %Vehicles  %Distance  

Bst Flt  Bst Dist  Bst Flt  Bst Dist  
R1  96  11806.7  73  11115  23.95  5.85 
R2  59  10153.29  62  10018  \(\)5.08  1.33 
C1  90  7444.88  39  5392  56.66  27.57 
C2  37  5655.47  34  5576  8.10  1.40 
RC1  72  8730.17  53  7465  26.38  14.49 
RC2  48  8454.02  52  7597  \(\)8.33  10.13 
ALL  402  52244.53  313  47163  22.14  9.72 
Avg. CPU: 228 min XE 2.83 Ghz)  Avg. CPU: 72 min (XE 2.4 Ghz)  %Avg. CPU: 68.42 
Note that our objective in using Goel’s benchmark is just to analyze the behavior of the algorithm presented in this work. A direct comparison with Goel and Vidal’s work is very difficult since we handle multitrip constraints in our algorithm.
Results for the necessary set of rules of (EC) No 561/2006
Instance  HGA with two split  HGA with graph coloring  %Vehicles  %Distance  

Bst Flt  Bst Dist  Bst Flt  Bst Dist  
R1  114  12131  108  11408  5.26  5.95 
R2  86  10588  81  10018  5.81  5.38 
C1  98  6259  90  5756  8.16  8.03 
C2  32  4681  27  4401  15.62  5.98 
RC1  80  7537  75  7307  06.25  3.05 
RC2  68  8077  61  7603  10.29  5.86 
ALL  478  49273  442  46483  7.53  5.66 
Avg. CPU: 69 min (XE 2.83 Ghz)  Avg. CPU: 40 min (XE 2.4 Ghz)  %Avg.CPU: 42.02 
Results of all the rules of (EC) No 561/2006
Instance  HGA with two split  HGA with graph coloring  %Vehicles  %Distance  

Bst Flt  Bst Dist  Bst Flt  Bst Dist  
R1  90  11591  73  11115  18.88  4.10 
R2  75  10322  62  10018  17.33  2.95 
C1  56  5694  39  5392  30.35  5.30 
C2  42  5954  34  5576  19.04  6.34 
RC1  58  7609  53  7465  8.62  1.89 
RC2  60  7885  52  7597  13.33  3.65 
ALL  381  49055  313  47163  17.84  3.85 
Avg. CPU: 94 min  Avg. CPU: 72 min  %Avg.CPU: 23.40  
(XE 2.4 Ghz)  (XE 2.4 Ghz) 
6.2 Tests on SYSTRANS realworld problems
Results of HGA on SYSTRANS realworld Problems
Problem  Previous Solver (genetic algorithm)  New Solver (HGA)  

Avg Flt  Avg Trs  Avg time  Avg Dist  Avg Flt  Avg Trs  Avg time  Avg Dist  
PB046  10  18  260510  5202.62  5  13  116132.667  2319.27 
PB071  17.6  38  236147.2  3601.83  8.33  38  116132.667  1771.31 
PB086  16  32.2  291588.804  4948.125  9.66  28  179628.666  3048.21 
PB097  14  44.8  410487.4  7218.872  8  43  274363  4824.97 
PB108  20  48.6  455393.2  7812.058  10  48  303154  5200.46 
PB113  18.2  42  414934.003  7073.603  12  40  274600.5  4681.26 
PB366  –  –  –  –  20  27  431691  7131.03 
PB398  –  –  –  –  25  77  2107090  34806.69 
Avg. CPU: 60 min (XE 2.4Ghz)  Avg. CPU: 6.42 min (XE 2.4Ghz) 
For SYSTRANS, the main criterion is the total time consumed by the truck drivers because of its impact on the total financial cost. The number of trucks is a secondary optimization criterion and should not exceed a limit given by statistics on SYSTRANS activities over the last 15 years. This hierarchy of criteria avoids excessive total financial cost when the number of trucks and the total time consumed by the trucks are at the same level of importance. In fact, a small number of trucks generally produced large cost due to overtime hours and other overhead expenses.
In this section, we present computational results on solving SYSTRANS instances derived from its proper realworld instances VRPTW.
Each problem is labeled according to its number of customers (for example: PB049 represents a problem with 49 customers). For each problem, five runs have been performed and the average fleet (Avg Flt), average tours (Avg Trs), average time consumed by truck drivers (Avg Time : in seconds) and average distance are reported (Avg Dist : in km) in Table 5. Best results are presented using bold face.
Table 5 shows that our solver outperforms the previous solver. Indeed, a first success of our algorithm resides in the resolution of the two largest SYSTRANS VRPTW instances involving 366 and 398 customers, respectively. These instances have never been solved before because of their size and the tour durations that exceed one day (the SYSTRANS tool did not integrate social legislations, so it was not able to find feasible tours for these problems). On all problems solved by the two solvers, the solutions computed by our algorithm reduce by 40.84% the total time consumed by truck drivers, and the total number of vehicles is decreased by 89.6%. Finally, our method is faster than the previous solver, i.e., the computation time is reduced by 89.3%.
7 Conclusions and future work
In this work, we have studied a new problem arising from a combination of a vehicle routing with time windows and a truck driver scheduling problem. Beyond the integration of European and French legislations in the VRPTW, a tour assignment process is under consideration due to the distinction between tours and truck drivers. To solve this problem, we have proposed a hybrid method composed by a genetic algorithm to generate new global customer order of visits, a first split procedure applied to these new orders to find the best possible tours, and two methods (either a second split procedure or a graphcoloring procedure) to assign these tours to truck drivers. Finally, a local neighborhood search is carried out to improve these solutions. In a large part of tests on Goel’s instances [16], results obtained by our method showed that adding the multitrip constraint allow significant improvements on the total distance, the total number of vehicles. The proposed method is also more efficient since the runtime in comparison with those obtained by Goel and Vidal’s method is largely shorter. Beyond, our method has allowed us to successfully solve the largest instances of SYSTRANS’ operational problems that had not been solved before. For the other realworld SYSTRANS’ instances, we could significantly improve the solutions in terms of total cost and runtime when comparing to the previous solver of the company.
For the future work, we would like to explore 3 directions: (1) distinguish between trucks and truck drivers (Trailer tour), (2) consider the different categories of drivers (night driver, day driver), and (3) generalize our method to solve pickup and delivery problems.
Notes
References
 1.Archetti, C., Savelsbergh, M.W.P.: The trip scheduling problem. Transp. Sci. 43(4), 417–431 (2009)Google Scholar
 2.Azi, N., Gendreau, M., Potvin, J.Y.: An exact algorithm for a singlevehicle routing problem with time windows and multiple routes. Eur. J. Oper. Res. 178(3), 755–766 (2007)MathSciNetzbMATHGoogle Scholar
 3.Azi, N., Gendreau, M., Potvin, J.Y.: An exact algorithm for a vehicle routing problem with time windows and multiple routes. Eur. J. Oper. Res. 202(3), 756–763 (2010)MathSciNetzbMATHGoogle Scholar
 4.Azi, N., Gendreau, M., Potvin, J.Y.: An adaptive large neighborhood search for a vehicle routing problem with multiple routes. Comput. Oper. Res. 41, 167–173 (2014)MathSciNetzbMATHGoogle Scholar
 5.Bartodziej, P., Derigs, U., Malcherek, D., Vogel, U.: Models and algorithms for solving combined vehicle and crew scheduling problems with rest constraints: an application to road feeder service planning in air cargo transportation. OR Spectr. 31(2), 405–429 (2009)MathSciNetzbMATHGoogle Scholar
 6.Brandão, J., Mercer, A.: A tabu search algorithm for the multitrip vehicle routing and scheduling problem. Eur. J. Oper. Res. 100(1), 180–191 (1997)zbMATHGoogle Scholar
 7.Brandão, J., Mercer, A.: The multitrip vehicle routing problem. J. Oper. Res. Soc. 49, 799–805 (1998)zbMATHGoogle Scholar
 8.Campbell, A., Savelsberg, M.: Efficient insertion heuristics for vehicle routing and scheduling problems. Transp. Sci. 38, 369–378 (2004)Google Scholar
 9.Cattaruzza, D., Absi, N., Feillet, D., Vidal, T.: A memetic algorithm for the multi trip vehicle routing problem. Eur. J. Oper. Res. 236(6), 833–848 (2014)MathSciNetzbMATHGoogle Scholar
 10.Cattaruzza, D., Absi, N., Feillet, D.: The multitrip vehicle routing problem with time windows and release dates. Transp. Sci. 50(2), 676–693 (2016)Google Scholar
 11.Derigs, U., Kurowsky, R., Vogel, U.: Solving a realworld vehicle routing problem with multiple use of tractors and trailers and EUregulations for drivers arising in air cargo road feeder services. Eur. J. Oper. Res. 213(1), 309–319 (2011)Google Scholar
 12.Drexl, M., Rieck, J., Sigl, T., Press, B.: Simultaneous vehicle and crew routing and scheduling for partial and fullload longdistance road transport. Bus. Res. 6(2), 242–246 (2013)Google Scholar
 13.Union, European: Directive 2002/15/EC of the European Parliament and of the Council of 11 March 2002 on the organisation of the working time of persons performing mobile road transport activities. Off. J. Eur. Commun. L 80, 35–39 (2002)Google Scholar
 14.European Union: Regulation (EC) No 561/2006 of the European Parliament and of the Council of 15 March 2006 on the harmonisation of certain social legislation relating to road transport and amending Council Regulations (EEC) No 3821/85 and (EC) No 2135/98 and repealing Council Regulation (EEC) No 3820/85. Official Journal of the European Union, L 102, 11.04.2006 (2006)Google Scholar
 15.Fleischmann, B.: The vehicle routing problem with multiple use of vehicles. Technical report, Fachbereich Wirtschaftswissenschaften, Universität Hamburg (1990)Google Scholar
 16.Goel, A.: Vehicle scheduling and routing with drivers’ working hours. Transp. Sci. 43(1), 17–26 (2009)Google Scholar
 17.Goel, A.: Truck driver scheduling in the European Union. Transp. Sci. 44(4), 429–441 (2010)Google Scholar
 18.Goel, A.: Hours of service regulations in the United States and the 2013 rule change. Transp. Policy 33, 48–55 (2014)Google Scholar
 19.Goel, A.: Legal aspects in road transport optimization in Europe. Transp. Res. Part E Logist. Transp. Rev. 114, 144–162 (2018)Google Scholar
 20.Goel, A., Archetti, C., Savelsbergh, M.: Truck driver scheduling in Australia. Comput. Oper. Res. 39(5), 1122–1132 (2012)zbMATHGoogle Scholar
 21.Goel, A., Gruhn, V.: Drivers’ working hours in vehicle routing and scheduling. In: IEEE Intelligent Transportation Systems Conference, pp. 1280–1285 (2006)Google Scholar
 22.Goel, A., Irnich, S.: An exact method for vehicle routing and truck driver scheduling problems. Transp. Sci. 51(2), 737–754 (2017)Google Scholar
 23.Goel, A., Kok, L.: Efficient scheduling of team truck drivers in the European Union. Flex. Serv. Manuf. J. 24(1), 81–96 (2012)Google Scholar
 24.Goel, A., Kok, L.: Truck driver scheduling in the United States. Transp. Sci. 46(3), 317–326 (2012)Google Scholar
 25.Goel, A., Rousseau, L.M.: Truck driver scheduling in Canada. J. Sched. 15(6), 783–799 (2012)MathSciNetGoogle Scholar
 26.Goel, A., Vidal, T.: Hours of service regulations in road freight transport: an optimizationbased international assessment. Transp. Sci. 48(3), 391–412 (2014)Google Scholar
 27.Hernandez, F., Feillet, D., Giroudeau, R., Naudi, O.: A new exact algorithm to solve the multitrip vehicle routing problem with time windows and limited duration. Q. J. Oper. Res. 12(3), 235–259 (2014)MathSciNetzbMATHGoogle Scholar
 28.Janczewski, R., Kubale, M., Manuszewski, K., Piwakowski, K.: The smallest hardtocolor graph for algorithm DSATUR. Discrete Math. 236(2001), 151–165 (2000)MathSciNetzbMATHGoogle Scholar
 29.Koc, C., Karaoglan, I.: A Branch and cut algorithm for the vehicle routing problem with multiple use of vehicles. In: Proceedings of the 41st International Conference on Computers and Industrial Engineering, (pp. 554559), Los Angeles, USA (2011)Google Scholar
 30.Kok, L., Meyer, C.M., Kopfer, H., Schutten, J.M.J.: A dynamic programming heuristic for the vehicle routing problem with time windows and European Community social legislation. Transp. Sci. 44(4), 442–454 (2010)Google Scholar
 31.Macedo, R., Alves, C., Valrio deCarvalho, J.M., Clautiaux, F., Hanafi, S.: Solving the vehicle routing problem with time windows and multiple routes exactly using a pseudopolynomial model. Eur. J. Oper. Res. 214(3), 536–545 (2011)MathSciNetzbMATHGoogle Scholar
 32.Meyer, C.M.: Vehicle routing under consideration of driving and working hours. Gabler Res., ISBN 9783834929426 (2011)Google Scholar
 33.Mingozzi, A., Roberti, R., Toth, P.: An exact algorithm for the multitrip vehicle routing problem. INFORMS J. Comput. 25(2), 1–27 (2013)Google Scholar
 34.Olivera, A., Viera, O.: Adaptive memory programming for the vehicle routing problem with multiple trips. Comput. Oper. Res. 34(1), 28–47 (2007)MathSciNetzbMATHGoogle Scholar
 35.Petch, R.J., Salhi, S.: A multiphase constructive heuristic for the vehicle routing problem with multi trips. Discrete Appl. Math. 133(1–3), 69–92 (2004)MathSciNetzbMATHGoogle Scholar
 36.Petch, R.J., Salhi, S.: A genetic algorithm based heuristic for the vehicle routing problem with multiple trips. J. Math. Model. Algorithms 6, 591–613 (2007)MathSciNetzbMATHGoogle Scholar
 37.PrescottGagnon, E., Desaulniers, G., Drexl, M., Rousseau, L.M.: European driver rules in vehicle routing with time windows. Transp. Sci. 44(4), 455–473 (2010)Google Scholar
 38.Prins, C.: A simple and effective evolutionary algorithm for the vehicle routing problem. Comput. Oper. Res. 31(12), 1985–2002 (2004)MathSciNetzbMATHGoogle Scholar
 39.Rancourt, M.E., Paquette, J.: Multicriteria optimization of a longhaul routing and scheduling problem. J. MultiCriteria Decis. Anal. 21(5–6), 239–255 (2014)Google Scholar
 40.Rancourt, M.E., Cordeau, J.F., Laporte, G.: Longhaul vehicle routing and scheduling with working hour rules. J. Transp. Sci. 41(1), 81–107 (2013)Google Scholar
 41.Rochat, Y., Semet, F.: A tabu search approach for delivering pet food and flour in switzerland. J. Oper. Res. Soc. 45, 1233–1246 (1994)zbMATHGoogle Scholar
 42.Savelsbergh, M.W.P., Sol, M.: DRIVE: dynamic routing of independent vehicles. Oper. Res. 46, 474–490 (1998)zbMATHGoogle Scholar
 43.Solomon, M.M.: Algorithms for the vehicle routing and scheduling problems with time window constraints. Oper. Res. 35(2), 254–265 (1987)MathSciNetzbMATHGoogle Scholar
 44.Taillard, É.D., Laporte, G., Gendreau, M.: Vehicle routeing with multiple use of vehicles. J. Oper. Res. Soc. 47(8), 1065–1070 (1996)zbMATHGoogle Scholar
 45.Tilk, C.: Branchandpriceandcut for the vehicle routing and truck driver scheduling problem. Working Papers 1616, Gutenberg School of Management and Economics, Johannes GutenbergUniversitt Mainz (2016)Google Scholar
 46.Vidal, T., Crainic, T.G., Gendreau, M., Prins, C.: A hybrid genetic algorithm with adaptive diversity management for a large class of vehicle routing problems with timewindows. Comput. Oper. Res. 159(18), 2281–2289 (2011)zbMATHGoogle Scholar
 47.Wang, Z., Liang, W., Hu, X.: A metaheuristic based on a pool of routes for the vehicle routing problem with multiple trips and time windows. J. Oper. Res. Soc. 65(1), 37–48 (2014)Google Scholar
 48.Xu, H., Chen, Z.L., Rajagopal, S., Arunapuram, S.: Solving a practical pickup and delivery problem. Transp. Sci. 37(3), 347–364 (2003)Google Scholar
 49.Zäpfel, G., Bögl, M.: Multiperiod vehicle routing and crew scheduling with outsourcing options. Int. J. Prod. Econ. 113(2), 980–996 (2008)Google Scholar