Truck Driver Scheduling in the United States

21
Truck Driver Scheduling in the United States Asvin Goel 1,2 and Leendert Kok 3 1 MIT-Zaragoza International Logistics Program Zaragoza Logistics Center, Spain [email protected] 2 Applied Telematics/e-Business Group, Department of Computer Science, University of Leipzig, Germany [email protected] 3 ORTEC, Algorithmic R & D P.O. Box 490, 2800 AL Gouda, The Netherlands [email protected] October 25, 2010 Abstract The U.S. Truck Driver Scheduling Problem (US-TDSP) is the problem of visiting a sequence of λ locations within given time windows in such a way that driving and working activities of truck drivers comply with U.S. hours of service regulations. In the case of single time windows it is known that the US-TDSP can be solved in O(λ 3 ) time. In this paper we present a scheduling method for the US-TDSP which solves the single time window problem in O(λ 2 ) time. Further- more, we show that in the case of multiple time windows the same complexity can be achieved if the gap between subsequent time windows is at least 10 hours. This situation occurs, for exam- ple, if, because of opening hours of docks, handling operations can only be performed between 8.00 AM and 10.00 PM. Furthermore, we empirically show that for a wide range of other problem instances the computational effort is not much higher if multiple time windows are considered. Keywords: Vehicle Scheduling, U.S. Hours of Service Regulations, Multiple Time Windows 1

Transcript of Truck Driver Scheduling in the United States

Truck Driver Scheduling in the United States

Asvin Goel1,2 and Leendert Kok3

1 MIT-Zaragoza International Logistics Program

Zaragoza Logistics Center, Spain

[email protected]

2 Applied Telematics/e-Business Group,

Department of Computer Science, University of Leipzig, Germany

[email protected]

3 ORTEC, Algorithmic R & D

P.O. Box 490, 2800 AL Gouda, The Netherlands

[email protected]

October 25, 2010

Abstract

The U.S. Truck Driver Scheduling Problem (US-TDSP) is the problem of visiting a sequence

of λ locations within given time windows in such a way that driving and working activities of

truck drivers comply with U.S. hours of service regulations. In the case of single time windows it

is known that the US-TDSP can be solved in O(λ3) time. In this paper we present a scheduling

method for the US-TDSP which solves the single time window problem in O(λ2) time. Further-

more, we show that in the case of multiple time windows the same complexity can be achieved if

the gap between subsequent time windows is at least 10 hours. This situation occurs, for exam-

ple, if, because of opening hours of docks, handling operations can only be performed between

8.00 AM and 10.00 PM. Furthermore, we empirically show that for a wide range of other problem

instances the computational effort is not much higher if multiple time windows are considered.

Keywords: Vehicle Scheduling, U.S. Hours of Service Regulations, Multiple Time Windows

1

1 Introduction

The Federal Motor Carrier Safety Agency has estimated that truck driver fatigue is a factor in 15 per-

cent of large truck crashes. In November 2008, the Federal Motor Carrier Safety Agency adopted

current hours of service regulations for truck drivers in the United States, see Federal Motor Carrier

Safety Administration (2008). These regulations are merely identical with those adopted in 2003 and

2005 which were both overturned by the U.S. Court of Appeals for the D.C. Circuit. According to

a survey conducted by McCartt et al. (2008), one out of six truck drivers admits to having dozed at

wheel in the month prior to the survey. This value has significantly increased since the 2003 rule

came into effect. The same survey revealed that less than one out of two truck drivers reported that

delivery schedules are always realistic. Truck drivers who reported that they are sometimes or often

given unrealistic delivery schedules are approximately three times as likely to violate the work rules

as drivers who rarely or never have to deal with unrealistic delivery schedules. In March 2009 a

lawsuit was filed again challenging the new regulations because of safety concerns and the fear that

the regulations promote driver fatigue, see Stone et al. (2009). In a settlement agreement, the Federal

Motor Carrier Safety Agency announced that it will reconsider and potentially change the regulation.

The current regulation, however, will remain in effect during the rule making process.

One of the first research works explicitly considering break periods within vehicle routing and

scheduling is presented by Savelsbergh and Sol (1998) who consider a problem in which lunch breaks

and night breaks must be taken within fixed time intervals. Hours of service rules imposed by the U.S.

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) study a similar problem with single time

windows, i.e. where each location has exactly one time window, and show that truck driver schedules

complying with U.S. hours of service regulations for a sequence of λ locations to be visited can be

found inO(λ3) time. Furthermore, they conclude that the conjecture made by Xu et al. (2003) may not

be true. The approach presented by Archetti and Savelsbergh (2009) could be used to determine truck

driver schedules in the presence of multiple time windows by solving a single time window problem

for each combination of time windows. However, if each of the λ locations has τ time windows there

2

are τλ combinations of time windows. Thus, knowing that truck driver schedules can be determined in

polynomial time in the single time window case does not give any indication whether, in the presence

of multiple time windows, truck driver schedules can be determined in polynomial time.

Recently, several works considering the generation of truck driver schedules complying with Eu-

ropean Union regulations have been presented. However, none of these papers considers multiple

time windows. Goel (2009), Kok et al. (2010), and Prescott-Gagnon et al. (2010) solve combined

