# The minimum duration truck driver scheduling problem

- 1.6k Downloads
- 11 Citations

## Abstract

Truck driver scheduling problems are important subproblems of real-life vehicle routing and scheduling problems, because rest periods required by government regulations have a significant impact on travel and arrival times. Vehicle routes generated without considering these regulations are often practically infeasible. This paper identifies common constraints imposed by hours of service regulations world wide and presents a mixed integer programming formulation for a variant of the truck driver scheduling problem in which truck drivers may only rest at customer locations and at suitable rest areas. The objective of the problem is to find a feasible truck driver schedule with minimal duration. The model presented in this paper is very flexible and can be configured to consider different sets of rules imposed by government regulations and union contracts. A dynamic programming approach is presented and its effectiveness is demonstrated for working hour regulations in the United States and in the European Union.

## Keywords

US hours of service regulations Regulation (EC) No 561/2006 Multiple time windows Rest areas Vehicle scheduling Dynamic programming## Introduction

In their efforts to increase road safety and improve working conditions of truck drivers, governments world wide have implemented regulations constraining driving and working hours of truck drivers. Compulsory breaks and rest periods mandated by hours of service regulations have a significant impact on total travel times which are typically more than twice as long as the pure driving time required in long-distance haulage. Ignoring compulsory breaks and rest periods when generating schedules for truck drivers can lead to unrealistic expectations, large delays, and violations of driving and working hour regulations. This results in poor working conditions of truck drivers, reduced road safety, and low customer satisfaction.

Looking at different hours of service regulations world wide, it can be observed that these regulations typically impose limits on the amount of driving and working between rest periods and the time that may elapse between rest periods of the same type (Federal Motor Carrier Safety Administration 2011; European Union 2006; Transport Canada 2005; National Transport Commission 2008a, b). In some regulations, however, additional differently structured rules must be complied with. In this paper the most commonly found constraints imposed by hours of service regulations are modelled, and a generic mixed integer programming formulation for the problem of finding a truck driver schedule with minimal duration which complies with these constraints is presented. The model can be configured to consider different sets of constraints imposed by different hours of service regulations. In many practical applications, in particular when motorways are used, rest periods cannot be taken anywhere. The model presented in this paper explicitly considers the location of rest areas. Therefore, truck driver schedules satisfying the constraints of the model will be more realistic than schedules generated by previous approaches assuming that rest periods can be taken anywhere.

A dynamic programming approach is presented for solving the problem described above. The dynamic programming approach is very fast and its effectiveness is demonstrated for working hour regulations in the United States and in the European Union.

The remainder of this paper is organised as follows: the next section summarises hours of service regulations in the United States and the European Union. In “Related work” an overview over the state-of-the-art in truck driver scheduling is given. In “Problem formulation”, the problem studied in this paper is formulated as a mixed integer program. In “Solution approach”, the dynamic programming approach is presented and in “Extensions” it is shown how additional rules can be considered. In “Computational experiments” experimental results are presented demonstrating the importance of considering the location of rest areas and the effectiveness of the dynamic programming approach. Eventually, conclusions are given in “Conclusion”.

## Hours of service regulations

### United States

Present hours of service regulations imposed by the US Department of Transportation are comprehensively described by the Federal Motor Carrier Safety Administration (2011). The regulation distinguishes between *on-duty time* and *off-duty time*. On-duty time refers to all time a driver is working and includes driving activities as well as other work such as loading and unloading. Off-duty time refers to any time during which a driver is not performing any work.

The regulation limits the maximum amount of accumulated driving time between two rest periods to 11 h. After accumulating 11 h of driving, the driver must take a rest period of 10 consecutive hours before driving again. The regulation prohibits a driver from driving after 14 h have elapsed since the end of the last rest period. However, a driver may conduct other work after 14 h have elapsed since the end of the last rest period. The regulation also prohibits a driver from driving after accumulating 70 h of on-duty time within a week.

In July 2013, an additional rule will become effective which demands that a driver does not drive after 8 h have elapsed since the end of the last off-duty period of at least 30 min.

### European Union

In the European Union, working hours of truck drivers are constrained by regulation (EC) No 561/2006 which distinguishes between four driver activities: rest periods, breaks, driving time, and other work. Rest periods are longer periods during which a driver may freely dispose of her or his time. Breaks are short periods exclusively used for recuperation during which a driver may not carry out any work. 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 due to reasons related to driving, e.g. traffic jams. Other work refers to any work except for driving and includes time spent for loading or unloading, cleaning and technical maintenance, customs, etc.

The regulation demands that a driver takes a break of at least 45 min after accumulating four and a half hours of driving. A rest period of at least 11 h must be completed within each period of 24 h after the end of the previous rest period. The accumulated driving time between two rest periods must not exceed 9 h.

