• No results found

2.4 Basic Definitions and Notation

2.4.3 Convenient Definitions

Waiting Intervals For the sake of simplicity and w.l.o.g., we assume that time elap-

ses in discrete steps (e.g., in seconds). For the presentation of the algorithms and the examples, we suppose that the step size is 0.1 time units. This means we expect all input time values like the driving and service times to be (non-negative) multiples of 0.1. It also means that for two points in time t and t0, the open interval(t, t0)and the closed interval[t+0.1, t0−0.1]contain the same points in time. We expect two consecutive time windows of the same customer to be at least 0.2 time units apart, because otherwise they could be aggregated. For any time interval, let α and ω map it to the first and the last contained point in time, respectively. For instance, α(H)

denotes the beginning of the planning horizon.

For every time window, there is a time interval that precedes it. Precisely, for the sequence of time windows of customer i, let

Wi1:= [α(H), α(Wi1))andWji := (ω(Wij−1), α(Wij))for 2≤ j≤ wi

define the sequence of the time periods before and between the time windows of customer i. We call these waiting intervals as the driver has to wait for a time window to open when he arrives at a customer within such an interval, unless he takes a break.

Waiting Time Functions It is convenient to letWi denote two things: an interval

set and a multi-interval. In both cases,Wicontains the time windows of customer i. But depending on context, it allows us to writeWij ∈ WiorWij ⊂ Wifor 1≤ j≤wi,

whichever feels more natural in the context. An analogue statement holds forWi, the interval set (or multi-interval) containing the waiting intervals.

With this, we introduce another notation: For a point in time t, letWi[t]be the time window that contains t if t∈ Wi, and letWi[t]be the time window that follows t if t∈ Wi. We use this notation to define the time-dependent function Wi that can

28 Chapter 2. Fundamentals and Preliminaries

be derived from the time windows of customer i. The waiting time function Wi(t)

maps a time t inside a waiting interval to the duration until the next time window begins, a time within a time window to 0, and a time after the last time window to∞. Precisely, we set Wi(t):=      0, t ∈ Wi α(Wi[t]) −t, t ∈ Wi ∞, otherwise

An example of a waiting time function that is derived from three time windows is shown in Figure 2.1.

29

Chapter 3

Truck Driver Scheduling with

Multiple Time Windows

3.1

Introduction

The truck driver scheduling problem (TDSP) is the problem of scheduling a given route of a driver in a way that all customers along the route are visited within their time windows and the provisions in the appropriate regulations are observed. This chap- ter is the first of three in each of which we present a polynomial-time algorithm for some variants of this problem. In this chapter, we regard three variants of a TDSP with respect to one type of break and multiple, arbitrarily distributed time windows per customer. To be precise, we assume that there are two conditions under which a break becomes mandatory. One is that the driver has accumulated a certain driving time since the end of the last break. The other is that simply a certain time has elap- sed since the end of the last break. In a third variant, we allow a break to be split in two parts. For all three variants, we present a polynomial-time algorithm.

Let us shortly recall the most relevant literature (see also section 2.2) to assess our contribution. Archetti and Savelsbergh (2009), Goel and Kok (2012b), and Goel and Kok (2012a) each describe a truck driver scheduling problem with one type of break. To the best of our knowledge, these variants are the only truck driver sche- duling problems currently known to be solvable in polynomial time – in the single time window case. The considered rulesets differ only slightly among each other. Archetti and Savelsbergh (2009) and Goel and Kok (2012b) study the ruleset {drive until driven, drive until traveled } (please recall our notation introduced in section 2.4). Their research is motivated by the provisions effective in the United States before the year 2013. At that time, a 30-minute lunch break was not mandatory, and thus the considered ruleset was sufficient for a planning horizon of several days. In the paper by Goel and Kok (2012a), the ruleset {drive until driven, work until traveled } is regarded. This, in turn, is motivated by those provisions of the European Union that are applicable in a multi-manning scenario. If two drivers take turns, one driver can take the mandatory 45-minute lunch break while the other is driving. Again, the planning horizon could be several days long.

In the following, we also consider these two rulesets. We will refer to the ru- leset {drive until driven, drive until traveled } as RulesetUS and to the ruleset {drive until driven, work until traveled } as RulesetEU. As a third variant, we discuss the ru- leset RulesetEU together with the splitting rule first-second-split. For this variant, a polynomial-time algorithm has not been proposed so far, to the best of our know- ledge.

In the above mentioned papers, the authors introduce their respective problem as a decision problem. The question to be answered is whether a schedule exists that is in accordance with the respective ruleset. However, we regard an optimization

30 Chapter 3. Truck Driver Scheduling with Multiple Time Windows

problem, where the goal is to find a feasible solution with earliest finish time, that is, a feasible schedule with the earliest completion time of the last service, if a feasible schedule exists after all. It should be noted that the algorithms described in the three mentioned papers can easily be adjusted accordingly. The regarded optimization problem is not (asymptotically) harder than the decision problem variant.

Table 3.1 summarizes the findings from the literature in respect of a polynomial time bound for the RulesetUS-EF-TDSP and the RulesetEU-EF-TDSP (see also section 2.2). The bound found by Archetti and Savelsbergh (2009) was later improved by Goel and Kok (2012b) and is therefore not in the list. As we can conclude from this table, there is currently no result in case of multiple, arbitrarily distributed time windows per customer, whereas there is a result in the special case that the time windows are at least break apart. However, we question this result. For a given point in time at some customer i, it takes O(log wi)time to find a matching time window in

a sorted list. This time is disregarded here. We doubt that a time bound can be given that is completely independent from the number of time windows, at least without further assumptions. However, if we assumed a maximum length of the planning horizon, then this would imply – together with the assumption that consecutive time windows are at least break apart – that the number of time windows of each customer is bounded from above.

TABLE 3.1: Results from literature on polynomial time bounds (EF- TDSP).

Source Ruleset Limitation Bound

Goel and Kok, 2012b RulesetUS single time window per customer O(n2)

Goel and Kok, 2012b RulesetUS time windows are at least break apart O(n2)

Goel and Kok, 2012a RulesetEU single time window per customer O(n2)

Contribution and Outline We present the first polynomial-time algorithm for both

the RulesetUS-EF-TDSP and the RulesetEU-EF-TDSP as well as the RulesetEU+-EF- TDSP in the presence of multiple (and arbitrarily distributed) time windows per cu- stomer. Besides the use cases described in the original papers, there are some more use cases of interest. For instance, this algorithm can cover the truck driver schedu- ling problem as it occurs both in the EU and in the US for a planning horizon of one day (see the examples given in section 2.4.2). Thus, it is the only polynomial-time algorithm that is designed to handle the provisions of more than just one regulation. The problem definition is given in section 3.2. The description of our solution approach follows in sections 3.3 and 3.4 (for the extension by break splits), before we conclude in section 3.5.