vehicle routing and truck driver scheduling problems in the European Union by heuristically deter-

mining truck driver schedules. Goel (2010) presents the first method that is guaranteed to find a truck

driver schedule complying with European Union regulation if such a schedule exists. European Union

regulations are more complex than U.S. hours of service regulation, because they require that in addi-

tion to rest periods, in which drivers can sleep, shorter breaks for recuperation must be scheduled after

four and a half hours of driving. The provisions of the regulation concerning rest periods, however,

share some similarity with U.S. hours of service regulations.

In this paper we study the U.S. Truck Driver Scheduling Problem with multiple time windows,

which is the problem of visiting a sequence of λ locations within given time windows in such a way

that driving and working activities of truck drivers comply with U.S. hours of service regulations.

We provide a formal model and analyse some structural properties of the problem. We present a

scheduling method which is guaranteed to find feasible truck driver schedules if such schedules exists.

We show that, in the case of single time windows, this method can solve the U.S. Truck Driver

Scheduling Problem in O(λ2) time. Furthermore, we show that the case of multiple time windows

is not harder to solve if the gap between these time windows is at least 10 hours. This situation

occurs, for example, if, because of opening hours of docks, handling operations can only be performed

between 8.00 AM and 10.00 PM. Furthermore, we empirically show that for a wide range of problem

instances which do not satisfy this property, the computational effort required by our scheduling

algorithm does not increase significantly.

The remainder of this paper is organised as follows. Section 2 describes current hours of ser-

vice regulations imposed by the U.S. Department of Transportation. In Section 3, a formal model of

the U.S. Truck Driver Scheduling Problem (US-TDSP) is given. Section 4 introduces conditions for

pseudo-feasibility which relax the conditions for feasibility presented in Section 3. This relaxation

3

allows us to myopically construct truck driver schedules without considering future driver activities

and constraints imposed on them. Section 4 furthermore gives dominance criteria, which help us

in reducing the number of partial schedules that must be explored in order to solve the US-TDSP.

Normality conditions are presented which guide us when solving the US-TDSP. Section 5 presents

a scheduling method which solves the US-TDSP by constructing pseudo-feasible schedules satisfy-

ing these normality conditions. In Section 6, we analyse the performance of the method. Finally,

Section 7 concludes this paper.

2 U.S. Hours of Service Regulations

Present hours of service regulations imposed by the U.S. Department of Transportation are compre-

hensively described by Federal Motor Carrier Safety Administration (2009). The regulation distin-

guishes 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 to 11 hours. After ac-

cumulating 11 hours of driving, the driver must be off duty for 10 consecutive hours before driving

again. In the remainder of this paper we will denote a period of at least 10 consecutive hours of

off-duty time as a rest period. Thus, a driver must not drive for more than 11 hours in between two

rest periods.

The regulation prohibits a driver from driving after 14 hours have elapsed since the end of the last

rest period. However, a driver may conduct other work after 14 hours have elapsed since the end of

the last rest period.

Further regulations prohibit driving after a driver has accumulated 60 or 70 hours of on-duty time

within a period of 7 or 8 days. Furthermore, a driver may restart counting duty times after taking

34 or more consecutive hours off duty. Like Archetti and Savelsbergh (2009), we will assume in the

remainder of this paper that no more than 60 or 70 hours of on-duty time are assigned to a driver

within the planning horizon. Furthermore, we assume that, at the beginning of the planning horizon,

4

the driver returns from a rest period which is long enough such that previous driving and working

activities do not have any influence on driving and working hours within the planning horizon.

3 The Truck Driver Scheduling Problem

In this section we describe the U.S. Truck Driver Scheduling Problem with multiple time windows.

Let us consider a sequence of locations denoted by n1, n2, . . . , nλ which shall be visited by a truck

driver. At each location nµ some stationary work of duration wµ shall be conducted. This work shall

begin within one of multiple disjunct time windows. The number of time windows at location nµ

shall be denoted by τµ and the time windows by T 1µ , T

2µ , . . . , T

τµµ . Let Tµ := T 1

µ ∪ T 2µ ∪ . . . ∪ T

τµµ

denote the set of all feasible start times at location nµ. The (positive) driving time required for moving

from node nµ to node nµ+1 shall be denoted by δµ,µ+1. The U.S. Truck Driver Scheduling Problem

is the problem of determining whether driving and working hours of a truck driver can be scheduled

in such a way that all work activities begin within one of the corresponding time windows and that

U.S. hours of service regulations are complied with.

In order to give a formal model of the problem, let us denote with DRIVE any period during which

the driver is driving, with WORK any on-duty time in which the driver is not driving, with REST any

period of 10 consecutive hours or more of off-duty time, and with IDLE any other off-duty time.

A truck driver schedule can be specified by a sequence of activities to be performed by the driver.

Let A :={a = (atype, alength) | atype ∈ {DRIVE, WORK, REST, IDLE}, alength > 0

}denote the set

of driver activities to be scheduled. Let « . » be an operator which concatenates different activities.

Thus, a1.a2. . . . .ak denotes a schedule in which for each i ∈ {1, 2, . . . , k − 1} activity ai+1 is

performed immediately after activity ai. For a given schedule s := a1.a2. . . . .ak and 1 ≤ i ≤ k