The regulation limits the amount of driving within a week to 56 h and the accumulated amount of driving and working in a week to at most 60 h. Furthermore, a driver must not drive or work after 144 h have elapsed since the begin of the work week.

The basic set of rules described above are sufficient to comply with Regulation (EC) No 561/2006. There are several additional rules in Regulation (EC) No 561/2006 which are comprehensively discussed in Goel (2010). These additional rules give drivers more flexibility in scheduling breaks and rest periods. Among them are the rules that breaks and rest periods may be taken in two parts. The first part of a break period taken in two parts must have a duration of at least 15 min, and the second must have a duration of at least 30 min. The first part of a rest period taken in two parts must have a duration of at least 3 h, and the second must have a duration of at least 9 h. If a rest period is taken in two parts, the second part must be completed within 24 h after the end of the previous rest period.

It must be noted that further rules are implemented into national law by all member states of the European Union. These national laws include constraints outlined by Directive 2002/15/EC on the maximum amount of work without a break and on the amount of night work. The directive is not a law itself and the national laws have been differently implemented throughout Europe. A full coverage of all rules is beyond the scope of this paper and is omitted here for the sake of conciseness.

## Related work

Hours of service rules imposed by the US Department of Transportation are first studied by Xu et al. (2003) who present a column generation approach for combined vehicle routing and scheduling. They conjecture that determining a minimal cost truck driver schedule for a given sequence of customer locations is NP-hard in the presence of multiple time windows. Archetti and Savelsbergh (2009) studied a similar problem with single time windows and showed that a feasible truck driver schedule complying with US hours of service regulations for a sequence of \(n\) locations to be visited can be found in \(O(n^3)\) time. Goel and Kok (2011) show that feasible schedules complying with US hours of service regulations can be found in \(O(n^2)\) time. Based on this approach, Rancourt et al. (2010) present a tabu search heuristic for combined vehicle routing and scheduling in the United States.

In December 2011, the Federal Motor Carrier Safety Administrations published new hours of service regulations in the United States. The new regulations introduce additional break constraints which were not included in the previous regulations. These additional break constraints will become effective in July 2013 and are discussed in Goel (2012c).

Working hours of truck drivers in the European Union are controlled by Regulation (EC) No 561/2006. A first comprehensive model of the regulation is given by Goel (2010). An exact method is presented which is guaranteed to find a truck driver schedule complying with the constraints of the model if such a schedule exists. Following this work, Drexl and Prescott-Gagnon (2010) present a scheduling approach using the notion of resource extension functions. Goel (2009), Kok et al. (2010b), and Prescott-Gagnon et al. (2010) present heuristic approaches for solving combined vehicle routing and truck driver scheduling problems in the European Union. European Union regulations are also considered within the works on rich vehicle routing problems presented by Zäpfel and Bögl (2008), Bartodziej et al. (2009), Kok et al. (2010a) and Derigs et al. (2011).

Meyer (2011) and Kok et al. (2011) present mixed integer programming formulations for minimising the duration of truck driver schedules in the European Union. However, the model presented by Meyer (2011) is flawed as the constraints of European Union regulations, which require that a rest period is completed within 24 h after the end of the previous rest period, are modelled in a way demanding that at least \(k\) rest periods must be scheduled within \(k\) days since the start of the week. If a rest period is scheduled earlier than required, this way of modelling does not guarantee that the next rest period is completed within 24 h after the end of the rest period. Therefore, some schedules satisfying the constraints of the model may violate the regulation. The model presented by Kok et al. (2011) focusses on a planning horizon of at most 13 h (i.e. a working day). An extension for planning horizons of multiple days is outlined, but the possibility of taking rest periods in two parts is not considered and no computational experiments are presented for planning horizons of several days. Although the model allows to take breaks in two parts, the possibility of taking the first part of a break immediately after completing a break or rest period is not considered. This possibility, however, may be necessary to find a feasible schedule (Goel 2010).

Hours of service regulations in Canada and Australia comprise constraints similar to those in the United States and the European Union; however, they also contain additional constraints having a unique and different structure. The only works known to the author considering these regulations are presented by Goel and Rousseau (2011) and Goel et al. (2012).

All of the above-mentioned approaches are developed for a specific set of rules and each rule is individually modelled. As no effort has yet been made to identify common characteristics of rules, a new method is developed for each set of rules considered.

Except for the approach by Kok et al. (2011) all existing approaches for truck driver scheduling assume that truck drivers may take rest periods anywhere. In this paper, we assume like Kok et al. (2011) that truck drivers may only take rest periods at customer locations and at suitable rest areas. The explicit consideration of locations suitable for a driver to take rest periods is particularly important where there is a shortage of safe and secured rest areas. The European Economic and Social Committee states that such a shortage is prevalent in the European Union and demands that enough suitable parking areas must be made available along European highways (see European Union 2007). If the availability of suitable rest areas is ignored when generating truck driver schedules, a driver required to take a rest period may not be able to find a suitable rest area and must continue driving until such a rest area is found. This can result in excessive driving times and reduced road safety.

