Access the full text.
Sign up today, get DeepDyve free for 14 days.
Logist. Res. (2010) 2:79–96 DOI 10.1007/s12159-010-0022-9 OR IGINAL PAPER Labelling algorithms for the elementary shortest path problem with resource constraints considering EU drivers’ rules Michael Drexl Eric Prescott-Gagnon Received: 3 September 2009 / Accepted: 16 February 2010 / Published online: 12 June 2010 Springer-Verlag 2010 Abstract This paper describes how drivers’ rules legal routes and for checking their feasibility/legality. The according to EU social legislation can be formally mod- algorithms presented in this paper can be used as subrou- elled using the resource concept and how ‘legal’ vehicle tines in exact or heuristic procedures for solving vehicle routes and schedules can be computed by exact and heu- routing problems with drivers’ rules. ristic labelling algorithms for solving the elementary We consider rules contained in Regulation (EC) No 561/ shortest path problem with resource constraints. 2006 of the European Parliament and of the Council of 15 March 2006 on the harmonization of certain social Keywords Drivers’ working hours legislation relating to road transport and amending Council EU social legislation Labelling algorithms Regulations (EEC) No 3821/85 and (EC) No 2135/98 and Elementary shortest path problem with resource constraints repealing Council Regulation (EEC) No 3820/85 [8] and refer to these as drivers’ rules. Note This is an OR paper, not a juristic text. It is 1 Introduction explicitly stated that none of the algorithms presented in this paper is guaranteed to determine a ‘legal schedule’ This paper presents a comprehensive approach for con- for a vehicle route, because there is no precise mathe- sidering current EU legislation on drivers’ working hours. matical deﬁnition of the term ‘legal schedule’. The The paper describes how drivers’ rules according to EU determination of a legal schedule for a vehicle route is social legislation can be formally modelled using the not a question of mathematics or computer science, but resource concept and how ‘legal’ vehicle routes and solely a juristic one. The pertinent regulations give schedules can be computed by exact and heuristic labelling abundant room for interpretation, so that any dispute algorithms in the context of the elementary shortest path concerning the legality of a route will eventually have to be settled in court. problem with resource constraints (ESPPRC). The contri- bution of the paper is twofold: (1) It highlights important The paper is structured as follows. Sect. 2 deﬁnes the properties of driver’s rules and their algorithmic conse- necessary vocabulary. The relevant drivers’ rules are laid quences and (2) it presents an algorithm for constructing down in Sect. 3. The existing literature is reviewed in Sect. 4. Section 5 discusses some fundamental observa- tions related to drivers’ rules. In Sect. 6, the resources and resource extension functions (REFs) used to model drivers’ rules exactly and heuristically within a dynamic- programming-based solution framework for the elemen- M. Drexl (&) Fraunhofer SCS, Nordostpark 93, 90411 Nuremberg, Germany tary shortest path problem with resource constraints are e-mail: michael.drexl@scs.fraunhofer.de described. Sect. 7 presents and discusses the results of computational experiments performed with implementa- E. Prescott-Gagnon tions of the proposed REFs. The paper ends with a con- Ecole Polytechnique de Montreal and GERAD, C.P. 6079, ´ clusion in Sect. 8. Succursale Centre-Ville, Montreal, QC H3C 3AT, Canada 123 80 Logist. Res. (2010) 2:79–96 2 Important terms • Fortnightly driving time The driving time in two consecutive calendar weeks For the purposes of this paper, the following deﬁnitions must not exceed 90 h. apply: • Breaks After 4 h 30 min of driving, the driver must take a • Driving time is the time a driver is actually operating break of at least 45 min. The break may be split into a vehicle, sitting behind the steering wheel. The vehicle two interruptions of at least 15 and at least 30 min in does not necessarily need to move nor does the motor this order. need to be running; waiting in trafﬁc congestion is also Note The aforementioned rule does not mean that there counted as driving time. can be at most 4 h 30 min of driving in each interval of • Other work is any working activity other than driving; 5 h 15 min. Consider the following example. It is legal this comprises but is not limited to, loading and for a driver to start his working day by driving for 1 h unloading of vehicles and vehicle maintenance. 30 min, then take a break of 15 min, drive for an • Break time is time where a driver neither drives nor additional 3 h, take a break of 30 min, and then drive performs other work. for another 4 h 30 min. At the end of these 4 h 30 min • A rest period is a period where a driver neither drives of driving, the driver has been driving for 7 h 30 min in nor performs other work but may freely dispose of his the last 8 h. time. • Daily rest periods • A(calendar) week is the time from Monday 0:00 hours There are two different rules determining when a daily to Sunday 24:00 hours. rest period is necessary: • A driving time interval is the time between two long breaks or rest periods. A driving time interval ends after – Within 24 h after the end of the last daily or weekly a long break. rest period, there must be a daily rest period of at • A short break is a break time of at least 15 and at most least 9 h. 45 min. – Additionally, when the daily driving time is • A long break is a break time of at least 45 min or at exhausted, a daily rest period must be taken before least 30 min if a short break has already been taken the driver may continue driving. since the last long break or rest period. Between two weekly rest periods, there may be at most • A vehicle route is called feasible if it respects three daily rest periods of less than 11 h (660 min). all resource constraints, except for the drivers’ A daily rest period may be split into two periods of at rules. least 3 h (180 min) and at least 9 h (540 min) in this • A feasible vehicle route is said to have a legal schedule order. or, for simplicity, is called legal if it complies with the • Weekly rest periods drivers’ rules as speciﬁed in Sect. 3. There are also two different rules determining when a • A short arc is an arc with a travel time of at most weekly rest period is necessary: 270 min. Long arcs are deﬁned correspondingly. – After at most 144 h after the end of a weekly rest period, there must be an uninterrupted weekly rest period of at least 24 h. If the duration of the weekly 3 Relevant rules rest period is less than 45 h, the difference between 45 h and the actual duration of the weekly rest We consider the following rules: period must be added as an additional uninterrupted • Interval driving time rest period to an uninterrupted rest period of at least A driver must not drive for more than 4 h 30 min 9 h within three calendar weeks after the calendar (270 min) consecutively. week where the thus shortened weekly rest period • Daily driving time ends. The driving time between two daily rest periods (see – If the weekly or fortnightly driving time is below) must not exceed 10 h. At most twice in a exhausted, a rest must be taken until the end of calendar week, the driving time between two daily rest the current calendar week, even if this is longer than periods may exceed 9 h. 45 h. • Weekly driving time The requirement that shortened weekly rest periods be The driving time within a calendar week must not exceed 56 h. made up for within the subsequent 3 weeks would, in 123 Logist. Res. (2010) 2:79–96 81 effect, require the planning horizon of an instance to cover be taken earlier and more frequently than the rules in the at least 3 weeks. This is impossible. (Still worse, the regulation on working hours. regulation on working hours [7] states in Article 4 (a) that Another rule stated in the regulation on working hours ‘the ... maximum weekly working time may be extended to limits the working time per calendar day to 10 h (with 60 h only if, over four months, an average of 48 h a week exceptions). However, as this regulation is overruled by is not exceeded’. This would require a planning horizon of Regulation (EC) No 561/2006 etc., driving time during a at least 8 months.) Hence, some decisions on the available calendar day may exceed 10 h, whereas driving time ? driving and working time and the required break and rest other work may not. In principle, overall daily working time of a driver have to be taken outside of the planning time can easily be counted (in a resource variable), but it is algorithm. They constitute assumptions, are exogenous to not done here for simplicity. the instance to be solved, and enter the instance as data. The values of the corresponding resource variables are determined in a preprocessing step. In the end, this means 4 Literature review that such decisions exclude certain legal routes in an instance. In the context of empty (vehicle or container) The monographs by [13] and [20] consider drivers’ rules repositioning, [6], p. 3401, state that ‘it is extremely from a juristic perspective and offer a wealth of comments difﬁcult, if not impossible, to determine the appropriate on and explanations of the above-mentioned regulations as amount of empty travel’. This discussion shows that an well as numerous examples for legal and illegal schedules. analogous statement holds for the balancing rules in EU It is noteworthy that these authors do not completely agree social legislation. Therefore, we consider the rules on on the interpretation of the rules. balancing weekly rest periods heuristically as follows. The In the OR literature, there are different approaches for duration of the weekly rest period for each driver is the consideration of drivers’ rules: speciﬁed as input data, where the duration is always at least 24 h. If the planning horizon is such that at most one • by means of appropriate variables and constraints in an MIP model [17, 25] weekly rest is necessary, the duration of the weekly rest period may include balancing periods of previous weeks. An LP-based algorithm is not an option for the This means that the option to add such a balancing period constructive solution of practical problems. However, it may be fast enough to check the feasibility/legality of to a daily rest period is excluded. For instances where the planning horizon is at most 24 h, these assumptions are not given routes. Moreover, the development of MIP models fosters the understanding of the problem and restrictive. What is more, the weekly rest period rules themselves need not be considered if at most one calendar facilitates and accelerates the development of practi- cally relevant models and algorithms. week is considered and if it is assumed that the previous weekly rest period of each vehicle ends no earlier than at • by means of increasing the allowed driving times of drivers and travel times of arcs [3] the beginning of the considered calendar week. In this case, as a week has 168 h and as the minimum weekly rest These authors consider daily driving and break regu- lations by increasing the maximal daily driving time, period is 24 h, the vehicle is available during the complete max planning horizon (144 ? 24 = 168). T , of 9 h by the required break time of 45 min to without max Note A daily rest period also resets the interval driving T and by increasing the travel time of each arc by with max max the factor T =T . They write on p. 184: ‘With time, and a weekly rest period also resets the daily and the with without interval driving time (mind the ‘at leasts’ above). this approach some slack is implicit in the schedule which may accommodate the real breaks that can be We consider neither multi-manning, i.e. the case that there are at least two drivers in the vehicle to do the driving, nor introduced in the ﬁnal stage of the scheduling.’ • by means of constructing an extended, multi-stage issues related to multi-modal trafﬁc, such as breaks and rest periods on trains or ferries. Furthermore, we assume that the network with a duplicate of the original network on each stage, where the connecting arcs between the rules apply to the complete instance, i.e. that each visited customer is located within the area of application of the rules. stages correspond to breaks ([4], p. 180 f.) One important rule stated in the regulation on working • by means of introducing artiﬁcial customers (vertices) hours [7] is that after at most 6 h of work (driving or other corresponding to breaks or rest periods (Scheuerer work), a break of at least 30 min is required. It can be (2007): personal communication) • by means of resource variables and extension functions assumed that in many cases this rule will automatically be complied with, because in most practical situations, most in dynamic-programming-based labelling algorithms or in local-search-based heuristics (Gru ¨ nert (2002): per- of the working time will be driving time, and because the rules in Regulation (EC) No 561/2006 etc. require breaks to sonal communication); [10, 16, 18, 24] 123 82 Logist. Res. (2010) 2:79–96 The algorithm by [16] is remarkable in two respects. planning in air cargo transportation. Given scheduled First, this approach also considers the working time vehicle trips, the task is to assign vehicles and drivers to the regulations stated in [7]. Second, it uses heuristic trips. To this end, the authors develop a sophisticated dynamic programming by restricting the state space in recursive procedure for determining the time since the last two ways: (1) by limiting the number of labels (states) daily rest. (The break requirements are only approximately to be considered in the next iteration of the algorithm, considered (similar to the approach by [3] mentioned pre- and (2) by limiting the number of new labels to be viously). The daily rests, however, are considered for the constructed from one existing label. In this way, the single- and double-manning case.) This procedure is time complexity of the algorithm does not increase embedded in a column generation heuristic and a meta- when optional rules, such as splitting breaks, are heuristic based on large neighbourhood search for solving considered. the overall problem. • by means of resource variables and constraints in Very recent papers are [9, 12], and [11]. In [9], based constructive heuristics such as insertion procedures on his earlier work [10], the author develops a formal [1, 9] algorithmic framework for considering all rules con- [1] consider the drivers’ rules relevant in the USA. tained in Regulation (EC) No 561/2006 etc., including These rules, however, are very simple compared with weekly rules and multi-manning regulations. [12] the EU rules. The rules simply require that the develop a polynomial algorithm for the legality test of minimum rest time after at most 11 h of driving and the rules relevant in the United States, and [11]describe at most 14 h on duty (driving and waiting) is 10 h. a polynomial algorithm for the legality test of double- Nevertheless, the algorithm developed in the paper is manned routes considering the EU rules. No computa- highly complicated and sophisticated. For a given tional tests with implementations of these algorithms are route, the algorithm determines, in Oðn Þ time, whether presented. or not there exists a schedule respecting drivers’ rules. It must be noted that no paper presents an algorithm The algorithm is based on a backward search principle. implementation for considering weekly rules. It starts at the last vertex in the route with the heuristic assumption to take rests as late as possible, i.e. as early 5 Fundamental observations concerning drivers’ rules as possible in a forward direction. The authors describe several issues arising when drivers’ rules are to be This section describes some fundamental observations considered, but, as similar driving time limits constitute relevant for the consideration of drivers’ rules. In this a subset of the EU rules, all of these issues were section, service times are assumed to be zero. discovered independently by the authors of the present The ﬁrst observation shows that the maximum attainable paper. driving time within a calendar day or any 24-h period is [19] use a tree search algorithm for checking the considerably longer than what might be expected. legality of a given route. These authors also consider Observation 1 The maximum attainable driving time the whole set of drivers’ rules as described in Sect. 3 within a calendar day or any 24-h period is 13 h 45 min. within a large neighbourhood search algorithm where the route reconstruction operator is based on heuristic Example 1 The following example of a feasible schedule branch-and-price; columns are generated heuristically for a driver shows the maximum attainable driving time by tabu search. within a calendar day (or any 24-h period): Further publications considering drivers’ rules are 1 min driving at 23:44 hours [6, 23], and [2]. [23] considers the rules on interval breaks 15 min break at 23:45 hours in a routine for computing a schedule for a given route. The 4 h 29 min driving at 0:00 hours arrival time at each stop of the route is ﬁrst computed 30 min break at 4:29 hours without taking into account necessary breaks and is then 4 h 30 min driving at 4:59 hours shifted by 45 min for each necessary break. (Besides pre- 9 h daily rest at 9:29 hours senting a labelling algorithm as mentioned earlier, [24] also 4 h 30 min driving at 18:29 hours describe an approach similar to the one by [23] but con- 45 min break at 22:59 hours sider the rules relevant in the USA.) [6] use a depth-ﬁrst 16 min driving at 23:44 hours recursive procedure to compute legal duties for drivers within a heuristic for assigning vehicles and drivers to Observation 2 To make a correct decision as to which scheduled trips of an LTL carrier in the USA. [2] consider break or rest periods to take between two vertices, it is the European rules in an application to road feeder service necessary to consider the complete route. 123 Logist. Res. (2010) 2:79–96 83 This means that it is not sufﬁcient to consider only the In order to reach vertex j in time and in compliance partial route from the start vertex to the current vertex and with drivers’ rules, it is sufﬁcient to take a break of the direct successor of the current vertex. Example 2 45 min after 270 min of driving, somewhere between illustrates this observation. vertices i and j. The beginning of service at j is then 330. Due to the time windows, this means a waiting time of Example 2 5 min before the service at j canbegin. Inorder to comply with the drivers’ rules, an additional break of 45 min is necessary before reaching vertex d.The arrival time at d is then 655, which lies after the end of the time window at d. If an additional break of 15 min is taken before j (transforming the 5 min waiting time into break time, which is possible), a break of 30 min between j and d is sufﬁcient with regard to the drivers’ rules and d can be reached in time. When at vertex i and when the decision which breaks or rests to take only takes into account the travel time between Example 3 also demonstrates the following observation. i and j and the time window at j, no break will be taken. Observation 6 It may be sensible to take a break or rest Then, a daily rest is necessary between j and d and the time period directly before a vertex with waiting time, even window at d is missed. To avoid this, it is necessary to when the waiting time is shorter than the break or rest consider the travel time between j and d and the time period into which it is transformed. window at d already when planning the breaks or rests to take between i and j. In Example 3, there is a waiting time of 5 min before vertex j, which are used to take a split break of Observation 3 It is generally sensible to start a new 15 min. driving time interval, i.e. to reset the interval driving time, It is easy to see that, when there are no drivers’ rules, after each break or rest period of at least 45 min, whether the overall duration of a route cannot be reduced by or not the interval driving time is already exhausted. ﬁnishing the route later than the earliest possible time. This is true because by doing so, additional ﬂexibility is When drivers’ rules are present, however, this is no gained, and the rules do not limit the number of driving longer true. time intervals between two daily rest periods. Observation 7 To minimize overall route duration, it is not generally sensible to try to also minimize route com- Observation 4 For legality reasons, it may be necessary to take a break or rest period, even when no driving time pletion time (end of service at last node). In other words, limit is reached. when drivers’ rules are considered, minimizing route duration and minimizing route completion time are con- In Example 2, it is possible to reach d within its time ﬂicting goals. window only when a (reduced) daily rest is taken before j, although neither the interval nor the daily driving time is This observation is illustrated in Example 4. exhausted when arriving at j. Example 4 Observation 5 Split breaks and split daily rest periods are only useful when waiting time is possible, which of course is always possible when time windows are present. The following example shows that splitting a break may be the only way to get a feasible schedule. Example 3 Observation 8 Whereas it is always sensible to extend a daily or weekly rest period such that no waiting time remains at the next vertex, it may be sensible to extend a daily or weekly rest period further, such that the service at the next vertex may begin later than the earliest possible time. 123 84 Logist. Res. (2010) 2:79–96 This quite counterintuitive observation is demonstrated Observation 9 During a waiting time, up to three dif- in the following example. ferent break or rest times may have to be taken. Example 5 This can be seen as follows. If waiting time before a vertex is to be transformed into break or rest time, and if the waiting time is at least 1 min longer than the break or rest time into which it is to be transformed, but less than 15 min longer, it may be sensible to drive until 1 min Due to the rule that a daily rest period must have been before reaching the vertex where the waiting time occurs, taken not more than 24 h after the end of the preceding take the break or rest time, then drive the ﬁnal minute until daily rest period (cf. Sect. 3), holding other things equal, the vertex is reached, and then take a split break. If the waiting time is at least 15 min longer than the break or rest it is sensible to let a daily or weekly rest period end as late as possible without delaying the beginning of service time into which it is to be transformed, it is always sensible to do so. The situation is similar with regard to the use- at any subsequent vertices. This means that if waiting time remains before a vertex after taking a daily or fulness of taking a split daily rest. Moreover, if the ﬁrst weekly rest period, this waiting time can and should be break or rest time during a waiting time is at least a used to extend the daily or weekly rest period. In shortened daily rest period, it may even be sensible to drive Example 5, the earliest point in time when vertex k can until 2 min before the vertex is reached, take the daily rest be reached is 585. Then, there is a waiting time of period, drive for another minute, take a split daily rest, 675 min. Therefore, a daily rest period must be taken drive the ﬁnal minute, and then take a split break. Observation 9 leads to the ﬁnal observation, which is a before beginning the service at k. A weekly rest period is not necessary yet and is also not possible due to the time really remarkable one. window at k. A daily rest period need not take longer Observation 10 There may be up to four breaks or rest than 660 min. However, in the depicted situation, the periods even on a short arc with a travel time of not more daily rest period can be extended by 15 min, and the than 4 min. service at k can still start as early as possible (270 ? 45 ? 270 ? 660 ? 15 = 1260). By doing so, Example 6 Assume that a driver is supposed to drive a after leaving k, the time since the end of the last daily route from o to d with i, j, k, l,and d being the last ﬁve rest is shorter (0 compared to 15), and more ﬂexibility is vertices of the route (in this order, see the following gained in this respect for the rest of the route (which ﬁgure). Further assume that the driver reaches vertex i at might continue beyond l). Unfortunately, if the daily rest time zero (for simplicity) having a remaining daily driving time of 1 min and having already taken three period ends at time 1260, a break of 45 min is necessary between k and l, and l is not reached in time reduced daily rests since the last weekly rest period and two extended daily driving times in the current calendar (1260 ? 270 ? 45 ? 30 = 1605 [ 1590). Hence, the best way to obtain a legal schedule for the route in week. Example 5 is to take a daily rest period 1 min before reaching k, thereby resetting the interval driving time, go on driving for 1 min until k is reached, and then take a split break of 15 min. Then, the time window at k is maintained, a break of 30 min en route between k and l To drive this route, the following sequence of activities is sufﬁcient and also l is reached within its time window. is possible: A similar example can be constructed for weekly rest 1 min driving at time 0 periods. 660 min daily rest at time 1 For the situation of Example 5, the legal status is 1 min driving at time 661 unclear: the rules do not specify whether a split break or a 660 min daily rest at time 662 split daily rest may be taken only after a strictly positive 1 min driving at time 1322 amount of driving time, or if after driving 0 min in the 180 min split daily rest at time 1323 current driving time interval or the current daily driving 1 min driving at time 1503 period, a split break of 15 min or a split daily rest period of 15 min split break at time 1504 180 min may already be taken. Assuming that there must 269 min driving at time 1519 be a positive amount of driving time between two con- 30 min break at time 1788 secutive breaks or rests [Rang (2008): personal communi- 1 min driving at time 1818 cation], the following observation can be made. 123 Logist. Res. (2010) 2:79–96 85 268 min driving at time 1819 consumptions of r along the arcs. When seeking a path 135 min waiting time at time 2087 from an origin vertex o to a destination vertex d, partial 540 min daily rest at time 2222 paths from o to a vertex i=d are extended along all arcs 1 min driving at time 2762 (i, j) emanating from i to create new, extended paths. For each o-i-path, there is a corresponding label l resident at i Without taking four breaks or rests between i and j, vertex that stores the values of all resource variables at i for its d cannot be reached within its time window. In particular, path, along with the information on how it was created: the if the two daily rests taken between i and j were merged arc (h, i) over which i was reached and (a reference to) the into one rest of 1320 min after driving for 1 min, the end of label of the o-h-path whose extension along (h, i) yielded the last daily rest before j would be at time 1321. Then, due the o-i-path. (This makes it easy to reconstruct the path to the 24-h rule, the daily rest of 540 min would have to corresponding to a label.) Initially, there is exactly one start at time 2221 and the time window at l would be label corresponding to the path (o). W.l.o.g., the values of missed. Furthermore, also if the last daily rest was not split the resource variables of the initial label are all set to the so that at time 2222 a rest of 540 min is sufﬁcient, d could lower bounds of their respective resource windows at o.A not be reached within its time window. label l is feasible if and only if the value of each resource Note that, except for Observations 1 and 3, all of the variable in l is within the resource window of its respective aforementioned observations or rather complications arise resource. If a label is not feasible, it is discarded. An only when there are time windows. extension of a path/label along an arc (i, j)is feasible if the resulting label at j is feasible. An h-j-path is feasible if, for each arc (i, i ) in the path, a feasible label at i exists 6 A labelling algorithm for the elementary shortest 0 0 which can be extended along (i, i ) to a feasible label at i . path problem with resource constraints and drivers’ To keep the number of labels as small as possible, it is rules (ESPPWDR) decisive to perform a dominance procedure to eliminate feasible but unnecessary labels. A label l dominates a The standard solution technique for (E)SPPRCs is a label l if both reside at the same vertex, if the value of labelling algorithm based on dynamic programming. In the resource variable of each nominally scaled resource in principle, such an algorithm works similar to a labelling l is equal to the corresponding value in l , if the value of 1 2 algorithm for shortest path problems without resource the resource variable of each cardinally scaled resource in constraints, e.g. the well-known Dijkstra algorithm. The l is ‘better’ (less or greater, depending on the resource) basic concepts used in such an algorithm are the following than or equal to the corresponding value in l , and if the (cf. [15]). A resource is an arbitrarily scaled one-dimen- value of the resource variable of at least one cardinally sional quantity that can be determined or computed at the scaled resource in l is strictly ‘better’ than the corre- vertices of a directed walk in a network. Examples are cost, sponding value in l . Dominated labels are discarded as time, load, or the accumulated interval driving time. The well. value of a resource at a vertex is stored in a resource For a labelling algorithm, Observations 2 and 10 mean variable. An arbitrarily scaled resource is constrained if that several new labels have to be created when extending a there is at least one vertex in the network where the label along an arc; one label for each potentially sensible associated resource variable must not take all possible sequence of decisions on breaks or rests along an arc. values. A cardinally scaled resource is constrained if there Creating several new labels from an existing one is, in is at least one vertex in the network with a ﬁnite upper or principle, equivalent to introducing parallel arcs. However, lower bound on the value of the resource. The resource an approach using parallel arcs has several serious window of a nominally scaled resource r at a vertex is the drawbacks: set of allowed values of r at this vertex. The resource window of a cardinally scaled resource r at a vertex i is the • The structure of the underlying graph must be modiﬁed. r r interval ½lb ; ub j 1; þ1½.A resource extension • The break or rest times that generally need to be i i function (REF) is deﬁned on each arc in a network for each considered are 0, 15, 30, 45, 180, 540, 660, and n resource considered. An REF for a resource r maps the set minutes, where 14405 n5 2700, and n is speciﬁed of all possible vectors of resource values at the tail of an as input data. This means that there are at least arc to the set of possible values of r at the head of the arc. 8 = 2;097;152 possible combinations of breaks and 1 |R| T More precisely, let R: = (r , ..., r ) be a vector of rest periods even on a short arc. Though most of these (values of) resource variables. Then, an REF for a resource combinations are never relevant, the number of relevant jRj r is a function f : A R 7!R. An REF for a cardi- combinations is considerable and becomes intractable nally scaled resource r indicates (lower bounds on) the on long arcs. 123 86 Logist. Res. (2010) 2:79–96 c,in c,out • Due to the previous item, it is clear that long arcs have v to v . Service arcs represent active service times, i.e. to be split, i.e. each parallel arc has to be split into two time-consuming processes at the same physical location. or more consecutive arcs. Passive service times are essentially equivalent to waiting • Along all but one arc of a set of parallel arcs, the times and are considered at vertices. It is assumed that resources which are independent of drivers’ rules are waiting and passive service times are additive, i.e. it is updated redundantly. assumed that waiting and passive service times merge • Many new labels are created in the ﬁrst place and then seamlessly. In other words, passive service times are eliminated in the dominance step. It is much more waiting times which start only after the beginning of the c,in efﬁcient not to create these labels at all. time window of the respective vertex. v is the head of all travel arcs representing movements in space and time from An alternative approach is to use vertices corre- c c,out other locations to v , and v is the tail of all arcs rep- sponding to breaks or rest periods by introducing one resenting movements in space and time from v to other artiﬁcial vertex for each break or rest period, two anti- locations. parallel arcs between each original vertex and each No vertices are introduced to model locations where artiﬁcial vertex, and between each pair of artiﬁcial ver- breaks or rests can be taken, i.e. it is assumed that breaks tices. This approach avoids the aforementioned draw- and rests can be taken anywhere on a route. This is a backs; most notably, it is not necessary to explicitly considerable simpliﬁcation, but the alternative, to have a determine all relevant combinations of breaks or rest vertex for every parking place, roadhouse, and side street in periods—these combinations are determined by the the geographical region deﬁned by the customer locations, algorithm. However, this approach may lead to the is not an option. generation of an excessive number of labels by cycling Formally, we consider an ESPPRC instance deﬁned on… between the break or rest vertices, and it may be difﬁcult a digraph D = (V, A) with V = {o,1, ..., n, d}. o is the to consider the extension of daily and weekly rests. origin vertex, d is the destination vertex. For each i 2 Therefore, using break or rest vertices was also not service service V; ½a ; b is the service time window of i i pursued here. departure departure i; ½a ; b is the departure time window of i, and i i service passive s is the passive service time at i. For each arc 6.1 Underlying network a [ A, if the tail vertex of a is i and the head vertex is j, the notation ij is used to designate a. c denotes the cost of In practice, it is common that upon arrival at a customer ij travel location, a driver has to perform some active service (tasks traversing ij; s is the travel time needed for traversing ij, ij service active such as manoeuvring or paperwork at the local dispatching and s is the active service time along ij. For each ij ofﬁce), followed by passive service (time spent doing service active travel arc ij, either s [ 0 and s ¼ 0 or vice versa. ij ij nothing when customer staff is responsible for loading or The service time window of a vertex speciﬁes the unloading), again followed by active service (tasks such as interval when the service at that vertex may begin. With cleaning the cargo area on the lorry, checking cargo arrival t denoting the arrival time at a vertex i (before security, or paperwork). In models for routing problems, transforming any waiting time into break or rest time), service time at a customer location is usually simply added beginning of the (passive) service at i is possible no earlier to the travel times of the arcs emanating from the vertices service arrival service than at maxfa ; t g; and no later than at b : corresponding to the locations. This is obviously not pos- i i i departure arrival Departure is possible no earlier than maxfa ; t g, sible when drivers’ rules are considered. To account for departure service times and to be able to distinguish between active and no later than b . service times such as times for loading or unloading per- The relevant standard resources in the ESPPRC are cost formed by the driver (which have to be counted as other and time. work) and passive service times (which may be counted as The objective is to compute an elementary shortest path break or rest time, because the driver can dispose freely of from o to d and a corresponding legal schedule while this time), we use the following approach. With each respecting the resource constraint for capacity and the time customer location v , a possibly empty ordered sequence of windows at the vertices. At d, the labels with minimal cost active and passive service times is associated. In the are considered optimal. If there is more than one label with digraph used to represent the real-world network, each v minimal cost, labels with minimal duration among all ast pst with n active and n passive service times is represented labels with minimal cost are preferred. c c c;in c;intermediate;1 by a sequence of vertices v ; v ; ...; Note that, contrary to the approaches by [1] and [19], the ast c;intermediate;n 2 c;out v ; v . These vertices are linked by service procedures presented in this section are not only able to arcs with zero travel time to form an elementary path from compute a legal schedule for a given route but also to 123 Logist. Res. (2010) 2:79–96 87 simultaneously create a route and compute a legal schedule • XAT : latest arrival time at i when starting at the for it. predecessor vertex h on the current partial path at t ,if there were no time windows at i • LAT : latest arrival time at i when time windows are 6.2 Resources considered • Duration : minimal duration of the partial path up to i To consider the standard resource constraints and the These resource variables specify the value of the respective drivers’ rules mentioned in Sect. 3, the following resource resource at the moment when the service at i begins. variables are needed within a label or resource vector The resource variables XAT , LAT , and Duration are i i i l resident at a vertex i: due to [19]. Alternative resources that could have been • c : cost of the partial path up to i used here for minimizing route duration were developed by • t : point in time where the service at i begins [14, 21, 22], and [5]. • pred : predecessor arc • pred : predecessor label label drive;cur interval • s : accumulated driving time in the current 6.3 Overall resource extension function driving time interval drive;daily • s : accumulated driving time since the last daily The decisive point that makes the consideration of drivers’ rest period rules difﬁcult is that it is not possible to say at a certain drive;cur calendar week • s : accumulated driving time in the point in time where a break or rest period is necessary or current calendar week where a wait occurs which break or rest to take without drive;cur calendar fortnight • s : accumulated driving time in considering the rest of the route. As stated elsewhere, the the current calendar fortnight method chosen here for coping with this difﬁculty is to since last daily rest • s : accumulated time since the end of create several new labels when extending one old label. For the last daily rest period an exact labelling algorithm, this means that when max ext of last daily rest extending a label along an arc, it is necessary to consider • s : maximum amount by which the end of the last daily rest period may be extended all sensible combinations of breaks and rest periods. (Exact without violating the time windows of subsequent means that the algorithm will ﬁnd a legal schedule if one vertices exists.) To do this correctly, a label is extended iteratively: since last weekly rest • s : accumulated time since the end of resources may be updated several times along an arc. The the last weekly rest period whole procedure is very lengthy and intricate and cannot be max ext of last weekly rest • s : maximum amount by which described in full detail here, but the principle is as follows. the end of the last weekly rest period may be extended At each iteration, the extension process moves in time (and, without violating the time windows of subsequent where applicable, in space) along the arc until one of the time resources reaches a limit. Then, all break or rest vertices since start of calendar week • s : elapsed time since Monday, periods that can be taken at the current point in time are 0:00 h, in the current calendar week identiﬁed. For each such break or rest period, the resources ext ddt • n : number of extended daily driving times in the are updated accordingly via the REFs, and a tentative label current calendar week is created and stored for later extension. The old label is split break • b : boolean variable specifying whether there then considered extended. This process is repeated until the has already been a split break of 15 min in the current end vertex of the arc is reached. Depending on the resulting split break driving time interval (b ¼ 1) or not waiting time, additional breaks or rest periods are taken by split break (b ¼ 0) transforming waiting time and passive service time com- split rest • b : boolean variable specifying whether there has pletely or partially into break or rest time. (This is the already been a split daily rest of 180 min during the reason why passive service time is stored at vertices rather split rest than along arcs: passive service time is not accounted for current daily driving time (b ¼ 1) or not split rest (b ¼ 0) iteratively; it is always considered all at once.) The labels ddt extended • b : boolean variable specifying whether the resulting from this last step are then returned to the label- current daily driving time has been extended ling algorithm as the result of extending one label along an ddt extended ddt extended (b ¼ 1) or not (b ¼ 0) arc. This overall resource extension process is formalized i i red daily rests since last weekly rest • n : number of reduced in the algorithmic description depicted in the following daily rest periods since the end of the last weekly rest period table: 123 88 Logist. Res. (2010) 2:79–96 Overall resource extension function new labels Input: a Pareto-optimal label l, an arc ij with tail i and head j, where l resides at i, and an empty list L for storing the new labels to be created. tentative labels Let L be an empty FIFO-list of tentative labels. tentative labels Insert l into L . tentative labels While L is not empty cur tentative labels Let l be the ﬁrst element of L . cur tentative labels Remove l from L . Compute the following values for subsequent use: remaining • s : remaining travel or active or passive service time along ij break accumulated • s : accumulated break or rest times on the current path drive remaining;cur interval • s : remaining interval driving time drive remaining;daily • s : remaining daily driving time drive remaining;weekly • s : remaining weekly driving time until next daily rest • s : remaining time until start of next daily rest until next weekly rest • s : remaining time until start of next weekly rest drive remaining min • s : minimal remaining driving time; takes into account the preceding ﬁve resources cur extension of last daily rest • s : maximal amount of time by which the last daily rest can be extended such that the service at j can still begin as early as possible cur extension of last weekly rest • s : maximal amount of time by which the last weekly rest can be extended such that the service at j can still begin as early as possible do not take break drive remaining min • b : boolean value indicating whether after s time units, a break is sufﬁcient to continue working do not take daily rest drive remaining min • b : boolean value indicating whether after s time units, a daily rest is sufﬁcient to continue working If j can be reached without exceeding any time limit waitþservice passive cur Compute the sum of waiting and passive service time s for l at j. Determine the relevant combinations of break or rest times that can be created by transforming the waiting and the passive service time. For each such combination cur new Create from l a new label l corresponding to the current combination. new new new labels Compute the resource values for l using the values just computed and insert l into L . else Move along ij until a time limit is reached. Determine the relevant combinations of break or rest times that can be used to reset all exhausted time resources. For each such combination new tentative Create a new tentative label l corresponding to the current combination. new tentative tentative labels Compute the resource values for l using the values just computed and insert it into L : new labels L now contains zero or more new labels residing at j. Return value: the number of new labels. 6.4 Exact resource extension The REFs for cost, predecessor arc, and predecessor label are straightforward. The difﬁculty with the other The table on the next page speciﬁes the potentially relevant resources introduced in the preceding section is that they combinations of break or rest times that can be created by are strongly interdependent. In essence, to update one such transforming waiting and passive service time (if the sum of resource, all other resources have to be considered, too. these times is at least 1 min) and the conditions when each This is because the old resource levels of all resources rem combination has to be considered. s indicates the related to drivers’ rules are needed to determine which remaining arc travel time until the head of the arc is reached. (combinations of) break and/or rest times are relevant, and When a time limit expires along an arc, the situation is these times, in turn, are relevant to compute the new values similar to the one in the above table, but simpler: in this case, of these resources. Moreover, due to the iterative nature of no combinations of breaks and/or rest times are necessary. the algorithm just described, the resources related to driv- Along service arcs, only daily and weekly rest periods ers’ rules are updated several times. All this leads to the have to be considered. At the end of service arcs, no fact that the updating mechanisms for the resources related waiting occurs. to drivers’ rules are quite complicated. It is beyond the 123 Logist. Res. (2010) 2:79–96 89 Potentially relevant combinations of break or rest times for exact resource extension Break/rest time of if do not take break split break drive remaining min rem 15 b ¼ 0 and b ¼ 0 and s [ s do not take break split break 30 b ¼ 0 and b ¼ 1 do not take break split break waitþservice passive 30?15 b ¼ 0 and b ¼ 1 and s [ 30 j j split break do not take break 45 b ¼ 0 and b ¼ 0 do not take break split break waitþservice passive 45?15 b ¼ 0 and b ¼ 0 and s [ 45 j j do not take daily rest drive remaining min rem drive remaining daily until next daily rest rem 180 b ¼ 0 and s [ s and minfs ; s g [ s do not take daily rest waitþservice passive drive remaining daily until next daily rest rem 180?15 b ¼ 0 and s [ 180 and minfs ; s g [ s do not take daily rest 540 b ¼ 0 do not take daily rest waitþservice passive 540?15 b ¼ 0 and s [ 540 do not take daily rest waitþservice passive 540?180 b ¼ 0 and s [ 720 do not take daily rest 660 b ¼ 0 waitþservice passive do not take daily rest 660?15 b ¼ 0 and s [ 660 do not take daily rest waitþservice passive 660?180 b ¼ 0 and s [ 840 do not take daily rest waitþservice passive 540?180?15 b ¼ 0 and s [ 735 do not take daily rest waitþservice passive 660?180?15 b ¼ 0 and s [ 855 weekly rest (in any case) waitþservice passive weekly rest ? 15 s [ weekly rest duration waitþservice passive weekly rest ? 180 s [ weekly rest duration waitþservice passive weekly rest ? 180 ? 15 s [ weekly rest duration ? 180 min 0 no other break or rest time considered except for weekly rest waitþservice passive or s \ shortest break or rest time already considered scope of this paper to specify them all in complete detail. 6.5 Dominance As an example, a verbal description of the REF for the interval driving time is given subsequently. The dominance procedure depicted on the next page is used drive;cur interval s is set to zero, (where (a ? b : c) returns b if a is true and c otherwise). As is usual, the above-mentioned procedure checks • if, at the head vertex, at least one break of at least whether l dominates l , and if so, i.e. if the procedure 1 2 45 min is taken, or returns true, discards l . If the procedure returns false, this • if there has already been a split break in the current does not mean that l dominates l . Therefore, the proce- 2 1 driving time interval and one of the break or rest dure may have to be called twice for each pair of labels. periods taken at the head vertex is at least 30 min long. Considering the number of resources and their intricate Otherwise, the interval driving time is the driving time interdependencies, it is not surprising that the aforemen- since its last reset, which may have occurred on a previous tioned dominance procedure is rather complicated yet arc or which occurs on the current arc extremely weak. Indeed, the procedure is too weak: it will unnecessarily often return false, i.e. it will not recognize all • if one of the break or rest periods taken along the arc, dominated labels. This is necessary for the overall labelling before reaching the head vertex, is at least 45 min long, algorithm to be exact, as the development of an exact or dominance procedure is out of the question, because the • if there has already been a split break in the current underlying logic quickly becomes intractable. driving time interval and one of the break or rest One reason why the dominance procedure is so weak is periods taken along the arc is at least 30 min long, or the check, at the beginning of the routine, whether both • if, along the arc, a break or rest period of at least 15 and since start of calendar week labels have the same value for s . a break or rest period of at least 30 min are taken in this This check is necessary because, on the one hand, the order. earlier the time, the more ﬂexibility there is to visit addi- The other REFs for the exact algorithm are described in tional customers, but on the other hand, the later the time, the Appendix. the sooner the calendar week will be over and the sooner 123 90 Logist. Res. (2010) 2:79–96 Dominance function Input: two labels l and l both residing at the same vertex j. 1 2 If c(l ) \ c(l ) 2 1 return false since start of calendar week since start of calendar week If s ðl Þ 6¼ s ðl Þ 1 2 return false red daily rests since last weekly rest red daily rests since last weekly rest If n ðl Þ5 n ðl Þ 1 2 ext ddt ext ddt or n ðl Þ5 n ðl Þ 1 2 since last weekly rest since last weekly rest or s ðl Þ5 s ðl Þ 1 2 since last daily rest since last daily rest or s ðl Þ5 s ðl Þ 1 2 drive;cur calendar fortnight drive;cur calendar fortnight or s ðl Þ5 s ðl Þ 1 2 drive;cur calendar week drive;cur calendar week or s ðl Þ5 s ðl Þ 1 2 or Durationðl Þ5 Durationðl Þ 1 2 drive;daily drive;daily If s ðl Þ5 s ðl Þ 1 2 drive;cur interval drive;cur interval split break If s ðl Þ5 s ðl Þ and tðl Þ5 tðl Þþðb ðl Þ?30 : 45Þ 1 2 1 2 2 split break or tðl Þþðb ðl Þ?30 : 45Þ5 tðl Þ 1 1 2 drive;cur interval drive;cur interval or s ðl Þ5 s ðl Þ and tðl Þ5 tðl Þ 1 2 1 2 split break split rest If b ðl Þ and b ðl Þ 1 2 split break split break split rest or b ðl Þ¼ b ðl Þ and b ðl Þ 1 2 1 split rest split rest split break or b ðl Þ¼ b ðl Þ and b ðl Þ 1 2 1 split break split break split rest split rest or b ðl Þ¼ b ðl Þ and b ðl Þ¼ b ðl Þ 1 2 1 2 split rest split rest or b ðl Þ¼ b ðl Þ and Durationðl Þþ 155 Durationðl Þ 1 2 1 2 split rest split rest or b ðl Þ¼ 0 and b ðl Þ¼ 1 1 2 red daily rests since last weekly rest red daily rests since last weekly rest and ðn ðl Þ\n ðl Þ and Durationðl Þþ 5405 1 2 1 Durationðl Þ or Durationðl Þþ 6605 Durationðl ÞÞ 1 2 return true split rest else if tðl Þþðb ðl Þ?540 : 660Þ5 tðl Þ 1 1 2 return true return false the driving time in a calendar week or fortnight and the The objective pursued with a heuristic algorithm is, in number of enlarged daily driving times are reset. To the ﬁrst place, to obtain a legal schedule as often as pos- evaluate the importance of this check, computational tests sible and, in the second place, to obtain as short as possible were also performed with a dominance procedure without a duration. this check. There are many different strategies that can be used when pursuing this objective. In this paper, two possible 6.6 Heuristic resource extension strategies for speeding up the algorithm by (over-)simpli- fying the resource update are proposed: The REF described earlier leads to a non-polynomial • A moderate strategy: algorithm (as the algorithm presented in [19], too). How- ever, as the most important area of application of a code for – After 4 h 30 min of driving, take a break of 45 min considering drivers’ rules is as a subroutine within a sur- unless the remaining time until the daily or weekly rounding vehicle routing (meta)heuristic, fast heuristic driving time expires is not more than 45 min. If this is the case, take a daily or weekly rest of 11 h or algorithm is necessary. A heuristic algorithm must not return an illegal schedule as legal, although it may erro- 24 h respectively. However, take a daily or weekly neously return that no legal schedule exists. This is similar rest only if the time window of the next customer to test procedures in software development: if such a rou- permits and if a daily or weekly rest becomes tine works correctly, then, if it returns that there is an error, necessary before the next customer can be reached. there is one, but if the routine does not ﬁnd an error, this is – After 9 h of driving, take a daily rest of 11 h unless not a guarantee that there is none. the remaining time until the next weekly rest 123 Logist. Res. (2010) 2:79–96 91 becomes necessary is not more than 11 h. If this is – Reduce the daily rest periods on the ﬁrst three the case, take a weekly rest of 24 h. However, take occasions per week. a weekly rest only if the time window of the next – Transform waiting time into break or rest time only customer permits and if a weekly rest becomes if the resulting break or rest time does not exceed necessary before the next customer can be reached. the waiting time. – 144 h after the end of the last weekly rest, take a – Perform transformations of waiting into break or weekly rest of 24 h. rest time only if the time window at the subsequent – After 56 h of driving within one calendar week and vertex permits; otherwise, transform the waiting after 90 h of driving within one calendar fortnight, time into the next shortest break or rest time that wait until the end of the calendar week. maintains the time window at the subsequent – Extend the daily driving time to 10 h if the time vertex. window of the next customer does not allow taking – If waiting time remains, consider adding a split daily a (possibly reduced) daily rest and if the customer rest of 180 min and/or a split break of 15 min. can be reached when the daily driving time is – Shift the end of the last daily and weekly rest as extended. Furthermore, extend the daily driving much as possible. time to 10 h if there will be no more than two daily In both strategies, only one new label will result from driving periods and daily rests in the current extending an existing label along an arc. This means that calendar week or the planning horizon. when performing a legality check along a given path, there – Use the possibility to reduce the daily rest period to will always be only one label at a time and thus the 9 h in a similar way. dominance check is inapplicable. When using the heuristic – When there is waiting time, algorithm as part of an otherwise heuristic or exact path • transform the waiting time into a break of construction procedure, then of course there may be more 15 min if it is not longer than 15 min and if than one label at a vertex at the same time and the there has not yet been a break of 15 min in the dominance check is still necessary. current driving time interval; • otherwise, transform it into a break of 30 or 6.7 Separating path and schedule construction? 45 min if it is not longer than 60 min; • otherwise, transform it into a split daily rest of If it were possible to ﬁrst solve the ESPPRC without 180 min if it is not longer than 180 min or if the drivers’ rules, i.e. to determine all Pareto-optimal paths of time window does not permit taking a daily rest the problem when drivers’ rules are disregarded, and only of 11 h; afterwards check the Pareto-optimal paths for compliance • otherwise, transform it into a daily rest of 11 h with drivers’ rules, this would facilitate matters consider- if it is not longer than 22 h or if the time ably: The ESPPRC is much easier to solve when drivers’ window does not permit taking a weekly rest of rules are ignored, and the ESPPWDR is easier to solve on a 24 h; graph corresponding to an otherwise feasible elementary • otherwise, transform it into a weekly rest of path than on a general graph. (Solving the ESPPWDR on 24 h; an elementary path is effectively a legality check.) • Perform these transformations only if the time It is of course possible that a dominated path is legal. It window at the subsequent vertex permits; is of course also possible that no Pareto-optimal path is otherwise, transform the waiting time into the legal, because there is no legal path at all. Then, the next shortest break or rest time that maintains instance is simply infeasible. However, it must be ensured the time window at the subsequent vertex; that • If waiting time remains, consider adding a split • there is no legal dominated path while at the same time daily rest of 180 min and/or a split break of there is no legal Pareto-optimal path and 15 min; • the consideration of drivers’ rules does not make a – Shift the end of the last daily and weekly rest as previously dominated path dominate all previously much as possible. Pareto-optimal paths. • An aggressive strategy: When solving an ESPPWDR instance without time windows with a labelling algorithm, if a path P dominates a – Always use the shortest possible break or rest time. path P , P does by deﬁnition not have a higher consumption – Enlarge the daily driving times on the ﬁrst two of the time resource. Consequently, along P, there will not occasions per week. 123 92 Logist. Res. (2010) 2:79–96 be more breaks or rest periods than along P . This means The objective function of the shortest path algorithm that any schedule which is legal for P will also be legal for used was the weighted sum of distance and travel time, P. This means that in the absence of time windows, the where the weight for distance was 0.1 and the weight for above two conditions are met. travel time was 0.9. This is a usual setting in routing However, it is easy to see that when there are time systems. windows, which is usually the case, both conditions may be The average driving time was 314 min. Assuming that violated: there may be a legal dominated path while all the vehicle is at the ﬁrst pickup location at the beginning Pareto-optimal paths may be illegal, because a necessary of the planning horizon and that the route is perfect, i.e. break or rest period may lead to the violation of a time that the pickup of request i ? 1 is at the same location as window. Similarly, there may be a dominated path where the delivery of request i, between ten and eleven pickup- taking the necessary break or rest periods does not increase and-delivery requests can be performed within a six-day the overall time of the path (perhaps because of a very long working week. Therefore, two sets of test instances were waiting time at a vertex towards the end of the path), created. The ﬁrst set has six locations/vertices and a whereas the consideration of break or rest periods incurs a planning horizon of 4320 min (¼ b 3 days); the second has signiﬁcant increase in overall time for all Pareto-optimal twelve locations/vertices and a planning horizon of paths. In conclusion, the hoped for two-stage procedure 8640 min (¼ b 6 days). does not generally work. At each vertex, except for the ﬁrst one, passive service times ranging randomly between 15 and 120 min were assigned. Active service times were not considered for 7 Computational experiments simplicity. They are modelled as arcs where only a subset of the resources related to drivers’ rules are extended, 7.1 Test instances where no resources are extended that are not also extended along travel arcs and where there are no waiting times at A considerable difﬁculty when implementing an algorithm the end vertices. Hence, they add nothing of computational considering drivers’ rules is the debugging and testing for relevance to the problem. correctness. There are no benchmark instances in the lit- One hundred random feasible instances of each type erature. Therefore, to debug and test the algorithms were generated. For each instance, six and twelve cities described above, 50 test instances were developed by hand, respectively were selected, and the selection sequence each of which constitutes an elementary path and tests deﬁned the visiting sequence. Also for each instance, six certain aspects of drivers’ rules. For each of these instan- and twelve random time windows [a, b] were created with ces, the legal schedule(s) were identiﬁed by inspection, and 05 a5 b5 4320ð8640Þ . The time windows were sorted by the algorithms and their implementations were adapted increasing a and accordingly assigned to the cities in the where necessary to return correct results. ‘Correct’ means instance. During instance generation, instances without a that for all instances where there is no legal schedule, the feasible schedule when disregarding drivers’ rules were algorithms must never return a schedule as legal. More- discarded. over, for all instances where there is a legal schedule, an Instances representing short-haul lorry transports with exact algorithm must ﬁnd one. short distances between customers and a large amount of To test the computational behaviour of the algorithms, a service time compared to driving time were also not cre- set of random test instances also constituting elementary ated, particularly because, as stated in the introduction, paths was created. To create the instances, the road dis- rules on working hours as stated in [7], which are poten- tances and pure (without breaks) driving times between the tially more relevant in short-haul transport, are not con- 25 biggest German cities were used to model full truckload sidered here. (FTL) long distance road transports by lorry. The velocity proﬁle used is shown in the following table. 7.2 Computational results The instances were tackled with ﬁve different approaches: Type of road Velocity proﬁle of road [km/h] Fast Medium Slow 1. without drivers’ rules 2. with exact consideration of drivers’ rules Autobahn (motorway) 75 65 60 3. with the conservative heuristic approach of consider- Bundesstraße (A-road) 45 42 40 ing drivers’ rules Landstraße (country road) 40 35 30 4. with the aggressive heuristic approach of considering Stadtstraße (urban road) 30 20 15 drivers’ rules 123 Logist. Res. (2010) 2:79–96 93 5. with the REF from Sect. 6.4 and the dominance terminated within this time limit were considered to yield a procedure from Sect. 6.5 without the check whether feasible schedule. The tables below allow the following conclusions: since start of calendar week since start of calendar week s ðl Þ6¼ s ðl Þ 1 2 • For most instances, there is no legal schedule at all. The dominance procedure described in Sect. 6.5 for the This means that in practice, to serve the customers of exact algorithm is both very weak and rather time-con- such instances, more than one vehicle is necessary. suming. Therefore, some computational tests were also • The heuristic approaches of Sect. 6.6 (the moderate performed for the exact algorithm without using any and the aggressive strategy) ﬁnd legal schedules for dominance at all. only about half the instances for which a legal The computational experiments were conducted to schedule exists. This is unacceptable and clearly answer the following questions: underlines the importance of Observation 2: in a • How do the computation times of the different labelling algorithm, decisions are taken without con- approaches compare? sidering the rest of the route and this leads to wrong • How many of the instances do not have a legal decisions in many cases. schedule? • The exact REF together with the heuristic dominance • For how many instances with a legal schedule do the ﬁnds more legal schedules than any other approach. heuristic approaches ﬁnd a legal schedule? (This is due to the computation time limit, which • How do the resulting schedule durations computed by hinders the exact approach from ﬁnding at least as the different approaches compare? many legal schedules.) • Which of the heuristic strategies is better? Does one • The routines were used here to check given routes for strategy dominate the other? the existence of legal schedules. Such a legality check (within a surrounding vehicle routing (meta)heuristic) The results of the computational experiments are will probably be the most common use of any drivers’ depicted on the below tables. The ﬁrst two tables refer to rules algorithm. To this end, it is decisive that the the instances with six locations; the second two tables refer algorithms run fast, because they will be called very to the instances with twelve locations. The ﬁrst and the often. The moderate and aggressive heuristic strategies third table show absolute values of the respective data; the fulﬁl this requirement (but, as stated before, lack the second and the fourth table show the percentage, i.e. rel- necessary solution quality). The exact REF, heuristic ative, increase of the respective data compared to the dominance strategy is a compromise between solution solution approach disregarding drivers’ rules. Each row quality and running time, but the running time is in each table refers to a particular solution approach as acceptable only for short routes. The exact algorithm, indicated in the leftmost columns of each table. The second of course, has much too high running times to be used columns indicate the number of feasible schedules as a subroutine in a (meta)heuristic. However, in obtained. The third columns indicate the minimal, average, practice, there are applications where the length of the and maximal arrival time at the end vertex of an instance. routes to be checked will be short, i.e. in most cases not Similarly, the fourth columns indicate the minimal, aver- more than half a dozen stops, and to support a human age, and maximal durations of schedules. In both columns, dispatcher by checking the legality of a route devised the absolute values are given in minutes. The ﬁfth columns by hand, the running times even of the exact algorithm indicate the CPU times (where the absolute values are are acceptable. given in seconds). The sixth columns show the number of Pareto-optimal solutions generated by the shortest path The computational results for the exact algorithm algorithm, and the rightmost columns show the number of without using any dominance at all clearly showed that a generated labels. As in the previous columns, also in col- dominance procedure is absolutely vital and that even the umns 6 and 7, the minimal, average, and maximal values of weak dominance procedure from Sect. 6.5 allows the the respective data are given. The running times for solution of many instances that would otherwise be the exact approach for the instances with twelve locations intractable. were limited to 300 s; only instances where the algorithm 123 94 Logist. Res. (2010) 2:79–96 Computational results 6 Locations, absolute No. feasible Arrival time Duration Running time No. Pareto-opt. sols. No. generated labels No drivers’ rules 100 1731/2971/4240 1694/2206/3945 0/0/0 1/1/1 6/6/6 Exact 50 2887/3393/4240 2784/3011/3718 0/0.1/1.2 4/520/3354 120/2975/15,720 Heuristic moderate 16 3341/3641/4149 3192/3425/4041 0/0/0 1/1/1 6/6/6 Heuristic aggressive 36 2917/3447/4240 2891/3132/3783 0/0/0 1/1/1 6/6/6 Heuristic dominance 50 2887/3393/4240 2784/3011/3718 0/0/0 2/46/157 116/896/2215 6 Locations, relative No. feasible Arrival time Duration Running time No. Pareto-opt. sols. No. generated labels No drivers’ rules 0 0/0/0 0/0/0 0/0/0 0/0/0 0/0/0 Exact - 50 0/11/70 1/40/72 ?/?/? 300/51,924/335,300 1900/49,488/261,900 Heuristic moderate - 84 2/19/59 5/61/88 ?/?/? 0/0/0 0/0/0 Heuristic aggressive - 64 0/10/50 1/47/75 ?/?/? 0/0/0 0/0/0 Heuristic dominance - 50 0/11/70 1/40/72 ?/?/? 100/4508/15,600 1833/14,838/36,817 12 Locations, absolute No. feasible Arrival time Duration Running time No. Pareto-opt. sols. No. generated labels No drivers’ rules 100 4061/6724/8262 3579/5561/8019 0/0/0 1/1/1 12/12/12 Exact 5 6776/7117/7526 6610/6726/6952 6.3/7.2/301.6 95/5045/15,911 41,120/185,940/414,857 Heuristic moderate 2 7294/7550/7806 7182/7400/7618 0/0/0 1/1/1 12/12/12 Heuristic aggressive 2 7388/7553/7718 6803/7047/7290 0/0/0 1/1/1 12/12/12 Heuristic dominance 16 6632/7351/8182 6520/6851/7954 0/1.5/5.3 7/337/1592 5934/28,066/77,521 12 Locations, relative No. feasible Arrival time Duration Running time No. Pareto-opt. sols. No. generated labels No drivers’ rules 0 0/0/0 0/0/0 0/0/0 0/0/0 0/0/0 Exact - 95 0/15/31 16/52/79 ?/?/? 9400/504,400/1,591,000 342,567/1,549,398/3,457,042 Heuristic moderate - 98 6/10/15 58/61/64 ?/?/? 0/0/0 0/0/0 Heuristic aggressive - 98 0/12/23 41/50/59 ?/?/? 0/0/0 0/0/0 Heuristic dominance - 84 0/6/31 8/39/79 ?/?/? 600/33,588/159,100 49,350/233,781/645,908 8 Conclusion • The resources used are strongly interdependent; all resources are needed to identify the relevant break or This paper has described an exact and two heuristic rest times, and these times, in turn, determine how the labelling algorithms for considering EU drivers’ rules in resources are updated. shortest path problems with resource constraints. It has • The distinguishing features of the presented algorithms are: highlighted several properties of legal schedules, has described the resources, the resource extension functions, – The algorithms can construct a route, and not only and the dominance procedure used in the algorithms, and check the legality of a given route. has presented the results of computational experiments. – The algorithms are able to check feasibility and The central points of the paper can be summarized as legality of a route simultaneously. follows. – They are able to consider arbitrarily long routes, i.e. • The observations in Sect. 5 show that the consideration routes including one or several calendar weeks and of drivers’ rules is non-trivial. This is mainly due to the weekly rest periods. fact that it is not possible to say at a certain point in – The network model used as input to the algo- time where a break or rest is necessary or where a wait rithms considers active and passive service times, occurs which break or rest to take without considering i.e. non-driving time that must be counted as the rest of the route. working time or may be considered as break or • The basic ideas of the labelling algorithms are: rest time respectively. The algorithms are able to consider arbitrary sequences of active and – More than one new label can be created from an old passive service times at customer locations. one. Hence, the algorithms offer sufﬁcient ﬂexibility – Labels are extended iteratively along arcs. 123 Logist. Res. (2010) 2:79–96 95 to accommodate most, if not all, practically • if there has already been a split daily rest in the current relevant situations. daily driving time interval and one of the break or rest – The algorithms output a concrete schedule. periods taken at the head vertex is at least 540 min – New heuristic strategies can be easily implemented. long, or • if it is still possible to take a reduced daily rest period in • The computational experiments show the following: the current calendar week and one of the break or rest – The exact algorithm is useful only for checking the periods taken at the head vertex is at least 540 min legality of very short routes. Such a use case may be long. routes devised by human dispatchers for long-haul Otherwise, the daily driving time is the driving time since transports at forwarding companies, where the its last reset, which may have occurred on a previous arc or planning situation is usually highly dynamic and which occurs on the current arc only the next few stops of each vehicle en route are • if one of the break or rest periods taken along the arc, known. before reaching the head vertex, is at least 660 min – The heuristic approaches are fast enough to be used long, or as subroutines for feasibility/legality checks in • if there has already been a split daily rest in the current vehicle routing (meta)heuristics but exhibit a rather daily driving time interval and one of the break or rest moderate solution quality due to the lack of a periods taken along the arc is at least 540 min long, or backtracking option to correct unfavourable deci- • if it is still possible to take a reduced daily rest period in sions on breaks or rests. the current calendar week and one of the break or rest Overall, the results presented in this paper are such that periods taken along the arc is at least 540 min long. further consideration of the described approach is worth- drive;cur calendar week s is set to zero if the weekly or while. Future research concerning the algorithms described fortnightly driving time limit is reached. Otherwise, it is set in this paper should consider, for example, the solution of to the total driving time since its last reset, which may have the vehicle routing problem with time windows and the occurred on a previous arc or which occurs on the current pickup-and-delivery problem with time windows with arc if the weekly or fortnightly driving time limit is drivers’ rules by branch-and-price, where the subproblems reached. are to be solved by the exact and the heuristic labelling drive;cur calendar fortnight s is set to zero if the fortnightly algorithms. driving time limit is reached. Otherwise, it is set to the total The paper closes with an invitation to the scientiﬁc driving time since its last reset, which may have occurred community to prove or falsify the following conjecture: on a previous arc or which occurs on the current arc if the Decision problem LEGAL-ROUTE-DR fortnightly driving time limit is reached. Input: An instance of the elementary shortest path problem If either the weekly or the fortnightly driving time limit is with time windows and a feasible solution p. Question: Is reached when travelling along an arc, a break or rest period is there a legal schedule for p? taken until the end of the current calendar week. since last daily rest The update of s is equivalent to that of Conjecture drive,daily s , except that not only the driving time is counted, Decision problem LEGAL-ROUTE-DR is NP-complete. but also the waiting, break, and rest time and the active and Acknowledgments The authors are grateful to Mr Christoph Rang passive service time. for his very helpful advice on the legal aspects of drivers’ rules. This Every time a daily or weekly rest ends, the value of research was funded by the Bundesministerium fu ¨ r Wirtschaft und max ext of last daily rest s is set to the maximum amount of Technologie (German Federal Ministry of Economics and Technol- time by which the last daily rest can be extended such that ogy) under grant no. 19G7032A (M. Drexl). no time windows of subsequent vertices are violated. max ext of last daily rest Before each vertex, s is set to Appendix: Resource extension functions max ext of last daily rest cur extension of last daily rest max s s ; 0 : since last weekly rest The update of s is equivalent to that of Note The subscripts indicating the vertex are suppressed, as since last daily rest s : the update of the resource variables is also performed on max ext of last weekly rest The update of s is equivalent to arcs, not only at the end vertex of each arc. max ext of last daily rest that of s : drive,daily s is set to zero, since start of calendar week s is increased by the driving, • if, at the head vertex, at least one rest period of at least waiting, break, and rest time and by the active and passive 660 min is taken, or service time, and it is reset when it exceeds 168 h. 123 96 Logist. Res. (2010) 2:79–96 ext ddt LexUriServ.do?uri=CELEX:32002 L0015:EN:HTML. Accessed n is increased by one each time the decision to 20th August 2009 extend the daily driving time to 10 h is taken until 8. European Union (2006) Regulation (EC) No 561/2006 of the ext ddt n ¼ 2 . It is reset to zero whenever European Parliament and of the Council of March 15, 2006 on the since start of calendar week s is reset. harmonisation of certain social legislation relating to road split break transport and amending Council Regulations (EEC) No 3821/85 b is set to one if a split break of 15 min is taken. and (EC) No 2135/98 and repealing Council Regulation (EEC) It is reset to zero after the next break or rest period of at No 3820/85. Available at eur-lex.europa.eu/LexUriServ/LexUri- least 30 min. Serv.do?uri=CELEX:32006 R0561:EN:HTML. Accessed 20th split rest b is set to one if a split daily rest of 180 min is August 2009 9. Goel A (2009a) Truck driver scheduling and regulation (EC) no taken. It is reset to zero after the next rest period of at least 561/2006. Tech. rep., Zaragoza Logistics Center, Zaragoza 540 min. 10. Goel A (2009b) Vehicle scheduling and routing with drivers’ ddt extended b is set to one if the daily driving time is working hours. Trans Sci 43:17–26 extended to 10 h. It is reset to zero after the next daily rest 11. Goel A, Kok L (2009a) Efﬁcient scheduling of team truck drivers in the European Union. Tech. rep., Operational Methods for period. red daily rests since last weekly rest Production and Logistics, University of Twente n is increased by one 12. Goel A, Kok L (2009b) Efﬁcient truck driver scheduling in the each time the decision to take a reduced daily rest periods United States. Tech. rep., Operational methods for production and red daily rests since last weekly rest is taken until n ¼ 3 . It is logistics, University of Twente since last weekly rest 13. Humphreys G (2007) Tachobook. Foster Tachographs, Preston reset to zero whenever s is reset. 14. Ioachim I, Ge ´linas S, Soumis F, Desrosiers J (1998) A dynamic For the update of XAT, LAT, and Duration, the reader is programming algorithm for the shortest path problem with time referred to [19]. windows and linear node costs. Networks 31:193–204 15. Irnich S, Desaulniers G (2005) Shortest path problems with resource constraints. In: Desaulniers G, Desrosiers J, Solomon M (eds) Column generation. Springer, New York, pp. 33–65 16. Kok A, Meyer C, Kopfer H, Schutten J (2009) Dynamic pro- References gramming algorithm for the vehicle routing problem with time windows and EC social legislation. Tech. Rep. 270, Operational methods for production and logistics, University of Twente 1. Archetti C, Savelsbergh M (2007) The trip scheduling problem. 17. Kopfer H, Meyer C, Wagenknecht A (2007) Die EU-So- Tech. rep., School of Industrial and Systems Engineering, zialvorschriften und ihr Einﬂuß auf die Tourenplanung. Logistik Georgia Institute of Technology Manag 9:32–47 2. Bartodziej P, Derigs U, Malcherek D, Vogel U (2009) Models 18. Meyer C, Kopfer H, Kok A, Schutten M (2009) Distributed and algorithms for solving combined vehicle and crew scheduling decision making in combined vehicle routing and break sched- problems with rest constraints: an application to road feeder uling. Tech. Rep. 271, Operational methods for production and service planning in air cargo transportation. OR Spectrum logistics, University of Twente 31:405–429 19. Prescott-Gagnon E, Desaulniers G, Drexl M, Rousseau L-M 3. Branda ˜o J, Mercer A (1997) A tabu search algorithm for the (2009) European drivers rules in vehicle routing with time win- multi-trip vehicle routing and scheduling problem. Eur J Oper dows. Tech. rep., Ecole Polytechnique de Montre ´al and GERAD Res 100:180–191 20. Rang C (2008) Lenk- und Ruhezeiten im Straßenverkehr. Vogel, 4. Cordeau J, Desaulniers G, Desrosiers J, Solomon M, Soumis F Mu ¨ nchen (2002) VRP with time windows. In: Toth P, Vigo D (ed) The 21. Savelsbergh M (1985) Local search in routing problems with time vehicle routing problem. SIAM Monographs on Discrete Math- windows. Annl Oper Res 4:285–305 ematics and Applications, Philadelphia, pp. 157–193 22. Savelsbergh M (1992) The vehicle routing problem with time 5. Desaulniers G, Villeneuve D (2000) The shortest path problem windows: minimizing route duration. ORSA J Comput 4:146–154 with time windows and linear waiting costs. Trans Sci 34:312– 23. Stumpf P (1998) Tourenplanung im speditionellen Gu ¨ terfern- verkehr. Gesellschaft fu ¨ r Verkehrsbetriebswirtschaft und Logistik 6. Erera A, Karacık B, Savelsbergh M (2008) A dynamic driver (GVB) e.V., Nu ¨ rnberg management scheme for less-than-truckload carriers. Comput 24. Xu H, Chen Z, Rajagopal S, Arunapuram S (2003) Solving a Oper Res 35:3397–3411 practical pickup and delivery problem. Trans Sci 37:347–364 7. European Union (2002) Directive 2002/15/EC of the European 25. Za ¨pfel G, Bo ¨ gl M (2008) Multi-period vehicle routing and crew Parliament and of the Council of 11 March 2002 on the organi- scheduling with outsourcing options. Int J Prod Econ 113:980– sation of the working time of persons performing mobile road transport activities. Available at eur-lex.europa.eu/LexUriServ/
Logistics Research – Springer Journals
Published: Jun 12, 2010
You can share this free article with as many people as you like with the url below! We hope you enjoy this feature!
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.