let s1,i := a1.a2. . . . .ai denote the partial schedule composed of activities a1 to ai. Recall that

we assume that at the beginning of the planning horizon, the driver returns from a rest period which

is long enough such that previous driving and working activities do not have any influence on the

driving and working hours within the planning horizon. We will thus only consider schedules s :=

a1.a2. . . . .ak which begin with a rest period of at least 34 hours, i.e. atype1 = REST and alength

1 ≥ 34.

5

Notation Value Description

trest 10 hours The minimum duration of a rest period

tdrive 11 hours The maximum accumulated driving time between two consecutive rest

periods

telapsed 14 hours The maximum time since the end of the last rest period until which a

driver may drive

Table 1: Parameters imposed by the regulation

Table 1 gives an overview of the parameters imposed by the regulation. We use the following

notation for determining whether a schedule complies with the regulation. For each schedule s :=

a1.a2. . . . .ak with atype1 = REST we denote the completion time of the schedule by lend

s , the time of

completion of the last rest period by llast_rests , and the accumulated driving time since completion of

the last rest period by ldrives . These values can be recursively computed during schedule generation by

lends1,1 := a

length1 and lend

s.a := lends + alength,

llast_rests1,1 := lend

s1,1 and llast_rests.a :=

lends.a if atype = REST

llast_rests otherwise,

ldrives1,1 := 0 and ldrive

s.a :=

0 if atype = REST

ldrives + alength if atype = DRIVE

ldrives otherwise.

For a given sequence of locations n1, n2, . . . , nλ and a schedule s = a1.a2. . . . .ak, let us denote

with i(µ) the index in s corresponding to the µth stationary work period, i.e. ai(µ) corresponds to the

work performed at location nµ. Analogously, for each 1 < i ≤ k with atypei = WORK let us denote

with µ(i) the index of the respective location in n1, n2, . . . , nλ. With this notation we can now give a

formal model of the problem.

6

The U.S. Truck Driver Scheduling Problem (US-TDSP) with multiple time windows is the problem

of determining for a given sequence of locations n1, n2, . . . , nλ, whether a schedule s := a1.a2. . . . .ak

with atype1 = REST and alength

1 ≥ 34 exists which satisfies

∑i(1)≤j≤i(λ)a

typej

=DRIVE

alengthj =

∑1≤j≤k

atypej

=DRIVE

alengthj (1)

alengthi(µ) = wµ for each µ ∈ {1, 2, . . . , λ} (2)

lends1,i(µ)−1

∈ Tµ for each µ ∈ {1, 2, . . . , λ} (3)∑i(µ)≤j≤i(µ+1)

atypej

=DRIVE

alengthj = δµ,µ+1 for each µ ∈ {1, 2, . . . , λ− 1} (4)

ldrives1,i ≤ tdrive for each 1 < i ≤ k (5)

alengthi ≥ trest for each 1 < i ≤ k with atype

i = REST (6)

lends1,i ≤ llast_rest

s1,i + telapsed for each 1 < i ≤ k with atypei = DRIVE (7)

Condition (1) demands that all driving is conducted between the first and the last work activity.

Condition (2) demands that the duration of the µth work activity matches the specified work duration

at location nµ. Condition (3) demands that each work activity begins within one of the corresponding

time windows. Condition (4) demands that the accumulated driving time between two work activities

matches the driving time required to move from one location to the other. Condition (5) demands

that the maximum amount of driving between two rest periods does not exceed the limit given by

the regulation. Condition (6) demands that each rest period has the minimum duration required by

the regulation. Condition (7) demands that no driving is conducted after 14 hours have elapsed since

returning from the last rest period. In the remainder of this paper, we will say that a schedule s :=

a1.a2. . . . .ak with atype1 = REST and alength

1 ≥ 34 is feasible if and only if it satisfies conditions

(1) to (7).

Figure 1 illustrates five different feasible schedules for the truck driver scheduling problem given

by λ = 5 and Tµ = [tminµ , tmax

µ ], δµ,µ+1 = 1, and wµ = 12 for all 1 ≤ µ ≤ 5. Each of these schedules

has different characteristics and different values for lends , llast_rest

s , and ldrives . Obviously, many other

feasible schedules exist for the truck driver scheduling problem. In order to efficiently solve the truck

7

tmin1 tmin

2 tmin3 tmin

4 tmin5 tmax

1 tmax2 tmax

3 tmax4 tmax

5 -time

REST

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

REST

WORK

12h

DRIVE

1h

REST

10h

WORK

12h

DRIVE

1h

WORK

12h

DRIVE

1h

WORK

12h

DRIVE

1h

WORK

12h

REST

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

REST

10h

WORK

12h

DRIVE

1h

WORK

12h

DRIVE

1h

WORK

12h

REST

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

REST

10h

WORK

12h

DRIVE

1h

WORK

12h

REST

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

IDLE

12h

WORK

12h

DRIVE

1h

REST

10h

WORK

12h

Figure 1: Five feasible schedules for a truck driver scheduling problem with five locations

driver scheduling problem, we thus need to identify problem characteristics which help us reducing

the search space as much as possible.

4 Pseudo-feasibility and Normality