## Problem formulation

This section presents a generic model for a variant of the truck driver scheduling problem which can be configured to consider different hours of service regulations. In the problem variant studied in this paper the location of suitable rest areas is explicitly considered and the goal is to find a truck driver schedule with minimal duration. To provide a formal model of this problem, let us consider a sequence of \(n\) locations which shall be visited by a truck driver. At each location \(1\le i \le n\) some stationary work of duration \(w_i\) shall be conducted. This work shall begin within one of multiple disjunct time windows. The number of time windows at location \(1\le i \le n\) shall be denoted by \(T_i\). For each \(1\le \tau \le T_i\) the \(\tau \)th time window at location \(i\) shall be denoted by the interval \([t_{i,\tau }^{\rm min}, t_{i,\tau }^{\rm max}]\). The driving time required for moving from location \(i\) to \(i+1\) shall be denoted by \(d_{i,i+1}\). The time horizon shall be denoted by \(t^{\rm horizon}\). The minimum duration truck driver scheduling problem (MD-TDSP) is the problem of determining a schedule complying with applicable legislation in which all work activities begin within one of the corresponding time windows and which has the minimal duration, i.e. the time between the beginning of the first work and the end of the last work. As the sequence of locations to be visited as well as the duration of work and the driving time between locations are fixed, the main decisions to be made when solving the MD-TDSP are those regarding the type and duration of rest periods at the different locations.

In this paper, we assume that drivers may only take rest periods after arrival at a location and before starting the work activity at the location. We will later see that the model presented in this section can also be used if drivers may take rest periods after completing the work or at suitable rest areas on the trip from one location to another.

To develop a generic model that can be used for different hours of service regulations, let \(R\) denote the set of different types of rest periods defined by the regulation considered. For each \(r \in R\), let \(t^r\) denote the minimum duration imposed by the regulation. Let \(C\) denote a set of constraints imposed by the regulation and let \(C_1\), \(C_2\), \(C_3\), and \(C_4\) denote four subsets of \(C\) which will be defined below. For each constraint \(c\in C\), let \(t^c\) denote a limit imposed by the regulation and let \(R^c \subseteq R\) denote the set of rest types a driver can take to reset the counter bounded by the limit \(t^c\).

Let \(C_1\) denote a set of constraints \(c\) which require that a driver may not continue driving after a certain amount of time has elapsed since the end of the last rest period of type \(r \in R^c\). Let \(C_2\) denote a set of constraints \(c\) which require that a driver may not continue to work after a certain amount of time has elapsed since the end of the last rest period of type \(r \in R^c\). Let \(C_3, C_4 \subseteq C\) denote sets of constraints \(c\) which limit the accumulated amount of driving or the accumulated amount of driving and working in between rest periods of some rest of type \(r\in R^c\). For each constraint \(c\in C_3 \cup C_4\), let \(\delta ^c\) denote a binary parameter indicating whether working periods in which the driver is not driving are counted (\(\delta ^c = 1\)) for the constraint \(c\) or not (\(\delta ^c = 0\)).

Let us now illustrate the constraints of the model for a planning horizon of one week and hours of service regulations in the United States and the European Union.

Current regulations in the United States do not distinguish between different types of rest periods. We have \(R = \{{\rm rest} \}\) and \(t^{\rm rest} = 10\). The regulation prohibits a driver from driving after 14 h have elapsed since the end of the last rest period. Thus, we have \(C_1 = \{{\rm elapsed} \}\), \(t^{\rm elapsed} = 14\), and \(R^{\rm elapsed} = \{ {\rm rest} \}\). The regulation limits the maximum amount of accumulated driving time between two rest periods to 11 h. Furthermore, the regulation also prohibits a driver from driving after accumulating 70 h of on-duty time within a week. Thus, we have \(C_3 = \{{\rm weekly}, {\rm daily} \}\), \(t^{\rm weekly} = 70\) and \(t^{\rm daily} = 11\), \(\delta ^{\rm weekly} = 1\) and \(\delta ^{\rm daily} = 0\), and \(R^{\rm weekly} = \emptyset \) and \(R^{\rm daily} = \{ {\rm rest} \}\) Furthermore, we have \(C_2 = C_4 = \emptyset \). When the new rules become effective in July 2013 we will have to distinguish between breaks and rest periods. Therefore, we add the rest type “\({\rm break}\)” to \(R\) and set \(t^{\rm break} = \frac{1}{2}\). Furthermore, we include the constraint “\({\rm elapsed\_break}\)” in \(C_1\) and set \(t^{\rm elapsed\_break} = 8\), and \(R^{\rm elapsed\_break} = \{ {\rm rest}, {\rm break} \}\). Nothing else needs to be changed.

