Journal on Vehicle Routing Algorithms

, Volume 2, Issue 1–4, pp 55–74 | Cite as

On a multi-trip vehicle routing problem with time windows integrating European and French driver regulations

  • N. Benkebir
  • M. Le Pouliquen
  • J-F. Trévien
  • A. Bounceur
  • R. Euler
  • E. Pardiac
  • M. SevauxEmail author
Regular Paper


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 Multi-Trip 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 real-life cases from SYSTRANS, a specialized French software company.


Transportation Multi-trip VRPTW Truck driver scheduling European and French Regulation Hybrid genetic algorithm 

1 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 long-distance 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 long-distance 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 Multi-Trip Vehicle Routing Problem with Time Windows (MTVRPTW).

SYSTRANS is a software company specialized in solving large-scale real-world Multi-Trip 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 Multi-Trip 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 simulation-based 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 Multi-Trip 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 search-based 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].

Prescott-Gagnon 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 Multi-Turn 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 depth-first-breadth-second 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 multi-trip 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 three-phase 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 savings-based 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 branch-and-cut algorithm. Mingozzi et al. [33] propose an other exact method for the MTVRP based on branch-and-price. Cattaruzza et al. [9] propose a population-based 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 real-life 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 branch-and-price 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 population-based 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 real-world instances of MTVRPTW. The main drawback of this tool is the non-integration of social legislations regarding drivers’ working times and driving times on one hand, and the unreasonable computational effort required to solve large-scale 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

Regulation (EC) No 561/2006 distinguishes between four driver activities:

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.

This Regulation (EC) No 561/2006 sets restrictions on driving hours and defines necessary and optional requirements for breaks and rest periods.

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.

In consonance with Regulation (EC) No 561/2006, a week is defined as the period between Monday 00:00 and Sunday 24:00.

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 long-distance 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 : L3122-29, L3312-1 and L3122-31), 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

Please add here a description of the exact problem we are handling as suggested by the referee.