For single time window truck driver scheduling problems considering European Union regulations,

Goel (2010) defined criteria for pseudo-feasibility and a normal form which provides guidance when

solving the problem. In this section, we will adopt these criteria and develop a normal form for

truck driver schedules for the U.S. Truck Driver Scheduling Problem. Furtermore, we generalise the

concepts of pseudo-feasibility and the normal form to the case of multiple time windows.

In order to be able to reduce the search space to schedules in which each rest period has a duration

of minimal length, we replace constraint (7) of the US-TDSP by a relaxed constraint (7’). The relaxed

constraint will guarantee that compliance with constraint (7) can be achieved in a post processing step.

To formulate the relaxed constraint, we have to determine the amount of time by which each rest

period can be extended without violating any other constraint of the truck driver scheduling problem.

For any schedule s let us denote the accumulated slack time since completion of the last rest period by

8

lslacks . This value constrains the amount by which the duration of the last rest period can be extended

without increasing the completion time of the schedule. It can be recursively computed by

lslacks1,1 := 0 and lslack

s.a :=

0 if atype = REST

lslacks + alength if atype = IDLE

lslacks otherwise.

By extending the duration of the last rest period in the schedule, the start times of subsequent work

activities may be pushed to a later point in time. Thus, we need to know by how much the duration

of the last rest period can be increased without violating time window constraints. For the European

Union Truck Driver Scheduling Problem with single time windows, Goel (2010) determined the max-

imum value by which the rest period can be increased without violating time window constraints. Any

extension by smaller amount maintains compliance with time window constraints and any extension

by a larger amount results in a violation of time window constraints. Furthermore, any extension of

the last rest period increases the start times of subsequent work activities by at most the amount of

the extension. For the problem with multiple time windows studied in this paper, this is no longer

the case. Figure 2, which will be discussed in more detail later, illustrates an example in which we

can extend the last rest period in the last schedule by up to 3 hours. However, if we extend the rest

period by only 1 hour and 1 minute, the start time of the first work activity must be increased by

2 hours and the start time of the second work activity must be increased by 3 hours. Calculating and

updating the maximum amount by which the last rest period can be extended can be a tedious task in

the presence of multiple time windows, because it may require to examine the impact of an extension

on the start times of all subsequent work activities. A value that can be easily calculated and updated

during schedule construction is the maximum amount by which the last rest period can be extended

without pushing the start time of any subsequent work activity out of its current time window. Let

us denote this value by lpushs . For any schedule s := a1.a2. . . . .ak with atype

k = WORK let us denote

with us the closing time of the corresponding time window during which the work activity ak starts,

i.e. us := maxT jµ(k) where j is the index with lends1,k−1

∈ T jµ(k). For any schedule s := a1.a2. . . . .ak

with atypek = WORK, the last rest period in s can be increased by lslack

s1,k−1without increasing the start

time of activity ak because the amount of idle time preceding the activity can be reduced by lslacks1,k−1

.

9

We can further extend the extend the last rest period by us − lends1,k−1

without pushing the start time of

ak out of its current time window. The value of lpushs can thus be recursively computed by

lpushs1,1 :=∞ and lpush

s.a :=

∞ if atype = REST

min{lpushs , lslack

s + us.a − lends } if atype = WORK

lpushs otherwise.

The duration of the last rest period in schedule s may be extended by

lextends := min{lslack

s , lpushs }

without violating time window constraints or increasing the completion time. Now, let us replace

condition (7) of the US-TDSP by condition

lends1,i ≤ llast_rest

s1,i + lextends1,i + telapsed for each 1 < i ≤ k with atype

i = DRIVE (7’)

and let us say that a schedule s := a1.a2. . . . .ak with atype1 = REST and alength

1 ≥ 34 is pseudo-

feasible if and only if it satisfies conditions (1) to (6) and (7’).

T 11 T 2

1 T 31 T 1

2 T 22 -

time

REST

10h

DRIVE

3h

IDLE

2h

WORK

1h

DRIVE

3h

IDLE

2h

WORK

1h

DRIVE

3h

lends − llast rests = 15 > telapsed

lends − (llast rests + lextends ) = 12 ≤ telapsed

REST

13h

DRIVE

3h

WORK

1h

DRIVE

3h

IDLE

1h

WORK

1h

DRIVE

3h

lends − llast rests = 12 ≤ telapsed

REST

14h

DRIVE

3h

WORK

1h

DRIVE

3h

WORK

1h

DRIVE

3h

lends − llast rests = 11 ≤ telapsed

Figure 2: Feasible and pseudo-feasible schedules

Figure 2 illustrates the idea behind replacing condition (7) by condition (7’). The first schedule

in Figure 2 is infeasible because the last driving activity finishes 15 hours after the end of the last rest

period, and thus condition (7) is violated. As lslacks = 4 and lpush

s = 3 we know that we can increase the

last rest period in the schedule by lextends = 3. The schedule is pseudo-feasible because condition (7’)

10

is satisfied. The second schedule in Figure 2 is a feasible schedule obtained by increasing the duration

of the last rest period in the first schedule by lextends = 3 (and reducing the duration of subsequent idle

periods). By increasing the duration of the last rest period, the arrival time at the first location is