The basic set of rules in the European Union also distinguishes between rest periods and breaks. We have \(R = \{{\rm rest}, {\rm break} \}\), \(t^{\rm rest} = 11\), and \(t^{\rm break} = \frac{3}{4}\). A rest period must be completed within each period of 24 h after the end of the previous rest period and no driving and working may be conducted after 144 h have passed since the begin of the work week. Thus, we have \(C_1 = C_2 = \{{\rm elapsed}, {\rm week} \}\), \(t^{\rm elapsed} = 24-t^{\rm rest} = 13\), \(t^{\rm week} = 144\), and \(R^{\rm elapsed} = \{ {\rm rest}\}\) and \(R^{\rm week} = \emptyset \). The regulation demands that a driver takes a break or rest period after accumulating four and a half hours of driving and that at most 9 h of driving are conducted between two rest periods. Thus, we have \(C_3 = \{ {\rm daily}\), \({\rm nonstop}\}\), \(C_4 = \emptyset \), \(t^{\rm daily} = 9\), \(t^{\rm nonstop} = 4\frac{1}{2}\), \(\delta ^{\rm daily} = \delta ^{\rm nonstop} = 0\), and \(R^{\rm daily} = \{{\rm rest} \}\) and \(R^{\rm nonstop} = \{ {\rm rest}, {\rm break} \}\).

Figure 1 illustrates a truck driver schedule which complies with the current US regulations. The largest left-hand side value of condition (8) for which the right-hand side value is \(t^{\rm elapsed} \) is achieved for \(i=1\) and \(k=4\). As \(x_4^{\rm arrival} - x_1^{\rm start} = 14 - 0 = 14 \le t^{\rm elapsed} = 14\), condition (8) is satisfied for all \(1\le i < k \le n\) with \(d_{k-1,k}>0\), \(c \in C_1\). The largest left-hand side value of condition (10) for which the right-hand side value is \(t^{\rm daily} \) is also achieved for \(i=1\) and \(k=4\). As \(\sum _{j=1}^{3} d_{j,j+1} + 0 \cdot \sum _{j=1}^{3} w_{j} = 4 + 3 + 4 + 0 \cdot (1 + 1 + 1) = 11 \le t^{\rm daily} = 11\), condition (10) is satisfied for all \(1\le i < k \le n\) and \(c \in C_3\).

For the new hours of service regulations in the United States which become effective in July 2013, condition (8) is violated, because we have \(x_3^{\rm arrival} - x_1^{\rm start} = 9 - 0 = 9\) which is greater than \(t^{\rm elapsed\_break} = 8\).

The schedule violates European Union rules in several ways. We have \(x_4^{\rm arrival} - x_1^{\rm start} = 14 - 0 = 14\) which is greater than \(t^{\rm elapsed} = 13\) and thus condition (8) is violated. Furthermore, we have \(\sum _{j=1}^{2} d_{j,j+1} + 0 \cdot \sum _{j=1}^{2} w_{j} = 4 + 3 + 0 \cdot (1 + 1) = 7\) and \(\sum _{j=1}^{3} d_{j,j+1} + 0 \cdot \sum _{j=1}^{3} w_{j} = 4 + 3 + 4 + 0 \cdot (1 + 1 + 1) = 11\). As these values exceed \(t^{\rm nonstop} = 4\frac{1}{2}\) and \(t^{\rm daily} = 9\), condition (10) is violated. Last, we have \(x_4^{\rm arrival} + \sum _{r\in R} t^r z_{4,r} = 14 + \frac{3}{4}\cdot 0 + 11\cdot 1 = 25\) which is larger than \(x^{\rm start}_4 = 24\) and thus condition (2) is violated.

The model only allows drivers to take rest periods after arrival at a location and before beginning to work. If the driver may take rest periods after the completion of work activities, we can modify the tour by adding a dummy location with zero working time and an unbounded time window immediately after each customer location. If the driver may take rest periods at suitable rest areas on the trip from one location to another, we can similarly add dummy locations with zero working time and an unbounded time window on the trip. In the latter case the driving time between customer locations and rest areas must be set appropriately.

The MD-TDSP presented in this section can be solved by any mixed integer programming solver. We will, however, see that the MD-TDSP can be solved much faster with the dynamic programming approach presented in the next section. The dynamic programming approach, furthermore, has the advantage that it can be easily adapted to exploit the additional freedom in scheduling rest periods resulting from rules not considered in the formulation presented in this section.

## Solution approach

This section presents a dynamic programming approach (see, e.g., Dasgupta et al. 2007, chap. 6) for solving the MD-TDSP for a tour of length \(n\). The dynamic programming approach starts with a tour of length \(j=1\) and determines a set of feasible solutions \(S_j = \{(x_i,y_i,z_i)_{1\le i \le j} \}\) for this tour. Then it uses \(S_j\) to find a set of feasible solutions \(S_{j+1} = \{(x_i,y_i,z_i)_{1\le i \le j+1} \}\), increments \(j\) and repeats this process until \(j=n\).