-(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.

As in [46], a population of individuals composed by feasible and unfeasible solutions is considered, in which unfeasible solutions, instead of being repaired, are kept to create population diversity. Two parent individuals are selected and combined to create a new individual (offspring) which is first improved by either two split procedures or a graph-coloring procedure, then educated using a local search procedure and finally included in the population.

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.

At each node \(n_{i}\), the driver’s state is given by a multidimensional label
$$\begin{aligned} l=(t_{n_{i}}^{ww},t_{n_{i}}^{wd},nb_{n_{i}}^{break},nb_{n_{i}}^{rest})^t \end{aligned}$$

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.

These constraints are fulfilled thanks to Table 1, which imposes a minimum number of breaks and rest periods to take after an accumulated driving time less than \(T_{d}\) and after an accumulated working time less than \(T_{w}\) where:
For example, let \(t_{n_{i}}^{ww}=6\) h and \(t_{n_{i}}^{wd}=5\) h which corresponds to a situation where the driver has driven for 5h the same day and 6h the same week when he reaches customer \(n_{i}\). Considering these 2 values and Table 1, the cell corresponding to the first value of \(T_{w}(=12) \) greater than \( t_{n_{i}}^{ww}(=6)\) and the first value of \(T_{d}(=9)\) greater than \( t_{n_{i}}^{wd}(=5)\) gives the number of break and rest periods, respectively. For this example, the first black cell gives 1 break and 0 rest periods.
Table 1

Number of breaks and rest periods to take with less than \(T_{d}\) and \(T_{w}\)






































The accumulated weekly working and driving time, the number of breaks and rest periods and the time of visiting each node are given by Eqs. (1), (2) (3), and (4), respectively.
$$\begin{aligned} t_{n_{i+1}}^{ww}= & {} t_{n_{i}}^{ww}+\delta _{n_{i}n_{i+1}}+\tau _{n_{i}} \end{aligned}$$
$$\begin{aligned} t_{n_{i+1}}^{wd}= & {} t_{n_{i}}^{wd}+\delta _{n_{i}n_{i+1}} \end{aligned}$$
$$\begin{aligned} \left( \begin{array}{c} nb_{n_{i+1}}^{break} \\ \\ nb_{n_{i+1}}^{rest} \\ \end{array} \right)= & {} (nb_{break}, nb_{rest})^t-\left( \begin{array}{c} \sum _{k=0}^{i} nb_{n_{k}}^{break} \\ \\ \sum _{k=0}^{i} nb_{n_{k}}^{rest} \\ \end{array} \right) \end{aligned}$$
$$\begin{aligned} t_{n_{i+1}}^{r}= & {} t_{n_{i}}^{r}+\tau _{n_{i}}+\delta _{n_{i}n_{i+1}}+T_{break}* nb_{n_{i+1}}^{break}\nonumber \\&+\,T_{rest}*nb_{n_{i+1}}^{rest}, \end{aligned}$$
where \((nb_{break}, nb_{rest})\) is the couple given by Table 1, corresponding to the first value of \(T_{w}\) greater than \(t_{n_{i+1}}^{ww}\) and the first value of \(T_{d}\) greater than \(t_{n_{i+1}}^{wd}\), \(T_{break}=0.75\) h and \(T_{rest}=11\) h.
Let us consider \(TW_{n_{i}n_{i+1}}\), a time warp incurred by a late arrival from \(n_{i}\) to \(n_{i+1}\). Then with
$$\begin{aligned} TW_{n_{i}n_{i+1}}= & {} max\{t_{n_{i}}^{r}+\tau _{n_{i}}+\delta _{n_{i}n_{i+1}} +T_{break}*nb_{n_{i+1}}^{break}\\&+T_{rest}*nb_{n_{i+1}}^{rest}-t_{n_{i+1}}^{r}, 0\} \end{aligned}$$
each route r is characterized by the following quantities
  • Load \(q(r)=\sum _{i=1}^{k+1}q_{n_{i}}\)

  • Distance \(d(r)=\sum _{i=0}^{k}\delta _{n_{i}n_{i+1}}\)

  • Time-warp \(TW(r)=\sum _{i=0}^{k}TW_{n_{i}n_{i+1}}\)

  • Duration \(\varDelta (r)=t_{n_{k+1}}-t_{n_{0}}\)

In our case, we work on a weekly horizon, and as imposed by the regulation, the accumulated weekly driving and working times are limited to 56 h. So, the duration of each route is bounded by this limit (\(D=56\) h), but possible violations of capacities, time windows and weekly working time constraints are addressed. The penalized cost of route r is given by the following equation:
$$\begin{aligned} \phi (r)= & {} d(r)+\omega ^{Q}\max \{0, q(r)-Q\}\}\nonumber \\&+\,\omega ^{D}\max \{0,\varDelta (r)-D+\omega ^{TW}TW(r) \end{aligned}$$
where \( \omega ^{Q} \), and \( \omega ^{D} \) are penalty coefficients for capacity and duration violation. \( \omega ^{TW} \) is a penalty coefficient for the time-warp. Therefore, the penalized cost of each solution s is given by the sum of the penalized costs of all its routes \(\phi (s)=\sum _{r\in \mathcal {R}(s)}\phi (r)\). This cost is used to evaluate the individuals.

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

Fig. 1

Feasible solution respecting the break and rest periods

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}=1-nb_{0}^{break}=1\) et \(nb_{1}^{rest}=0-nb_{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 split-based procedure, while the second is based on a graph-coloring 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 k-shortest 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).

Let us consider an example with 2 truck drivers and 6 customers. We assume that the capacity constraints are always respected and that the service time for each customer is equal to 45 min. To find the feasible routes, we use Eq. 5 without the capacity penalty term. Figure 2 illustrates the first split procedure in detail.
Fig. 2

First split procedure

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.

Finally, the search for the best assignment is modeled as a shortest path problem and solved by applying Dijkstra’s algorithm. If the result is an unfeasible assignment (Fig. 3b), we recycle the first split to find the next shortest path (Fig. 4), then the second best splitting. Next, we use again the second split to search for the best assignment of drivers to routes (Fig. 5).
Fig. 3

Second split procedure

Figure 3 shows that there is only one possibility to assign a tour to a truck driver. Indeed, both \(T_1\) and \(T_2\), \(T_2\) and \(T_3\) cannot be performed by the same driver since their intervals and daily working time exceed 12 h. But we only have 2 truck drivers and consequently, the result is not a feasible solution. Therefore, we have to re-apply the first split procedure to obtain the next realizable shortest path (Fig. 4).
Fig. 4

Finding the next shortest path

We will then apply the second split procedure to find a possible assignment of tours to drivers as illustrated by Fig. 4b).
Fig. 5

Determining a feasible assignment

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 graph-coloring procedure

Alternatively to the second split procedure, we have developed a graph-coloring procedure to handle the assignment of tours to truck drivers.