increased to the end of time window T 11 . Note, that we can also extend the duration of the last rest

period by a smaller value than lextends = 3 to achieve feasibility. The increase, however, must be at

least lends − llast_rests − telapsed = 1 to achieve compliance with condition (7). The third schedule in

Figure 2 is a feasible schedule that can be obtained by increasing the duration of the last rest period

by 4 hours, i.e. a value larger than lextends = 3. In this schedule the work activity at the first location

can no longer start within time window T 11 . By only considering extensions of a rest period which do

not exceed lextends we make sure that no extension pushes the start time of some work activity from

one time window to the next.

As lextends ≥ 0 for any feasible schedule s we know that each feasible schedule is pseudo-feasible.

As we can transform every pseudo-feasible schedule into a feasible schedule by extending the duration

of rest periods, the U.S. Truck Driver Scheduling Problem (US-TDSP) is equivalent to the problem

of determining whether a pseudo-feasible schedule s := a1.a2. . . . .ak with atype1 = REST and

alength1 ≥ 34 exists.

The advantage of searching for pseudo-feasible schedules is that we do not need to know the best

duration of rest periods during schedule generation. Instead, we can start by scheduling rest periods

which are as short as possible. In a post-processing step, the duration of these rest periods can be

extended to the required length.

In general, the set of all pseudo-feasible schedules is too large to be enumerated. Let us now

define criteria indicating which schedules can safely be ignored when solving the US-TDSP.

Definition A schedule s′ dominates another schedule s′′ if some schedule s̃′ exists such that s′.s̃′.s̃′′

is pseudo-feasible for all s̃′′ for which s′′.s̃′′ is pseudo-feasible.

Thus, if the schedule s′′ is dominated by schedule s′ and a pseudo-feasible schedule for tour

n1, n2, . . . , nλ exists which begins with the activities in schedule s′′, then there also exists a pseudo-

feasible schedule for tour n1, n2, . . . , nλ which begins with the activities in schedule s′. Therefore,

s′′ is not required for solving the US-TDSP. Criteria for dominance are given in the following two

lemmata.

11

Lemma 1 Let s′, s′′ be pseudo-feasible schedules for the partial tour n1, . . . , nµ with 1 ≤ µ < λ.

Schedule s′ dominates s′′ if

lends′ ≤ lend

s′′ and ldrives′ ≤ ldrive

s′′ and

llast_rests′ + lslack

s′ ≥ llast_rests′′ + lslack

s′′ and llast_rests′ + l

pushs′ ≥ llast_rest

s′′ + lpushs′′ .

Proof. If lends′ = lend

s′′ , any activity a that can be appended to the schedule s′′ without violating con-

straints (1) to (6) and (7’) can be appended to the schedule s′ without violating constraints (1) to

(6) and (7’). After appending a, the conditions of the lemma equally hold for s′.a and s′′.a. Thus,

any sequence of activities that can be appended to s′′ can be appended to s′ without violating the

conditions for pseudo-feasibility. If lends′ < lend

s′′ we can set s̃′ := (IDLE, lends′′ − lend

s′ ). We have

lends′.s̃′ = lend

s′′ , ldrives′.s̃′ = ldrive

s′ ≤ ldrives′′ , llast_rest

s′.s̃′ + lslacks′.s̃′ ≥ llast_rest

s′ + lslacks′ ≥ llast_rest

s′′ + lslacks′′ and

llast_rests′.s̃′ + l

pushs′.s̃′ = llast_rest

s′ + lpushs′ ≥ llast_rest

s′′ + lpushs′′ . Thus, the conditions of the lemma hold for

s′.s̃′ and s′′. Dominance of s′.s̃′ over s′′ can be shown analogously to the first case. Thus, any

sequence of activities that can be appended to s′′ can be appended to s′.s̃′.

Lemma 2 Let s′, s′′ be pseudo-feasible schedules for the partial tour n1, . . . , nµ with 1 ≤ µ < λ.

Schedule s′ dominates s′′ if

lends′ + trest ≤ lend

s′′

Proof. If lends′ +trest = lend

s′′ let s̃′ := (REST, trest). If lends′ +trest < lend

s′′ let s̃′ := (REST, trest).(IDLE, lends′′ −

lends′ − trest). Then, dominance of s′.s̃′ over s′′ can be shown analogously to the previous lemma.

In order to be able to efficiently solve the US-TDSP by subsequently constructing pseudo-feasible

schedules for partial tours n1, . . . , nµ, we now define several normality conditions. For notational

reasons, we can require that each pseudo-feasible schedule s = a1.a2. . . . .ak satisfies condition

for each 1 < i ≤ k : atypei−1 6= a

typei . (N1)

If we have a pseudo-feasible schedule violating (N1), we can simply transform the schedule into a

pseudo-feasible schedule satisfying (N1) by merging all subsequent activities of the same type.

We can demand that the duration of each rest period is as short as possible, i.e. that any schedule

s = a1.a2. . . . .ak satisfies

for each 1 < i ≤ k with atypei = REST : a

lengthi = trest (N2)

12

Any schedule violating (N2) can be transformed by shortening the rest period and inserting an idle

period of appropriate length. This reduces the time at which the rest period ends, but increases the