If \(x_{j+1}^{\rm start} > \sum _{\tau =1}^{T_{j+1}} t_{j+1,\tau }^{\rm max} y_{j+1,\tau }\) the specified time window is violated. Otherwise, \((x_i,y_i,z_i)_{1\le i \le j+1}\) satisfies constraints (2) to (7) of the MD-TDSP. If \((x_i,y_i,z_i)_{1\le i \le j+1}\) violates constraints (10) or (11), the rest pattern defined by \((z_i)_{1\le i \le j+1}\) is infeasible, because the accumulated driving and working time between rest periods exceeds the maximum allowed value. If constraints (2)–(7) and (10)–(13) are satisfied, we only need to check whether constraints (8) and (9) are satisfied or not. If constraints (8) or (9) are violated, then the time that has elapsed between the start of the \(i\)th work activity and the arrival at location \(j+1\), or the time that has elapsed between the start of the \(i\)th work activity and the completion of work at location \(j+1\) exceeds \(t^c\) for some \(i<j+1\) and \(c\in C_1\cup C_2\). The time that has elapsed can be reduced by increasing the start time of the \(i\)th work activity. If this can be done without violating any of the other constraints a feasible solution can be obtained.

If the solution obtained by invoking the method \({\tt {update}}(\cdot )\) satisfies (8) and (9), a feasible solution is obtained. Otherwise, feasibility cannot be achieved by further increasing start times, because any further increase would either violate time windows or would leave \(t^c\) unchanged for any \(c \in C_1 \cup C_2\).

If \(s\) is a feasible solution obtained by the restricted dynamic programming approach, then \(s^* = {\tt {increase}}( s, 1, \min \{l_{s}^{{\rm slack}^*}, l_{s}^{{\rm push}^*}\} )\) is feasible and has a duration which is \( \min \{l_{s}^{{\rm slack}^*}, l_{s}^{{\rm push}^*}\}\) smaller than the duration of \(s\). If \(l_{s}^{{\rm push}^*} < l_{s}^{{\rm slack}^*}\), then it is impossible to increase the start time of \(s^*\) without violating time window constraints and the start time of \(s^*\) is therefore maximal given the values of \((y_i)_{1\le i \le n}\) and \((z_i)_{1\le i \le n}\). As the end time is not increased, \(s^*\) has the minimal duration of all feasible solutions for the restricted problem. If \(l_{s}^{{\rm push}^*} \ge l_{s}^{{\rm slack}^*}\), we have \(l_{s^*}^{{\rm slack}^*} = 0\) and the duration of the solution is minimal because no unnecessary off-duty time is scheduled. Thus, for given \((y_i)_{1\le i \le n}\) and \((z_i)_{1\le i \le n}\) the solution \(s^*\) is an optimal solution of the restricted problem.

The approach may generate up to \((|R|+1)^{n} \cdot \prod _{1\le i \le n} T_i\) different solutions, i.e. one solution for each combination of \((y_i)_{1\le i \le n}\) and \((z_i)_{1\le i \le n}\). Even if only one type of rest periods must be considered and only one time window is associated with each location (i.e. \(|R| = 1\), \(T_i = 1\) for all \(1\le i \le n\)), the number of solutions generated by the algorithm may theoretically grow exponentially with respect to the tour length \(n\).

## Extensions

It is obvious that the generic model presented in section “Problem formulation” cannot consider every rule that can possibly be imposed on truck driver schedules. Canadian and Australian hours of service regulations, for example, comprise additional constraints which are unique to these regulations. In Goel (2012a, b), it is shown how the model presented in this paper can be extended by introducing these additional constraints.

Although the model presented in section “Problem formulation” suffices to generate schedules complying with Regulation (EC) No. 561/2006, the optional rules of this regulation which allow taking break and rest periods in two parts are not considered. These rules give additional flexibility when generating truck driver schedules and can be easily considered in the dynamic programming approach.