The first split procedure provides a set of n optimal tours \(T_{1},\ T_{2},\ldots , T_{n}\) with their corresponding intervals \(I_{1},\ I_{2},\ldots ,I_{n}\). Using these tours, an incompatibility graph is constructed, in which each tour is represented by a vertex and an edge links two vertices whenever the corresponding tours overlap in time. The resulting graph is an interval graph \(G=(V,E)\) where:
$$\begin{aligned} V=\{T_{1},\ T_{2},\ldots , T_{n}\}\hbox { and }\{T_{i}, T_{j}\}\in E \Leftrightarrow I_{i}\cap I_{j}\ne \phi \end{aligned}$$
After the construction of the graph G, we apply a graph-coloring algorithm to determine the minimum number of truck drivers needed to perform these tours, which will be given by the chromatic number \(\gamma (G)\), and the repartition of the tours between truck drivers.

DSATUR is the most efficient and widely used greedy algorithm for solving graph-coloring 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}\).

DSATUR starts by assigning color 1 to a vertex of maximal degree and performs the following steps :
  1. 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. 2.

    Color the chosen vertex with the lowest numbered color.

  3. 3.

    If all vertices are colored, stop. Otherwise, return to 1.

In the previous example, 4 tours have been found after the first split (Fig. 5a) \(T_{1},\ T_{2},\ T_{3}\ \)and\( \ T_{4}\) with their corresponding intervals \(I_{1}=[Mon : 09:00,Tues : 09:15],\ I_{2}=[Tues : 10:00,Tues : 17:00],\ I_{3}= [Mon : 6h,Tues : 06:00]\ \)and\( \ I_{4}=[Tues : 07:00,Tues : 15:00]\).
To construct the interval graph \(G = (V, E) \) with \(V=\{T_{1}, T_{2}, T_{3}, T_{4}\}\) (Fig. 6), we first determine the incompatible tours (Fig. 6a). \(T_1\) is incompatible with \(T_3\) and \(T_4\), and \(T_2\) is incompatible with \(T_4\). Consequently, \(E=\{\{T_1, T_3\},\{T_1, T_4\},\{T_2, T_4\}\}\) and the corresponding interval graph is given in Fig. 6b).
Fig. 6

Construction of the interval graph

Fig. 7

Tours assignment with DSATUR

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 non-colored 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 graph-coloring procedure) undergoes a local search-based improvement procedure.

In this procedure, we consider a partial path, following the same order of the two splits (or the graph coloring). Then the following moves are evaluated :
  • \(\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}$$
To do this efficiently, a probability p that allows the exploration or not of moves according to a fixed neighborhood \(N_{neighborhood}\) is calculated except for \(\mathcal {M}_{1}\) which is always evaluated. This probability also depends on the number of explored nodes \(N_{explored-neighborhood}\) and the number of customers not inserted in the partial path \(N_{not-inserted-customers}\).
The expression given by Eq. (6) guarantees to not overflow the fixed neighborhood \(N_{neighborhood}\) by exploring a given move \(\mathcal {M}_i\).
$$\begin{aligned}&N_{explored -neighborhood}(1+|\mathcal {M}|*p)^{N_{not-inserted-customers}}\nonumber \\&\quad =N_{neighborhood} \end{aligned}$$
from this equation, the probability p is:
$$\begin{aligned} p=\frac{1}{|\mathcal {M}|}\left[ \left( \frac{N_{neighborhood}}{N_{explored-neighborhood}}\right) ^{\frac{1}{N_{not-inserted-customers}}}- 1\right] \end{aligned}$$
\(\mathcal {M}_1\) is always explored and for each move \(\mathcal {M}_i\in \mathcal {M}\), the probability \(p_{i}\) for exploring \(\mathcal {M}_i\) is generated. If \(p_{i}<p\), \(\mathcal {M}_i\) will be explored and a new partial solution \(S_i\) is produced and added to the set of partial solutions \(S_{set-of-partial-sol}\).
The best partial solution \(S_{cur}\) in \(S_{set-of-partial-sol}\) will be chosen, and the moves described before will be tested and evaluated. This process will be repeated until a complete solution is found.

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 real-world 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 multi-trip 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 45-min break after 4.5 h of driving, he must take an 11-hour 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 graph-coloring procedure are reported in Tables 3 and 4. Best results are presented using bold face.

The last line presents the accumulated number of vehicles and the accumulated distance on all instances as well as the average computation time per instance.
Table 2

Impact of the multi-trip on the solutions of the VRPTW with all rules