amount by which the rest period can be extended by the same value.

We can require that all driving time is conducted as early as possible, i.e. that each schedule

s = a1.a2. . . . .ak satisfies

for each 1 < i < k with atypei = REST and atype

i+1 = DRIVE :

ldrives1,i−1

= tdrive or lends1,i−1

≥ llast_rests1,i−1

+ lextends1,i−1

+ telapsed.(N3)

If a pseudo-feasible schedule does not satisfy condition (N3), we can move some of the driving time

just before the rest period.

As idle activities represent unproductive periods, they should only be scheduled if they are re-

quired due to an early arrival at a work location. We can demand that idle periods are only scheduled

immediately before work periods, i.e. that each schedule s = a1.a2. . . . .ak satisfies

for each 1 < i ≤ k with atypei−1 = IDLE : a

typei = WORK. (N4)

If a pseudo-feasible schedule does not satisfy condition (N4), we can remove the idle activity and

insert it immediately before the next work period.

In the single time window problem studied by Goel (2010) idle periods are only appended to

a schedule if the arrival at location µ is not in Tµ. The duration of the idle period is set to the

smallest value allowing the work activity to be scheduled in Tµ. In the US-TDSP with multiple time

windows we may have to schedule idle periods even if the arrival time at location µ is in Tµ. We can,

however, require that no idle period is longer than required to reach the opening time of one of the

time windows, i.e. we can demand that each schedule s = a1.a2. . . . .ak satisfies

for each 1 < i ≤ k with atypei−1 = IDLE and atype

i = WORK :

lends1,i−1

∈ {t | t = minT jµ(i), 1 ≤ j ≤ τµ(i)}.(N5)

If a pseudo-feasible schedule does not satisfy condition (N5), we can reduce the length of the idle

activity period in such a way that the start time of the work activity is set to the smallest possible

value within the same time window and insert an idle period of appropriate length after the work

period.

13

All schedules obtained by modifying a schedule as described above are pseudo-feasible and the

modified schedule dominates the original schedule with respect to the conditions of Lemma 1. Ob-

viously, some of the modifications may create a violation of another normality condition. However,

by iteratively transforming a pseudo-feasible schedule, we can achieve a pseudo-feasible schedule

satisfying conditions (N1) to (N5). We will say that a schedule satisfying (N1) to (N5) is in normal

form. As we can transform any pseudo-feasible schedule into a pseudo-feasible schedule in normal

form, the US-TDSP is equivalent to the problem of determining whether a pseudo-feasible schedule

s := a1.a2. . . . .ak with atype1 = REST and alength

1 ≥ 34 exists which is in normal form.

T 11 T 2

1 T 31 T 1

2 T 22 -

time

REST

10h

DRIVE

3h

IDLE

2h

WORK

1h

DRIVE

3h

IDLE

2h

WORK

1h

DRIVE

3h

lends = 25, lslacks = 4, lpushs = 3

REST

10h

DRIVE

3h

IDLE

2h

WORK

1h

DRIVE

3h

IDLE

5h

WORK

1h

DRIVE

3h

lends = 28, lslacks = 7, lpushs = 3

REST

10h

DRIVE

3h

IDLE

4h

WORK

1h

DRIVE

3h

WORK

1h

DRIVE

3h

lends = 25, lslacks = 4, lpushs = 5

REST

10h

DRIVE

3h

IDLE

4h

WORK

1h

DRIVE

3h

IDLE

3h

WORK

1h

DRIVE

3h

lends = 28, lslacks = 7, lpushs = 5

REST

10h

DRIVE

3h

IDLE

6h

WORK

1h

DRIVE

3h

IDLE

1h

WORK

1h

DRIVE

3h

lends = 28, lslacks = 7, lpushs = 7

Figure 3: Pseudo-feasible schedules in normal form

Figure 3 illustrates five pseudo-feasible schedules which are in normal form. The only difference

in the schedules is that the work activities begin in different time windows and that a different amount

of idle time is scheduled before the work activities. We can observe that the third schedule in Figure 3

dominates the first schedule and the fifth schedule dominates the second and the fourth schedule. If

we increase the last rest period in the third schedule by lextends we obtain the third schedule of Figure 2.

Note that the start time of the first work activity in the dominating schedules is in a later time window

14

than in the dominated schedules. This illustrates that while it appears to be attractive to schedule

work activities as early as possible, a later start time may be beneficial as it allows the last rest in the

schedule to be increased by a larger value. The number of pseudo-feasible schedules in normal form

may be thus be significantly higher in the case of multiple time windows than in the case of single time

windows. In the next section we will present a scheduling method which constructs pseudo-feasible

schedules in normal form until the US-TDSP is solved.

5 Scheduling Method

The normal form presented in the previous section guides us in solving the US-TDSP. Because of

(N3) and (N4) each work activity must be followed by a driving activity, unless conditions (5) or

(7’) do not allow further driving. The duration of each driving activity must be the minimum of the

remaining driving time to the next location, the maximum amount of driving that can be conducted

with respect to constraint (5), and the maximum amount of driving that can be conducted with respect

to constraint (7’). If the next work location is not reached after the end of a driving period, a rest

period must be scheduled because of (N4). This rest period must have duration trest because of (N2).