According to the regulation, the first part of a rest period taken in two parts must have a duration of at least 3 h and the second part must have a duration of at least 9 h. The second part must be completed within 24 h after the end of the previous rest period. To consider this optional rule, we add a new rest type “\({\rm shortrest}\)” to \(R\) which represents the first part of a rest taken in two parts. We set \(t^{\rm shortrest} = 3\) and add “\({\rm shortrest}\)” to \(R^{\rm nonstop}\), because the short rest also resets the accumulated amount of driving without a regular break or rest. Furthermore, we modify the method \({\tt {extend(\cdot )}}\) in such a way that after a short rest is scheduled (i.e. if \(z_{j+1,{\rm shortrest}} = 1\)) then \(t^{\rm rest}\) is set to \(9\) and \(t^{\rm elapsed}\) is set to \(24 - 9 = 15\). By this the time required for the next long rest period is appropriately reduced and the time that may elapse between two long rest periods is appropriately increased. After scheduling the next long rest (i.e. if \(z_{j+1,{\rm rest}} = 1\)) the value of \(t^{\rm rest}\) is reset to \(11\) and \(t^{\rm elapsed}\) is reset to \(24 - 11 = 13\). In certain cases, it may make sense to schedule a short rest immediately after a long rest (see Goel 2010). Therefore, let us also add another rest type “\({\rm rest}\)-\({\rm shortrest}\)” to \(R\) and \(R^{\rm nonstop}\). The time required for taking a short rest immediately after a long rest is \(t^{\rm rest-shortrest} \) and is determined by \(t^{\rm rest} + t^{\rm shortrest} = 14\). Within the method the values of \(t^{\rm rest}\), \(t^{\rm rest-shortrest}\), and \(t^{\rm elapsed}\) are accordingly modified.

The dynamic programming approach can be similarly extended to consider the rules allowing to take break periods in two parts. For this, an additional break type \(t^{\rm shortbreak}\) as well as other reasonable combinations of rests and breaks must be added and the method \({\tt {extend(\cdot )}}\) must be appropriately modified.

## Computational experiments

The approaches presented in this paper are evaluated on four randomly generated benchmark sets for a planning horizon starting on Monday 0.00 and ending on Friday 23.59. In all benchmark sets one hour of work time must be conducted at each work location in the tour and the driving time between two subsequent work locations is randomly set to a value between 1 and 10 h. Assuming an average speed of 75 km/h, this implies that the distance between two subsequent locations ranges from 75 to 750 km. Drivers may take rest periods before and after the work at any customer location. Furthermore, they may take rest periods at rest areas which are randomly distributed on the trip from one work location to another. The minimum driving time between rest areas is 15 min, and the maximum driving time 2 h. In the first benchmark set all locations have a single time window starting at some day in the planning horizon at 6.00 and ending at 20.00. In the second benchmark set, all locations have two time windows: the first starts at some day in the planning horizon at 6.00 and ends at 12.00, and the second starts at 14.00 and ends at 20.00. In the third and fourth benchmark sets, the time windows used in the first two benchmark sets are repeated on 2 days. Each benchmark set includes 1,000 instances. 769 these instances have an accumulated amount of driving and working of not more than 70 h and were used for the set of rules applicable in the United States. 471 of these instances have an accumulated amount of driving of not more than 56 h and an accumulated amount of driving and working of not more than 60 h and were used for the set of rules applicable in the European Union. The instances used for the rules applicable in the United States have between 27 and 81 customer locations and rest areas and the instances used for the rules applicable in the European Union have between 27 and 69 customer locations and rest areas.

Number of instances for which a feasible solution can be found

Rules | Time windows | Instances | Anywhere | Rest areas |
---|---|---|---|---|

US | 1 day: 6–20 | 769 | 468 | 419 |

US | 1 day: 6–12, 14–20 | 769 | 455 | 412 |

US | 2 days: 6–20 | 769 | 595 | 529 |

US | 2 days: 6–12, 14–20 | 769 | 587 | 526 |

EU | 1 day: 6–20 | 471 | 174 | 125 |

EU | 1 day: 6–12, 14–20 | 471 | 174 | 124 |

EU | 2 days: 6–20 | 471 | 228 | 159 |

EU | 2 days: 6–12, 14–20 | 471 | 228 | 155 |

EU* | 1 day: 6–20 | 471 | 177 | 134 |

EU* | 1 day: 6–12, 14–20 | 471 | 177 | 129 |

EU* | 2 days: 6–20 | 471 | 236 | 178 |

EU* | 2 days: 6–12, 14–20 | 471 | 232 | 169 |

Comparison of the approaches

Rules | Time windows | Instances | Feasible | Avg. duration | Avg. CPU | Max. CPU | Avg. CPU | Max. CPU |
---|---|---|---|---|---|---|---|---|

(in min) | DP (in ms) | DP (in ms) | CPLEX 12 (in ms) | CPLEX 12 (in ms) | ||||

US | 1 day: 6–20 | 769 | 419 | 5,600 | 1 | 4 | 227 | 747 |

US | 1 day: 6–12, 14–20 | 769 | 412 | 5,626 | 2 | 5 | 238 | 769 |

US | 2 days: 6–20 | 769 | 529 | 5,448 | 5 | 9 | 521 | 1,835 |

US | 2 days: 6–12, 14–20 | 769 | 526 | 5,456 | 9 | 16 | 643 | 2,953 |

EU | 1 day: 6–20 | 471 | 125 | 5,601 | 8 | 29 | 305 | 1,180 |

EU | 1 day: 6–12, 14–20 | 471 | 124 | 5,595 | 13 | 50 | 317 | 1,211 |