Goel and Vidal

Our solution



Bst Flt

Bst Dist

Bst Flt

Bst Dist


















































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 multi-trip constraints in our algorithm.

The solutions computed by our algorithm for the MTVRPTW reduce the distance and reduce the number of vehicles for all classes of instances except R2 and RC2 (Table 2), in comparison with those obtained by [26] for a single trip VRPTW. Best results are presented using bold face. Thanks to the multi-trip opportunity, the total accumulated distance and the total accumulated number of vehicles is reduced by 9.72% and 22.14%, respectively. In our solutions, the running time is significantly improved; it is reduced by 68.42%. As it can be observed, the multi-trip possibility has a significant impact on the solution quality.
Table 3

Results for the necessary set of rules of (EC) No 561/2006


HGA with two split

HGA with graph coloring



Bst Flt

Bst Dist

Bst Flt

Bst Dist


















































Avg. CPU: 69 min (XE 2.83 Ghz)

Avg. CPU: 40 min (XE 2.4 Ghz)

%Avg.CPU: 42.02

For the necessary set of rules, and in comparison with the solutions obtained by our method with the two split procedures, the graph coloring procedure finds solutions reducing the distance for all classes and requiring less vehicles (Table 3). With the graph-coloring procedure, the total accumulated distance, the total accumulated number of vehicles and the average runtime are reduced by 5.66%, 7.53%, and 42.02%, respectively. Our algorithm using the graph-coloring procedure yields the best results on all instances, in comparison with the two split procedures (Table 4). These results show significant improvements on the total accumulated distance that is reduced by 3.85% , on the total accumulated number of vehicles that is reduced by 17.84% and on the average runtime that is reduced by 23.40%.
Table 4

Results of all the rules of (EC) No 561/2006


HGA with two split

HGA with graph coloring



Bst Flt

Bst Dist

Bst Flt

Bst Dist


















































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 real-world problems

In the past, the SYSTRANS tool (denoted Previous Solver in the following), which is based on a simple genetic algorithm, was able to solve VRPTW instances up to 120 customers without taking into account any legislation and being limited to daily tours. These tours were assigned to truck drivers manually. Now, our method includes the social constraints discussed in Sects.  3.1 and 3.3. Additionally, the assignment of tours is now automatic.
Table 5

Results of HGA on SYSTRANS real-world Problems


Previous Solver (genetic algorithm)

New Solver (HGA)

Avg Flt

Avg Trs

Avg time

Avg Dist

Avg Flt

Avg Trs

Avg time