Because of (N1) and (N4) the rest period must be followed by another driving period. When the

next work location is reached we have alternative possibilities of scheduling further activities. If

the next location is reached within one of the time windows, the work activity can be appended to

the schedule. If the arrival time at the work location increased by trest lies within one of the time

windows, a rest period of duration trest followed by the next work activity can be appended to the

schedule. Furthermore, an idle period followed by the work period may be appended to the schedule

and a rest period of duration trest followed by an idle period and the work period may be appended to

the schedule. Because of (N5), the idle period must have a duration such that the work begins at the

start of one of its time windows.

We can now formulate a scheduling method which takes a set of pseudo-feasible schedules in

normal form for a partial tour n1, n2, . . . , nµ and extends each schedule to construct pseudo-feasible

15

S := Sμ

choose s ∈ S and set S ← S \ {s}

Δ := min{δs, tdrive − ldrives , llast rests +

lextends + telapsed − lends }

s← s.(DRIVE,Δ)

[Δ > 0]

S′ = {s, s.(REST, trest)}, S′′ := ∅[δs = 0]

for all 1 ≤ j ≤ τμ+1 do:S′′ ← S′′ ∪ {s | s ∈ S′, lends ∈ T j

μ+1} ∪{s.(IDLE,minT j

μ+1 − lends ) | s ∈ S′, lends < minT jμ+1}

Sμ+1 ← Sμ+1 ∪ {s.(WORK, wμ+1) | s ∈ S′′}

[S = ∅][else]

s← s.(REST, trest)

[else]

[else]

Figure 4: Scheduling method

16

schedules in normal form for tour n1, n2, . . . , nµ, nµ+1. This process is repeated until the US-TDSP

for tour n1, n2, . . . , nλ is solved. Before invoking the scheduling method, we set

S1 :={s | s = (REST,minT j1 ).(WORK, w1), 1 ≤ j ≤ τ1

}and

Sµ := ∅ for all 1 < µ ≤ λ.

The method is then invoked with µ = 1. Note, that any other schedule for the initial tour n1 is

dominated by one of the τ1 schedules in S1. The scheduling method is illustrated in Figure 4. Within

the scheduling method, δs denotes for each partial schedule s the remaining driving time required to

reach the next location nµ+1. The scheduling method starts by setting S := Sµ. Then it choses a

partial schedule s ∈ S and removes it from S. Now, it determines the maximum duration of the next

driving activity. If this value, which is denoted by ∆, is larger than zero, a driving period of duration

∆ is scheduled.

If ∆ = 0 or δs > 0 a rest period is required before another driving activity may be scheduled.

The method schedules a rest period of duration trest and continues with determining the maximum

duration of the next driving activity. If δs = 0 after scheduling a driving activity, the next location

is reached. The method creates a set S ′ containing the schedule determined so far and an additional

schedule created by appending a rest period. For each time window in Tµ+1 and each schedule in S ′

the method adds the schedule to the set S ′′ if its completion time is within the time window. For each

time window in Tµ+1 and each schedule in S ′ the method adds a new schedule to the set S ′′ which is

generated by adding some idle time to the schedule in S ′ if its completion time is before the opening

of the time window. The method adds the work activity to each of these copies and includes them in

the set Sµ+1. If S = ∅, the method terminates. Otherwise, the method continues by choosing the next

partial schedule in S .

Note, that if no dominated schedules are removed, the method creates the same schedules which

would be generated by solving a single time window problem for all combinations of time windows.

Without removing dominated schedules from Sµ, the number of partial schedules generated by this

approach may grow exponentially. If we remove all dominated schedules in Sµ each time before we

invoke the scheduling method we can, however, significantly reduce the number of partial schedules

which need to be considered.

17

6 Performance Analysis

In order to analyse the performance of the algorithm let us partition each set Sµ into the two subsets

S+µ :={s ∈ Sµ | ldrive

s > 0}

and S0µ :={s ∈ Sµ | ldrive

s = 0}.

The scheduling method starts with |S+1 | = 0 and |S01 | = τ1. In each iteration the method creates

for each schedule in Sµ at most τµ+1 new schedules with ldrives > 0 and at most τµ+1 new schedules

with ldrives = 0 to be included in Sµ+1. Thus, |S+µ+1| ≤ τµ+1 · |Sµ| and |S0µ+1| ≤ τµ+1 · |Sµ|. For

each time window T jµ+1 with 1 ≤ j ≤ τµ+1 there exists a schedule sj ∈ S0µ+1 which dominates all

other schedules in S0µ+1 in which the (µ + 1)st work activity begins in T jµ+1. Thus, after removing

dominated schedules we have |S0µ+1| ≤ τµ+1. Unless additional assumptions are made, we doubt that

a polynomial bound on the number of schedules generated can be given.

In the case of single time windows, however, we have |S+1 | = 0, |S01 | = 1, |S0µ+1| ≤ 1, and

|S+µ+1| ≤ |Sµ|. We can conclude that, after removing dominated schedules, we have |Sµ| ≤ µ for

each 1 ≤ µ ≤ λ. Thus, the method generates at most∑

1≤µ≤λµ non-dominated schedules and has a