EU | 2 days: 6–20 | 471 | 159 | 5,603 | 36 | 74 | 577 | 4,533 |

EU | 2 days: 6–12, 14–20 | 471 | 155 | 5,580 | 57 | 143 | 747 | 21,813 |

EU* | 1 day: 6–20 | 471 | 134 | 5,552 | 14 | 51 | – | – |

EU* | 1 day: 6–12, 14–20 | 471 | 129 | 5,523 | 37 | 157 | – | – |

EU* | 2 days: 6–20 | 471 | 178 | 5,593 | 89 | 197 | – | – |

EU* | 2 days: 6–12, 14–20 | 471 | 169 | 5,548 | 215 | 473 | – | – |

In a second experiment the performance of the methods presented in this paper is compared. Table 2 shows the results of the computational experiments conducted on a personal computer with an Intel 2.00 GHz CPU. In the table the average time required for solving an instance and the maximum computation time over all instances per benchmark set are reported. It can be seen that the dynamic programming approach requires significantly less average computation time than CPLEX 12 for all four benchmark sets and both the US and EU rules. Moreover, the maximum computation time required by the dynamic programming approach is also significantly smaller than the average computation time required by CPLEX 12, and the maximum computation time required by CPLEX 12 is prohibitively large if the problem is to be solved within an iterative approach for combined vehicle routing and truck driver scheduling. Not surprisingly, the fastest computation times are achieved for the first benchmark set in which all locations have a single time window. For US rules the dynamic programming approach only requires on average 1 ms, whereas CPLEX 12 requires more than two hundred times as much computation time. Interestingly, the average computation time required by CPLEX 12 does not grow as much when changing the set of rules compared with the dynamic programming approach. However, the dynamic programming approach is still much faster than CPLEX 12 for the rules in the European Union. The computation times required by the dynamic programming approach for the extended EU rules in which breaks and rests may be taken in two parts are a few times larger than those by the dynamic programming approach for the basic EU rules, but are still smaller than those required by CPLEX 12 for the basic EU rules. No results are reported for CPLEX 12 for the extended EU rules because it is yet not clear how the additional rules can be fully incorporated into a mixed integer program. An interesting result is that considering the possibility of taking breaks and rest periods in two parts not only helps in finding a truck driver schedule complying with EU regulations, but also allows to reduce schedule durations. The reason for this is that off-duty times which are not long enough for taking a long break or rest can be used to take short breaks and short rests. Therefore, otherwise unproductive off-duty times can be avoided and the driver requires less break and rest times later on.

To further evaluate the performance of the dynamic programming approach “EU*”, we conducted computational experiments on the instances used by Kok et al. (2011). These instances are obtained from known solutions of the vehicle routing problem with time windows by interpreting the time horizon as a period of 13 h. Within the planning horizon of 13 h no rest periods are required and the scheduling problem reduces to the problem of scheduling break periods and deciding whether these break periods are taken in two parts or not. Kok et al. (2011) report an average CPU time of 15 ms for these instances on a computer with a 2.83 GHz processor. The maximum CPU time required by the “EU*” approach was less than 2 ms, and thus remarkably smaller although a slower computer was used and all possible combinations of break and rest periods are evaluated by the “EU*” approach.

## Conclusions

This paper studies the minimum duration truck driver scheduling problem (MD-TDSP), which is the problem of determining a schedule complying with applicable legislation in which all work activities begin within one of the corresponding time windows and which has the minimal duration. In the MD-TDSP, the truck driver may only take rest periods at customer locations or suitable rest areas. Most previous approaches for truck driver scheduling allowed truck drivers to take rest periods anywhere. The consideration of the locations of suitable rest areas, however, is particularly important if motorways are used and truck drivers must continue to drive until the next appropriate rest area is reached.

A generic model is presented which can be configured in such a way that the constraints of the current hours of service regulations in the United States, the new hours of service regulations in the United States which will become effective in 2013, and the basic set of rules imposed by European Union regulations are considered. Furthermore, the model can be used for other similarly structured regulations and provides a good starting point for regulations containing differently structured additional constraints.

A dynamic programming approach is presented which solves the MD-TDSP in a small fraction of time compared with the computation time required by one of the most advanced mixed integer programming solvers. Computational efficiency is particularly important if the MD-TDSP is solved within iterative methods for solving vehicle routing and scheduling problems, where feasible truck driver schedules must be determined whenever the route of some vehicle is changed. The fast computation times are achieved by removing some of the partial schedules constructed during the course of the algorithm.If fast computation time is not required and if only those partial schedules are removed which cannot be extended to an optimal solution, many alternative optimal solutions for a given tour may be generated by the dynamic programming approach and truck drivers may be given the possibility of selecting one of the optimal rest patterns that fits best their individual preferences. Another important characteristic of the dynamic programming approach is that it can be easily adapted to consider additional rules not covered by the mixed integer programming formulation. This paper shows how the optional rules in the European Union which allow taking breaks and rest periods in two parts can be considered within the solution approach.