Avg Dist


































































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 real-world 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 graph-coloring 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 multi-trip 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 real-world 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.



  1. 1.
    Archetti, C., Savelsbergh, M.W.P.: The trip scheduling problem. Transp. Sci. 43(4), 417–431 (2009)Google Scholar
  2. 2.
    Azi, N., Gendreau, M., Potvin, J.-Y.: An exact algorithm for a single-vehicle routing problem with time windows and multiple routes. Eur. J. Oper. Res. 178(3), 755–766 (2007)MathSciNetzbMATHGoogle Scholar
  3. 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. 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. 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. 6.
    Brandão, J., Mercer, A.: A tabu search algorithm for the multi-trip vehicle routing and scheduling problem. Eur. J. Oper. Res. 100(1), 180–191 (1997)zbMATHGoogle Scholar
  7. 7.
    Brandão, J., Mercer, A.: The multi-trip vehicle routing problem. J. Oper. Res. Soc. 49, 799–805 (1998)zbMATHGoogle Scholar
  8. 8.
    Campbell, A., Savelsberg, M.: Efficient insertion heuristics for vehicle routing and scheduling problems. Transp. Sci. 38, 369–378 (2004)Google Scholar
  9. 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. 10.
    Cattaruzza, D., Absi, N., Feillet, D.: The multi-trip vehicle routing problem with time windows and release dates. Transp. Sci. 50(2), 676–693 (2016)Google Scholar
  11. 11.
    Derigs, U., Kurowsky, R., Vogel, U.: Solving a real-world vehicle routing problem with multiple use of tractors and trailers and EU-regulations for drivers arising in air cargo road feeder services. Eur. J. Oper. Res. 213(1), 309–319 (2011)Google Scholar
  12. 12.
    Drexl, M., Rieck, J., Sigl, T., Press, B.: Simultaneous vehicle and crew routing and scheduling for partial- and full-load long-distance road transport. Bus. Res. 6(2), 242–246 (2013)Google Scholar
  13. 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. 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. 15.
    Fleischmann, B.: The vehicle routing problem with multiple use of vehicles. Technical report, Fachbereich Wirtschaftswissenschaften, Universität Hamburg (1990)Google Scholar
  16. 16.
    Goel, A.: Vehicle scheduling and routing with drivers’ working hours. Transp. Sci. 43(1), 17–26 (2009)Google Scholar
  17. 17.
    Goel, A.: Truck driver scheduling in the European Union. Transp. Sci. 44(4), 429–441 (2010)Google Scholar
  18. 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. 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. 20.
    Goel, A., Archetti, C., Savelsbergh, M.: Truck driver scheduling in Australia. Comput. Oper. Res. 39(5), 1122–1132 (2012)zbMATHGoogle Scholar
  21. 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. 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. 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. 24.
    Goel, A., Kok, L.: Truck driver scheduling in the United States. Transp. Sci. 46(3), 317–326 (2012)Google Scholar
  25. 25.
    Goel, A., Rousseau, L.M.: Truck driver scheduling in Canada. J. Sched. 15(6), 783–799 (2012)MathSciNetGoogle Scholar
  26. 26.
    Goel, A., Vidal, T.: Hours of service regulations in road freight transport: an optimization-based international assessment. Transp. Sci. 48(3), 391–412 (2014)Google Scholar
  27. 27.
    Hernandez, F., Feillet, D., Giroudeau, R., Naudi, O.: A new exact algorithm to solve the multi-trip vehicle routing problem with time windows and limited duration. Q. J. Oper. Res. 12(3), 235–259 (2014)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Janczewski, R., Kubale, M., Manuszewski, K., Piwakowski, K.: The smallest hard-to-color graph for algorithm DSATUR. Discrete Math. 236(2001), 151–165 (2000)MathSciNetzbMATHGoogle Scholar
  29. 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. 554-559), Los Angeles, USA (2011)Google Scholar
  30. 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. 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 pseudo-polynomial model. Eur. J. Oper. Res. 214(3), 536–545 (2011)MathSciNetzbMATHGoogle Scholar
  32. 32.
    Meyer, C.M.: Vehicle routing under consideration of driving and working hours. Gabler Res., ISBN 978-3-8349-2942-6 (2011)Google Scholar
  33. 33.
    Mingozzi, A., Roberti, R., Toth, P.: An exact algorithm for the multi-trip vehicle routing problem. INFORMS J. Comput. 25(2), 1–27 (2013)Google Scholar
  34. 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. 35.
    Petch, R.J., Salhi, S.: A multi-phase constructive heuristic for the vehicle routing problem with multi trips. Discrete Appl. Math. 133(1–3), 69–92 (2004)MathSciNetzbMATHGoogle Scholar
  36. 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. 37.
    Prescott-Gagnon, 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. 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. 39.
    Rancourt, M.E., Paquette, J.: Multicriteria optimization of a long-haul routing and scheduling problem. J. Multi-Criteria Decis. Anal. 21(5–6), 239–255 (2014)Google Scholar
  40. 40.
    Rancourt, M.E., Cordeau, J.F., Laporte, G.: Long-haul vehicle routing and scheduling with working hour rules. J. Transp. Sci. 41(1), 81–107 (2013)Google Scholar
  41. 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. 42.
    Savelsbergh, M.W.P., Sol, M.: DRIVE: dynamic routing of independent vehicles. Oper. Res. 46, 474–490 (1998)zbMATHGoogle Scholar
  43. 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. 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. 45.
    Tilk, C.: Branch-and-price-and-cut for the vehicle routing and truck driver scheduling problem. Working Papers 1616, Gutenberg School of Management and Economics, Johannes Gutenberg-Universitt Mainz (2016)Google Scholar
  46. 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 time-windows. Comput. Oper. Res. 159(18), 2281–2289 (2011)zbMATHGoogle Scholar
  47. 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. 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. 49.
    Zäpfel, G., Bögl, M.: Multi-period vehicle routing and crew scheduling with outsourcing options. Int. J. Prod. Econ. 113(2), 980–996 (2008)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Lab-STICC UMR 6285, CNRSUniversité de Bretagne OccidentaleBrestFrance
  2. 2.Lab-STICC UMR 6285, CNRSUniversité de Bretagne SudLorientFrance
  3. 3.SYSTRANS - Prat An Dero, ZI de KeranouSaint Pol de LéonFrance

Personalised recommendations