worst case complexity of O(λ2). Now, let us again have a look at Figure 1. Each of the five schedules

in Figure 1 is pseudo-feasible and in normal form and none dominates another. We can easily find

other examples in which for each subproblem with µ ≤ λ at least µ non-dominated pseudo-feasible

schedules in normal form exist. Thus, the scheduling method is minimal because it does not generate

more schedules in each iteration than required.

Let us now consider the US-TDSP with multiple time windows which satisfy the following con-

dition

maxT jµ + trest ≤ minT j+1µ for all 1 ≤ µ ≤ λ and 1 ≤ j < τµ.

This condition states that in between subsequent time windows of the same location there are at least

10 hours during which the work must not begin. This situation occurs, for example, if, because of

opening hours of docks, handling operations can only be performed between 8.00 AM and 10.00 PM.

Under this condition, the US-TDSP with multiple time windows can be solved without generating

more non-dominated schedules than in the single time window case. The reason for this is that,

because of Lemma 2, the schedule with the smallest completion time dominates all schedules in

18

which the last work activity is scheduled in a subsequent time window. Thus, for each location only

one of the multiple time windows is actually relevant.

In order to analyse the performance in the case where handling activities must not be conducted

during night or lunch time, we conducted computational experiments on several million instances in

which between one and ten time windows, each from 8.00 AM to 1.00 PM or from 3 .00 PM to 8.00

PM, were associated to each work location. The duration of each work activity was set to wµ = 1,

and the driving time from one location to another was set to δµ,µ+1 ∈ {4, 8, 12, 16}. The planning

horizon was set to five days. The maximum number of non-dominated partial schedules generated

throughout the course of the algorithm was less than twice as high in the case of two time windows

compared to the case of single time windows. Increasing the number of time windows from two to

ten did not bring a further increase in this number. We can thus conclude that the running time of the

algorithm does not increase significantly for a wide range of problem instances with multiple time

windows.

7 Conclusions

This paper studies the U.S. Truck Driver Scheduling Problem in which a sequence of λ locations must

be visited within given time windows. In the case of single time windows, Archetti and Savelsbergh

(2009) show that the problem can be solved in O(λ3). We present a scheduling method which, in the

case of single time windows, solves the problem in O(λ2) time. The method is minimal because it

does not generate more schedules in each iteration than required. Furthermore, we show that in the

case of multiple time windows, we can also solve the US-TDSP in O(λ2) time if the gap between

subsequent time windows of the same location is at least 10 hours. For problem instances in which

the gap between subsequent time windows of the same location is less than 10 hours, we empirically

show that the computational effort is not significantly higher.

It must be noted that the generalisations made in this paper to consider multiple time windows

can also be adapted to the European Union Truck Driver Scheduling Problem studied in Goel (2010).

However, no comparable complexity bound can be given due to additional provisions in European

Union regulations which are not found in U.S. Hours of Service regulations.

19

References

C. Archetti and M. W. P. Savelsbergh. The trip scheduling problem. Transportation Science, 43(4):

417–431, 2009. doi: 10.1287/trsc.1090.0278.

Federal Motor Carrier Safety Administration. Hours of service of drivers. Federal Register Vol. 73,

No. 224, p. 69569 - 69586, 2008.

Federal Motor Carrier Safety Administration. Interstate truck driver’s guide to hours of service.

http://www.fmcsa.dot.gov/rules-regulations/truck/driver/hos/fmcsa-guide-to-hos.pdf, 2009.

A. Goel. Vehicle scheduling and routing with drivers’ working hours. Transportation Science, 43(1):

17–26, 2009. doi: 10.1287/trsc.1070.0226.

A. Goel. Truck Driver Scheduling in the European Union. Transportation Science, Published online

ahead of print August 19, 2010, 2010. doi: 10.1287/trsc.1100.0330.

A. L. Kok, C. M. Meyer, H. Kopfer, and J. M. J. Schutten. A Dynamic Programming Heuristic for

the Vehicle Routing Problem with Time Windows and European Community Social Legislation.

Transportation Science (to appear), 2010.

A. T. McCartt, L. A. Hellinga, and M. G. Solomon. Work schedules of long-distance truck drivers

before and after 2004 hours-of-service rule change. Traffic Injury Prevention, 9(3):201–210, 2008.

doi: 10.1080/15389580802040287.

E. Prescott-Gagnon, G. Desaulniers, M. Drexl, and L.-M. Rousseau. European driver rules in vehicle

routing with time windows. Transportation Science, Published online ahead of print August 19,

2010, 2010. doi: 10.1287/trsc.1100.0328.

M. W. P. Savelsbergh and M. Sol. DRIVE: dynamic routing of independent vehicles. Operations

Research, 46:474–490, 1998.

J. L. Stone, S. M. Wolfe, J. Claybrook, J. P. Hoffa, J. Lannen, and D. Izer. Letter sent on March

9, 2009 to Raymond H. LaHood, Secretary of Transportation, U.S. Department of Transportation.

http://www.citizen.org/documents/LahoodHOSLetter.pdf, 2009.

20

H. Xu, Z.-L. Chen, S. Rajagopal, and S. Arunapuram. Solving a practical pickup and delivery prob-

lem. Transportation Science, 37(3):347–364, 2003.

21