## References

- Archetti C, Savelsbergh MWP (2009) The trip scheduling problem. Transp Sci 43(4):417–431CrossRefGoogle Scholar
- Bartodziej P, Derigs U, Malcherek D, Vogel U (2009) 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 Spectrum 31:405–429CrossRefGoogle Scholar
- Dasgupta S, Papadimitriou C, Vazirani U (2007) Algorithms. McGraw-Hill Higher Education, New YorkGoogle Scholar
- Derigs U, Kurowsky R, Vogel U (2011) 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:309–319CrossRefGoogle Scholar
- Drexl M, Prescott-Gagnon E (2010) Labelling algorithms for the elementary shortest path problem with resource constraints considering EU drivers’ rules. Logist Res 2:79–96CrossRefGoogle Scholar
- European Union (2002) 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. Official J Eur Commun L 80:35–39Google Scholar
- European Union (2006) 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 April 2006Google Scholar
- European Union (2007) Opinion of the European Economic and Social Committee on the “European Road Safety Policy and Professional Drivers-Safe and secured parking places”. Official Journal of the European Union C 175/88, 27 July 2007Google Scholar
- Federal Motor Carrier Safety Administration (2011) Hours of service of drivers. Fed Reg 76(248):81134–81188Google Scholar
- Goel A (2009) Vehicle scheduling and routing with drivers’ working hours. Transp Sci 43(1):17–26CrossRefGoogle Scholar
- Goel A (2010) Truck driver scheduling in the European Union. Transp Sci 44(4):429–441CrossRefGoogle Scholar
- Goel A (2012a) A mixed integer programming formulation and effective cuts for minimising schedule durations of Australian truck drivers. J Sched doi: 10.1007/s10951-012-0282-0
- Goel A (2012b) The Canadian minimum duration truck driver scheduling problem. Comput Oper Res 39(10):2359–2367CrossRefGoogle Scholar
- Goel A (2012c) Truck driver scheduling in the United States and the 2013 rule change. Working paper, Zaragoza Logistics CenterGoogle Scholar
- Goel A, Kok L (2011) Truck driver scheduling in the United States. Transp Sci 46(3):317–326CrossRefGoogle Scholar
- Goel A, Rousseau LM (2011) Truck driver scheduling in Canada. J Schedul (to appear)Google Scholar
- Goel A, Archetti C, Savelsbergh M (2012) Truck driver scheduling in Australia. Comput Oper Res 39(5):1122–1132CrossRefGoogle Scholar
- Kok AL, Hans EW, Schutten WHM, Zijm JMJ (2010a) A dynamic programming heuristic for vehicle routing with time-dependent travel times and required breaks. Flexible Serv Manuf J 22:83–108CrossRefGoogle Scholar
- Kok L, Meyer CM, Kopfer H, Schutten JMJ (2010b) A dynamic programming heuristic for the vehicle routing problem with time windows and European community social legislation. Transp Sci 44(4):442–454. doi: 10.1287/trsc.1100.0331 CrossRefGoogle Scholar
- Kok AL, Hans EW, Schutten JMJ (2011) Optimizing departure times in vehicle routes. Eur J Oper Res 210(3):579–587CrossRefGoogle Scholar
- Meyer CM (2011) Vehicle routing under consideration of driving and working hours: a distributed decision making perspective. Gabler Verlag, Wiesbaden. ISBN:9783834929426Google Scholar
- National Transport Commission (2008a) Heavy vehicle driver fatique reform: basic fatigue management explained. Information Bulletin. http://www.ntc.gov.au/
- National Transport Commission (2008b) Heavy vehicle driver fatique reform: standard hours explained. Information Bulletin. http://www.ntc.gov.au/
- Prescott-Gagnon E, Desaulniers G, Drexl M, Rousseau LM (2010) European driver rules in vehicle routing with time windows. Transp Sci 44(4):455–473. doi: 10.1287/trsc.1100.0328 CrossRefGoogle Scholar
- Rancourt ME, Cordeau JF, Laporte G (2010) Long-haul vehicle routing and scheduling with working hour rules. Technical Report CIRRELT-2010-46, CIRRELT. URL:http://www.cirrelt.ca/DocumentsTravail/CIRRELT-2010-46.pdf
- Transport Canada (2005) Commercial vehicle drivers hours of service regulations. SOR/2005-313. URL:http://laws.justice.gc.ca/en/SOR-2005-313/
- Xu H, Chen Z-L, Rajagopal S, Arunapuram S (2003) Solving a practical pickup and delivery problem. Transp Sci 37(3):347–364CrossRefGoogle Scholar
- Zäpfel G, Bögl M (2008) Multi-period vehicle routing and crew scheduling with outsourcing options. Int J Prod Econ 113:980–996CrossRefGoogle Scholar