Models and Algorithms for Ground Staff Scheduling on Airports


 Darrell Harrell
 1 years ago
 Views:
Transcription
1 Models and Algorthms for Ground Staff Schedulng on Arports Von der Fakulta t fu r Mathematk, Informatk und Naturwssenschaften der RhenschWestfa lschen Technschen Hochschule Aachen zur Erlangung des akademschen Grades enes Doktors der Naturwssenschaften genehmgte Dssertaton von DplomInformatker Jo rg Herbers aus Haselu nne Berchter: Unversta tsprofessor Dr. Drs. h.c. HansJu rgen Zmmermann Unversta tsprofessor Dr. rer. nat. Juraj Hromkovc Unversta tsprofessor Dr. rer. nat. Peter Rossmanth Tag der mu ndlchen Pru fung: 14. Ma rz 2005 Dese Dssertaton st auf den Internetseten der Hochschulbblothek onlne verfu gbar.
2
3 Abstract The plannng of arport ground staff gves rse to a number of challengng optmsaton problems. Ground handlng workloads are naturally represented as work tasks, e.g. for baggage unloadng or passenger checkn. These workloads must be covered by approprate employees. Staff schedulng s usually carred out n several stages: In demand plannng, workloads are aggregated and analysed, n shft plannng, approprate shft dutes are generated, and rosterng conssts n generatng lnes of duty for the workers. These phases are strongly nterrelated, and dfferent optmsaton problems have to be solved at each stage. Workforce schedulng models have tradtonally bult upon aggregate labour requrements gven n dscrete tme perods. However, the lterature does not descrbe any models or algorthms for the generaton of approprate workload representatons. Addtonally, t wll not always be suffcent to cover coarsegraned abstractons of workloads. If nformaton on flghts as well as passenger and load fgures are suffcently exact, we wll rather be nterested n drectly coverng ndvdual work tasks. Furthermore, shft schedulng and rosterng approaches have regularly taken specal assumptons or nvestgated smplfed problems, lmtng ther practcal applcablty. In ths work, we tackle optmsaton problems at dfferent plannng stages. We show how n the presence of movable tasks, we can obtan a sutable demand curve representaton of workloads, usng a levellng procedure whch combnes aspects from vehcle routng and resource levellng. Furthermore, we devse two algorthms for tasklevel shft plannng whch relates to vehcle routng and shft schedulng models. The frst method s an mprovement procedure, buldng upon the results of a constructon phase and dealng wth a complex shft plannng settng. The second algorthm focuses on a subclass of tasklevel shft plannng and s able to solve many problems to proven optmalty. Fnally, we desgn an algorthm for complex cyclc rosterng on the bass of aggregate workloads. The approach bulds upon a novel model for representng flexble breaks and solves the shft schedulng and rosterng stage smultaneously. Models and algorthms proposed n ths thess are more ntegrated and tackle more complex settngs than prevous approaches. We employ modern constrant programmng and nteger programmng soluton technques, ncludng column generaton and branchandprce. For the novel optmsaton problems treated n ths work, we provde complexty results. All algorthms are evaluated on complex largescale test cases from the practce of arlnes, arports and ground handlng companes.
4
5 Zusammenfassung De Planung von Bodenpersonal an Flughäfen benhaltet ene Rehe anspruchsvoller Optmerungsprobleme. Das Arbetsaufkommen für Abfertgungsdenste wrd typscherwese n Form von Arbetsaufträgen dargestellt, z.b. für de Gepäckentladung oder für ChecknDenste. Deses Arbetspensum muss durch geegnete Mtarbeter abgedeckt werden. De Planung wrd üblcherwese stufg durchgeführt: In der Bedarfsplanung wrd das Arbetsaufkommen aggregert und analysert, n der Schchtplanung werden geegnete Schchtdenste generert, und n der Denstplanung werden Denstpläne für de Mtarbeter erstellt. De enzelnen Phasen snd dabe eng verzahnt, und auf jeder Stufe müssen verschedene Optmerungsprobleme gelöst werden. Personalplanungsmodelle bauen tradtonell auf aggregerten Bedarfszahlen auf, de n dskreten Zetschrtten angegeben werden. Für de tatsächlche Genererung ener solchen Bedarfskurvenrepräsentaton snd n der Lteratur allerdngs kene Modelle oder Algorthmen beschreben worden. Darüber hnaus st ene Planung auf Bass grober Bedarfszahlen ncht mmer ausrechend. Wenn hnrechend genaue Informatonen über abzufertgende Flüge und Passager/Gepäckzahlen zur Verfügung stehen, st man velmehr daran nteressert, de enzelnen Arbetsaufträge zu verplanen. Schcht und Denstplanungsansätze n der Lteratur gehen zudem durchgehend von spezellen Annahmen aus oder behandeln verenfachte Probleme, was hre praktsche Anwendbarket enschränkt. In deser Arbet werden Optmerungsprobleme für verschedene Planungsschrtte gelöst. Es wrd gezegt, we ene geegnete Bedarfskurvendarstellung unter Berückschtgung verscheblcher Aufträge generert werden kann, ndem Elemente des Vehcle Routng und des Resource Levellng kombnert werden. Darüber hnaus werden zwe Algorthmen für de auftragsbaserte Schchtplanung entwckelt, de auf Modellen des Vehcle Routng und des Shft Schedulng aufbauen. De erste Methode st en Verbesserungsverfahren, das auf den Ergebnssen ener Konstruktonsheurstk basert und en komplexes Schchtplanungsproblem behandelt. Der zwete Algorthmus bezeht sch auf ene Telproblemklasse und löst vele praktsche Problemnstanzen bewesbar optmal. Schleßlch wrd en Algorthmus für de Erstellung komplexer Schchträder auf Bass ener aggregerten Bedarfsdarstellung konzpert. Der Ansatz baut auf enem Modell zur mplzten Darstellung flexbler Pausen auf und löst das Shft Schedulng und Denstplanungsproblem smultan. De Modelle und Algorthmen n deser Arbet snd stärker ntegrert und berückschtgen komplexere Nebenbedngungen als frühere Beträge. Moderne Technken des Constrant Programmng und der ganzzahlgen Programmerung (enschleßlch Spaltengenererungs und BranchandPrceAnsätzen) werden engesetzt. Für de vorgestellten neuartgen Optmerungsprobleme werden Komplextätsuntersuchungen durchgeführt. Alle Algorthmen werden auf großen, komplexen Testfällen aus der Praxs von Fluglnen, Flughäfen und Bodenverkehrsgesellschaften evaluert.
6
7 Acknowledgements Ths work has been carred out at the arport dvson of INFORM Insttut für Operatons Research und Management GmbH. Many people have contrbuted to ths thess n one way or the other. Frst, I would lke to thank my doctoral advsors. Prof. Dr. Drs. h.c. HansJürgen Zmmermann ntally made ths work possble, and I am very grateful for hs valuable support and feedback. Prof. Dr. Juraj Hromkovč was so knd to act as referee even f ths entaled an addtonal burden wth hs new poston at ETH Zürch. I would lke to express my grattude for hs support and comments on earler drafts of ths work. Thanks also to Prof. Dr. Peter Rossmanth for actng as an addtonal coreferee. Specal thanks go to Adran Weler for leadng me to ths challengng feld of research and for hs nterest n my work, and to Thomas Schmdt and Usch SchulteSasse for ther encouragement. I am partcularly ndebted to Werner Semes who leads the plannng development group at INFORM s arport dvson. Wthout hs support, ths work would not have been possble. Torsten Fahle provded me wth numerous comments and suggestons, and I am very grateful for the frutful dscussons. Hs extensve proofreadng down to the smallest ndces has consderably contrbuted to the qualty of ths thess. Specal thanks also to Ulrch Dorndorf and Tuomo Takkula for dscussons, suggestons and comments on earler versons of ths work. Chrstan, Danel, Melane and Wolfgang deserve my grattude for further correctons and suggestons. Chrstof, Dmtra, Jula, Smone and Tom were not only colleagues, but have become real frends, and ther support has meant a lot to me. Thanks also to Andrea, Alex, Bernd, Frank, Holger, Melane, Mchael, Oll, Sunl, Clementne and Fch for the pleasant workng envronment, the motvatng atmosphere and the gudance wth the optmsaton problems and the plannng system. Chrstan was an nsprng partner for lunchtme dscussons durng my short return to student lfe. The staff at Dash Optmzaton was very ambtous n provdng me wth suggestons for tunng the cyclc roster algorthm. My sncere grattude goes to my parents who made ths possble, for supportng and encouragng me durng the years. Specal thanks also to my brothers Jens and Ulf for ther support. Last but not least, specal thanks to Katrn for her patence, love and encouragement throughout all ups and downs of my work.
8
9 Contents 1. Introducton Arport Ground Handlng Plannng Processes and Objectves Task Generaton Demand Plannng Shft Plannng Rosterng Related Work on Workforce Schedulng Relatonshp to Vehcle Routng and Schedulng Contrbutons of the Dssertaton Structure of the Document An Annotated Bblography on Workforce Schedulng Introducton Shft Schedulng Approaches DayOff Schedulng Approaches Shft Assgnment Approaches Tour Schedulng Approaches Nurse Schedulng Approaches Cyclc Roster Approaches Break Placement Flexblty and Implct Modellng Workng Subset Methods Complexty Results Relatonshp to Crew Rosterng Local Search n Constrant Programmng Constrant Programmng Large Neghbourhood Search ConstrantBased Soluton Methods for Vehcle Routng InsertonBased Methods Partal Path Methods Dsjunctve Methods Workload Levellng n a Vehcle Routng Envronment Introducton Vehcle Routng and Resource Levellng Mathematcal Model Computatonal Complexty Constrant Model BranchandBound Lower Boundng
10 Contents 4.8. Large Neghbourhood Search Preprocessng Expermental Results Conclusons and Future Research An Improvement Algorthm for Complex Shft Plannng Introducton Problem Descrpton Tasks and Shfts Qualfcatons Crews Task Splttng Task Overlappng Shft Number Restrctons Mathematcal Model Shft Creaton Unassgned Task Handlng Constrant Model Domans Shft Temporal Constrants Shft Constrants Crew Constrants Splt Task Constrants Inserton Poston Constrants Avodng Symmetry Objectve Functon Calculaton Lower Boundng Task LookAhead Maxmum Restrctons Mnmum Restrctons BranchandBound Large Neghbourhood Search Shft Release Task Release Local Step Setup Overlap Mnmsaton Expermental Results Conclusons and Future Research Column Generaton and BranchandPrce DantzgWolfe Decomposton BlockStructured Lnear Programs BranchandPrce Lower Boundng Lagrangan Relaxaton Convexfcaton versus Dscretsaton Advanced Performance Issues x
11 Contents 7. Optmal Shft Plannng by BranchandPrce Introducton Computatonal Complexty A Flow Model DantzgWolfe Decomposton Column Generaton BranchandPrce Problem Decomposton Expermental Results Conclusons and Future Research Implct Modellng of Flexble Break Placement Introducton Basc Set Coverng Formulaton Flexble Break Placement Shft Schedulng wth Breaks Avodng Extraordnary Overlap General Shft Schedulng wth Multple Breaks Acton Tme Transformaton Expermental Results Conclusons and Future Research Cyclc Roster Generaton by BranchandPrce Introducton Problem Descrpton Modellng Approaches Encodng Week Transtons Integer Programmng Model Week and Lnk Generaton Integer Branchng Subcycle Branchng Generalsatons Expermental Results Contrbutons and Future Research Summary and Outlook 217 A. Mathematcal Symbols 221 B. Acronyms and Abbrevatons 227 B.1. Acronyms B.2. Abbrevatons C. Overvew of Workforce Schedulng Lterature 229 C.1. Overvew by Models C.2. Overvew by Soluton Methods C.3. Overvew by Anonymous and Named Models C.4. Overvew by Applcaton Areas References 235 x
12 Contents Index 253 Currculum Vtae 259 x
13 Lst of Fgures 1.1. Typcal workloads at an arport over the day Plannng stages n arport ground staff plannng Task generaton Work tasks relatng to arcraft arrvals, departures and groundtmes Tour plannng and demand curve Demandlevel shft plannng Tasklevel shft plannng Weekly roster for three employees Cyclc roster for fve employees Overvew of contrbuted algorthms Basc deas of constrantbased methods for vehcle routng Basc settng of workload levellng: (crew) tasks n tours, demand curve Temporal relaton of crew tasks Structure of the search tree Base hstogram: crtcal, nearcrtcal and noncrtcal tasks Temporal nfluence over crew tasks Objectve functon development on scenaro B Structure of a shft wth orgn, destnaton and break tasks Tasklevel shft plannng Handlng of task crews and subcrews Task splttng Structure of a splt task Temporal propagaton for splt and nonsplt tasks and for travel tmes Search tree structure Coverng tasks by empty shft templates Example from scenaro C12: partal soluton before mprovement Example from scenaro C12: partal soluton after mprovement Column generaton process Buldng blocks of shft plannng problem for varable set U := {u 0, u 1, u 2, u 3 } and clauses C := {{u 0, u 1, u 2 }, {u 0, u 1, u 3 }} Soluton of cost 2(p 2 q + pq 2 ) pq + p + q = 94 for the example Network constructon example Blockangular structure of the flow model Example for shfts wth flexble breaks Break attrbuton as a transportaton problem Cuts n the break attrbuton network
14 Lst of Fgures 8.4. Cuts leadng to domnated constrants Example network for equvalence proof of mplct break handlng Graphcal llustraton of varable sets n forward/backward constrants Colourng of a comparablty graph Example for further separaton of shft classes Component segments of shfts and demand perods Demand curve of scenaro C Cyclc roster example Workstretch encodng Week encodng Roster contanng dsconnected subcycles Dsconnected subcycles Transportaton problem for numbers of days on/off Transportaton problem for shft start tmes on successve days Twodmensonal transportaton problem for week transtons Forward and backward constrants n two dmensons Week lnk encodng Structure of the lnear program Partton of week nto backward net part and forward net part Exemplary expansons n the forward net Weeks and lnks generatng dsconnected subcycles Generalsed week lnk encodng for weekends off xv
15 Lst of Tables 4.1. Scenaro data Preprocessng runtmes and results Results of large neghbourhood search based on GF results Fnal numbers of steps and tasks n large neghbourhood search Overall effect of GF preprocessng Effects on global demand maxma and travel tmes Overvew of taskrelated varables n the CP model Overvew of shftrelated varables n the CP model Scenaro data Scenaro data (contnued) Parameters of release strateges Average mprovement of objectve functon Shft costs and utlsatons Fnal steps and stepwdths Average numbers of parts per splt task Changes n total overlappng Scenaro data Decomposton results Graph constructon Branchandprce results Runtme data Shft cost mprovement by LNS and branchandprce Comparson of results Scenaro data Demand curve characterstcs Number of demand perods after acton tme transformaton Results of BREAKPARTITIONING and addtonal spltup Szes of LP representatons for dfferent break formulatons Runtmes for LP relaxaton of tour schedulng model Comparson of dfferent cyclc roster formulatons Workng subset reducton Scenaro data Vald successor shft types on days on and off Number of forward/backward net states and potental lnks LP relaxatons before and after week cut Integer soluton data Runtme data Number of branches of dfferent types
16 Lst of Tables Results of runs wth weekendoff constrant C.1. Overvew of publcatons on dfferent models C.2. Overvew of soluton technques C.3. Overvew of publcatons on anonymous and named schedulng C.4. Overvew of applcatons xv
17 1. Introducton The best scentst s open to experence and begns wth romance the dea that anythng s possble. Ray Bradbury 1.1. Arport Ground Handlng Today s arlnes and arports are facng an enormous cost pressure. Several crses have adversely affected the busness, ncludng September 11th, war n Iraq, SARS and the world economc stuaton. Insolvences of major carrers reflect economcal problems whch are partly selfnflcted and partly due to external factors. Increasng ol prces are a new threat to the recovery of the arlne busness. In spte of ths, busness has recently reganed growth rates of earler years. In the frst three quarters of 2004, worldwde ar transport passenger klometres have ncreased by 17.7% and freght tonne klometres by 14.1% over the precedng year [IATA, 2004a]. Low cost carrers and new markets n Asa are the man drvers of growth. By 2010, the Internatonal Ar Transport Assocaton (IATA) expects 2.2 bllon passengers per annum whch s 600 mllon more than n 2003 [IATA, 2004b]. In vew of new compettors and the growth of the ar transport market, arlnes try to cut ther costs and ncrease compettvty. Beneath fuel costs and crew personnel, ground handlng actvtes represent a major cost factor [Brusco et al., 1995]. Handlng tasks can be dstngushed by planesde (ramp) operatons and passenger servces [Ashford et al., 1997]. Tasks on the ramp nclude baggage handlng, arcraft cleanng, refuellng, water servces, bus transportaton, cargo and caterng, load plannng and control, traffc control, towng and decng. Passenger servces manly refer to checkn, boardng, tcketng, help desks, sales reservaton offces and backoffce actvtes. Beyond these basc tasks, arcraft mantenance and securty checks must be consdered. At ther base arports, arlnes usually accomplsh these tasks by ther own personnel. Alternatvely, arports and ground handlng companes offer ground handlng servces to arlnes. Wth ncreasng deregulaton, nternatonal handlng companes wth worldwde subsdares see ther market shares growng. Clearly, effcent plannng of staff s crucal n controllng costs. Due to the sze of arport operatons, even small mprovements translate nto large savngs. As an example, Holloran and Byrn [1986] reported savngs of approxmately sx mllon dollars by the ntroducton of an automated staff schedulng applcaton at Unted Arlnes. Further eght mllon dollars per annum have been saved by the ntroducton of an mproved system n 1994 [Brusco et al., 1995]. Ground staff schedulng s a very complex task. Plannng frequently nvolves several hundred employees, several thousand work tasks per week and multtudes of constrants. Arports often work on a contnuous bass wth operatons on 24 hours, seven days a week. Workforce demands are subject to hgh varatons at dfferent tmes of the day. Arlnes often use the hubandspoke prncple, meanng that connectng flghts from smaller arports are bundled at larger statons n order to mnmse passenger transfer tmes for longhaul connectons. Ths practce as well as commuter actvty of busness people result n three, four or even more pronounced peak tmes of hgh workload wthn each day (see Fg. 1.1) [Ashford et al., 1997]. 1
18 1. Introducton 06h 07h 08h 09h 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 20h 21h 22h 23h Fgure 1.1.: Typcal workloads at an arport over the day. Manual schedulng s a tedous and errorprone task, and t frequently takes planners several hours or even days to prepare staff plans by hand [Dowlng et al., 1997] [Yu, 1998]. Processes are dffcult to overvew by planners, and dfferent resources are tghtly coupled [Ashford et al., 1997, p. 185] [Yu, 1998, p. xv]. At large arports, t s normally mpossble to handle staff wthout computer support. All arlnes, arports and ground handlng companes nowadays make use of schedulng systems. In the lterature, several arlnespecfc systems have been reported, e.g. at Ar Canada [Nobert and Roy, 1998], Altala [Felc and Gentle, 2004], Pan Am [Schndler and Semmel, 1993] and Unted Arlnes [Holloran and Byrn, 1986] [Brusco et al., 1995]. Much progress has been made snce the development of the frst ground staff plannng systems. Schedulng software s nowadays requred to flexbly adapt to changng work rules, problem characterstcs and szes of operatons [Dowlng et al., 1997]. Clearly, the development of advanced plannng systems s tself a costly nvestment. Many arlnes, arports and ground handlng companes therefore resort to generc software packages, ncludng advanced optmsaton components and powerful graphcal user nterfaces, see e.g. Khoong and Lau [1992], Khoong et al. [1994] and Dowlng et al. [1997]. Ths work deals wth offlne aspects of ground staff plannng,.e. the estmaton of workloads and the generaton of staff plans several days or weeks before operatons. Ths means that workloads for the plannng perod are calculated from a fxed flght schedule, forecasted passenger and baggage fgures and servce agreements between arlnes and ground handlng departments or companes. We wll not deal wth realtme aspects,.e. ssues lke shortterm schedule changes or nterruptons due to flght delays or llnesses wll not be consdered. The optmsaton models and algorthms developed n ths work are generc and apply to a wde range of ground handlng actvtes. However, some servces may not conform to the general framework and may therefore not be covered (e.g. cargo handlng, caterng and bus transportaton). As dfferent ground handlng actvtes (lke baggage or checkn servces) stll dffer consderably, we am at concevng algorthms whch are robust on a wde range of relevant plannng scenaros. However, we wll also show how problemspecfc features can sometmes be exploted by specal soluton approaches. Ths work has been carred out as a part of an appontment of the author to INFORM Insttut für Operatons Research und Management GmbH, Aachen, Germany. INFORM markets a comprehensve sute of arport applcatons named GroundStar whch s n use at major customers all over the world. Arport users e.g. nclude Berln, Frankfurt and Moscow, ground handlng companes comprse Avapartner, DNATA, ServsAr GlobeGround and Swssport, and arlne customers are e.g. Ar Canada, Ar France, Brtsh Arways, Emrates, Lufthansa and SAS. All optmsaton algorthms descrbed n ths work are part of the staff plannng applcaton of GroundStar. In the followng, we wll gve a short overvew of plannng processes and objectves n arport ground staff plannng. We wll pont out how workforce schedulng s treated n the lterature and 2
19 1.2. Plannng Processes and Objectves task generaton demand plannng shft plannng rosterng Fgure 1.2.: Plannng stages n arport ground staff plannng. show the relatonshp of arport schedulng problems wth vehcle routng. Fnally, we wll gve a survey on contrbutons of ths thess and descrbe ts structure Plannng Processes and Objectves Plannng of ground staff nvolves several stages (Fg. 1.2). Frst, we generate work tasks based on the flght schedule for the plannng perod, forecasted load fgures and servce agreements. These work tasks represent the nput of a demand plannng phase n whch temporal demands are analysed n ther temporal evoluton and wth regard to peak tmes. In a second stage, workloads are covered by sutable shft dutes. Fnally, rosters are bult, specfyng shfts and days off for the workforce at hand. Roster generaton takes ether orgnal workloads or gven shft plans as nput. Vrtually all arport servces adhere to ths general scheme. Plannng can take place on dfferent levels. In operatve plannng, we am at actual staff plans for the day of operatons. If operatve plannng s carred out few days or weeks ahead of tme, nformaton on flghts s generally qute accurate. However, rosters are sometmes prepared for a whole flght season n advance, meanng that plannng s typcally based on a model week wth typcal flght events and arcraft loads. Tactcal plannng e.g. nvolves calculatng prces for dfferent servces, analysng work rules as a preparaton for unon negotatons, and whatf scenaros when acqurng new customers. On a strategcal level, managers wll e.g. be nterested n cost calculatons when extendng busness to new arports. Tactcal and strategcal plannngs are usually based on model weeks of typcal workloads. In the followng, we descrbe the plannng processes n more detal and gve annotatons on the sgnfcance of plannng stages under dfferent condtons Task Generaton Fgure 1.3 shows the basc scheme of task generaton, see also Dowlng et al. [1997]. A frst nput s the flght schedule, coverng flght events that are relevant to the ground handlng company or department. Each flght s made up of an arrval at the arport under consderaton, a departure and the groundtme n between. Alternatvely, flghts may consst of an arrval leg or departure leg only, e.g. f the arcraft stays at the arport for a longer perod of tme. Flght schedules often contan postonng nformaton, e.g. wth regard to arcraft stands, arrval gates and checkn counters. Task generaton often depends on passenger and baggage nformaton. Whle exact load nformaton may be avalable f plannng takes place shortly before operatons, averagng or other statstcal methods can be used to generate relable load nformaton ahead of tme. Engagement standards represent task generaton rules matchng on specfc flght events, e.g. 3
20 1. Introducton flght schedule passenger & baggage fgures engagement standards task generaton work tasks Fgure 1.3.: Task generaton. arrval groundtme departure AF8601 AF3431 examples a. arrvalrelated tasks b. departurerelated tasks c. groundtmerelated tasks baggage unloadng baggage loadng arcraft cleanng Fgure 1.4.: Work tasks relatng to arcraft arrvals, departures and groundtmes. by arlne, arcraft type, routngs, ntervals of baggage loads etc., see also AlvarezValdez et al. [1999], Sørensen and Clausen [2002]. As an example, an engagement standard may defne the generaton of eght cleanng tasks of 45 mnutes each for a Boeng , to be carred out wthn the groundtme of the arcraft. Especally tasks on the apron wll usually pertan to sngle flght events,.e. they can be attrbuted to ether arrval, departure or the lnk of both legs. Tmes at whch tasks must be carred out ether refer to the arrval, departure or the groundtme of the arcraft (Fg. 1.4). As an example, an arrval flght may ask for a number of baggage unloadng tasks, startng fve mnutes after touchdown and whose quantty and duratons depend on baggage fgures. In contrast, the above cabn cleanng tasks would refer to the groundtme of the arcraft. Alternatvely, work tasks can be generated for multple flghts n common. A typcal example s checkn personnel whch often serves groups of flghts, e.g. StarAllance Economy passengers. Workloads then result from the numbers of passengers to be served by a group of flghts. Arrval profles specfy how many passengers are expected to arrve n ntervals relatve to the departure tme. Queueng models are then employed to calculate counter and personnel demands, usng nformaton on typcal servce tmes per passenger and acceptable lengths of passenger queues [Schndler and Semmel, 1993] [Brusco et al., 1995]. Workloads can fnally be broken down nto work tasks for checkn personnel. Alternatvely to the aforementoned checkn example, tasks may pertan to several flghts f e.g. baggage unloadng at adjacent arcraft stands can be done by the same staff. Task start tmes and lengths wll then refer to the respectve flght events. A thrd class of work tasks does not make any reference to flght events. As an example, the number of staff at tcket and nformaton counters does not depend on specfc flghts. Work tasks wll then be specfed by absolute start tmes and duratons correspondng to the openng hours of the respectve servce. 4
21 1.2. Plannng Processes and Objectves W t Fgure 1.5.: Tour plannng and demand curve. Regardless of the mode of task generaton, the resultng work tasks have a number of propertes. As mentoned before, tasks have fxed lengths and ether start at fxed tmes (e.g. baggage unloadng tasks) or wthn gven tme wndows (e.g. cabn cleanng tasks). They must be carred out at gven postons, e.g. at an arcraft poston on the apron or at gven checkn counters. Tasks may requre workers to have certan qualfcatons, e.g. for handlng a specfc arcraft or language sklls for checkn and boardng. Cleanng tasks must often be carred out by teams of workers [Stern and Hersh, 1980]. Task generaton s the most basc step n arport staff plannng. Throughout ths work, we wll assume that work tasks for a gven department are readly avalable Demand Plannng Workloads are usually vsualsed as a demand curve,.e. a hstogram of parallel tasks at each tme of the plannng horzon. As each work task requres one employee, ths representaton allows for an easy analyss of workforce requrements. Tmes of hgh workloads are easly analysed, and planners are enabled to assess sutable shft dutes coverng more than one demand peak. Demand curves are also a common abstracton of workloads to be covered n the subsequent shft plannng phase; workloads are then usually dscretsed n steps of 15 or 30 mnutes, see e.g. Brusco et al. [1995]. Smply superposng tasks s generally not suffcent for generatng demand curves. On the one hand, t would not be clear how to fx movable tasks. Furthermore, start tme decsons for dfferent tasks are generally nterdependent snce a worker cannot cover more than one task at a tme. Especally at peak tmes, tasks wll block each other. On the other hand, we must consder that workers must travel between dfferent work task locatons. If we magne dstances between locatons on the apron, such travel tmes may consderably contrbute to workloads. A model coverng tasks by tours s therefore more approprate, see Fg. 1.5 (work tasks are orange, travel tmes are dsplayed n yellow). Each tour can be nterpreted as a sequence of tasks that must be carred out by a vehcle (e.g. a pushback tractor or baggage vehcle) or by one or several workers n turn. Superposng tasks n tours allows for an ncorporaton of mutual nterdependences between tasks and a consderaton of travel tmes (lower part of Fg. 1.5). Clearly, mnmsng the number of tours corresponds to solvng a resource nvestment problem,.e. we determne e.g. the mnmum number of requred vehcles [Brucker et al., 1999]. Especally n staff plannng, we wll be nterested n avodng unnecessary demand peaks. Ths can be acheved by placng movable tasks at tmes of low workload and by avodng travel tmes. In general, a smoother demand curve wll also provde a better bass for demandbased shft plannng as descrbed n the followng secton. The assocated problem of smoothng labour requrements wll be called the workload levellng problem. In the lterature, authors have consstently assumed that work tasks are fxed n tme and gnored travel tmes between dfferent locatons, see e.g. Schndler and Semmel [1993], Brusco et al. [1995] and Dowlng et al. [1997]. Only Nobert and Roy [1998] deal wth the levellng of ar cargo 5
22 1. Introducton workloads. The levellng of labour requrements that are gven by movable tasks at dfferent locatons has not yet been descrbed n the lterature Shft Plannng Shft plannng amounts to coverng workloads by sutable and costeffcent shft dutes. On arports, employees who are assgned the shft dutes are usually not known n the plannng phase,.e. shft plannng s anonymous plannng. The alternatve replannng of gven shfts or rosters wth gven staff nformaton s less dffcult and wll not be part of ths work. Anonymous plannng e.g. mples that qualfcaton requrements can only be consdered on an aggregate level. Shft types are a basc noton n ground staff plannng. Each shft type defnes a vald startng and endng tme for a shft duty and prescrbes one or several meal or relef breaks, see e.g. Koop [1988]. A gven shft type may be vald on some or all days of the week. Shft type costs reflect actual labour costs or penaltes for undesrable shfts, e.g. nght shfts. Each shft used to cover labour demands thus ncurs costs as gven by ts shft type. Arport shft plannng usually nvolves between 10 and 600 shft types. Due to strongly varyng demands throughout the day, workloads can be covered more effcently f the shft model allows for much schedulng flexblty [Baley and Feld, 1985] [Brusco, 1998]. Shft types and break rules result from state and federal laws, unon agreements, company polces or practcal consderatons [Buffa et al., 1976] [Aykn, 2000]. In the European Unon, the workng tme drectve 93/104/EC of 23 November 1993 wth amendments 2000/34/EC, 2000/79/EC and 2002/15/EC [EU, 1993] [EU, 2000a] [EU, 2000b] [EU, 2002] gves a framework for admssble shft models. Especally relevant to the ground handlng sector s the Councl Drectve 2000/79/EC of 27 November 2000 [EU, 2000a], concernng the organsaton of workng tme of moble workers n cvl avaton. The workforce of arlnes, arports and ground handlng companes s usually made up of fulltme and parttme employees. The base workload s then covered by fulltme staff wth typcal shft lengths of between eght and eleven hours and up to three meal and relef breaks [Bechtold, 1988]. Planners often try to use fulltme shfts whch cover at least two peak perods wthn the day. In contrast to fulltme staff, the use of parttme employees s often restrcted by unon regulatons. However, parttme shfts of typcally four or fve hours length are known to be mportant for flexbly coverng labour requrements [Holloran and Byrn, 1986] [Schndler and Semmel, 1993]. When generatng a shft plan for gven workloads, dfferent overlappng shft types compete n coverng workloads. If an arport operates 24 hours, 7 days a week, shft types not only overlap wthn the day, but also spll over between days. Shft plannng problems for such contnuous operatons are therefore more complex [Ten and Kamyama, 1982]. Shft plannng can ether be based on workloads as gven by a demand curve, or t can be drectly based on work tasks [Ernst et al., 2004]. Demandlevel shft plannng ams at coverng workforce requrements per tme perod (e.g. 15 mnutes) by a costmnmal set of shfts (Fg. 1.6). Ths vew of shft plannng s wellestablshed n the practce of plannng on arports as well as n other servce ndustres, see e.g. Ten and Kamyama [1982], Holloran and Byrn [1986], Schndler and Semmel [1993] and Brusco et al. [1995]. The assgnment of actual work tasks may then be deferred to shortly before operatons [Dowlng et al., 1997]. Demandlevel shft plannng s approprate when workloads are not exactly known, e.g. due to mssng nformaton on load data or flghts to be handled. Clearly, aggregate plannng also reduces problem complexty and can be a precondton for tractable optmsaton models. Addtonally, demandbased models often allow for addtonal schedulng flexblty. As an example, planners usually do not fully cover workloads n peak tmes. Such understaffng s easly accounted for n hstogrambased models [Thompson, 1993]. 6
23 1.2. Plannng Processes and Objectves break break break break W t Fgure 1.6.: Demandlevel shft plannng. break break break break break Fgure 1.7.: Tasklevel shft plannng. In contrast, tasklevel shft plannng (see Fg. 1.7) s more detaled and therefore more complcated. In tasklevel plannng, shfts represent tours of tasks, startng and endng at a depot and respectng travel tmes between the tasks. Each task must start wthn ts tme wndow, and tours must ft nto the boundares mposed by shft types and lunch and relef breaks. Addtonally, we may have to respect qualfcaton constrants, e.g. lmtng specal skll requrements to few shfts. Tasks for checkn servces or tcket counter personnel often span over the whole day and must be spltted n order to be assgned to shfts. Furthermore, tasks and shfts for teams may have to be placed n parallel. Note that n demandlevel plannng, we assume task start tmes and travel tmes to be realsed as n the demand plannng phase. Furthermore, qualfcaton requrements cannot be represented n a sngle demand curve. Decsons for shft types (and consequently, shft start and end tmes) do not take nto account that tasks may not be splttable at the boundares of shfts. However, f tasks are lttle movable, travel tmes are moderate, qualfcaton requrements are rather homogeneous and tasks are splttable, shft plannng based on a demand curve wll provde a good approxmaton to tasklevel schedulng. In practce, plannng scenaros often come close to these requrements. The decson for demandbased or taskbased models depends on a number of factors. If the qualty of workload nformaton s hgh and planners requre hghresoluton schedules, shft plans should make reference to sngle work tasks. If the plannng s carred out weeks before actual operatons, demandbased models wll offer suffcent degrees of detal. In ths thess, we argue that demandbased and taskbased models can both be approprate n dfferent stuatons, and we wll cover both types of models. It s worth mentonng that task generaton and demand plannng are not always ndependent from shft plannng [Henderson and Mason, 1998]. If demands e.g. result from passenger arrvals and queueng models, movng demands to later tme perods may render the coverage of workloads easer [Mason et al., 1998]. In general however, task generaton can be separated from shft plannng wthout major repercussons. Throughout ths work, we wll assume that tasks can be generated wthout any reference to the shft level. 7
24 1. Introducton Mon Tue Wed Thu Fr Sat Sun employee 1 05:00 13:30 05:00 13:30 05:00 13:30 05:00 13:30 05:00 13:30 employee 2 14:15 23:15 14:15 23:15 14:15 23:15 11:30 20:00 11:30 20:00 employee 3 08:00 17:30 08:00 17:30 08:00 17:30 09:00 18:30 09:00 18:30 Fgure 1.8.: Weekly roster for three employees Rosterng The rosterng problem conssts n sequencng shft dutes and days off nto patterns for ndvdual employees or groups of employees, cf. Fg Unon and legal regulatons (e.g. the aforementoned EU drectves) and company polces mpose a number of constrants. The most frequent work rules nclude mnmum and maxmum bounds on the number of consecutve days on and days off, mnmum rest tmes and start tme dfferences between consecutve shfts, mnmum, maxmum and average workng hours per week and the number of weekends off per perod, see e.g. Bechtold and Showalter [1987], Lau [1994] and Dowlng et al. [1997]. Dfferent knds of rosters are used n practce. Fgure 1.8 shows ndvdual rosters wth a separate schedule for each employee. If concrete employees for each roster lne are known (named rosterng), we can take employee avalabltes, preferences and qualfcatons nto account [Thompson, 1996b]. In arport practce, rosters are usually planned on an anonymous bass. Schedules are then assgned to employees n a subsequent stage. In North Amerca, anonymous rosters are often publshed for bddng,.e. employees choose roster lnes n decreasng order of senorty, see e.g. Holloran and Byrn [1986] and Schndler and Semmel [1993]. Alternatvely, rosters can be cyclc (equvalently, rotatng) and apply to a group of workers (Fg. 1.9). One employee wll then start on each roster week,.e. the length of the roster s equal to the number of employees. When fnshng the frst week, employee 1 swtches to week 2, employee 2 to week 3 etc. whle the worker on the last roster week starts over wth the frst week. Cyclc rosters are always anonymous; only the employee group for the whole roster may be known. Rotatng shft patterns are usually planned for a whole flght season n advance. Clearly, they are less flexble as they do not adapt to fluctuatng demands and absenteesm [Warner, 1976]. However, cyclc rosters provde a maxmum degree of farness snce all employees work on the same pattern. Furthermore, employees can easly foresee ther shft dutes on gven days n the future. Rotatng rosters are often used to cover the bottomlne demand by fulltme workers. Holdays, shortterm absences and changes n workloads are consdered only later, e.g. by shft swaps and parttme staff [Dowlng et al., 1997]. Rosterng often bulds upon gven shfts determned n a precedng shft plannng phase. If however sgnfcant restrctons are mposed on the roster level, t may not be possble to create effcent rosters upon gven shft demands, and t wll be more approprate to ntegrate shft plannng and rosterng. In arport practce, ndvdual rosters are often planned manually or wth strong user nteracton on the bass of gven shft plans. Smlarly, cyclc rosterng s stll lttle automated and usually amounts to applyng small changes to rosters of the precedng flght season. 8
25 1.3. Related Work on Workforce Schedulng Mon Tue Wed Thu Fr Sat Sun week 1 06:00 15:30 06:00 15:30 06:00 15:30 06:00 15:30 11:30 20:00 week 2 11:30 20:00 11:30 20:00 _ 11:30 20:00 11:30 20:00 11:30 20:00 11:30 20:00 week 3 13:00 22:00 13:00 22:00 13:00 22:00 week 4 21:00 07:00 21:00 07:00 21:00 07:00 13:00 22:00 13:00 22:00 week 5 06:00 15:30 06:00 15:30 06:00 15:30 Fgure 1.9.: Cyclc roster for fve employees. Lke shft plannng, rosterng can have dfferent objectves. On an operatve level, planners wll be nterested n effcent rosters for the workforce at hand. Tactcal and strategcal plannng wll typcally nvolve whatf scenaros and may e.g. assess necessary staff szes or evaluate the sutablty of dfferent shft dutes, see e.g. Holloran and Byrn [1986], Dowlng et al. [1997]. Rosterng models usually nclude penalty terms for nconvenent characterstcs of schedules, e.g. wth regard to undesrable shft sequences or days off [Koop, 1988] [Jaumard et al., 1998] Related Work on Workforce Schedulng Snce the frst proposton of an nteger programmng model for shft schedulng by Dantzg [1954], workforce schedulng has receved consderable attenton n the lterature. Shft schedulng and rosterng problems are tackled n many dfferent servce ndustres, ncludng arports and arlnes, ralways, telephone companes, hosptals, emergency servces, toll collecton and banks. Wth only few exceptons, all publcatons am at coverng aggregated workloads gven on an approprate dscretsaton level (often 30 mnutes),.e. models are demandbased wth regard to the above charactersaton. Overvews of applcatons and models can be found n Baker [1976], Ten and Kamyama [1982], Bechtold et al. [1991] and more recently n Ernst et al. [2004]. Staff schedulng problems are usually categorsed nto shft, dayoff, and tour schedulng models [Baker, 1976]. Shft schedulng s the problem of specfyng, for a gven day, the startng tmes and duratons of shfts assgned to employees, see Dantzg [1954]. Furthermore, t may nclude the problem of postonng meal and relef breaks wthn each shft [Bechtold and Jacobs, 1990]. Dayoff schedulng nvolves the placement of days off nto a cyclc or noncyclc roster [Tbrewala et al., 1972]. Typcally, target shft numbers per day are gven, mplyng on whch weekdays days off should deally be placed. Besdes demand coverage constrants, typcal restrctons nclude bounds on the number of consecutve days on and the placement of dayoff stretches and weekends off. If only one shft type s used, dayoff schedulng s equvalent to the overall task of buldng a vald roster. In the multpleshft case, we addtonally face a shft assgnment problem that conssts n attrbutng shfts to the gaps left after dayoff schedulng [Bennett and Potts, 1968]. In shft assgnment, we must usually respect mnmum rest tmes between shfts and maxmum offsets between start tmes on consecutve days on [Jacobs and Brusco, 1996] [Lau, 1996b]. Many scentsts have adopted sequental approaches for the soluton of the overall rosterng problem: Frst, target shft numbers for dfferent shft types are determned, then days off are scheduled and fnally, shfts are assgned to the remanng postons n the roster, see e.g. Baley and Feld [1985], Balakrshnan and Wong [1990], Khoong and Lau [1992] and Lau [1996a]. 9
26 1. Introducton However, we have already ponted out that the sngle problems are nterdependent, and t may not be possble at all to fnd a vald roster for the shfts determned n the frst step. Authors have therefore called for ntegrated formulatons subsumed under the noton tour schedulng [Baker, 1976]. Tour schedulng thus nvolves the smultaneous determnaton of shfts and dayoff postons n a roster subject to demand coverage constrants. A number of publcatons have dealt wth the generaton of cyclc rosters, e.g. Bennett and Potts [1968], Laporte et al. [1980], Balakrshnan and Wong [1990] and Mason [1999]. To the knowledge of the author, all models n the lterature have bult upon demand fgures per shft type,.e. there have not been any ntegrated approaches for smultaneous shft schedulng and cyclc rosterng. Many scentsts have used nteger programmng or lnear programmng based roundng to solve schedulng and rosterng problems [Ernst et al., 2004]. In Chapter 2, we wll gven an overvew of relevant workforce schedulng lterature wth a focus on models and soluton technques Relatonshp to Vehcle Routng and Schedulng The levellng problem for workforce demands (Secton 1.2.2) s based on placng work tasks n tours such that tme wndow and travel tme constrants are taken nto account. We wll ntally mnmse the number of tours whch are requred to cover the tasks. In a second phase, we wll take levellng effects for movable tasks nto account. The basc settng amounts to a vehcle routng problem wth tme wndows, coverng customers (work tasks) by a set of vehcle routes (tours). Smlar objectves as n workload levellng have been consdered n the lterature on resource levellng [Brucker et al., 1999]. Smlarly, tasklevel shft plannng conssts n desgnng tours of tasks such that each tour fts nto a shft duty. Addtonally to tme wndow and travel tme constrants, we must respect break and shft type constrants. Tasklevel shft plannng can therefore be nterpreted as an ntegraton of vehcle routng and shft schedulng. Addtonally, we have to deal wth splttable (preemptve) tasks, crews and qualfcaton constrants. Khoong et al. [1994] and Rekk et al. [2003] have called for an ntegraton of workforce schedulng wth vehcle routng, but no actual work has been done up to now. Related work ncludes the artcle by Baley et al. [1995] who rudmentally ntegrated project schedulng wth shft schedulng and by Berman et al. [1997] who ntegrated shft schedulng wth workflow optmsaton n a malprocessng faclty. From a vehcle routng perspectve, some scentsts have mposed tour length restrctons to deal wth maxmum duratons of drver dutes [Toth and Vgo, 2001a] [Campbell and Savelsbergh, 2004]. Vehcle routng has been a very actve feld of research over several decades. It subsumes a class of problems n whch a number of customers (here: tasks) must be served by a set of vehcles (here: workers, shfts), usng an approprate network for ther movements [Toth and Vgo, 2001a]. Tours start and end at one or several depots. Note that n tasklevel shft plannng, depots not only have a spacal character, but we can also nterprete shft start and end tmes as depots whch mpose temporal restrctons. Dfferent objectves are consdered n vehcle routng, e.g. mnmsng routng costs or the number of vehcles [Bodn and Golden, 1981]. Clearly, ths s smlar to mnmsng shft costs n tasklevel schedulng. Furthermore, qualfcaton restrctons n shft plannng can be nterpreted as a specal case of vehcle capacty restrctons. Whle the vehcle routng problem wth tme wndows (VRPTW) usually nvolves vehcle loads and capacty restrctons [Cordeau et al., 2001a], VRPTWs wthout capacty restrctons are usually denoted as multple travellng salesman problems wth tme wndows (mtsptw) [Desrosers et al., 1993]. If the start tmes of customer vsts are fxed, we deal wth vehcle schedulng problems (VSP) or capactated vehcle schedulng problems (CVSP) [Bodn and Golden, 1981] [Desrosers et al., 1993]. 10
27 1.5. Contrbutons of the Dssertaton Dantzg and Ramser [1959] were the frst to propose a mathematcal programmng formulaton for a realworld vehcle routng applcaton. Clarke and Wrght [1964] mproved upon the DantzgRamser approach and proposed ther classcal savngs algorthm. Overvews of vehcle routng models and algorthms are gven by Bodn et al. [1983], Chrstofdes [1985] and n the excellent artcle of Desrosers et al. [1993]. Further ndepth treatments can be found n the books of Golden and Assad [1988] and more recently n Toth and Vgo [2001b]. Complexty results on dfferent vehcle routng and schedulng problems are summarsed by Lenstra and Kan [1981]. A large varety of soluton technques have been appled to vehcle routng and schedulng problems, ncludng heurstcs (e.g. Solomon [1987]), local search (e.g. Potvn and Rousseau [1995]) and metaheurstcs (e.g. tabu search [Gendreau et al., 1994] [Potvn et al., 1996], evolutonary programmng [Potvn and Bengo, 1996]), nteger programmng (e.g. Desrosers et al. [1984], Desrochers et al. [1992]), constrant programmng (e.g. Klby et al. [2000]) as well as hybrd nteger/constrant programmng approaches (e.g. Rousseau et al. [2002]). Nearly ten years ago, Laporte and Osman [1995] have already collected 500 references n the context of vehcle routng and schedulng. We wll therefore restrct ourselves to an overvew of constrantbased approaches n Chapter Contrbutons of the Dssertaton The goal of ths work s to develop models and effcent algorthms for dfferent stages of arport ground staff plannng. The focus wll be on models whch are more ntegrated than former approaches. Ths s n accordance wth a general tendency toward more ntegrated optmsaton schedulng models n the lterature, see e.g. Cordeau et al. [2001c], Cordeau et al. [2001b] and Sørensen and Clausen [2002]. Clearly, models whch smultaneously deal wth several plannng stages potentally allow for realsng addtonal savngs. However, we wll not restrct our attenton to taskbased models, but argue that dependng on the context, demandlevel models may also be approprate for shft plannng and rosterng. All models and algorthms wll refer to anonymous schedulng,.e. we do not explctly assgn shfts or rosters to employees. Dependng on the context, we wll deal wth operatonal, tactcal, or strategcal plannng scenaros wth gven or unknown staff szes. In rosterng, we wll allow for plannng wth understaffng. Models and algorthms wll be desgned for potentally contnuous 24 7 operatons whch clearly does not exclude explotng the dscontnuty of partcular problem nstances, e.g. due to nght flyng restrctons on some arports. We wll use stateoftheart soluton technques to tackle these schedulng problems. Integer programmng (IP) and constrant programmng (CP) have receved consderable attenton n recent years and have proven to be powerful soluton technques for realworld problems. Integer programmng has been the predomnant soluton technques for demandlevel shft schedulng and rosterng models. Column generaton s often used to decompose problems nvolvng huge numbers of decson varables. Whle nteger programmng s a powerful soluton technque for obtanng optmal or nearoptmal solutons, constrant programmng s partcularly approprate for very complex settngs and nonlnear objectve functons or constrants. Throughout ths thess, both technques wll be used n dfferent contexts. We wll start by concevng a levellng procedure for demand plannng nvolvng movable tasks. Whle the basc settng s a vehcle routng problem wth tme wndows, the goal of workload levellng can be compared to resource levellng problems n project schedulng. Workload levellng s a novel problem that has not yet been dealt wth n the lterature. It wll be shown that the problem s N Phard. Based on the outcome of a tourmnmsaton algorthm, we wll conceve an constrantbased local mprovement algorthm amng at avodng unnecessary demand peaks. For the search for mprovng soluton, we wll make use of a novel varant of a restrcted tree 11
28 1. Introducton traversal strategy. Smlarly, a constrant model wll provde the bass for a local mprovement algorthm for complex tasklevel shft plannng. Integratng shft schedulng wth vehcle routng, tasklevel shft plannng s an optmsaton problem whch has not yet been treated n the lterature. We wll show how a large number of realworld constrants can be represented n a constrant programmng model, ncludng preemptve tasks, crew and qualfcaton restrctons. Usng large neghbourhoods, the local mprovement algorthm wll provde a remedy for defcences of a precedng heurstc constructon algorthm. In a further part of ths thess, we wll show how tasklevel shft plannng can be made amenable to optmal soluton technques by focusng on an mportant subclass. We wll show that even a very basc shft plannng settng s N Pcomplete n the strong sense. For the problem consdered, we wll develop a column generaton formulaton by DantzgWolfe decomposton. In conjuncton wth a prelmnary problem decomposton technque, the resultng branchandprce algorthm s able to solve a consderable number of realworld arport plannng problems to optmalty n a reasonable amount of tme. Turnng to demandbased models, we wll gve an llustratve ntroducton to mplct modellng of flexble break placement. We wll extend an exstng model for the representaton of flexble breaks, overcomng an mportant lmtaton that has not yet been explctly dealt wth n the lterature. The resultng model wll provde the bass for a branchandprce algorthm for ntegrated cyclc rosterng. In contrast to prevous models, our formulaton wll drectly buld upon workloads per demand perod and ntegrate the shft plannng and rosterng stage. The settng ncludes a multtude of constrants whch are relevant n ground staff rosterng and consderably extends prevous approaches. We wll devse a novel IP formulaton that s solved by multple column generaton and branchandprce, yeldng nearoptmal solutons on realworld test cases. All modellng approaches and algorthms wll be motvated by lterature revews and ntroductons to soluton technques throughout the work. All algorthms have been realsed as a part of a commercal tool for generc ground staff plannng. They are n use at many arlnes, arports and ground handlng companes or are about to be mplemented at customer stes. The algorthms contrbute to customer satsfacton, realse addtonal savngs and allow for more flexblty n the schedulng of ground staff. Some of the technques n ths work buld upon solutons of heurstc algorthms whch are not descrbed n detal here. The mmedate context of the algorthms n the plannng system s llustrated n Fg. 1.10; contrbutons of ths thess are shaded. Clearly, mplementng the algorthms as a part of a commercal plannng system has nfluenced desgn decsons. Hghqualty solutons are an mportant crteron, but robustness on a wde range of dfferent plannng scenaros was deemed at least as mportant. Computng tmes play a role especally when performng whatf analyses. Soluton technques whch offer a tradeoff between runnng tmes and soluton qualty clearly provde an advantage. All algorthms were tested on realworld plannng scenaros representng a wde range of dfferent arport servces. Test cases therefore ncorporate qute dfferent characterstcs, e.g. wth regard to task movablty, skll requrements and schedulng flexblty. Problems often have a very large scale and frequently nvolve consderable numbers of constrants. The evaluaton of the dfferent algorthms wll essentally be based on the same test cases, enablng for a recognton of common problem characterstcs and comparsons between dfferent soluton technques. 12
29 1.5. Contrbutons of the Dssertaton flght schedule passenger and baggage fgures engagement standards task generaton tasks tour plannng levellng demand curve demandbased shft plannng (wthout breaks) taskbased shft plannng local mprovement optmal shft plannng (on reduced problem) demandbased shft plan taskbased shft plan cyclc roster plannng manual or automatc generaton of noncyclc rosters cyclc rosters noncyclc rosters Fgure 1.10.: Overvew of contrbuted algorthms. 13
30 1. Introducton 1.6. Structure of the Document After havng gven an ntroducton to arport ground staff schedulng n ths chapter, we frst gve a comprehensve overvew of workforce schedulng lterature n Chapter 2. A specal focus s put on models and algorthms whch are relevant to arport operatons. We wll furthermore draw analoges of general workforce schedulng to crew schedulng at arlnes and publc mass transport companes. In Chapter 3, we wll ntroduce constrant propagaton technques for the soluton of constrant satsfacton and optmsaton problems. Local search methods n constrant programmng as well as modellng alternatves for CPbased vehcle routng wll be revewed, layng the ground for the two subsequent chapters. Chapter 4 descrbes the constrantbased local mprovement method for workload levellng n demand plannng and proves the N Phardness of the problem. Dfferent preprocessng technques wll be descrbed to prepare the results of a precedng constructon heurstc for levellng. Complex tasklevel shft plannng s the subject of Chapter 5. We wll ntroduce the general problem and develop a mathematcal model. A constrant programmng model for the problem wll be descrbed, and t wll be shown how problemspecfc lower bounds can be derved. The resultng local search algorthms s demonstrated to be effcent on a large varety of test cases, provdng a remedy for the flaws of a precedng constructon heurstc. Chapter 6 agan has an ntroductory character. DantzgWolfe decomposton prncple and the resultng column generaton and branchandprce technques wll be descrbed. Furthermore, we wll pont out the relatonshp to Lagrangan relaxaton and gve an overvew of recent developments. In Chapter 7, we wll apply DantzgWolfe decomposton to a subclass of the tasklevel shft plannng problem descrbed n Chapter 5 and solve the resultng model by branchandprce. Addtonally, we wll prove that even a very restrcted shft plannng problem s N Phard n the strong sense. Whle Chapter 2 already comprses a revew of mplct models n IPbased schedulng, Chapter 8 gves an llustratve ntroducton to mplct modellng of break placement flexblty n demandlevel schedulng. We wll generalse an mplct model from the lterature, overcomng lmtatons of prevous approaches. The resultng model provdes the bass for the ntegrated cyclc rosterng algorthm of Chapter 9. Revewng dfferent modellng alternatves and potentals for mplct models, we wll develop a new model for the creaton of complex cyclc rosters and devse adapted column generaton algorthms and branchng schemes. Chapter 10 wll gve a summary of contrbutons and an outlook on future developments and research. Chapters wll partly buld upon precedng explanatons. As far as possble, we have used a common mathematcal notaton throughout the thess. An overvew of symbols and abbrevatons can be found n Appendces A and B. Appendx C gves an overvew of workforce schedulng publcatons. 14
31 2. An Annotated Bblography on Workforce Schedulng When the weght of the paperwork equals the weght of the plane, the plane wll fly. Donald Douglas 2.1. Introducton In Chapter 1, we have ntroduced basc notons of workforce schedulng. Accordng to Baker [1976], workforce schedulng problems can be categorsed as ether shft schedulng, dayoff schedulng or tour schedulng approaches. Shft schedulng deals wth the determnaton of approprate shft dutes wthn a day n order to cover workforce requrements gven on a sutable dscretsaton level, e.g. 15 or 30 mnutes. Clearly, shft schedulng s trval f shfts do not overlap [Baker, 1976] [Mabert and Watts, 1982] [Emmons and Fuh, 1997]. Dayoff schedulng nvolves the determnaton of postons for days off n a cyclc or noncyclc roster. If only one shft type s nvolved, dayoff schedulng s equvalent to the overall task of buldng rosters. In the multpleshft case, we need an addtonal shft assgnment phase n order to match gven shfts nto the remanng roster gaps. Tour schedulng ntegrates these tasks by determnng daly shfts and dayoff postons smultaneously. In several publcatons, t has been ponted out that ntegrated formulatons can be mportant n order to avod excessve labour costs [Buffa et al., 1976] [Easton and Rossn, 1991], see also the comparatve evaluatons of McGnns et al. [1978] and Bechtold and Showalter [1987]. However, t should be noted that there s no need for an ntegrated formulaton f there are few restrctons on vald shft transtons from one day to the other or f only one shft type s used [Holloran and Byrn, 1986]. For an overvew of publcatons on dfferent model types (shft, dayoff and tour schedulng), the reader s referred to Appendx C. Some publcatons have assumed the sze of the workforce to be gven externally, see e.g. Mabert and Raedels [1977], Bechtold [1988] and Thompson [1996b]. Other researchers ntally solve a workforce allocaton problem of determnng the mnmum staff sze for the gven workloads, see Panton and Ryan [1999] and the combnatoral approaches descrbed n Secton 2.3. However, a majorty of publcatons has treated the determnaton of necessary workforce szes as an objectve n shft, dayoff or tour schedulng, see e.g. Henderson and Berry [1976], Morrs and Showalter [1983], Jarrah et al. [1994] and Brusco and Jacobs [2000]. Plannng s often based on cyclc demands, representng exemplary workloads of a model day or week. Demands are then assumed to wrap around,.e. the frst demand perod s assumed to follow the last schedulng nterval [Çezk and Günlük, 2002]. Analogously, employee avalablty s frequently assumed to be cyclc wth employees workng on a repeatng pattern [Morrs and Showalter, 1983] [Jacobs and Brusco, 1996] [Brusco and Jacobs, 1998a]. As descrbed n Secton 1.2.4, cyclcty can also refer to the roster tself, meanng that the roster conssts of a sequence of several weeks on whch workers rotate (cyclc rosters) [Baker, 1976] [Mason, 1999]. 15
32 2. An Annotated Bblography on Workforce Schedulng Tour schedulng generally refers to the noncyclc case (even f demands and employee avalabltes can be cyclc), whle publcatons on cyclc roster generaton are more scarce. All cyclc roster approaches n the lterature are nonntegratve,.e. they buld upon demand fgures per shft type. As mentoned n Secton 1.2.3, we can further dstngush named and anonymous schedulng approaches [Ten and Kamyama, 1982] [Khoong et al., 1994]. Named schedulng mples that ndvdual employees are explctly assgned to shfts and tours, meanng that nformaton on sklls, avalabltes and preferences can be taken nto account, see e.g. Love and Hoey [1990]. In contrast, employee attrbuton s not part of anonymous schedulng. Whle named schedulng s e.g. frequent n nurse schedulng and arlne crew rosterng (see Sectons 2.6 and 2.11), arport planners usually employ anonymous schedules. Clearly, cyclc rosters are always anonymous. Appendx C gves an overvew of lterature on named and anonymous schedulng. Tour schedulng scenaros are frequently categorsed as ether contnuous or dscontnuous. Organsatons workng on a contnuous bass are confronted wth labour requrements on 24 hours a day, 7 days a week. Shfts for contnuous operatons usually overlap from one day to the other. In contrast, dscontnuous models nvolve lessthan24h operatons. Dscontnuty ntroduces a specal structure nto mathematcal programmng formulatons of schedulng problems, meanng that such problems are often easer to solve [Jarrah et al., 1994] [Brusco and Jacobs, 1995] [Brusco and Johns, 1996]. Schedulng flexblty also vares wth other factors. The workforce may be made up of only fulltme employees (e.g. Morrs and Showalter [1983], Bechtold et al. [1991], Brusco and Jacobs [1993b]) or a mx of fulltme and parttme workers (e.g. Bennett and Potts [1968], Easton and Rossn [1991], Brusco [1998]). Whle n some organsatons, t may be possble to start shfts at any tme of the day wthn a gven dscretsaton, other companes may only be able to use a small number of dfferent shft types [Thompson, 1995] [Rekk et al., 2003]. Furthermore, one or several lunch and relef breaks may have to be consdered at fxed tmes wthn the shfts or wthn gven tme wndows [Aykn, 2000]. In tour schedulng, shfts on consecutve days may be constraned to equal start tmes and duratons (see e.g. Laporte et al. [1980], L et al. [1991]) whle n other settngs, start tmes are allowed to vary freely (e.g. Baley [1985]) or wthn gven bands (e.g. Jacobs and Brusco [1996]). Work rules may constran days off to be taken consecutvely or allow for sngle days off [Bechtold, 1981]. If shft duratons are dentcal and the number of shfts per week s gven, the number of workng hours s fxed (see e.g. Glover and McMllan [1986], Thompson [1993] and Çezk et al. [2001]). In other problems, average workng hours per week are explctly taken nto account, see e.g. Mason and Smth [1998]. Dfferent degrees of flexblty are usually due to legal or unon regulatons. Addtonally, specal assumptons can be taken for computatonal reasons [Laporte et al., 1980] [L et al., 1991]. However, Jacobs and Bechtold [1993] have emprcally shown that hgher degrees of schedulng flexblty often allow for a better labour utlsaton. Shft, dayoff and tour schedulng can be represented by a generalsed set coverng formulaton whch s orgnally due to Dantzg [1954], see also Morrs and Showalter [1983] and Baley and Feld [1985]: mn j J c j X j (2.1) subject to a j X j d I (2.2) j J X j 0 and nteger j J (2.3) 16
33 2.2. Shft Schedulng Approaches In the context of shft schedulng, coeffcents and decson varables have the followng meanngs: X j number of employees assgned to shft j; c j cost of shft j; d number of employees requred to work n the th tme perod; I set of tme perods n a day; J set of daly shft types; = 1 f tme perod s a work perod n daly shft type j (0 otherwse). a j For dayoff schedulng, parameters and varables are nterpreted as follows: X j number of employees assgned to dayoff pattern j; c j cost of dayoff pattern j; d number of employees requred on the th day of the week; I set of operatng days per week; J set of dayoff patterns to be consdered; = 1 f day s a work day n the dayoff pattern j (0 otherwse). a j In tour schedulng, varables and columns n the constrant matrx represent tours of shfts: X j number of employees assgned to tour j; c j cost of tour j; d number of employees requred to work n the th tme perod; I number of tme perods to be scheduled over the week; J number of tour types to be consdered; = 1 f tme perod s a work perod n tour j (0 otherwse). a j Most models for shft, dayoff and tour schedulng mplctly or explctly rely on ths model, see e.g. Keth [1979], Morrs and Showalter [1983], Brusco and Jacobs [1993a] and Aykn [2000]. As wll become clear n the sequel, many authors have used nteger programmng (IP) approaches or lnear programmng based roundng heurstcs to solve ths problem, see also Ernst et al. [2004]. Several authors have noted that the aforementoned lnear programmng (LP) formulaton generally exhbts advantageous nteger propertes (see e.g. Baley [1985], Baley and Feld [1985]). Furthermore, the LP relaxaton s known to be very tght and therefore lends tself well for nteger soluton methods by branchandbound [Henderson and Berry, 1976] [Morrs and Showalter, 1983]. The followng overvew of workforce schedulng publcatons focuses more on models and soluton technques than prevous surveys (lke Ernst et al. [2004]). Furthermore, t concentrates on publcatons wth relevance to arport ground staff plannng. The presentaton wll manly be structured by the aforementoned problem classes. Two modellng features have receved attenton on ther own rght and wll be descrbed separately: the modellng of flexble break placement as well as workng subset approaches, amng at reducng the number of used shft types. Furthermore, nurse schedulng s descrbed as a specal case of named schedulng. Complexty results n workforce schedulng problems are summarsed n a separate secton. At the end of the chapter, we wll gve annotatons on smlartes of general workforce schedulng wth arlne crew rosterng and drver schedulng n publc mass transport. Wthn each secton, publcatons wll be cted n chronologcal order f groupng contrbutons by afflaton s not more approprate Shft Schedulng Approaches Dantzg [1954] was the frst to propose the above set coverng formulaton for shft schedulng of toll booth staff. He noted that usng the smplex method often naturally yelds nteger solutons 17
34 2. An Annotated Bblography on Workforce Schedulng and proposed to round up fractonal values n order to obtan feasble nteger solutons. Furthermore, Dantzg called for ntegratng breaks nto the formulaton by settng the correspondng matrx coeffcents to 0. Bennett and Potts [1968] used ths explct representaton of breaks for shft schedulng of toll collectors wth a gven rato of fulltme and parttme employees. Amng at mnmsng excess labour, the set coverng model was solved by a multplestep nteger programmng procedure. Plannng of telephone operator dutes was a popular doman of applcaton n the 1970 s. Segal [1972] proposed a network flow model, usng the outofklter method. In hs approach, labour demands are ncorporated n lower bounds on socalled forward arcs whle backward arcs represent feasble shfts. Breaks are scheduled n a second phase, possbly resultng n labour shortages whch are added to the demands of the orgnal problem. Buffa et al. [1976] descrbed how to forecast telephone operator workloads, usng hstorcal data and a queueng model. Ther heurstc shft schedulng algorthm allows for understaffng and overstaffng and used local estmatons of devatons between operator avalablty and forecasted demands. Shfts are then heurstcally assgned to operators, takng shft and dayoff preferences nto account. Henderson and Berry [1976] proposed an LP approach for telephone operator schedulng, usng dfferent roundng heurstcs and local search. The formulaton uses a workng subset of shft types whch are heurstcally selected n a frst step. In another LP approach to telephone operator schedulng, Keth [1979] allowed for twolevel understaffng and overstaffng whch s penalsed n the objectve functon. He proposed to round fractonal solutons to the nearest nteger, subsequently applyng several mprovement steps. Gaballa and Pearce [1979] used queueng models to forecast weekly workloads n sales reservaton offces at Qantas. Daly shft schedulng problems are solved by nteger programmng, ncorporatng breaks by a dstnct set of varables. Weekly rosters are bult n a second step, agan usng nteger programmng. In another arlne applcatons, Stern and Hersh [1980] descrbed the schedulng of arcraft cleanng crews, usng nonoverlappng shft types and flexble breaks. In ther settng, workloads for each job at an arcraft are gven as manhours to be worked by a crew of workers. The applcaton leads to a specal shft schedulng model to be decomposed and solved by nteger programmng. In an nterestng paper, Barthold et al. [1980] analysed a class of cyclc staffng problems, coverng shft and dayoff schedulng settngs. Cyclc staffng problems lead to set coverng formulatons n whch the columns (rows) of the constrant matrx contan cyclcally consecutve ones. The authors showed how to solve ths class of problems effcently ether by varable transformaton and a network flow formulaton or by lnear programmng and cumulatve roundng. These results were generalsed by Barthold III [1981] who presented another optmal LPbased roundoff algorthm for column (row) crcular matrces. For problems wth nonconsecutve ones n the constrant matrx, a qualty bound was gven n terms of the number of blocks of ones. Also based on ths work, Karp and Orln [1981] descrbed the transformaton of cyclc staffng problems nto parametrc shortest path problems and presented a polynomaltme soluton algorthm. Vohra [1988] proposed a heurstc algorthm for cyclc problems allowng for more than one block of consecutve ones when blocks of ones have equal lengths. The qualty of the heurstc depends on demand devatons from the maxmum workload, ensurng optmalty only f all requrements are equal. In the context of shft schedulng wth fxed breaks, Baley and Feld [1985] stressed the mportance of usng dfferent shft lengths to cover workloads effcently. The LPbased roundng algorthm of Barthold III [1981] was shown to be superor to the heurstc approach of McGnns et al. [1978] proposed n the context of tour schedulng (see Secton 2.5). Love and Hoey [1990] descrbed the development of a system for named shft plannng n fastfood restaurants, takng employee avalabltes nto account and tryng to balance skll levels between dfferent workng areas. The problem s decomposed nto a set coverng formulaton for 18
35 2.3. DayOff Schedulng Approaches shft schedulng and an employee assgnment phase, both of whch are solved by network flow algorthms. Shft schedulng for fulltme and parttme staff at Pan Am was descrbed by Schndler and Semmel [1993]. The model was solved by nteger programmng, consderng lunch breaks n a second phase. Thompson [1996b] developed a model for named shft schedulng wth lmted employee avalabltes. A specal set coverng model wth sets of shfts for each employee and multlevel penaltes for understaffng and overstaffng was presented and solved by smulated annealng (SA). Expermentally evaluatng dfferent local search operators, the SA approach was shown to yeld solutons whch are only slghtly worse than optmal IP solutons. Berman et al. [1997] ntegrated the schedulng of shfts and workflow of a mal processng faclty n an nteger programmng model. On the personnel schedulng level, fulltme and parttme employees as well as breaks and qualfcatons were taken nto account. Workflow was subjected to tme wndow and capacty constrants. In the arport cargo handlng applcaton of Nobert and Roy [1998], workloads are gven as klos of freght to be processed n gven tme ntervals. The authors ntegrated the levellng of these workloads wth shft schedulng nto an nteger programmng formulaton. Usng test data from Ar Canada, the levellng approach was shown to be superor to lnear or no levellng. Sørensen and Clausen [2002] expermentally nvestgated the effects of decentralsng ground staff plannng for Brtsh Arways operatons at LondonHeathrow arport. Ther model ntegrates a socalled zonng problem wth the allocaton of arcraft stands and cyclc shft schedulng. Whle the soluton approach uses smulated annealng on the zonng and stand level, the shft schedulng problems employ only lmted numbers of shfts and can be solved heurstcally. It was shown that ncreasng the number of zones and decentralsng plannng processes can lead to consderable excess workforce and a declne n the qualty of stand allocatons. By applcaton of hstorcal flght delay data, the robustness of stand allocatons and staff plans was evaluated. Muslu et al. [2004] descrbed a weekly shft schedulng problem, avodng an excessve use of dfferent shft types over the week. The authors proposed a tabu search algorthm whch explots problemspecfc knowledge. The algorthm s part of a commercal schedulng system DayOff Schedulng Approaches As mentoned before, dayoff schedulng conssts n determnng the placement of days off n cyclc or noncyclc rosters. Mabert and Raedels [1977] formulated a dayoff schedulng problem for parttme bank tellers as a set coverng model. In ther formulaton, workloads of dfferent branches of the bank are aggregated, the resultng problem solved by nteger programmng and subsequently dsaggregated. An alternatve heurstc procedure was shown to be computatonally advantageous, but nferor wth regard to soluton qualty. Based on ths work, Bechtold [1988] presented a dayoff schedulng model and heurstc algorthms for dfferent goal sets, lmts on the number of consecutve days on and employees workng ether at a sngle or at multple locatons. The algorthms were shown to outperform the alternatve heurstc method of Mabert and Raedels [1977]. Most publcatons on dayoff schedulng are more restrctve wth regard to the gven demand fgures and the work rules consdered. Many authors have proposed sequental approaches, startng by determnng lower bounds on the workforce sze. Afterwards, days off are assgned accordng to gven rules, resultng n polynomal tme algorthms for solutons usng the mnmum workforce sze. Emmons and Burns [1991] call ths the combnatoral approach. Whle early publcatons refer to only one shft type, the combnatoral approach has later been extended to multple shfts. Snce demand fgures are gven per shft type, these models are not ntegrated as 19
36 2. An Annotated Bblography on Workforce Schedulng n tour schedulng. Demands and employee avalabltes are generally assumed to be cyclc. In the settng of Tbrewala et al. [1972], varable demand fgures are gven for a sngle shft type over a week. The authors demonstrated how to arrve at a mnmum workforce sze, allowng for one or two days off per week. In the cyclc model of Baker [1974], varable shft demand fgures are to be covered exactly by a mx of fulltme staff wth two consecutve days on per week and parttme staff avalable to work sngle shfts. Baker showed that a proposed tableau algorthm was always able to determne a soluton usng the mnmum number of parttme staff. Brownell and Lowerre [1976] studed necessary workforce szes when demands for a sngle shft type are equal on all weekdays and on weekend days. Wth employees workng fve days each week, closedform expressons for the mnmum workforce sze as well as optmal algorthms for dfferent work polces (e.g. consecutve days off, every other weekend off) were presented. Lowerre [1977] refned these results, analysng the lengths of workstretches (number of consecutve days on) and addng two further polces for cyclc rosters. Baker and Magazne [1977] bascally treated the same settng wth only cyclc demands, but relaxed the condton of Brownell and Lowerre [1976] of weekend demands to be lower than weekday requrements. Burns [1978] allowed for a maxmum of sx days on as well as varable demands wth every other weekend off n a cyclc settng. Baker et al. [1979] treated the case of equal demands on all days wth employees workng fve days each week and a maxmum of sx consecutve days on. Concentratng on an AoutofB weekends off constrant, they studed the consequences of dfferent work polces on the workforce sze. Bechtold [1981] allowed for arbtrary demands and presented algorthms for one or two days off per week. He showed that hs algorthm s easer and more effcent than the comparable algorthm of Tbrewala et al. [1972]. However, t was noted that the latter algorthm yelds better dstrbutons of surplus labour whle hs own approach turned out to better dsperse slack than the roundoff procedure of Barthold et al. [1980]. In cyclc rosterng, Emmons [1985] treated the case of a mnmum workforce whch s equal on weekdays and on weekend days, grantng two days off per week, A out of B weekends off and workstretches of between two and four days. Burns and Carter [1985] extended ther earler studes on constructve algorthms by consderng varable demands, fve workdays per week, maxmum workstretches of sx days and A out of B weekends off n noncyclc schedulng. Workers of dfferent skll rankngs were consdered by Emmons and Burns [1991], assumng that workforce requrements for each class of workers are constant throughout all days of the week. Employees were granted A out of B weekends off. Ther method frst determnes necessary workforce szes, then dstrbutes weekends off and other days off and fnally assgn shfts, mnmsng the use of hghlyqualfed staff. A last sngleshft model for noncyclc schedulng was presented by Emmons and Fuh [1997]. Labour requrements were assumed to be constant throughout weekdays and weekend days. Two types of parttme workers were consdered, the one entalng lower costs than fulltme employees and a more expensve but unlmted pool of parttme staff. Burns and Koop [1987] were the frst to extend prevous combnatoral approaches to a multple shft case wth three nonoverlappng shfts and equal demands on weekdays and lower but equal demands on weekends. Shft changes wthn workstretches were dsallowed and A out of B weekends off granted. Based on closedform expressons for the mnmum workforce sze, ther algorthm bulds rosters on the bass of socalled modules,.e. predetermned patterns of one or several weeks. The slots of these modules are then flled by approprate shft dutes. Koop [1988] studed another cyclc roster settng wth multple shfts and shft change restrctons. It was shown how to determne lower bounds on the workforce sze. The author proposed a network model for cyclc rosterng and formulated condtons for the exstence of a crculaton. Addtonally, some specal cases of shft change constrants were consdered. Hung consdered a smlar multpleshft case wth equal demands on weekdays and week 20
37 2.4. Shft Assgnment Approaches end days for each shft [Hung, 1993] [Hung, 1994a] [Hung, 1994b]. As n other combnatoral approaches, closedform expressons for the mnmum workforce sze as well as constructve optmal algorthms were gven for three [Hung, 1993], four [Hung, 1994a] and alternatng three/four [Hung, 1994b] shfts per week. These approaches were extended by Burns and Narasmhan [1999], provdng control over maxmum lengths of workstretches. Optmal workforce szes were determned, days off allocated and fnally shfts assgned wthout consderng restrctons on shft successons. All combnatoral approaches are restrcted to specal cases and usually do not generalse to dfferent work polces. Emmons and Burns [1991] note that an nteger programmng formulaton can more easly ncorporate addtonal constrants, and be extended to more general models. However, combnatoral models have often ncorporated constrants whch have not yet been represented n full detal n more general soluton approaches Shft Assgnment Approaches Shft assgnment s concerned wth the attrbuton of shfts of gven types to the gaps left after dayoff schedulng. Clearly, t only apples to sequental approaches whch decompose the rosterng problem nto a dayoff and shft assgnment phase. Two of the aforementoned publcatons already comprse a shft assgnment part, namely Emmons and Burns [1991] and Burns and Narasmhan [1999]. Van den Berg and Panton [1994] nvestgated two shft assgnment problems for cyclc rosters. One problem constrans shfts on consecutve days to have equal types whle the other allows for forwardrotatng assgnments,.e. shfts rotate from earler to later start tmes. Dfferent exstence condtons for such assgnments were presented and subproblems solved by heurstcs and network flow algorthms. Lau nvestgated a smlar problem denoted as changng shft assgnment problem, prescrbng vald shft transtons by a matrx. Whle the overall problem was shown to be N Phard [Lau, 1996b], greedy and network flow approaches were proposed for some easer subclasses n Lau [1994], Lau [1996a] and Lau [1996b]. In a named schedulng model, Jackson et al. [1997] compared dfferent approaches for assgnng gven shfts wth qualfcaton requrements to employees. Greedy and random greedy algorthms resulted n satsfactory results whle dfferent teratve mprovement approaches lke tabu search dd not compare favourably Tour Schedulng Approaches Rtzman et al. [1976] were the frst to propose a smultaneous approach for shft and dayoff schedulng n an applcaton to a mal sortng faclty. Integratng the plannng of workforce and workflow between dfferent operatons, fulltme and parttme staff was scheduled by dedcated decson rules and smulaton. Several publcatons have ponted out the mportance of ntegrated models. McGnns et al. [1978] showed an ntegrated heurstc algorthm to outperform a sequental approach, consstng n shft schedulng, dayoff schedulng and shft assgnment. In an nteger programmng approach to dscontnuous tour schedulng, Baley [1985] showed that consderable savngs can be obtaned from an ntegrated formulaton. Bechtold and Showalter [1987] demonstrated the superorty of a heurstc tour schedulng algorthm over an LPbased twophase approach. A lnear programmng roundng procedure for contnuous tour schedulng was proposed by Morrs and Showalter [1983]. In ther soluton method, fractonal solutons are frst rounded down before restorng feasblty by successvely addng tours. The algorthm was shown to yeld 21
38 2. An Annotated Bblography on Workforce Schedulng a maxmum devaton of 1% wth regard to the LP relaxaton and to compare favourably to the roundng heurstcs of Henderson and Berry [1976] and Barthold III [1981]. Glover et al. [1984] presented a model for dscontnuous named tour schedulng, takng preferences nto account and ncorporatng fulltme and parttme employees. As a precursor of tabu search, a local search algorthm was descrbed, allowng for steps nto the nfeasblty regon of the search space. A smlar approach was proposed by Glover and McMllan [1986] for named tour schedulng wth restrcted employee avalabltes, fulltme and parttme staff, dfferent skll levels, flexble breaks and restrctons on the number of weekly workng hours. The approach was tested successfully on shft schedulng problems arsng n fastfood restaurants. Holloran and Byrn [1986] descrbed the development of a schedulng system for Unted Arlnes sales reservaton offces and passenger servces. Ther approaches uses queueng models for the generaton of typcal weekly workloads. These are covered by monthly tours wth equal shfts n each workstretch, usng the LPbased roundng scheme of Henderson and Berry [1976]. Separate modules are used to reduce the number of employed shft start tmes and to ensure contguty between monthly work schedules. Further applcatonorented papers were contrbuted by Andrews and Parsons [1989] and Taylor and Huxley [1989]. Andrews and Parsons [1989] descrbed the evaluaton of commercal schedulng systems for telephone operators at a malorder sales company, ncludng demand forecastng models and tour schedulng algorthms. Taylor and Huxley [1989] descrbed the realsaton of a schedulng system for the San Francsco Polce Department. A prmaldual nteger heurstc was developed to solve a tour schedulng problem wth relatvely strct restrctons on the dstrbuton of shfts and days off. Bechtold et al. [1991] compared dfferent tour schedulng algorthms, ncludng the LPbased roundng approaches of Henderson and Berry [1976], Keth [1979] and Morrs and Showalter [1983] as well as the heurstc algorthms of Buffa et al. [1976], McGnns et al. [1978] and Bechtold and Showalter [1987], usng a tour schedulng settng whch s amenable to all of these soluton technques. On a set of artfcal test problems, the technque of Bechtold and Showalter [1987] turned out to be compettve wth LPbased approaches whle the roundng heurstcs of Keth [1979] and Morrs and Showalter [1983] outperformed alternatve soluton technques. Easton and Rossn [1991] descrbed a column generaton algorthm for tour schedulng. Only tours of nonzero values n the LP relaxaton were subjected to an nteger programmng formulaton. The authors showed that ths method often fnds optmal overall solutons and outperforms LPbased roundng or mprovement algorthms. In an applcaton to a lockbox department of a bank, L et al. [1991] nterpreted constrant coeffcents of a set coverng formulaton as employee productvtes. For a dscontnuous tour schedulng formulaton for fulltme and parttme employees, they proposed LPbased roundng based on the methods of Barthold III [1981] and Showalter and Mabert [1988]. Loucks and Jacobs [1991] presented a named tour schedulng problem arsng n a fastfood restaurant, nvolvng employee avalabltes, sklls and task assgnments. Ther formulaton s based on goal programmng, amng at mnmsng overstaffng and devatons from targeted work hours for each employee. However, a goal programmng soluton method was deemed too costly, and constructon and mprovement heurstcs were used nstead. In two publcatons, Brusco and Jacobs proposed smulated annealng approaches for tour schedulng scenaros nvolvng flexble breaks. Brusco and Jacobs [1993b] appled SA to dscontnuous tour schedulng and allowed for starttme float wthn the tours. In contrast, the SA algorthm of Brusco and Jacobs [1993a] refers to contnuous tour schedulng wth equal start tmes on all days and fve consecutve days on per tour. Both approaches buld upon an ntal heurstc soluton and use a neghbourhood whch conssts n droppng and rebuldng tours. Brusco and Jacobs [1993b] showed that smulated annealng s faster than LPbased methods whle obtanng solutons whch are wthn a maxmum devaton of 1.95% from the LP relaxatons. Brusco and 22
39 2.5. Tour Schedulng Approaches Jacobs [1993a] showed that SA outperforms the LPbased roundng technques of Keth [1979] and Morrs and Showalter [1983]. A number of publcatons s based on these smulated annealng algorthms, ncludng Brusco and Jacobs [1995], Brusco and Johns [1995], Brusco et al. [1995], Brusco and Jacobs [1998b] and the shft schedulng approach of Thompson [1996b] descrbed above. Brusco and Jacobs [1995] conducted experments on a tour schedulng formulaton for a mxed fulltme/parttme workforce. They showed that applyng a dscontnuous formulaton to contnuous problems entals substantal excess labour costs f the use of parttme staff s lmted. Brusco and Johns [1995] showed how to treat the even dsperson of surplus labour as a secondary goal n the tour schedulng model of Easton and Rossn [1991], usng the above SA algorthm and the LPbased roundng approach of Morrs and Showalter [1983]. The development of a PCbased personnel schedulng system for fulltme and parttme workers at Unted Arlnes was descrbed n Brusco et al. [1995]. In ths applcaton, the above smulated annealng algorthm bulds upon ntal tour schedules generated by the system of Holloran and Byrn [1986]. Major savngs were reported usng the new system. The authors ncorporated an LPbased technque for reducng the number of shft startng tmes whch was descrbed by Brusco and Jacobs [1998b] (cf. Secton 2.9). Equally based on data of Unted Arlnes operatons, Brusco and Jacobs [1998a] showed how the number of columns n the IP formulaton of a contnuous tour schedulng problem can be reduced by some smple observatons. Jacobs and Bechtold [1993] conducted a comprehensve study on the effcency of tour schedulng wth dfferent degrees of flexblty, usng the nteger programmng formulaton of Baley [1985] and the break model of Bechtold and Jacobs [1990] (descrbed n Secton 2.8). On a set of dfferent requrement patterns, they found out that flexblty wth regard to tour lengths and break placement are major sources of schedule effcency. Whle shft type flexblty (start tmes and lengths) had consderable effects, starttme float wthn the tours and dayoff flexblty were only mnor factors. Furthermore, t was noted that a dfferent extent of labour requrements throughout the day has consderable mpact on roster effcency. Whle the ampltudes of demands are further mportant factors, mean requrements were not found out to be sgnfcant. In a smple tour schedulng envronment, Thompson [1993] conducted a smulaton analyss on the consequences of dfferent requrement representatons. Alternatvely to atleast staffng levels, a servce operaton was modelled by target staffng models, allowng for staff shortages and overcoverages. Target staffng levels as well as stepwse lnear costs of understaffng and overstaffng were calculated from dfferent customer arrval patterns, servce tmes and customer dssatsfacton costs. Usng the LPbased roundng technques of Henderson and Berry [1976] and Keth [1979], Thompson [1993] concluded that more exact representatons of demands and the admttance of supply shortage results n lower overall costs. Bechtold and Brusco [1994a] proposed a sequental approach for dscontnuous tour schedulng of fulltme and parttme staff whch s amenable to the soluton by a personal computer. For the soluton of the underlyng shft schedulng problems, they combned the algorthm of Showalter and Mabert [1988] wth an mprovement phase by Henderson and Berry [1976], favourng the use of few shft start tmes across the days. The procedures of Bechtold [1981] and Bechtold [1988] were subsequently used for dayoff schedulng. In comparson to the method of Easton and Rossn [1991], the approach was shown to yeld slghtly worse results on easy test problems whle results were better on larger scenaros and requred less computng tme. Inspred by Burns and Carter [1985] and Bechtold and Jacobs [1990], Jarrah et al. [1994] combned seven daly shft schedulng formulatons nto an nteger programmng model for dscontnuous tour schedulng, usng specalsed branchng rules on aggregate features. The effectveness of the approach was demonstrated on test cases of the U.S. Postal Servce. Baley et al. [1995] proposed an ntegrated nteger programmng model for project and tour schedulng. Only lttle nformaton was gven on modellng detals and soluton methods. 23
40 2. An Annotated Bblography on Workforce Schedulng Brusco and Johns [1996] exploted the specal structure of dscontnuous tour schedulng problems. Ther method s based on successve fxatons of tour varables n an LP formulaton, startng wth tours whose shfts start n the frst or last perod of the days. On settngs wth only fulltme workers, the authors showed that ths approach nearly always fnds optmal solutons and outperforms the technques of Keth [1979] and Morrs and Showalter [1983]. Usng the reducton technque of Easton and Rossn [1991] for experments on a mxed workforce, the algorthm turned out to perform consstently better than the method of Bechtold and Brusco [1994b]. A system for monthly ground staff rosterng at a large arport was descrbed by Dowlng et al. [1997]. Allocatng actual work tasks as late as one day before operatons, a smulated annealng algorthm was used to solve the tour schedulng problem on the demandcurve level. Brusco [1998] proposed to use the Gomory dual allnteger cuttng plane to solve a dscontnuous tour schedulng problem nvolvng fulltme and parttme employees. On schedulng envronments wth dfferent degrees of flexblty, the approach was shown to be superor to a commercal branchandbound code for nteger programmng. In a call centre applcaton, Henderson and Mason [1998] consdered the determnaton of labour requrements as an ntegral part of schedulng. They proposed to repeatedly terate between shft or tour schedulng by nteger programmng and the smulaton of customer arrvals by a queueng model, generatng new demand constrants for the schedulng model. AlvarezValdez et al. [1999] developed a tabu search algorthm for contnuous tour schedulng of a mxed workforce at a Spansh arcraft fuellng company. In ther contrbuton, schedules refer to one week, but respect constrants wth regard to the precedng week as well as global work balances. The proposed algorthm frst only determnes shft classes for each day. Schedules are then assgned to employees and approprate shfts flled n. The method was compared to a commercal nteger programmng package at equally restrcted runtmes. However, the tabu search approach stll yelded solutons exceedng IP results by 2% and more. Mason and Nelsen [1999] descrbed a named tour schedulng algorthm. The procedure s part of a commercal software package whch has been mplemented n call centres, at an arport Customs authorty and for nurse rosterng. Ther model nvolves qualfcatons and staff preferences and was solved by heurstc decomposton and column generaton Nurse Schedulng Approaches The schedulng of nurses and physcans has receved partcular attenton n the lterature. Whle ths applcaton area s closely related to other domans of workforce schedulng, models usually bear some specal characterstcs. Nurse schedulng generally belongs to the class of named schedulng models, ncorporatng preferences and avalabltes, see e.g. Warner [1976] and Dowsland [1998]. Furthermore, several researchers have consdered nurses of dfferent skll classes [Arthur and Ravndran, 1981] [Jaumard et al., 1998]. Requrements are usually gven per shft type,.e. nurse schedulng refers to the sequental or smultaneous determnaton of dayoff and shft postons. Most publcatons assume three nonoverlappng shft types, namely mornng, evenng and nght shft [Arthur and Ravndran, 1981]. Breaks are not consdered, but models may nclude the assgnment of nurses to functons, see Schaerf and Mesels [1999]. Soluton methods sometmes only am at fndng feasble solutons [Berrada et al., 1996] [Jaumard et al., 1998] [Schaerf and Mesels, 1999]. Alternatvely, t may be known that requrements cannot be met at all [Warner, 1976], or nurse preferences are consdered more mportant than meetng demands [Arthur and Ravndran, 1981]. As most nurse schedulng models are feasbltydrven, soluton methods are often dfferent from general workforce schedulng and e.g. nclude constrant programmng and tabu search. The class of problems arsng n nurse schedulng s sometmes subsumed under the term employee tmetablng problems [Mesels et al., 1997] [Schaerf and Mesels, 24
41 2.6. Nurse Schedulng Approaches 1999]. We wll shortly survey the relevant lterature; two further publcatons on nurse schedulng wll be descrbed n the subsequent secton on cyclc rosterng. Mller et al. [1976] presented a local search scheme for nurse schedulng wth only one shft type. Ther algorthm ams at meetng mnmum and preferred staffng levels as well as nurse preferences. The method was mplemented n a number of hosptals n the U.S. and Canada, yeldng results whch were superor to the schedules used by the hosptals before. In the model of Warner [1976], nurses were allowed to specfy ther preferences on score cards, dstrbutng penalty ponts for nconvenent assgnments. Dfferent skll classes were consdered. A multplechoce nteger programmng formulaton was used to generate 14day schedules for each nurse wth costs reflectng preferences. The optmsaton approach was mplemented at the Unversty of Mchgan Hosptal. Arthur and Ravndran [1981] descrbed a sequental approach for nurse schedulng. Whle weekends off were granted accordng to nurse preferences, other days off were scheduled by a goal programmng approach. Shfts of three skll classes were then assgned separately, agan takng preferences nto account. Musa and Saxena [1984] used a goal programmng formulaton for dayoff schedulng of nurses. Goals ncluded the coverage of workloads as well as meetng weekendoff preferences and weekly work hours. A specal soluton technque, nspred by the addtve algorthm of Balas [1965], was appled to a small example. Based on the tour schedulng approach of Baley [1985], Ozkarahan and Baley [1988] presented a goal programmng model for nurse schedulng wth a fxed staff sze. Demands were gven per tme perod, and goals ncluded meetng the workforce requrements as well as matchng the derved shft numbers to tours. A sequental soluton approach was used, determnng daly schedules after dayoff schedulng. Tests were carred out on realworld data, and sgnfcant savngs were reported wth regard to the manual plannng method used before. Wel et al. [1995] developed a constrant programmng (CP) model for nurse schedulng, usng a smple search strategy on a small realworld example. In a strongly constraned settng ncludng preassgned shfts, Cheng et al. [1997] presented another CP method for nurse schedulng. Redundant modellng was used, couplng two alternatve constrant programmng models by socalled channellng constrants. The technque was successvely appled to realworld data from a Hong Kong hosptal. Mesels et al. [1997] descrbed the development of a nurse schedulng system nvolvng a combned CP/knowledgebased approach. Qualfcaton and shft compatblty constrants were ncorporated as well as nurse preferences. The settng of Berrada et al. [1996] consders constrants on the number of consecutve and weekly workng days as well as restrctons on the placement of days off and preferences. The model was solved by nteger programmng and tabu search. Contrary to Berrada et al. [1996], Dowsland [1998] regarded demands for nonoverlappng shfts as hard constrants. An nvolved twophase tabu search algorthm was proposed, usng strategc oscllaton and chan neghbourhoods. Tabu search was reported to be more robust than smulated annealng or random descent. Jaumard et al. [1998] descrbed a general framework for the soluton of nurse schedulng problems by branchandprce. Ther settng s closer to general workforce schedulng as demand fgures are gven by socalled demand perods and shfts are allowed to overlap. Preferences and sklls are consdered as well as understaffng. Addtonally, the model ncludes matchng condtons for contguty between schedulng perods. The authors used a column generaton formulaton, representng workng hours, weekends off, consecutve days on, holdays and shft type constrants as constraned resources n a shortest path subproblem. Prelmnary tests on data from a Montréal hosptal ndcated rather hgh runnng tmes. Another approach for tour schedulng n a nursery applcaton was descrbed by Mason and Smth [1998]. Smlarly to Jaumard et al. [1998], demand fgures are gven per segment n whch no shfts start and end, and column generaton was used n an nteger programmng formulaton. The model ncludes constrants on the number of days on and off as well as preferences wth regard 25
42 2. An Annotated Bblography on Workforce Schedulng to the choce of shfts, shft transtons and general workstretch features. A column generator generates mnmumcost workstretches and combnes them nto roster lnes, usng a network flow formulaton and dynamc programmng. Furthermore, t was shown how workng hour constrants can be respected. Schaerf and Mesels [1999] used generalsed local search to fnd an assgnment of nurses to shfts and functons such that the least number of constrants s volated. Ther model ncludes nurse avalabltes as well as qualfcatons. Carter and Laperre [2001] summarsed schedulng technques for emergency room physcans n hosptals around Montréal. A multtude of relevant restrctons was descrbed. It was shown how schedules used n two hosptals could be slghtly mproved by manual changes and smple tabu search technques. Most recently, Bellant et al. [2004] descrbed a monthly nurse schedulng problem n an Italan hosptal. The model ncludes preferences as well as holdays. Startng wth the assgnment of holdays, requested days off and nght shfts, a greedy algorthm bulds an ntal soluton. Soluton mprovement by tabu search and terated local search yelded solutons whch were superor to manually created schedules, but none of the two mprovement methods turned out to strctly outperform the other Cyclc Roster Approaches A lmted number of publcatons deal wth cyclc rosters on whch workers rotate n a cyclc fashon, cf. Secton The man advantage of cyclc rosters s ther farness because all employees work on the same pattern [Bennett and Potts, 1968]. However, rotatng schedules ental an equal coverage for every week for whch they are unrolled, meanng that t s not possble to adapt to changng labour demands [Baker, 1976] [Ernst et al., 2004]. Some publcatons whch refer to cyclc rosters have already been cted before, namely the combnatoral approaches for dayoff schedulng by Lowerre [1977], Emmons [1985], Burns and Koop [1987] and Koop [1988] as well as the shft assgnment problems treated n van den Berg and Panton [1994], Lau [1994], Lau [1996a] and Lau [1996b]. Although cyclc rosterng s a specal case of tour schedulng, t s nterestng to note that no publcaton has treated cyclc rosterng n an ntegrated way, determnng daly shfts and shft/dayoff schedules smultaneously. Bennett and Potts [1968] devsed a twostep approach for cyclc schedulng of bus drvers and operators, sequentally assgnng days off and shfts of gven types. Specal goals for the dstrbuton of days off were partly solved to optmalty by combnatoral analyss. In an applcaton to polce and fre departments, Laporte et al. [1980] developed an nteger programmng approach for generatng cyclc rosters. In ther model, shft changes between three nonoverlappng shfts are dsallowed wthn workstretches. Integer programmng was used for the selecton of buldng blocks among the set of all feasble workstretches, and solutons contanng dsconnected subcycles were cut off by addtonal constrants. An alternatve nteger programmng approach for cyclc nurse schedulng wth only one shft type was proposed by Rosenbloom and Goertzen [1987] who generated vald weekly sequences of days off and shfts n a frst step and defned a matrx of week transtons respectng all constrants. An nteger program was then used to choose among the vald transtons. Balakrshnan and Wong [1990] presented a cyclc rosterng problem wth a gven workforce sze and demand fgures per shft type. Shft changes wthn workstretches were dsallowed, and the frst workstretch was assumed to start on a Monday n order to break cyclcty. Incorporatng coverage constrants n a Lagrangan relaxaton approach, the subproblem was formulated and solved as a network flow model. The possble dualty gap was closed by the soluton of a K shortest path problem. Panton [1991] dvded a cyclc roster of fxed sze nto modules of several weeks. The dayoff 26
43 2.7. Cyclc Roster Approaches schedulng and shft assgnment problems were then solved wthn each module. In ther heurstc soluton approach, weekends off are assgned frst, and labour requrements are evenly dvded between the modules. Days off are scheduled by complete enumeraton, respectng matchng condtons between weeks. Fnally, shfts are assgned usng the outofklter algorthm for network flows. The approach was evaluated on schedulng problems for Casno securty offcers. Several publcatons descrbe the development of a schedulng system named ROMAN, developed at the Sngapore Informaton Technology Insttute. The system ncorporates algorthms for cyclc and noncyclc named rosterng. Chew [1991] gave a descrpton the underlyng cyclc roster algorthm n an applcaton to arport baggage servces. Due to specal rules, the model only allows for a small number of feasble workstretches. Chew [1991] formulated an nteger program on the workstretch level, but outlned only a manual soluton procedure, assgnng shfts one by one wth nonncreasng start tmes. System overvews and applcatons to the health care and transportaton sector were reported n Khoong and Lau [1992] and Khoong et al. [1994]. Khoong and Lau [1992] also descrbed a sequental approach for cyclc roster generaton, startng wth the determnaton of requred shft numbers and the necessary workforce sze. Subsequently, days off and shfts were assgned, usng dfferent heurstc methods, branchandbound search and allowng for user nteracton on dfferent levels. Khoong et al. [1994] addtonally mentoned a module for ndvdual rosterng whch e.g. ncorporates employee preferences. The system allows for the defnton of work rules n a specfcaton language and provdes means for whatf analyses of work polces, employment levels, demand levels and deployment profles. Khoong et al. [1994] shortly surveyed solutons methods, ncludng heurstcs, local search, branchandbound, graph algorthms and manual nteracton on dfferent subproblems. Mason et al. [1998] descrbed the development of another rosterng system for the Customs authorty at Auckland arport. Ther methods starts by determnng labour requrements per tme perod, usng heurstcs and terated smulaton of passenger arrvals. A shft schedulng formulaton s then used to cover demands by fulltme and parttme staff. Fnally, fulltme shfts are postoned n a cyclc roster by a method descrbed by Panton [1991]. Buldng upon the work of Balakrshnan and Wong [1990], Mllar and Kragu [1998] presented a network flow model for cyclc and noncyclc anonymous nurse rosterng. As only two nonoverlappng shft types are used, all feasble workstretches can be enumerated and represented as nodes n a flow formulaton. Incorporatng shft coverages as well as constrants on weekends off and weekly workng hours, the model was solved by a commercal nteger programmng package. One of the best recent references for cyclc rosterng s gven by Mason [1999]. The author revewed IP models for the generaton of cyclc rosters for gven shft numbers. He proposed to represent workstretches by columns, takng dfferent shft types and shft changes wthn workstretches nto account. In order to avod dsconnected solutons, a novel threeway branch was presented whch seems to be more powerful than the cuttng scheme of Laporte et al. [1980]. Takng a halfautomatc heurstc approach, Muslja et al. [2000] solved a cyclc rosterng problem for gven workforce szes and shft requrements. After determnng lengths of work blocks, blocks of shfts and days off are dstrbuted subject to weekendoff constrants. Fnally, vald sequences of shfts are generated and assgned to the work blocks. The algorthm s part of a commercal software package. Felc and Gentle [2004] descrbed an nteger programmng algorthm for cyclc rosterng at Altala, usng a formulaton whch ntally exhbts strong symmetry. A number of vald nequaltes was derved n order to tghten the LP bound, makng use of specal problem structures wth regard to weekends off and days on and off. Specalsed branchng strateges am at breakng symmetry. Realworld test problems were used for the expermental evaluaton. 27
44 2. An Annotated Bblography on Workforce Schedulng 2.8. Break Placement Flexblty and Implct Modellng Specal attenton has been gven to the representaton of relef and lunch breaks n shft and tour schedulng. Aykn [1996] notes that n shfts of at least nne hours, employees usually receve one lunch break of 30 or 60 mnutes and two relef breaks of 15 mnutes each. Other authors report on settngs n whch only one lunch breaks s requred, e.g. Brusco and Johns [1996]. Furthermore, some organsatons use splt shfts whch Thompson [1992] defnes as shfts wth a meal break of at least 1.5 hours, see also Segal [1972], Holloran and Byrn [1986] and Jacobs and Bechtold [1993]. Clearly, workers are not avalable for coverng workloads durng ther break. Breaks are usually restrcted to take place wthn certan tme ntervals whch can e.g. be governed by canteen openng hours [Bechtold and Jacobs, 1990]. The placement of breaks then provdes flexblty whch can be exploted n schedulng [Dantzg, 1954] [Segal, 1972]. The consderaton of flexble breaks n shft and tour schedulng based on the above set coverng model has attracted consderable research. A straghtforward approach for the ncorporaton of breaks conssts n replcatng shft varables for each vald break placement [Dantzg, 1954]. The columns n the set coverng formulaton (2.1)(2.3) then only equal 1 f none of the breaks s taken at the gven moment. Consderng more than one break mples creatng one shft varable for each combnaton of break start tmes. If breaks can only be taken wthn rather lmted ntervals, ths s a feasble approach, see e.g. Bennett and Potts [1968], Thompson [1990] and Brusco [1998]. Wth larger degrees of freedom, the explct ncorporaton of breaks s generally judged ntractable [Bechtold, 1988]. Keth [1979] and Schndler and Semmel [1993] propose to consder break placement only n a second step. Other authors completely gnore breaks (e.g. Morrs and Showalter [1983], Baley and Feld [1985] and Brusco and Jacobs [2001]) or use only fxed breaks (e.g. Brusco and Jacobs [1993b], Brusco and Johns [1995]). However, Showalter and Mabert [1988] and Jacobs and Bechtold [1993] have shown that break placement flexblty plays an mportant role n the creaton of effcent shft plans and rosters. Clearly, flexble breaks can be more easly ncorporated n heurstc soluton approaches, see e.g. Henderson and Berry [1976]. For shft schedulng scenaros wth three breaks, Panton and Ryan [1999] and Mehrotra et al. [2000] proposed to use column generaton to enumerate break combnatons and showed that ths approach s compettve wth other models. However, t does not explot sze advantages related to socalled mplct formulatons. Gaballa and Pearce [1979] were the frst to use sets of break varables. A dstnct break varable s attrbuted to each shft and break start tme. Break varables reduce workforce avalabltes n the tme perods covered by the breaks. By one constrant per shft, the sum of breaks s restrcted to be equal to the numbers of shfts. Bechtold and Jacobs [1990] mproved ths basc dea by sharng break varables between dfferent shfts. A set of socalled forward and backward constrants and one equalty constrant ensures the avalablty of suffcent breaks for all shfts. In a postprocessng step, breaks are matched to the shfts. The equvalence of ths model to a formulaton ncorporatng breaks explctly n the shft varables was proved by Bechtold and Jacobs [1996]. In comparson to Gaballa and Pearce [1979], the approach of Bechtold and Jacobs [1990] reduces the number of constrants consderably. However, t only apples to lessthan24h operatons and makes rather restrctve assumptons: shfts contan only one break, all break duratons are equal, and break tme wndows do not exhbt socalled extraordnary overlap. These restrctons do not apply to the approach of Aykn [1996] who generalsed the Gaballa/Pearce model by usng one set of break varables for each of three breaks n a shft. In Aykn [1998], ths model was appled to cyclc shft schedulng problems. More recently, Aykn [2000] showed that even f hs formulaton requres more break varables, the number of nonzeros 28
45 2.8. Break Placement Flexblty and Implct Modellng n the constrant matrx s less than n the extended formulaton of Bechtold and Jacobs [1990]. On a set of artfcal shft schedulng problems, optmal solutons were shown to be obtaned n lower runtmes. However, Aykn dd not make use of a constrant substtuton dea gven n Bechtold and Jacobs [1990] whch reduces the number of nonzero elements n the constrant matrx. Topaloglu and Ozkarahan [1998] compared the break schedulng approaches of Bechtold and Jacobs [1990] and Aykn [1996] on a tour schedulng formulaton based on Baley [1985], generalsng the Bechtold/Jacobs model to several breaks per shft. A comparatve evaluaton showed that on many tour schedulng settngs, the Bechtold/Jacobs approach entals lower computaton tmes. Other researchers have also adopted the Bechtold/Jacobs approach for representng flexble breaks, ncludng Jarrah et al. [1994], Thompson [1995] and Thompson [1996a]. Brusco and Jacobs [2000] showed how to overcome the restrcton to dscontnuous operatons by the ntroducton of socalled wraparound break varables. Rekk et al. [2003] gave a new nterpretaton of the forward/backward constrants of Bechtold and Jacobs [1990] by Benders reformulaton and elmnaton of redundant constrants. Furthermore, they showed the equvalence of the models of Bechtold and Jacobs [1990] and Aykn [1996]. Rekk et al. [2003] remarked that the Bechtold/Jacobs formulaton bears sze advantages especally f shfts have many break start tmes n common. Implct modellng has been used n other shft and tour schedulng applcatons as well. The basc dea of mplct models conssts n usng several categores of varables whch are coupled by constrants, avodng redundancy when shfts or tours share common propertes. Couplng constrants encode feasblty condtons on the assgnment of dfferent classes of objects, leavng the generaton of actual solutons for a postprocessng step, see e.g. Baley [1985], Bechtold and Jacobs [1990] and Thompson [1995]. Moondra [1976] proposed an mplct model for representng start tme flexblty n shft schedulng. Thompson [1995] combned ths dea wth the mplct break model of Bechtold and Jacobs [1990]. Doubly mplct shft schedulng was also used by Thompson [1996a] n order to evaluate the effects of dfferent numbers of acton tmes whch consst of shft and break start and end tmes. Implct shft models are restrcted to settngs wth large schedulng flexblty and assume shft costs to be proportonal to the number of covered tme perods [Mehrotra et al., 2000]. Thompson [1995] showed that the mplct shft model exhbts substantal sze advantages f a shft schedulng settng conforms wth these assumptons. Baley [1985] presented a model for mplct handlng of start tme flexblty (float) n tour schedulng. He showed that f dfferent shft types are allowed n a weekly tour, feasble dayon/off patterns can be represented by a dstnct set of varables whch s coupled to varables determnng the shfts per day. If these assumptons are too general, t may stll be suffcent to restrct weekly shfts to an nterval of admssble start tmes. An mplct model for overlappng starttme bands was descrbed by Jacobs and Brusco [1996]. Restrctng each tour to a set of start tmes, the authors coupled the tour varables to shft varables of the respectve starttme band. In Brusco and Jacobs [2000], ths formulaton was ntegrated wth the mplct break placement formulaton of Bechtold and Jacobs [1990]. Rekk et al. [2003] proposed a doubly mplct formulaton for starttme bands and break placement flexblty. They showed how to overcome a lmtaton of Brusco and Jacobs [2000], allowng for overlappng starttme bands between the days by the ntroducton of wraparound shft varables. Thompson [1990] developed an mplct model for the handlng of lmted employee avalabltes n named shft schedulng. Socalled regons represent sets of shfts (and equvalently ntervals of tme) n whch more than one employee s avalable. Employees are assgned to regons, and the set of regon varables s coupled to the shft varables. Thompson [1992] conducted a study on usng servce personnel for blocks of controllable work (e.g. mantenance or cleanng tasks) when no uncontrollable work (due to customer arrvals) has to 29
46 2. An Annotated Bblography on Workforce Schedulng be carred out. In ther approach, a set of varables represents start tmes for blocks of controllable work. Two nteger programmng formulatons were compared whch are very smlar to the break models of Gaballa and Pearce [1979] and Bechtold and Jacobs [1990]. By a computatonal study on artfcal test problems, the second formulaton was shown to be superor n terms of model szes and soluton tmes. Çezk et al. [2001] coupled seven daly shft schedulng formulatons nto a dscontnuous tour schedulng formulaton, restrctng shfts on consecutve days by forward and backward constrant systems as n Bechtold and Jacobs [1990]. In another nterestng paper, Çezk and Günlük [2002] gave a general nterpretaton of mplct models by projectng out varables of a bpartte flow formulaton. They showed how dfferent assumptons lead to dfferent representatonal complextes. Ther analyss was llustrated wth the mplct break model of Bechtold and Jacobs [1990] and the tour schedulng formulaton of Çezk et al. [2001] Workng Subset Methods Besdes mplct modellng, scentsts have proposed to use workng subsets of the shft types to reduce problem szes. Some of these propostons have already been mentoned throughout the precedng exposton. Several authors have treated the mnmsaton of dfferent shft types as mplct or explct objectves n shft or tour schedulng models, see Holloran and Byrn [1986], Bechtold and Brusco [1994a], Brusco et al. [1995] and Muslu et al. [2004]. Mabert and Watts [1982] mentoned that the use of workng subsets not only reduces computatonal complexty, but s also convenent for the staff. Brusco and Jacobs [2001] ponted out that restrctons on shft startng tmes avod admnstratve burden and ease the organsaton of brefng sessons for employees. Thompson [1996a] evaluated the mpact of acton tmes (.e. shft and break start and end tmes) on servce organsatons. In the followng, we shortly summarse publcatons whch explctly tackle workng subset problems. Henderson and Berry [1976] replcated shft varables n the classcal set coverng formulaton for each possble placement of three breaks. From the resultng shft realsatons, they chose a workng subset by selectng a frst random shft and repeatedly addng shfts of hghest dfferences wth regard to the number of covered perods. They showed that for low workng subset szes, ths method s superor to random selecton of shfts. Furthermore, Henderson and Berry [1976] stated that only 40 to 50 shfts wth fxed breaks are generally suffcent to fnd effcent solutons. In a tour schedulng applcaton for parttme staff n a bank, Mabert and Watts [1982] proposed a heurstc reducton method for the number of shfts. A pror, shfts of 4, 5 and 6 hours were admtted wth respectve numbers of 5, 4 and 3 shfts per tour. Usng relatve frequences of shfts n the soluton of a weekly shft schedulng formulaton, Mabert and Watts [1982] selected workng subsets of shft types and workdays by based samplng. Easton and Rossn [1991] used column generaton to mplctly represent tours wth a hgh degree of schedulng flexblty. In ther contrbuton, only tours wth nonzero values n the LP relaxaton are used for a tour schedulng algorthm. The authors showed that ths method s superor to the approaches of Henderson and Berry [1976] and Mabert and Watts [1982] as well as LPbased roundng technques. A comparatve evaluaton of dfferent workng subset methods was presented by Bechtold and Brusco [1994b], solvng dscontnuous tour schedulng problems by nteger programmng. They dstngushed between structural methods usng only nformaton on the shfts (lke n Henderson and Berry [1976]) and demandbased procedures (as n Mabert and Watts [1982]). In addton to the aforementoned technques, the authors proposed two further structural methods and one demandbased method. It was shown that best results for dfferent workng subset szes from 10 to 50 shfts are obtaned by ether the new structural or the new demandbased method. Furthermore, 30
47 2.10. Complexty Results t was demonstrated that global optmal solutons can usually be obtaned wth workng set szes of 40 or 50 shfts. Bechtold and Brusco [1994b] mentoned that structural and demandbased workng subset methods could be combned wth the refnement procedure of Easton and Rossn [1991]. The Unted Arlnes schedulng system descrbed by Brusco et al. [1995] ncorporates another method for shft start tme selecton whch Brusco and Jacobs [1998b] presented n more detal. The method s based on the superposton of daly demands, resultng n a shft schedulng formulaton. Ths problem s solved by a heurstc column generaton algorthm, usng dynamc sets of admssble start tmes, dfferent shft selecton rules and random elements. The subsequent smulated annealng algorthm for tour schedulng only employs shfts used n the shft schedulng soluton. Brusco and Jacobs [1998b] showed that ths method yelds results whch exceed the LP relaxaton only slghtly. Based on the algorthm of Brusco [1998], Brusco and Jacobs [2001] evaluated the mpact of the numbers and choces of shft startng tmes n contnuous tour schedulng. Restrctng all shfts n a tour to start at the same tme, they extended the basc IP formulaton by startng tme constrants. By an expermental evaluaton wth dfferent work polces on demand profles from servce ndustres, they found out that effcent schedules can often be found wth as lttle as three to fve startng tmes. However, t was also stated that the number of startngtme subsets whch are capable of provdng optmal workforce szes s often small, and poor selectons can lead to substantal penaltes. Furthermore, a case study for a call centre was descrbed, usng heurstc startng tme selecton procedures n a spreadsheet applcaton Complexty Results A number of authors have shown that classes of problems arsng n workforce schedulng are N Phard. Barthold III [1981] proved that cyclc staffng wth ntermttently avalable resources s N Phard. Ths problem e.g. covers shft schedulng problems wth breaks and cyclc employee avalablty as well as cyclc tour schedulng problems. However, Barthold III [1981] also showed that cyclc staffng problems are solvable n polynomal tme f the columns n a cyclc set coverng formulaton contan contguous blocks of ones. Vohra [1988] gave a polynomaltme algorthm for problems wth equal demands. The combnatoral approaches descrbed n Secton 2.3 represent further classes of polynomal subproblems. Van den Berg and Panton [1994] analysed the contnuous shft assgnment problem (CoSA) whch conssts n attrbutng gven shfts to gaps n a cyclc roster such that consecutve days are attrbuted equal shft types. By a reducton from the PARTITION problem, they showed that ths problem s N Phard. Closely related s the changng shft assgnment problem (CSAP) of Lau [1994], prescrbng vald pars of shft types on consecutve days. CSAP was shown to be N P hard by Lau [1994] and Lau [1996b] even under restrctve assumptons, usng a reducton from 3SAT. Both publcatons provde a further proof for the N Phardness of cyclc rosterng. Kortsarz and Slany [2001] studed the relaton of the mnmum shft desgn problem consdered n Muslu et al. [2004] to the mnmum edgecost flow problem. The problem nvolves the choce of shft types and the determnaton of the number of employees assgned to each shft. Kortsarz and Slany [2001] showed that the mnmum shft desgn problem s N Phard. Furthermore, they stated that there s a constant c < 1 such that approxmatng the shft desgn problem wthn c ln n s N Phard. 31
48 2. An Annotated Bblography on Workforce Schedulng Relatonshp to Crew Rosterng Related to general workforce schedulng s the rosterng of arlne crews,.e. plots, flght engneers and attendants. Much attenton has been gven to crew rosterng snce cabn personnel s usually the second most mportant cost factor for arlnes (after fuel costs) [Anbl et al., 1992]. Overvews on arlne crew schedulng and rosterng can be found n Bodn et al. [1983], Teodorovć [1989] and, more recently, n Kohl and Karsch [2004]. For annotatons on parallels between general workforce and crew schedulng, see also Dowlng et al. [1997], Rekk et al. [2003] and Ernst et al. [2004]. Crew rosterng problems are usually solved n two stages [Ryan, 1992]. In a frst step, the flght legs (sngle nonstop flghts, also segments) are grouped nto socalled parngs (equvalently, rotatons). A parng s a sequence of flght legs whch can be carred out by one crew, startng and fnshng at a crew base [Anbl et al., 1992]. Whle parngs for shorthaul flghts usually span over one or two days, longhaul flghts often ental parngs of three or four days. Unon and legal regulatons usually mpose mnmum rest tmes between workng days as well as workng hour constrants [Vance et al., 1997]. Crew parng optmsaton s usually formulated as a set parttonng problem 1 and solved by nteger programmng, see e.g. Anbl et al. [1992], Hoffman and Padberg [1993] and Vance et al. [1997]. In the subsequent crew rosterng phase, gven parngs are covered by rosters [Ernst et al., 2004]. In contrast to crew parng, crew rosterng s usually carred out on a named bass,.e. employees for the sngle roster lnes are known. Soluton approaches usually take preassgned actvtes lke ground dutes, tranngs and smulator sessons nto account, see e.g. Gamache and Soums [1998] and Day and Ryan [1997]. Addtonally, staff qualfcatons may be explctly consdered [Gamache et al., 1999]. The alternatve bdlne approach whch s most frequent n North Amerca assumes that rosters are anonymous [Kohl and Karsch, 2004]. Each crew member then chooses a roster lne n order of senorty. A thrd possblty s preferental bddng, meanng that the anonymous roster generaton method takes preference scores nto account, usually weghted by senorty. Crew rosterng problems often decompose by crew base and arcraft type snce e.g. plots are usually only qualfed for one arcraft type [Gamache et al., 1998]. The schedulng horzon s usually four weeks or a month [Ryan, 1992] [Gamache et al., 1999]. As crew parng, crew rosterng s usually formulated as a generalsed set parttonng model (e.g. Ryan [1992], Gamache et al. [1999]): subject to m mn c r X r j 1 r R j m j=1 a pr X r = b p p {1,..., n} (2.4) r R j X r = 1 j {1,..., m} (2.5) r R j m X r {0, 1} r R j (2.6) where n s the number of parngs and m the number of employees. R j denotes s an ndex set for feasble roster lnes for employee j. The bnary decson varables X r choose among the 1 Set parttong problems can be stated as P j J cjxj subject to P j J c j R + and a j {0, 1}. j=1 ajxj = 1 I, Xj {0, 1} j J wth 32
49 2.11. Relatonshp to Crew Rosterng roster lnes such that each employee s assgned exactly one roster lne (constrants (2.5)) and each parng s assgned the requred number b p of crew members (crew complement, constrants (2.4)). The enumeraton of feasble roster lnes s often treated as a separate problem [Chrstou et al., 1999] [Kohl and Karsch, 2004]. The predomnant soluton method for the above model s nteger programmng, often n conjuncton wth column generaton, see e.g. Ryan [1992], Day and Ryan [1997], Gamache et al. [1998] and Gamache et al. [1999]. Fahle et al. [2002] and Sellmann et al. [2002] have proposed soluton methods combnng nteger programmng wth constrant programmng. More recently, crew rosterng has been appled to ralway applcatons, see e.g. Caprara et al. [1997], Caprara et al. [1998] and Ernst et al. [2000]. The basc settng s closely related to arcrew rosterng. In a frst step, round trps (parngs) are generated for dfferent crew bases whch are rostered n a second step. However, the schedulng horzon s usually one week, rosters are anonymous and can be cyclc or noncyclc [Ernst et al., 2000]. In the cyclc roster applcatons descrbed by Caprara et al. [1997] and Caprara et al. [1998], one crew starts on each day of the roster nstead of attrbutng one worker or crew to each roster week (as n the cyclc rosters of Secton 2.7). At frst sght, there are consderable smlartes between crew rosterng and general workforce schedulng. Both settngs mpose smlar constrants lke mnmum rest tmes, restrctons on consecutve days on and off as well as workng hour constrants. Whle workforce schedulng problems are often formulated as set coverng programs, set parttonng models and algorthms are the predomnant bass for crew rosterng approaches. In both settngs, column generaton approaches have receved consderable attenton n recent years. However, there are some mportant dfferences. Whle n general workforce schedulng, employees may only be scheduled wthn gven lmts of shft lengths and start tmes, crew dutes result from the gven parngs. Breaks are not explctly consdered, but result from rest tmes (sts) between subsequent trps. Crew schedulng furthermore ncorporates lnkng constrants whch guarantee geographc contguty [Dowlng et al., 1997]. Fnally, crew schedulng generally refers to named schedulng, and rosters are noncyclc wth exceptons n ralcrew rosterng. A further applcaton of anonymous rosterng s the schedulng of bus drvers whch s also referred to as runcuttng n North Amerca. A large number of contrbutons was presented on nternatonal workshops on computeraded schedulng of publc transport [Wren, 1981] [Rousseau, 1985] [Daduna and Wren, 1988] [Desrochers and Rousseau, 1992] [Daduna et al., 1995] [Wlson, 1999]. An overvew on bus drver schedulng can e.g. be found n Wren and Rousseau [1995]. A bus schedule defnes socalled vehcle blocks,.e. daly tours of a bus, startng and endng at a depot. Furthermore, t defnes relef ponts whch correspond to stopovers away from the depot at whch drvers may change. Trps between such relef ponts buld basc tasks to be covered by the drver schedule. The problem s ether stated as a set parttonng model (e.g. Falkner and Ryan [1992] or as a set coverng relaxaton wth one coverage constrants for each task, see e.g. Smth and Wren [1988] or Desrochers and Soums [1989]. Overcoverage of tasks s treated n a subsequent step or accepted as socalled deadheadng wth drvers as passengers. Falkner and Ryan [1992] have proposed a model for smultaneous schedulng of vehcles and drvers. As for arcrew schedulng (see e.g. Kohl and Karsch [2004]), much progress n bus drver schedulng results from the development of commercal systems lke HASTUS and CREWOPT n North Amerca [Blas and Rousseau, 1988] [Desrochers and Soums, 1989], IMPACS n the Unted Kngdom [Smth and Wren, 1988] and HOT n Germany [Daduna and Mojslovc, 1988]. As n arlne and ralway crew rosterng, bus drver schedulng s drven by the tasks of the bus schedule, and there s no noton of shft types lke n general workforce schedulng [Wren and Rousseau, 1995]. Meal breaks are usually taken nto account [Smth and Wren, 1988] [Desrochers and Soums, 1989]. Furthermore, models sometmes nclude shft overtme and splt shfts, consstng of two spells separated by a break of several hours [Wren and Rousseau, 1995]. 33
50 2. An Annotated Bblography on Workforce Schedulng 34
51 3. Local Search n Constrant Programmng All ntellgent thoughts have already been thought; what s necessary s only to try to thnk them agan. Johann Wolfgang von Goethe In the followng, we gve a short ntroducton to constrant programmng whch has become a popular soluton method for dscrete optmsaton problems. We wll start by descrbng fundamental concepts. Whle constrant programmng usually uses branchandbound search, we wll revew work on constrant programmng n a local search context. Furthermore, we wll descrbe dfferent methods for representng vehcle routng problems n a constrant programmng framework. In Chapters 4 and 5, these technques wll be appled to two problems arsng n arport workforce plannng Constrant Programmng Constrant programmng (CP) s a paradgm whch ams at solvng combnatoral optmsaton problems [Baptste et al., 2001]. Lke other soluton methods, CP comprses two components: a search strategy and a search space reducton strategy. Constrant programmng uses a technque called constrant propagaton for search space reducton whle branchandbound s the predomnant soluton technque. Constrant propagaton s based on the formulaton of combnatoral search problems as constrant satsfacton problems (CSP). The mage nterpretaton settngs of Huffman [1971], Clowes [1971] and Waltz [1975] were the frst publcatons on constrant satsfacton problems. For surveys on CSP solvng, see Meseguer [1989] and Kumar [1992], for an ndepth treatment of constrant processng e.g. Tsang [1993] and Dechter [2003]. Formally, a CSP can be descrbed by a trple P = (V, DOM, CONS): V = {x 1,..., x n } s a fnte set of varables; DOM = {D(x) x V } s a set of domans wth D(x) contanng all values that can be assgned to x; CONS = {c 1,..., c m } s a set of constrants. Domans are usually fnte. A constrant c CONS s a functon c : D(x 1 )... D(x k ) {true, false} on a base set V = {x 1,..., x k }. V s called the arty of the constrant. For a set V = {x 1,..., x n }, an assgnment s an element of D(x 1 )... D(x n ). If c CONS s a constrant wth base set V = {x 1,..., x n }, an assgnment a D(x 1 )... D(x n ) satsfes c ff c(a 1,..., a n ) = true. Solvng a CSP P = (V, DOM, CONS) s equvalent to fndng an assgnment a whch satsfes all constrants c CONS. Constrant satsfacton problems are often represented as (hyper)graphs wth the node set V, node labels from DOM and a (hyper)edge on the base set V of each constrant c CONS. If all constrants n CONS are bnary ( V = 2), the constrant graph wll be an ordnary undrected graph. 35
52 3. Local Search n Constrant Programmng Whle for constrant satsfacton problems, we seek a feasble soluton, the task assocated wth a constrant optmsaton problem (COP) conssts n fndng an optmal feasble soluton wth regard to an objectve functon z. z s a functon z : D(x 1 )... D(x n ) R, attrbutng a value z(a) to each assgnment. Wthout loss of generalty, t can be assumed that z s to be mnmsed. A COP nstance P can thus be descrbed by a quadruple P = (V, DOM, CONS, z). General CSP and COP solvng s N Phard [Dechter, 2003]. Clearly, fnte doman CSPs or COPs can be solved by full enumeraton, generatng all possble assgnments for the varables. However, ths wll only be a practcal approach for very small examples. Constrant propagaton provdes a more evolved search space reducton technque. The basc dea of constrant propagaton s to elmnate nconsstent varable assgnments by repeated applcaton of mplct constrants, the socalled consstency tests. For the applcaton of consstency tests, we mantan varablespecfc subsets δ(x ) D ( x ) (x V ) or hgherorder workng sets δ(x 1,..., x l ) D(x 1 )... D(x l ). A consstency test has a condton part A and an nstructon part B: Each tme A s satsfed, execute B whch possbly restrcts the workng subset of combned domans. Dfferent levels of consstency can be acheved by consstency tests. Montanar [1974] ntroduced the basc notons of node, arc, and path consstency, relatng to problems wth only bnary constrants. Imagne that domans δ(x) are mantaned for each sngle varable x V. Node consstency s smply acheved f the values n each varable s doman satsfy the constrants on that varable. A constrant network s arc consstent f for every value n δ(x ), there s a value n the doman δ(x j ) of each varable x j x such that the combned assgnment obeys all constrants. Fnally, a model s path consstent f for each par (x, x j ) of varables, each consstent assgnment from δ(x ) δ(x j ) and each thrd varable x k, there s a value n the doman δ(x k ) such that the combned assgnment satsfes all bnary constrants on the varables. If we nclude hgherorder (nonbnary) constrants, the noton of generalsed arc consstency can be used to descrbe the state of a constrant model. A varable x s then called generalsed arcconsstent relatve to a constrant c CONS nvolvng x ff for any value from δ(x ), there s an assgnment from δ(x j ) for each varable x j x nvolved n c such that c s fulflled. The constrant model s sad to be arcconsstent f each of ts varables s arcconsstent wth regard to all constrants [Dechter, 2003]. More general s the noton of kconsstency [Freuder, 1978]. We say that a partal assgnment (a 1,..., a k ) s kfeasble f t satsfes all constrants whch at most contan these varables. Algorthms for obtanng kconsstency mantan sets of combned assgnments for varable subsets of order k 1. kconsstency s then acheved f for any (k 1)feasble assgnment from δ(x 1,..., x k 1 ) D(x 1 )... D(x k 1 ) and for any further varable x k, there exsts an assgnment for x k taken from a set δ(x k ) D(x k ) such that the combned assgnment s k feasble. However, managng (k 1)dmensonal workng subsets s only practcal for small values for k. Therefore, the concept of doman consstency has been ntroduced whch only necesstates onedmensonal subsets δ(x ) D(x ) for each varable x V [Dorndorf et al., 2000]. A problem s kdconsstent f for all varable sets V := {x 1,..., x k 1 } of order k 1 and every varable x k, every nstantaton a k δ(x k ) of x k can be extended to a feasble assgnment,.e. there s a kfeasble assgnment (a 1,..., a k ) wth a j δ(x j ). Note that kdconsstency corresponds to generalsed arc consstency f the maxmum arty over the constrants s less or equal to k. If domans are mantaned by ntervals δ(x ) = [l, r ] := [l, l +1,..., r ] (gven D(x ) N 0 ), we speak of bound consstency. The defnton of bound consstency s analogous to doman consstency: The workng subsets δ(x ) are kbconsstent ff for all varable subsets V := {x 1,..., x k 1 } of order k 1, for every k th varable x k and each a k [l k, r k ], there are values a 1 δ(x 1 ),..., a k 1 δ(x k 1 ) such that (a 1,..., a k ) s kfeasble. In some contexts, domans can be naturally defned by ntervals, meanng that doman and bound consstency 36
53 3.1. Constrant Programmng concde. The repeated applcaton of consstency tests can be nterpreted as a fxed pont teraton. Unqueness of the fxed pont can be proved f consstency tests are monotonous, see e.g. Dorndorf et al. [2000]. Constrant programmng systems usually mplement some combnaton of doman and bound consstency and normally only guarantee kconsstency for k = 2 (arc consstency). A seres of algorthms for achevng arc consstency (AC3, AC5, etc.) have been proposed, see Dechter [2003] for an overvew. Algorthm 1 shows the basc scheme of the AC3 algorthm. A queue Q s used to mantan pars of varables whch must be checked for consstency. The REVISE procedure (Algorthm 2) s repeatedly called to delete nconsstent values. If a doman s changed, all constrants nvolvng the respectve varable are reevaluated. Algorthm 1 AC3(V, DOM, CONS) for all pars (x, x j ) V V do Q Q {(x, x j ), (x j, x )} end for whle Q do select and delete (x, x j ) from Q f REVISE(x, x j ) = true then Q Q {(x k, x ) k, k j} end f end whle More evolved algorthms mantan values supportng the possble assgnments to a varable. Constrant programmng systems usually use some varant of the AC5 algorthm [Hentenryck et al., 1992]. Consstency tests are usually only trggered on specfc events of the nvolved domans: doman events (any change to the doman), range events (change of the mnmum or maxmum value) and bound events (a sngle value remans n the doman). A consstency test for enforcng dfference between two varables e.g. only trggers on bound events because as long as there s more than one value n a varable s doman, nothng can be concluded wth regard to the other doman. Algorthm 2 REVISE(x, x j ) deleted false for all a δ do for all constrants c x x j on (x, x j ) do f there s no a j δ j such that c x x j (a, a j ) = true then delete a from δ deleted true end f end for end for return deleted The concepts of constrant satsfacton and propagaton are often part of specal programmng languages ( constrant logc programmng ) lke PROLOG, CHIP and ECLPSe. Addtonally, programmng lbrares and modellng envronments n C++ and Java have become avalable (e.g. Ilog Solver or Coalog Solver). Clearly, there s a tradeoff between achevng hgher consstency and the complexty of consstency tests. Hgher consstency results n less search effort, but may be costly. On the other 37
54 3. Local Search n Constrant Programmng hand, f consstency s low, branchandbound search wll often run nto deadends of nconsstent varable assgnments. In practce, consstency tests are usually desgned to have low polynomal tme complexty. Constrant programmng systems often provde global constrants,.e. hghlevel abstractons for modellng complex combnatoral problems n a natural way. Global constrants often make use of specalsed algorthms lke flow or matchng algorthms. The most promnent example s the alldfferent constrant whch ensures that all varables n a gven set are assgned parwse dfferent values [Régn, 1994] Large Neghbourhood Search Constrant programmng s a very successful soluton technque for complex dscrete optmsaton problems. It allows for an easy ncorporaton of a multtude of sde constrants. In realstc problems, sometmes not all constrants are known n advance, and further restrctons may come up wth the refnement of optmsaton models. Tradtonal algorthmc paradgms are often lmted n ths case because the ncorporaton of addtonal constrants would ental a complete redesgn. In CPbased algorthms, addtonal constrants usually pose no problems and may even allow for a more effcent soluton. Constrant models are often used n powerful branchandbound algorthms for the exact soluton of problems [Tsang, 1993]. However, exact soluton approaches are generally very costly, and consequently, constructon heurstcs are most frequently used to tackle largescale optmsaton problems. These can be combned wth a soluton mprovement phase. The mprovement phase often nvolves local exchanges lke the classcal 2opt, 3opt or Oropt exchanges [Ln, 1965] [Or, 1976] whch are powerful for smple travellng salesman and vehcle routng settngs. Generalsatons to more complex problems, e.g. nvolvng tme wndows, are sometmes possble, cf. e.g. Potvn and Rousseau [1995]. Generally, the classcal operators fal on more constraned problems because local exchanges do not always fnd mprovng solutons whch obey all constrants. The dea of large neghbourhood search (LNS) s the repeated relaxaton of some of the decsons made n the constructon phase and a subsequent reoptmsaton, usng CPbased branchandbound. Each sngle relaxaton and reoptmsaton can be seen as a local step n a possbly very large neghbourhood. In comparson to classcal local mprovement operators, the number of relaxed decsons wll generally be much larger. Addtonally, reoptmsaton s done wth the full freedom of treebased search and not accordng to a fxed scheme. The underlyng constrant model helps n mantanng feasblty, and the advantages of CPbased algorthms mentoned above reman vald. In strongly constraned problems, a search n large neghbourhoods wll be the only possblty to fnd mprovng steps at all. Constrantbased local mprovement was frst ntroduced for the soluton of jobshop schedulng problems. Applegate and Cook [1991] presented a shuffle technque whch was nspred by the shftng bottleneck procedure n Adams et al. [1988]. Another mplementaton of CPbased reoptmsaton for jobshop schedulng can be found n Caseau and Laburthe [1995]. More specfcally to a travellng salesman/vehcle routng context wth tme wndows, Pesant and Gendreau showed how to renterpret classcal local search operators n a CP framework. They devsed a specal neghbourhood CP model for the local move whch s coupled by nterface constrants to the master model [Pesant and Gendreau, 1996] [Pesant and Gendreau, 1999]. The approach s appled to a drectonpreservng 3opt neghbourhood for the TSPTW (and n Pesant and Gendreau [1999] to a physcan schedulng problem). Whle the approach remans restrcted to classcal operators, the authors make out a trend towards the exploraton of larger neghbourhoods. In an applcaton to vehcle routng, Shaw [1998] developed an nvolved scheme for constrant 38
55 3.3. ConstrantBased Soluton Methods for Vehcle Routng based reoptmsaton and was the frst to use the noton of large neghbourhood search. In each local step, decsons for a set of nterdependent vsts are relaxed, usng a measure of relatedness. Random elements are used to dversfy the search. Instead of usng full branchandbound, lmted dscrepancy search (LDS) s used n order to heurstcally lmt the sze of the search tree [Harvey and Gnsberg, 1995]. The approach s evaluated on a number of standardsed VRP and VRPTW problem nstances ncludng Solomon s VRPTW nstances [Solomon, 1987]. The ntal soluton s bult by usng one vehcle per vst. The approach s shown to be hghly compettve and often superor to leadng soluton technques, yeldng the bestknown results for some of the test problems. Klby et al. [2000] have conducted a detaled study of the mpact of the number of constrants on the qualty of dfferent constructon and mprovement methods. For the soluton constructon, the tradtonal savngs heurstc of Clarke and Wrght [1964] and two constrantbased nserton heurstcs are used. For soluton mprovement, LNS was compared to tradtonal operators from the VRP lterature. These methods were appled to vehcle routng problems wth and wthout tme wndows and wth addtonal precedence and sametour constrants. For soluton constructon, the constrantbased methods are shown to be superor to the savngs heurstc. Whle on smple VRP problems, the tradtonal exchange operators are almost as good as LNS for soluton mprovement, large neghbourhood search s shown to be clearly superor on strongly constraned test problems. In [Klby et al., 1998], mplementaton detals for the two aforementoned publcatons were gven. Caseau and Laburthe embedded local search n a constructon method for VRP and VRPTW problems, mnmsng the number of tours and travel dstances [Caseau and Laburthe, 1999]. Constructon and mprovement are based on constrant programmng n order to address complex constrants ncludng capacty restrctons, but the local steps are classcal 2opt and 3opt exchanges. For the mnmsaton of the number of vehcles n the VRPTW, an addtonal relaxandreoptmse algorthm s devsed whch uses lmted dscrepancy search. The method s shown to be hghly compettve, often outperformng the tabu search reference of Rochat and Tallard [1995] when the travellng dstance s mnmsed. The followng two chapters wll descrbe applcatons of large neghbourhood search. Chapter 4 wll present an algorthm for levellng workloads arsng n workforce plannng on arports, usng a nonlnear objectve functon. In Chapter 5, a complex shft plannng problem based on routng and schedulng problems s tackled by CPbased local search ConstrantBased Soluton Methods for Vehcle Routng Before enterng nto these algorthms, we wll shortly revew dfferent constrantbased soluton methods for vehcle routng problems wth tme wndows (VRPTWs). In vehcle routng, we are gven a set I of customers whch must be served by a set K of vehcles. The vst at customer I must be carred out wthn a tme nterval [a, b ]. Early arrval s allowed, but entals watng untl the earlest servce tme a. Between two customers and j, we have a travel tme of d,j. We wll assume that travel tmes obey the trangle nequalty, d 1, 3 d 1, 2 + d 2, 3 1, 2, 3 I. We wll not consder capacty restrctons for the moment beng. In vehcle routng, dfferent goals can be pursued, e.g. the mnmsaton of the number of vehcle routes or the mnmsaton of travel dstances [Toth and Vgo, 2001a]. Constrantbased methods for tmeconstraned vehcle routng problems can follow dfferent approaches. Each formulaton entals dfferent sets of constrant varables, consstency tests and search algorthms. Dependng on characterstcs of the problem at hand (e.g. the magntude of travel tmes, the wdths of tme wndows, further constrants), one or the other method wll be approprate. We wll shortly revew dfferent technques used n the lterature. 39
56 3. Local Search n Constrant Programmng a. nsertonbased models b. partal path models c. dsjunctve models Fgure 3.1.: Basc deas of constrantbased methods for vehcle routng InsertonBased Methods Probably the most ntutve approach for vehcle routng s gven by nsertonbased methods (see Fg. 3.1a, nodes n orange colour represent vsts, grey bars are vehcle routes). The basc dea s to nsert vsts one by one nto an emergng set of vehcle routes. Customers are therefore explctly assgned to vehcles, and partal solutons conssts of ncomplete vehcle routes along wth unassgned vsts. Clearly, nsertonbased models are not restrcted to beng solved by constrant programmng. In fact, nsertonbased methods have mostly been mplemented by adhoc data structures and procedures. An example whch has ganed much attenton s the nserton heurstc of Solomon [1987] who uses a mx of travel tme and temporal crtera to select customers for nserton. Based on Solomon s heurstc, Potvn and Rousseau [1993] propose a parallel route buldng algorthm. We wll show how an nsertonbased approach can be followed n the constrant programmng paradgm, usng a model whch s smlar to the one descrbed by Klby et al. [2000]. We ntroduce a temporal doman δ t = [α, β ] denotng the nterval of vald servce tmes for customer 1. δ t s naturally ntalsed to the orgnal tme wndow for customer ([α, β ] := [a, b ]). δ veh K wll denote the set of vehcles by whch can be covered. π I and σ I represent the customers whch precede and succeed customer n a gven (partal) set of tours. As suggested by the notaton, π and σ are no doman varables n the proper sense, but change ther values upon nserton of addtonal customers. Furthermore, we let δ p I denote the set of vald nserton postons of. Wthout loss of generalty, we wll assume that δ p represents vald successor vsts,.e. j δ p f can be nserted before j. Note that n contrast to the model of Klby et al. [2000], we assume that δ p not only contans nserted vsts, but n general also comprses stll unnserted vsts whch may fnally become the successor of. If s nserted, δ p thus contans σ as well as unassgned customers whch can be nserted between and σ. If I s a customer whch has already been nserted nto a route, the followng rules descrbe vald updates for the temporal domans of and ts surroundng vsts: α + d,σ > α σ = α σ := α + d,σ (3.1) β d π, < β π = β π := β d π, (3.2) Whle (3.1) descrbes the forward propagaton of s earlest start tme to ts successor, (3.2) s the backward propagaton of latest start tmes. We wll thus create on consstency tests for 1 As ndcated by the notaton, we wll treat domans as unts n ther own rght wthout makng reference to the orgnal varables (lke x n the above presentaton). 40
57 3.3. ConstrantBased Soluton Methods for Vehcle Routng each customer, performng the updates accordng to rules (3.1) and (3.2) and trggerng upon the range events of δ t. The update of the earlest start tme of σ wll then trgger the respectve test for σ, possbly updatng the earlest start tme of σ σ and so on. Smlarly, updates of latest start tmes are propagated by a lnear backward pass over the route. Ths propagaton scheme s known as pushforward/pushbackward propagaton [Solomon, 1987] [Caseau and Laburthe, 1999]. After propagatng all temporal constrants, the domans δ t = [α, β ] are consstent for all, and each customer can realse any servce tme wthn ts temporal doman. A vst can therefore be nserted between two scheduled vsts j 1 and j 2 (j 1 := π j2 f α j1 + d j1, β max(α j1 + d j1,, α ) + d,j2 β j2 (3.3) Ths observaton can be used to update the set δ p of vald nserton postons of,.e. we remove j 2 from δ p f (3.3) s not fulflled. Clearly, the basc decsons of a search algorthm correspond to nsertng vsts nto the routes. Note that nsertng nto a route k amounts to settng δ veh to {k} and specfyng the predecessor and successor vsts π := j 1 and σ := j 2, respectvely. In the model of Klby et al. [2000], nserton decsons are only taken extrnscally,.e. nsertons are not trggered by constrant propagaton. However, f the nserton of one vst leaves only one possble nserton poston for another vst, ths could be exploted mplctly. We therefore ntroduce boolean domans δ ns for each I. δ ns s ntally set to {true, false} and reduced to {true} when s nserted. We can now conceve a consstency test whch trggers as soon as {j δ p δj ns = {true} = 1,.e. there s only one remanng nserton poston for. We then nsert n the correspondng route and nserton poston. Addtonally, we revse the nserton postons doman of : δ p := {j δ p δj ns = {true, false} j = σ } Note that nserton also actvates temporal propagaton for the nserted vst (rules (3.1) and (3.2)). In nserton methods, the sequence of trps s explctly resolved. Furthermore, vsts are assgned to dedcated vehcles. If vehcles cannot be dstngushed, ths ntroduces symmetry because assgnng a tour to any of the vehcles results n somorphc solutons. However, dfferent vehcle characterstcs or multple depots can be easly accounted for. Campbell and Savelsbergh [2004] have recently noted that complcatng sde constrants lke shft tme lmts, varable delvery volumes and multple routes per vehcle can be easly ncorporated n nsertonbased methods Partal Path Methods As nsertonbased formulatons, partal path methods are based on a prevous/next representaton for sequences of vsts. However, vsts are not explctly assgned to routes. Basc decsons correspond to fxng the predecessors or successors, lnkng chans of trps (see Fg. 3.1b). To llustrate a constrant logc for partal path methods, we let δ succ I and δ pred I denote the vald successors and predecessors of vst, respectvely. As above, δ t = [α, β ] denotes the nterval of vald start tmes for. Note that we do not use any vehcle domans. We wll gve examples of typcal consstency tests n partal path methods. Temporal propagaton can be carred out by usng the followng rules: mn j δ pred (α j + d j, ) > α = α := mn j δ pred (α j + d j, ) (3.4) max (β j d,j ) < β = β := max (β j d,j ) (3.5) j δ succ j j δ succ j In contrast to the update rules (3.1) and (3.2) n nsertonbased methods, (3.4) and (3.5) requre mnmsaton or maxmsaton operatons over all vald predecessors or successors. Whle ths 41
58 3. Local Search n Constrant Programmng potentally yelds a hgher degree of consstency, t entals O( I ) runtme for each executon. Clearly, analogous update rules could also be realsed n nsertonbased methods f predecessor and successor domans (lke the above δ p ) were used. However, ths would sacrfce the runtme advantage of pushforward/pushbackward propagaton. Usng temporal nformaton, we can adapt the successor doman δ succ for each as follows: α + d,j > β j = j / δ succ In a fnal soluton, each vst can only appear n one successor doman. We therefore mpose an alldfferent constrants on the successor doman δ succ [Focacc et al., 2002]. Predecessors and successors are then synchronsed by the followng rules: / δ pred j j / δ succ Note that these updates are not as strong as the above nserton checks (3.3) for nsertonbased methods. To the knowledge of the author, partal path methods have only been appled to travellng salesman problems wth and wthout tme wndows (TSP/TSPTW), see e.g. Caseau and Laburthe [1997], Pesant et al. [1998] and Focacc et al. [2002]. In ths class of problems, one can make use of the fact that we buld only a sngle path. Addtonal propagatonal effect can then be ganed by mantanng sets of vsts whch must precede or succeed a gven customer [Langevn et al., 1993] [Pesant et al., 1998]. In travellng salesman and vehcle routng settngs, we face the problem of subtours,.e. closed crcuts returnng to a gven customer or cty [Dantzg et al., 1954] [Lawler et al., 1985]. Caseau and Laburthe [1997] and Pesant et al. [1998] ndependently proposed a nocycle constrant whch keeps track of the begnnng β and endng vst ɛ of the path n whch each I s nvolved. Wth ths nformaton, we can mpose δ succ = {j} = β / δ ɛj n order to avod the end of the path to become connected to ts begnnng. Clearly, the problem of dsconnected solutons s only mportant f temporal restrctons are loose. If tme wndows are tght, the temporal orentaton of vsts wll make subtours unlkely, and the addtonal cost of nocycle may not pay off. Extendng partal path methods to vehcle routng settngs s possble, but requres addtonal effort. Imposng restrctons on the vehcle level s more dffcult snce paths are ntally bult wthout any reference to vehcles. Basc decsons n search algorthms amount to fxng predecessor and successor varables. Whle nsertonbased methods allow for nsertng customers between two scheduled vsts, predecessor and successor decsons are rather myopc [Caseau and Laburthe, 1997]. If we am at mnmsng travel tmes, powerful lower bounds can be used, e.g. by assgnment and mnmum spannng tree relaxatons [Pesant et al., 1998] [Focacc et al., 2002] or the Lagrange method [Caseau and Laburthe, 1997] Dsjunctve Methods Whle the above methods have been developed n the feld of vehcle routng and travellng salesman problems, dsjunctve schedulng has ts roots n research on jobshop schedulng [Roy and Sussman, 1964]. If travel tmes are nterpreted as sequencedependent setup tmes (see e.g. Allahverd et al. [1999]), dsjunctve schedulng also apples to routng problems [Beck et al., 2002]. Dsjunctve constrants prevent the smultaneous or overlappng processng of actvtes (vsts) wthout specfyng ther exact order. The basc dea corresponds to enforcng two customers, j 42
59 3.3. ConstrantBased Soluton Methods for Vehcle Routng whch are assgned to the same vehcle to be placed ether before j or j before (Fg. 3.1c). Usng exemplary consstency tests, we shortly llustrate how ths dea can be represented n constrant models. For an ntroducton to dsjunctve schedulng, see e.g. Baptste et al. [2001]. We only need two domans δ veh K and δ t = [α, β ] for each vst I. If for two vsts, j, we have b + d,j a (b j + d j, a j ), can only be placed before (after). Otherwse, there s a dsjunctve constrant between and j whch becomes operatonal by an approprate consstency test. Ths test becomes actve as soon as and j are assgned to the same vehcle (δ veh = {k} = δ veh j ): α + d,j > β j = α := max(α, α j + d j, ) (3.6) α j + d j, > β = α j := max(α j, α + d,j ) (3.7) Rule (3.6) reflects the fact that f cannot be placed before j, t must take place after j. The tme wndow of s then reduced accordngly. Update (3.7) apples to the symmetrc stuaton, placng before j. We therefore choose among the two dfferent orders of and j f one of the rules apples [Carler and Pnson, 1989]. If we know that and j cannot be placed on behnd the other, we can enforce that and j are assgned to dfferent vehcles. If we assume that e.g. s bound to vehcle k (δ veh = {k}), we can apply the followng update: α + d,j > β j α j + d j, > β δ veh = {k} = δ veh j := δ veh j \ {k} (3.8) It should be mentoned that the above rules do not always ensure suffcent consstency for assgnment feasblty. Imagne three customers 1, 2 and 3 wth ntal start tme wndows [a j, b j ] = [0, 1] j {1, 2, 3} and travel tmes of 1 between all vsts (d j1, j2 = 1 j 1 j 2 ). If 1, 2 and 3 are assgned to the same vehcle, the reader can easly verfy that none of the rules (3.6), (3.7) or (3.8) has any effect. However, t s clear that the trps cannot be carred out by the same vehcle. A search algorthm must therefore take explct dsjuncton decsons for customers whose order has not been mplctly defned by propagaton. The above basc scheme can be refned by generalsng dsjunctons to sets of actvtes [Caseau and Laburthe, 1994] [Caseau and Laburthe, 1995]. A revew of consstency tests and degrees of consstency n dsjunctve schedulng can be found n Dorndorf et al. [2000]. Whle nsertonbased formulatons assgn customers to vehcles and fx ther sequence at the same tme, dsjunctve methods take these decsons separately. Lke n nserton methods, t s easy to ncorporate constrants on the vehcle level. Dsjunctve schedulng has yelded qute mpressve results on shop and machne schedulng problems, see e.g. Carler and Pnson [1989] and Baptste et al. [1995]. Beck et al. [2002] have recently descrbed how vehcle routng and open shop schedulng problems can be mutually reformulated. Usng constrant programmng lbrares for jobshop schedulng (usng dsjunctve methods) and routng problems (usng prevous/next representatons) on orgnal and reformulated problems, the authors argue that each technology performs best on the class of problems for whch t has orgnally been developed. For the followng two chapters, we have therefore opted for nsertonbased methods. As we wll see, these technques are able to ncorporate multtudes of relevant constrants n arport demand and shft plannng. 43
60 3. Local Search n Constrant Programmng 44
61 4. Workload Levellng n a Vehcle Routng Envronment What s chefly needed s skll rather than machnery. Wlbur Wrght Usng the technques descrbed n the precedng chapter, we now tackle the workload levellng problem whch was shortly descrbed n Secton Its goal s the smoothng of a demand curve whch s the superposton of tasks planned n tours. Whle workload levellng s based on the vehcle routng problem wth tme wndows (VRPTW), the objectve functon ams at avodng sharp demand peaks whch are dffcult to cover by staff. We wll show that the problem s N P hard and present an algorthm for soluton mprovement by repeated relaxaton and CPbased reoptmsaton Introducton Demand plannng s a frst and mportant step n the management and schedulng of ground handlng workforce and equpment. Planners frequently try to get an overvew of workforce demands by vsualsng the temporal superposton of all work tasks. The vsualsaton of a hstogram of workloads n ther temporal evoluton ( demand curve ) s helpful for an analyss of the magntude of workload at dfferent tmes of the day and week; an analyss of peak tmes wth hgh workforce demand and traffc congeston; the determnaton of the temporal extent of workload wthn the day and the tmes n whch nothng has to be done (e.g. n the nght); an estmaton of the necessary workforce sze or equpment dmenson; an assessment of the ablty of dfferent shft types to cover peak tmes (tmes of hghest workload) effcently. Demand plannng can also be seen as a preparatory step for shft plannng. On the one hand, an analyss of demands can gve an dea of how to cover the bottomlne demand by full tme workers and peak demands by addtonal parttme staff. On the other hand, shft plannng and rosterng models usually am at coverng workloads gven n dscrete ntervals. Furthermore, coverng demandbased workloads can gve a good approxmaton to tasklevel shft plannng f the characterstcs of the handlng tasks are suffcently homogeneous (see Secton 1.2.3). The workload s ntally gven as a set of tasks whch s the result of matchng task generaton rules (engagement standards) to flght events. Each task s defned by a length, a locaton and an nterval of admssble start tmes. Between the tasks, the equpment or worker possbly has to move from one locaton to another. We wll always assume that the trp between tasks s performed drectly before startng the latter tasks. Tme wndows are hard constrants: A worker 45
62 4. Workload Levellng n a Vehcle Routng Envronment W t Fgure 4.1.: Basc settng of workload levellng: (crew) tasks n tours, demand curve. arrvng too early must wat untl the task s earlest start tme, and a task must not start after ts latest start tme. When plannng moble equpment lke baggage vehcles, pushback tractors or caterng trucks, we have a typcal vehcle routng settng: Vehcles start a central depot, perform a set of tasks wthn the bounds of ther tme wndows and return to the depot. We wll not mpose any capacty constrants: Whle some of the vehcles (lke pushback tractors) are not used to carry goods, others (lke baggage lorres) are confgured adhoc to the necessary sze for the gven baggage. Snce equpment s constantly avalable, a global tour model seems approprate,.e. the extent of tours equals the gven plannng tme horzon whch s typcally one week (see the upper part of Fg. 4.1). Ths global tour model s also a good approxmaton for plannng workforce demands. Lke moble equpment, workers must carry out tasks, drvng from one locaton to the other. Especally on the apron, travel tmes can be consderable and should not be neglected n the estmaton of workloads. The work tasks for staff wll also be planned n global tours, and we wll account for work and travel tmes n the demand curve. Clearly, ths only gves an approxmaton of actual workloads because workers are not constantly avalable. The global tour model wll generally underestmate travel tmes because real workers start and end ther shfts at prescrbed tmes. In contrast to equpment tasks, workforce tasks may be grouped nto blocks of crew tasks whch whch wll be carred out by teams of workers. Such crew tasks must be performed as much n parallel as possble. Workng n teams s common e.g. n the cleanng of arcraft cabns. The basc settng for demand plannng s thus the vehcle routng problem wth tme wndows (VRPTW) wth addtonal crew constrants. Especally when plannng equpment, we wll be nterested n a mnmsaton of the number of tours, gvng a mnmum number of devces whch must be acqured. Ths s the objectve of an algorthm whch has already been used n the plannng system before, see Kwasnok [1994]. It solves the routng problem as an assgnment problem by a network flow algorthm for fxed tasks [Desrosers et al., 1993] and by the classcal Solomon nserton heurstc for movable tasks [Solomon, 1987]. If a scenaro only contans fxed tasks, we cannot do much more except for mnmsng travel tmes. In workforce plannng, the tour model s manly used to get an approxmaton of travel tmes, and we wll be more nterested n the temporal evoluton of workforce demands. Demand peaks should be avoded by performng movable tasks at tmes of lower workload. Whle the mnmsaton of the number of tours tends to mnmse the overall demand peak, t s not suffcent for avodng local peaks. As a consequence, t does not make use of the freedom of fxng tasks at dfferent tmes of ther tme wndows. Generally speakng, we am at a demand curve whch s as smooth as possble n order to mnmse the necessary workforce. Ths wll avod workforce actvaton problems related to sudden ncreases or decreases of workloads. The assocated problem wll be called the workload levellng problem (WLP), see also Fg When levellng workloads, we wll generally not be wllng to ncrease the number of tours. The smoothng procedure wll therefore be based on the result of tour mnmsaton. We can then 46
63 4.2. Vehcle Routng and Resource Levellng try to fx the tasks to start tmes whch gve a levelled demand. The result of ths ntal phase can be mproved by consderng reattrbutons of tasks to dfferent tours, gvng them hgher temporal degrees of freedom. Local search s a good means for ths task. Whle wellknown local exchange operators lke 2opt and 3opt have proven to helpful n basc travellng salesman and vehcle routng problems, ther usefulness s lmted for the tme wndow case [Caseau and Laburthe, 1999]. For more complex scenaros lke the workload levellng problem (e.g. requrng crew task parallelsm), the exploraton of larger neghbourhoods s more approprate. In order to enlarge the degrees of freedom n local search, large neghbourhood search (LNS) has proved to be a successful optmsaton technque, see Secton 3.2. Large neghbourhood search combnes advantages of local search methods wth those of constrant programmng. Whle good solutons can already be obtaned n lttle tme, LNS yelds hghqualty solutons f more runtme can be nvested. Furthermore, constrantbased algorthms generally do not requre a fundamental redesgn f further constrants (e.g. precedence or dfferenttour constrants) come nto play whch s often the case n realworld optmsaton problems. The procedure not only needs to be robust wth regard to future constrants. Plannng scenaros on arports effectvely exhbt qute dfferent characterstcs. As an example, the number of tasks wll range from an order of 10 3 to 10 5, tasks can be movable only over some mnutes or several hours, all tasks or none of the tasks can be grouped n crews of dfferent szes, and travel tmes can be absent or reach duratons of up to one hour. The goal of ths work s thus the development of an algorthm whch s robust n terms of soluton qualty on a wde range of test cases. The chapter s structured as follows: we frst show that the workload levellng problem bears strong smlartes to the resource levellng problem n project schedulng. Afterwards, a mathematcal defnton of workload levellng wll be gven. Paragraph 4.4 shows that the workload levellng problem s N Phard, justfyng the search for approprate heurstc algorthms. We present a constrant model for workload levellng whch s the bass of a branchandbound algorthm, makng use of powerful lower bounds. The overall local search scheme wll be descrbed n Secton 4.8, and Secton 4.9 shows how the results of the precedng tour mnmsaton phase can be preprocessed for the local mprovement phase. Expermental results on realstc arport plannng scenaros are gven n Secton The chapter concludes by gvng a summary and some future research drectons Vehcle Routng and Resource Levellng A task whch s smlar to workload levellng s nvestgated unter the term resource levellng n project schedulng. Resource levellng does not refer to a unque objectve functon; accordng to Brucker et al. [1999], a project schedulng problem s of a resource levellng type f the objectve functon to be mnmsed represents some measure of the varaton of resource utlsaton 1. Ths comprses the followng objectves: 1. Reducton of fluctuatons n the pattern of resource usage [Easa, 1989]; 2. Mnmsaton of the devaton from a target resource level [Brucker et al., 1999]; 3. Mnmsaton of the excesson of a target resource level [Brucker et al., 1999]; 4. Makng the resource utlsaton approach a rectangular shape [Harrs, 1990]; 5. Gradual buldup of resource requrements towards a sngle peak and subsequent declne [Ahuja, 1976]. 1 In contrast, the mnmsaton of the number tours n vehcle routng can be compared to the resource nvestment problem, see Brucker et al. [1999]. 47
64 4. Workload Levellng n a Vehcle Routng Envronment Objectve (1) s usually grasped by mnmsng the sum of the squares of resource requrements [Zmmermann and Engelhardt, 1998], (2) can be tackled by the sum of the squares of the absolute dfferences between requrements n consecutve perods. The sum of the postve dfferences wll tend towards objectve (3) [Brucker et al., 1999]. For objectve (4), the sum of the absolute values of the dfferences can be taken [Neumann and Zmmermann, 1999], objectve (5) s acheved by mnmsng the sum of the squares of resource changes [Ahuja, 1976]. All of these objectve functons are nonregular because ther value may decrease wth hgher makespans. Therefore, the mnmum makespan s calculated n a frst step and fxed n resource levellng. Lkewse, we wll base workload levellng on an exstng algorthm for tour mnmsaton and mpose an upper bound on the number of tours used n workload levellng. Basc consderatons of resource levellng were presented by Ahuja [1976]. The basc problem was descrbed wth the objectve to attan a parabolc resource profle whch gradually bulds up and declnes after a peak. A varance measure of the dfference n resource usage from one perod to the other s mnmsed by shftng noncrtcal tasks wthn ther tme wndows. A bruteforce approach for very small examples as well as a smple greedy heurstc are presented, fxng one actvty after the other. Easa [1989] devsed an exact nteger programmng approach for mnmsng the absolute devatons from a target resource level. The decson varables are the shfts of the noncrtcal tasks wthn ther tme wndows. The algorthm seems approprate only for very small examples. No expermental results are presented. The heurstc algorthm of Harrs [1990] conssts of sequentally fxng all tasks wth the objectve of makng the hstogram of a sngle resource approach a rectangle. Base ntervals n whch movable actvtes must take place are scheduled frst to have a better gudance for the algorthm. Sebert and Evans [1991] conduct a comprehensve study of mportant consderatons n project schedulng wth regard to the temporal evoluton of resource demands, usng earlystart/latestart resource curves. The authors stress the mportance of resource levellng especally n plannng staff to avod shortterm hrng and frng wth negatve cost effects. A project schedulng software package s used for generatng a levelled resource usage curve; ts qualty s measured by the sum of the squares of resduals to an ntally assumed resource profle. Bandellon et al. [1994] descrbe a dynamc programmng algorthm for resource levellng, mnmsng the squared devatons of requrements from ther mean. The method starts by buldng a graph expressng nterdependences between noncrtcal actvtes due to successon relatonshps or objectve functon nteractons. The components of ths graph are successvely splt up by fxng start tmes of actvtes wth few nteractons. Resource levellng wth mnmum and maxmum tme lags and wth or wthout resource lmts (restrcted resource levellng) s treated by Zmmermann and Engelhardt [1998]. The study refers to dfferent objectve functons lke maxmum resource usage, sumofsquares, devaton from a target level and absolute dfferences n requrements of consecutve tme perods. The authors develop powerful lower bounds for the case of unrestrcted resources and devse a branchandbound algorthm. The search tree s heurstcally cut by fltered beam search. Test cases of up to 200 actvtes and fve dfferent resources are solved. Neumann and Zmmermann [1999] show that resource levellng wth mnmum and maxmum tme lags s N Phard on the set of objectve functons already used n Zmmermann and Engelhardt [1998]. Heurstc algorthms are presented to solve the restrcted and unrestrcted case by fxng actvty start tmes one by one. A clever dea allows to reduce the complexty from pseudopolynomalty n the tme wndow wdths to a polynomal runtme n the number of actvtes. For the restrcted case, already fxed actvtes may have to be revsed. Expermental results show that actvtes should be fxed n decreasng szes of ther tme wndows and on the bass of resource demands ncludng base tme ntervals of nearcrtcal actvtes. 48
65 4.3. Mathematcal Model More specfc to arport staff plannng, Nobert and Roy [1998] ntegrate the levellng of arcargo workloads n a shft schedulng model. Workloads are gven by klograms of freght whch can be processed wth nterruptons. After solvng the LP relaxaton, resultng demands are rounded up. The resultng standard shft schedulng problem s then solved by nteger programmng. To the knowledge of the author, no artcles have been publshed on workload levellng n a vehcle routng scenaro. One possble reason for ths s that vehcle routng and project schedulng were nvestgated separately for a long tme. Proposng an algorthm for the workload levellng problem wll be a step n combnng deas from project schedulng and vehcle routng. Stll, the workload levellng problem dffers from resource levellng n some aspects. Resources are normally levelled over the whole span of a project wth a day as the smallest tme unt [Ahuja, 1976]. If resources refer to sklled workers, resource levellng s used because staff needs tranng for a job, and operatons wll not be effcent f personnel s frequently employed or set free [Sebert and Evans, 1991]. In contrast, workload levellng wll be used on a more tactcal or operatonal level. It deals wth workload fluctuatons over a day or a week and wll usually be performed on a mnute dscretsaton. For workload levellng, mnmsng the sum of the squares of workloads seems approprate. Wth ths objectve, potentally overlappng tasks wll be fxed n a way to avod local demand peaks (wthn the lmts of ther tme wndows and tours). The global demand maxmum may also be decreased because the objectve of the algorthm mentoned n Secton 4.1 s tour mnmsaton, and t s heurstc n nature. Snce we wll consder travel tmes n the demand curve, the workload levellng algorthm wll also tend to avod unnecessary travel tmes. Because the man source of mprovement les n the fxaton of task start tmes, workload levellng wll only be appled to scenaros contanng movable tasks. Typcal arport applcatons comprse cabn cleanng or operatons departments. Whle transferrng deas from resource levellng (lke tme wndow propagaton and search strateges) can be frutful, none of the approaches n the lterature appears to be suffcent for workload levellng. Many approaches n the lterature are restrcted to very small test cases. More mportant s the dfference n problem complexty: n project schedulng, temporal relatons between actvtes are fxed,.e. there s a fxed graph of potental temporal nfluences between actvtes. Ths s not the case n workload levellng snce temporal dependences are a consequence of the attrbuton of tasks to postons n tours. We therefore have two degrees of freedom: The attrbuton of tasks to tours and the temporal fxng of tasks wthn ther tours. These decsons are nterdependent snce a task s tme wndow s restrcted by ts surroundng tasks. Expermental results wll ndcate that reattrbutng tasks to dfferent tours has a strong mpact on soluton qualty Mathematcal Model We now gve a mathematcal descrpton of the workload levellng problem. Let I be the set of tasks and R the tours as gven by the result of the prelmnary tour mnmsaton algorthm. T s the (dscretsed) tme horzon, coverng all tasks. Each tour wll start at an artfcal orgn task and end at a destnaton task; I o and I d wll denote the sets of all orgn and destnaton tasks, respectvely. Some or all tasks may be grouped nto blocks C I of crew tasks; the set of all crews wll be denoted by C 2. We ntroduce the followng parameters: 2 Note that the uppercase letter C suggests that crews are sets of tasks, see also Appendx A. 49
66 4. Workload Levellng n a Vehcle Routng Envronment [a, b ] T start tme wndow of task I I o I d l length of task I I o I d (0 for delmter tasks) travel tme between tasks I I o, j I I d d,j Orgn tasks I o wll be fxed to the scenaro start (a = b = mn T ), destnaton delmters I d to the scenaro end (a = b = max T ). Note that by fxng the depot travel tmes d,j for I o or j I d, we only allow for sngledepot models. The followng varables are used: R succ pred T tour of task I I o I d successor of I I o predecessor of I I d start tme of I I o I d Tours of delmter tasks I o I d are fxed n advance snce each tour has unque orgn and destnaton tasks. Note that the varable nformaton s somewhat redundant snce f all predecessors are fxed, we also know the successors and tours. Schedules Σ are gven by the fxaton of predecessor, successor, tour and start tme for each work task,.e. Σ = {(R, (pred, succ ), T ) I}. For a gven schedule Σ, the number of tasks (workforce demand) whose travel tmes or work duratons take place at t T s W (t) := { I T d pred, t < T + l }, see also Fg We now defne the workload levellng problem as mn z = t T W (t) 2 (4.1) subject to Tours Tme wndows Tour temporal relaton R R I I o I d (4.2) T [a, b ] I I o I d (4.3) T + l + d,succ T succ I I o (4.4) Predecessorsuccessor consstency pred = j succ j = I I d, j I I o (4.5) Predecessortour consstency j : pred = j R = r R j = r I I d (4.6) Tour dfference Crew temporal relaton R R j, j C, j, C C (4.7) T j T + (a j a ) T j + l j T + l + (a j a ) C C,, j C : j, l l j (4.8) Constrant (4.2) restrcts tasks to use the gven tours. Start tmes are restrcted n terms of tme wndows and successor/predecessor relatons by (4.3) and (4.4). Equatons (4.5) and (4.6) 50
67 4.3. Mathematcal Model a. b. c. d. Fgure 4.2.: Temporal relaton of crew tasks. ensure consstency between predecessors and successors as well as between predecessors and tours. Equaton (4.7) constrans crew tasks to be placed n dfferent tours. The parallelsm of crew tasks s expressed by (4.8). Let us consder the effect of constrant (4.8) on the temporal relaton of two tasks, j C of the same crew C C (Fg. 4.2). Let frst, j have equal lengths l = l j and same earlest start tmes a = a j. Then (4.8) constrans, j to be placed n parallel (see Fg. 4.2a). Let now the duraton of the frst task be greater (l > l j ) but the start tmes stll be equal. Then (4.8) says that j should start after but should end before j,.e. j s to be placed under (Fg. 4.2b). We now consder the case of dentcal duratons but dfferent start tmes. W.l.o.g. let a j > a. Then j must take place exactly a j a tme unts later than (Fg. 4.2c),.e. a j a s an offset between and j. If fnally l > l j and a j > a (Fg. 4.2d), then j must be placed wthn a tme wndow dentcal to the length of, but wth an offset of a j a wth regard to s tme wndow. Constrants (4.8) thus ensure that crew tasks wth a = a j take place as much n parallel as possble. If a j a 0, the dfference a j a can be nterpreted as an offset for the relatve poston of the tme wndows. A typcal applcaton s a supervsor arrvng somewhat earler at a workng locaton to prepare jobs for a group of e.g. cabn cleaners. The offset n the orgnal earlest start tmes a, a j then always entals an equal offset n the planned start tmes T, T j. For the realsaton of constrants (4.8), crew tasks wll be sorted by decreasng duratons. Nevertheless, (4.8) stll descrbes a number of constrants whch s quadratc n the number of crew tasks. Let, j, k C be parwse dfferent tasks of C C wth l l j l k. Then constrants (4.8) for the task pars (, j) and (j, k) read as and It follows T j T + (a j a ) T j + l j T + l + (a j a ) T k T j + (a k a j ) T k + l k T j + l j + (a k a j ) T k T j + (a k a j ) T + (a j a ) + (a k a j ) = T + (a k a ) T k + l k T j + l j + (a k a j ) T + l + (a j a ) + (a k a j ) = T + l + (a k a ) whch are exactly the constrants (4.8) for the task par (, k). As a consequence, the crew temporal relaton s transtve, and t suffces to defne constrants for adjacent tasks n an orderng by decreasng lengths,.e. we need 2( C 1) constrants for a crew C C. 51
68 4. Workload Levellng n a Vehcle Routng Envronment 4.4. Computatonal Complexty General resource levellng s known to be N Phard [Neumann and Zmmermann, 1999]. Smlarly, the N Phardness of workload levellng can be shown. Theorem 1. The workload levellng problem (WLP) s N Phard. Proof. The decson problem correspondng to WLP s: Is there a schedule Σ wth objectve functon value z(σ) B? To show that WLP s N Phard, we wll use a polynomal transformaton from the PARTITION problem whch s N Phard [Garey and Johnson, 1979]. The PARTITION problem s: Gven a fnte set E and a sze s(e) N 0 for each e E, s there a subset E E such that s(e) = e E e E\E s(e) For the WLP, the tme horzon s chosen as T = [0, 2[, all travel tmes d,j are 0. For each gven e wth sze s(e) N 0, we buld a crew of s(e) tasks all of whch have a start tme wndow [0, 1] and a length of 1. Note that ths set of crew tasks has an offset of 0 and thus has to be placed n parallel. Clearly, for each e wth s(e) = 1, we construct a sngle noncrew task. It s evdent that ths transformaton s polynomal. We now set B := 2 ( E 2 ) 2. For a gven partton of E nto E and E \ E, we can buld a soluton to WLP by fxng all tasks correspondng to elements n E to start tme 0 and tasks of E \ E to 1. Ths gves a schedule Σ for WLP wth objectve functon value z(σ) = B. Conversely, f z(σ) B for the gven problem wth h := e E s(e) tasks, ths (optmal) soluton must be gven by h 2 tasks beng fxed to start tme 0 and h 2 tasks fxed to 1, respectvely. Let E be the tasks correspondng to the crews (or sngle tasks) fxed to 0 (note that a block of crew tasks starts at ether 0 or 1). Now E and E \ E s a partton of E wth e E s(e) = h 2 = e E\E s(e). Because WLP s N Phard, we cannot expect that a polynomal tme algorthm exsts whch solves the problem exactly. Emprcal experence shows that typcal test cases are very demandng as well, justfyng the search for powerful heurstcs Constrant Model We wll now devse a constrant model for the workload levellng problem. It wll be based on an nserton logc, nsertng tasks sequentally nto an emergng set of shfts (see Secton 3.3). Travel tmes can be asymmetrc (e.g. due to oneway connectons on the apron), but are assumed to obey the trangle nequalty. The followng domans wll be used, gven wth the correspondng decson varable n the mathematcal model: Name mathematcal varable CP doman start tme T δ start = [α, β ] nserted varable δ ns current predecessor pred π current successor succ σ predecessor varable pred δ pred nserton postons succ δ p tour varable R δ tour 52
69 4.5. Constrant Model The doman δ start gves the start tme wndow of task. It s ntalsed to δ start = [α, β ] := [a, b ] and wll be adapted f tme wndows are restrcted by nserted tasks. The bnary varable doman δ ns wll be {false, true} for relaxed tasks and wll become {true} upon nserton. An nserted task has current predecessor and successor tasks π and σ n ts tour. As descrbed n Secton 3.3.1, π and σ are no constrant varables n the proper sense. Instead of shrnkng monotoncally, these varables gve the (ntermedary) predecessors and successors n the partal schedule, contanng sngle values whch change wth new nsertons. For relaxed tasks, π and σ are set to NIL. In contrast, δ pred gves the potental predecessor tasks: for nserted tasks, ths ncludes the actual predecessor n the tour as well as unscheduled tasks whch may be placed before the task. For tasks whch are not nserted, the doman gves the tasks whch may become predecessors of n a tour. Smlar to the predecessor varable, δ p gves the potental successors for an unnserted task. Whle δ pred converges to the predecessor n the fnal schedule, δ p becomes empty when s nserted. Inserton postons are thus only temporarly used for tasks whch are not yet nserted. The reason for ths asymmetry s propagaton effcency. The evaluaton of nserton postons whch are feasble wth regard to the tme wndows s most effcently done from the unscheduled task s perspectve. As soon as a task s nserted, these nserton checks wll be dsabled by settng the nserton postons δ p to. Vald nserton postons are prmarly stored as successors because a set of successors can effcently be synchronsed wth the predecessor doman of another task (cf. the nserton postons test below). Contrastng to the nserton postons varable, we need full predecessor nformaton n δ pred whch always ncludes the actual predecessor. Ths nformaton wll be used for the schedulng of potental travel tmes (see Secton 4.7). Fnally, δ tour gves the potental tours to whch may be attrbuted. For scheduled tasks, ths doman wll contan a sngle value equal to the task s actual tour. In the followng, we wll descrbe the consstency tests. It wll become clear that the nsertonbased model s partcularly wellsuted for local reoptmsaton whch can e.g. be exploted for an effcent evaluaton of nserton postons. For each local step, the nserton and start tme decsons for a set I rel of work tasks wll be released, and for each I rel the possble nserton postons wll be evaluated. Let Φ() := {(j 1, j 2 ) j 1, j 2 I \ I rel, α j1 + l j1 + d j1, b max(α j1 + l j1 + d j1,, a ) + l + d,j2 β j2 } be the set of pars of tasks between whch can be nserted and Φ := Irel Φ() the set of all nserton postons. We wll express the tme complexty of consstency tests n terms of the cardnaltes I rel and Φ. Note that because a task can always be nserted at ts former poston, we have I rel Φ. Tour temporal relaton For each work task I, we have the followng update rules: α π + l π + d π, > α = α := α π + l π + d π, β d π, l π < β π = β π := β d π, l π The consstency test wll be executed upon each change of δ start, π or σ. Its tme complexty s n O(1) for each task. Crew temporal relaton Let C = ( 1,..., n ) C be a crew such that l j l j+1 for all j. 53
70 4. Workload Levellng n a Vehcle Routng Envronment The start tmes of adjacent crew tasks j, j+1 are updated by the followng rules: α j + (a j+1 a j ) > α j+1 = α j+1 := α j + (a j+1 a j ) α j+1 (l j l j+1 ) (a j+1 a j ) > α j = α j := α j+1 (a j+1 a j ) + (l j+1 l j ) β j + (l j l j+1 ) + (a j+1 a j ) < β j+1 = β j+1 := β j + (l j l j+1 ) + (a j+1 a j ) β j+1 (a j+1 a j ) < β j = β j := β j+1 (a j+1 a j ) Ths consstency test s executed upon the range events of δ start j and δ start j+1. As for the tour temporal relatons, ts tme complexty s constant for each par ( j, j+1 ). Inserton postons We evaluate nserton postons for all released tasks I rel. The potental successor set δ p s dvded nto a set of unscheduled tasks Γ() and a set of nserted tasks, defnng pars Ξ() of tasks between whch may be nserted: Γ() := {j 2 j 2 δ p, δns j 2 = {false, true}} Ξ() := {(j 1, j 2 ) j 2 δ p, δns j 2 = {true}, j 1 = π j2 } Note that the predecessors j 1 n Ξ() are the nserted tasks of δ pred. The sets Γ del () and Ξ del () gve the unnserted tasks whch cannot be successors of and the pars of nserted tasks between whch cannot be nserted due to temporal restrctons: Γ del () := {j 2 Γ() α + l + d,j2 > β j2 } Ξ del () := {(j 1, j 2 ) Ξ() α j1 + l j1 + d j1, > β, max(α j1 + l j1 + l j1, α ) + l + d,j2 > β j2 } The potental successors and predecessors are updated as follows: δ p δ pred := δ p := δ pred \ (Γ del () {j 2 (j 1, j 2 ) Ξ del ()}) \ {j 1 (j 1, j 2 ) Ξ del ()} Ths check must be performed upon changes of the start tme wndows δj start of potental predecessors and successors, upon ther nsertons (δj ns doman events) and upon changes of s start tme wndow δ start. The cost of the test s n O( Φ ). Predecessor update Predecessor nformaton s adjusted upon updates of nserton poston domans. All tasks whch are not nserted and do not allow for as successor can be removed from δ pred : δ pred := δ pred \ { δ pred δ ns = {false, true}, / δp } If s nserted, we wll addtonally remove all scheduled predecessors except for ts actual predecessor π : δ ns = {true} = δ pred := δ pred \ { δ pred δ ns = {true}, π } Note that ths consstency test s undrectonal and does not remove potental successor tasks from an nserton postons doman. One predecessor update constrant s used for each task n I rel I rel{j 2 (j 1, j 2 ) Φ()}. The test wll be trggered for each change of δ p j 1 for j 1 such that (j 1, j 2 ) Φ() as well as upon nserton of (δ ns doman event). The complexty of the test s n O( Φ ) f contanment n δ p can be checked n constant tme (e.g. by a bt vector representaton). 54
71 4.5. Constrant Model Dfferent tours Each crew task must be nserted nto a dfferent tour. An alldfferent({δ tour C}) global constrant s used for every crew C C. The alldfferent constrant wth ncremental updates trggers on all doman events and has a runtme n O( C 2 R 2 ) for a complete branch of the search tree [Régn, 1994] [Régn, 2000]. Tourtask consstency Whle nserton postons and predecessors are restrcted by the nserton postons constrant, tour domans may be constraned by the dfferent tours test. Ths nformaton must be made consstent. If a task s nserted, nothng has to be done. If δ ns = {false, true}, we perform the followng updates: δ p δ pred δ tour := δ p := δ pred \ {j δ p δj tour = {r}, r / δ tour := {r δ tour \ {j δ pred j δ p δ tour j : δ ns j } = {r}, r / δ tour = {true}, δj tour } = {r}} The test could be made somewhat stronger by deletng nserton postons j such that δj tour δ tour =, but for effcency reasons, the rule propagates for δj tour = 1. It s therefore only trggered on the bound events of the tour varables of nserton postons (predecessors and successors) and on doman events of δ tour and δ p. Because for unnserted tasks, δp and δ pred are always conform n gvng the same nserton postons, trggerng on δ pred would be redundant. Note that the rule for updatng δ tour only consders nserted tasks j. Ths s correct because f there s no nserted task j n tour r before whch can be nserted, can never be attrbuted to r. For the same reason, there s no meanng n trggerng the constrant upon nsertons of potental predecessors and successors of. The consstency test adapts the predecessor nformaton n δ pred, but because the predecessor update rule descrbed above s undrectonal, ths nformaton wll never become propagated to other tasks successor domans δ p j. What may seem a consstency gap wll be lttle harmful n practce because nserton postons are only evaluated for unnserted tasks j. Because the tour varable δj tour of unnserted tasks rarely becomes bound, we wll not expect that hardly ever such a task j has to be deleted from δ pred. Agan assumng set contanment checks to run n constant tme, the predecessor and successor update run n O( Φ ) tme each. Because the number of possble tours for cannot be greater than ts nserton postons, the tour doman update has the same complexty, yeldng an overall runtme n O( Φ ). Task nserton When the set {j δ p δj ns = {true}} of nserton postons for reduces to a sngle task j 2, can be nserted between j 1 := π j2 and j 2, entalng the followng updates: := := {r} := {true} π := j 1 σ := j 2 σ j1 := π j2 := δ p δ tour δ ns The constrant only trggers on doman events of δ p. Addtonal trggerng upon nsertons of any of the j δ p would be redundant because an ncrease n the number of nserted successors can never result n an nserton of. The man purpose of the task nserton constrant s to trgger the temporal propagaton for. Its cost s n O( Φ ). 55
72 4. Workload Levellng n a Vehcle Routng Envronment nserton postons start tmes Fgure 4.3.: Structure of the search tree. Only the nserton postons, predecessor update and tourtask consstency tests trgger upon doman changes of tasks whch depend on the set of relaxed tasks or on the nserton postons. We wll therefore dynamcally add these constrants for each local step, regsterng the tests only on the respectve domans of nserton postons (taken from Φ()). Ths avods redundant executons of consstency tests as far as possble. Note that even f the task nserton test s only necessary for released tasks, we can make t a statc part of the constrant model because t wll effectvely only be trggered for released tasks. The constrant model presented above exhbts some symmetry whch can deterorate the effcency of branchandbound algorthms. One symmetry s wth regard to the tours: The chans of tasks n a soluton can be assgned to any of the R tours, yeldng equvalent solutons (see also Secton 3.3.1). Ths symmetry s not harmful n local search because we wll never release a total tour, and the task context n a tour wll always break the symmetry. Another potental symmetry relates to the tasks. Especally crew tasks often have dentcal tme wndows, lengths and take place at the same locaton. Every sngle task can be attrbuted to any permutaton of the tours, yeldng somorphc solutons. To avod ths symmetry, tasks of dentcal tme wndows, lengths, locatons and crews (or noncrew tasks) are grouped. A partal orderng s defned on the tasks and tours such that the tasks of each such group are assgned n nondecreasng order to the tours. Ths assgnment wll be ensured by a specal consstency test, preventng the search algorthm from repeatedly evaluatng somorphc stuatons BranchandBound As descrbed n Secton 3.2, large neghbourhood search (LNS) conssts of the repeated relaxaton of decsons and reoptmsaton. Whle the relaxaton amounts to resettng tour attrbutons of tasks and ther tme wndows, reoptmsaton wll consst of a restrcted branchandbound search. Before t s shown how the search tree can be heurstcally restrcted to promsng parts of the soluton space, the basc branchandbound scheme wll be descrbed. For each of the relaxed tasks, two types of decsons must be taken: Tasks have to be nserted nto the plan, and they must be fxed n tme. Because a task s tme wndows can be restrcted by nserton, we wll frst nsert tasks and then fx start tmes. As a consequence, the search tree wll be structured nto two levels: an upper level where nserton decsons are taken and a lower level on whch tasks are fxed to start tmes (cf. Fg. 4.3). The basc branchandbound search s outlned by Algorthm 3. The nput s a partal schedule ˆΣ (the result of relaxng task decsons) and an ncumbent soluton Σ of value z whch s dent 56
73 4.6. BranchandBound cal to the schedule before relaxaton. The algorthm uses a stack N of tree nodes whch stll have to be processed. Algorthm 3 WLP branchandbound. 1: N (ˆΣ) 2: whle there are nodes on N do 3: pop a partal schedule Σ from N 4: f there are unnserted tasks n Σ then = {false, true} do 7: perform tral nserton of before j (δ p 8: calculate lower bound LB(Σ, δ p 5: choose task wth δ ns 6: for all nserton postons j δ p 9: end for 10: for all nserton postons j δ p 11: create a chld of Σ, assgnng δ p 12: push chld on node stack N 13: end for 14: else f there are unfxed tasks then 15: choose a task wth δ start > 1 16: for all start tmes τ δ start do 17: perform tral fxaton of δ start := {j}) := {j}) such that LB(Σ, δ p := {j} to t 18: calculate lower bound LB(Σ, δ start := {t}) 19: end for 20: for all start tmes t δ start := {j}) < z do such that LB(Σ, δ start := {t}) < z do 21: create a chld of Σ, assgnng δ start := {t} 22: push chld on node stack N 23: end for 24: else f z(σ ) < z then 25: Σ Σ 26: z z(σ ) 27: end f 28: end whle Constrant propagaton s performed throughout the search tree,.e. after each nserton or fxaton of start tmes, the consequences on other varables are propagated. Ths may fx decsons for further tasks. As an example, when a crew task s fxed n tme, all of ts adjacent crew tasks wll become fxed f all tasks have equal lengths. Most of the consstency tests descrbed above turned out to have lttle mmedate cost consequences. For the tral nsertons and fxatons (lnes 7 and 15 of the algorthm), propagaton was therefore restrcted to the temporal consstency tests. Some desgn decsons were left open so far. In lnes 5 and 13, decsons for tasks whch are to be nserted or fxed are taken. The order of task nsertons and fxatons has a consderable mpact on the algorthm s performance. Dynamc varable orderng wll be used,.e. these decson wll depend on the state of the constrant model [Dechter, 2003]. In both cases, varants of the falfrst prncple wll be used, meanng that we should frst take tasks whose nserton postons or start tmes are most restrcted [Haralck and Ellott, 1980]. For task nsertons, we wll frst nsert tasks belongng to larger crews because larger crew blocks wll be more restrctng. Wthn the tasks of same crew sze, tasks wth few nserton postons are preferred,.e. tasks are sorted by ncreasng szes of δ p. If these are stll equal, tasks 57
74 4. Workload Levellng n a Vehcle Routng Envronment wth smaller tme wndows δ start are preferred. Remanng tes are broken arbtrarly. When fxng start tmes, tasks wth smaller tme wndows δ start are taken frst. In case of tes, tasks of larger crews are preferred. Remanng ambgutes are resolved arbtrarly (e.g. by task order). Furthermore, we must specfy n whch order the chldren of a search node are explored,.e. n whch order they are wrtten on the node stack (lnes 10 through 13 and 20 through 23 of Algorthm 3). Because the lower bound whch wll be descrbed n Secton 4.7 gves good hnts of promsng branches, ths lower bound s always used as a frst crteron. For te breakng, the mnmum objectve functon resultng from an nserton or start tme fxaton has shown to provde good gudance. Even for modestly szed sets of relaxed tasks, a complete branchandbound search would be too costly n terms of computaton tme. Addtonally, each tree search only represents one local exchange whle consderable mprovements on largescale scenaros can only be acheved by many local steps. The sngle steps should then not necesstate too much tme. Among the dfferent schemes to prune the search space heurstcally, lmted dscrepancy search (LDS) proposed by Harvey and Gnsberg [1995] s one of the most successful technques n recent years. The basc observaton whch has led to the development of LDS s that pure constructon heurstcs, takng decsons one by one, often lead to good solutons. On some nstances, optma may be reached, whle on others, only few decsons of the heurstc are wrong. Interpreted n a tree search context, a constructon heurstc corresponds to a descent on the best branches of the tree f the chldren at each node are ordered by the heurstc crteron. If now the heurstc fals to fnd a better soluton, the ntuton says that we should follow ts decsons at all but one decson pont. Ths dscrepancy from the best path can be taken at any node. If there s no mprovement, we should try two dscrepances and so on. If the best decsons correspond to left branches, we thus allow a lmted number of devatons to the rght. Note that ths frst corresponds to a depthfrst tree traversal on the leftmost branch whle the breadth of search s teratvely ncreased. For a tree search wth dscrepancy D, we vst leaves n whch a maxmum of D dscrepances from the best decsons s summed up over all of the decson ponts. Lmted dscrepancy search now ncreases the number D of allowed dscrepances up to a gven lmt L D, startng wth D = 0 whch corresponds to followng the best valuaton at all decson ponts. Ths of course means that n a run for a gven D, the parts of the search trees for D = 0,..., D 1 wll be revsted. But because we may have found good solutons n precedng runs, the gan n upper bound qualty usually outweghs the extra effort. It can be easly verfed that despte of repettons, complexty of LDS s n O(n L D) f n s the number of decson ponts. From a local search vewpont, LDS allows the exploraton of a neghbourhood n a tme whch s polynomal n the number of relaxed tasks f the dscrepancy lmt L D s fxed. Clearly, the runtme s stll exponental n L D. Frst experments have shown that when low dscrepancy lmts were used, the algorthm often faled to fnd mprovng solutons. On the other hand, soluton tmes grew rapdly wth hgher lmts. A varaton of the basc LDS schema was therefore used: Instead of consumng dscrepances for all devatons from the best path, dscrepancy s only accounted f the frst decson on a branch results n a feasble mprovng soluton. Ths means that each tme an mprovng soluton s found, ths fact s backpropagated to all decson ponts whch have led to the soluton. When the next alternatve at a decson pont s evaluated, dscrepancy s only consumed f the precedng branch was marked as successful. As a consequence, an mprovng soluton can always be found wth a dscrepancy lmt of L D := 0. The lmt L D thus has a strong mpact on the number of mprovng solutons whch are explored. For an mprovement method of the workload levellng problem, ths approach seems very approprate because the startng soluton was created wthout consderng levellng crtera. As a consequence, mprovng solutons can be found very quckly n the frst steps whle later on, mprovements can only be found by nvestng more search effort. 58
75 4.7. Lower Boundng a. W t b. W t c. W Fgure 4.4.: Base hstogram: crtcal, nearcrtcal and noncrtcal tasks. t 4.7. Lower Boundng The use of good lower bounds s crucal for the performance of branchandbound type algorthms. If the lower bound of a partal soluton Σ s already greater or equal to the value of the ncumbent soluton, the current branch can be abandoned. In ths way, large portons of the search tree can be pruned f lower bounds are tght. Addtonally, lower bounds can be used to gude the tree search as descrbed above. A basc lower bound could be calculated by superposng the demands of all tasks whch are nserted and whose start tmes are fxed. We can do better by a smple observaton. Fg. 4.4 dstngushes three basc stuatons for a task s tme wndow (gven by dotted brackets). Tasks whch are fxed n tme (Fg. 4.4a) can be totally accounted n the demand curve (sketched below the task). If a task s start tme s not yet fxed, we may stll have the stuaton of Fg. 4.4b: If the latest start tme of a task s less than ts earlest completon tme, we already know that t must take place wthn a certan base nterval [Harrs, 1990] [Neumann and Zmmermann, 1999]. Only f the tme wndow s very large (case 4.4c), nothng can be done. The resultng demand profle wll be called base hstogram. In analogy to project schedulng termnology, tasks wth fxed tme wndows wll be called crtcal and unfxed tasks wth a nonempty base nterval nearcrtcal 3. In the context of workload levellng, we must nclude travel tmes whch are placed drectly before the start tmes of the tasks. In a partal schedule Σ as gven by the constrant model n a search node, the fnal travel tmes are not known for all tasks because some of the tasks may not yet be nserted. For lower bound calculaton, we can nevertheless nclude a mnmum travel tme d mn whch must be performed before a task : d mn := mn j δ pred For a current start tme wndow δ start = [α, β ] and the mnmum travel tme d mn, the base tme nterval of task wll be [β d mn, α + l [. The number Ŵ (t) of tasks whch must be 3 In project schedulng, actvtes are crtcal f there s no slack, cf. e.g. Zmmermann [2005]. d j, 59
76 4. Workload Levellng n a Vehcle Routng Envronment performed at a tme t T can thus be defned as Ŵ (t) := { I β d mn t < α + l } Usng ths demand, a frst lower bound on the fnal objectve functon value of a partal schedule Σ s gven by ẑ(σ ) := Ŵ (t) 2 t T By the nserton of tasks and start tme decsons, the tme wndows wll be narrowed n the course of soluton constructon, ncreasng the szes of the base ntervals. ẑ(t) wll fnally converge toward the fnal objectve value z(t) for a full schedule. For a partal schedule Σ, let I I be the set of tasks whch are not yet fxed n tme,.e. I := { I α < β }. Smlarly to Zmmermann and Engelhardt [1998], these tasks can be used to strengthen the lower bound. Note that we have already scheduled a workload of max(α + l (β d mn ), 0) for all tasks I. If we do not want to tackle nterdependences of start tme decsons for tasks I explctly, we can regard the remanng task mnutes w := l + d mn max(α + l (β d mn ), 0) as a unform workload whch wll be attrbuted untwse to tmes of lowest demands. It s clear that the total workload W := I w must be carred out wthn the tme nterval [ [ T = [A, B[= mn (α I d mn ), max (β I + l ) The workload wll be dstrbuted n steps of ncreasng ntervals wth the left boundary A beng fxed. The tasks I are sorted by latest end tmes β + l. Let 1 be the task wth lowest latest end tme. The workload w 1 s now dstrbuted untwse over the nterval T 1 := [A, β 1 + l 1 ], each tme ncreasng Ŵt at the tme t of lowest workload. The workload w 2 of the next task n order s then dstrbuted over the nterval T 2 := [A, β 2 + l 2 ] and so on. In ths way, the total workload s unformly scheduled n ncreasng ntervals. By constructon, t s clear that the value z(σ ) := W t T t obtaned from the fnal hstogram W t s stll a lower bound. If perods are stored by ther demand Ŵt, the procedure can be mplemented n O( T + W ) tme (and O( T ) space) complexty. The qualty of the lower bound depends on the tme perod T covered by the tasks n I. The qualty of the bound wll normally be better f a small number of tasks s unscheduled whch s true for large neghbourhood search. Even f t s helpful n gudng the search tree traversal, the lower bound z(σ ) calculated before any tour attrbutons and temporal fxatons wll generally not gve a good ndcaton of the optmal objectve functon value Large Neghbourhood Search The local search algorthm conssts of repeated steps of decson relaxaton and reoptmsaton. In Secton 4.6, the renserton and fxng of tasks by branchandbound was descrbed. We wll now present the choce of tasks whose nserton and start tme decsons are relaxed. Tasks should be chosen as to allow for an objectve functon mprovement when beng reoptmsed. It wll thus not make sense to relax tasks whch are far away from each other because nserton and fxaton decsons for such tasks wll not be nterdependent. We should prefer tasks whch are somehow related. As n Shaw [1998], a relatedness measure wll be used for the choce of task sets. Note that the choce of task sets for relaxaton s related to clusterng methods [Tallard, 1993]. 60
77 4.8. Large Neghbourhood Search Crew tasks generally have a strong nteracton: If e.g. crew tasks have same lengths, the total crew block wll be fxed when the start tme of one of the tasks s fxed. We wll therefore always relax whole blocks of crew tasks. Furthermore, the symmetry constrants descrbed n Secton 4.5 mpose consderable restrctons for the tour attrbuton. Noncrew tasks wll therefore only be relaxed along wth ther symmetry group. The procedure wll consst n choosng a frst task and then collectng a set of related tasks. Because most mprovements wll stem from start tme changes (and not from changes n travel tme), only movable tasks are consdered n the frst step. Dfferent costbased crtera lke regretbased selecton were tred for the selecton of a frst task. Astonshngly, none of these crtera could clearly outperform a random task selecton. Selecton crtera cannot generally grasp the mprovement potental of a task s surroundngs and wll therefore be very local n nature. Snce the LNS algorthm quckly fnds local mprovements, such crtera wll only bas the search when tasks have been moved to ther locally optmal soluton. The frst task s therefore chosen wth a unform dstrbuton over the set of movable tasks. Along wth the frst task, ts crew or symmetry group tasks are chosen. Because only tasks whch are near n tme nteract wth the frst task, the further choce s restrcted to tasks whch can overlap wth a tme wndow [α T D, α + l + T D] around the frst task where T D s a parameter. Note that all tme wndows are fxed when selectng tasks for relaxaton,.e. α = β I. A relatedness measure REL(, j) between two tasks, j s used whch s a weghted sum of four terms: REL(, j) := λ T W T W (, j) + λ OL OL(, j) + λ DIST DIST (, j) + λ T T T T (, j) A hgher relatedness means that these tasks are assumed to have a better chance of mprovng the soluton when beng released. All terms are desgned to be commutatve n ther arguments: T W (, j) s the sze of the (orgnal) tme wndows: T W (, j) := (b a ) + (b j a j ) OL(, j) gves the current overlap between and j: OL(, j) := max(mn(α + l, α j + l j ) max(α, α j ), 0) DIST (, j) s a measure of the dstance between the tasks (DIST fx s a parameter of the algorthm): { 1 α DIST (, j) := j α + (α j +l j ) (α +l ) f α j α + (α j + l j ) (α + l ) > 0 DIST fx else T T (, j) gves a (symmetrc) dstance between and j (wth parameter T T fx ): { 1 t T T (, j) := j +t j f t j + t j > 0 T T fx else If I rel are the tasks chosen so far, the valuatons Irel REL(, j) are calculated for all tasks j I \ I rel whch are near to the frst tasks. The tasks are then sorted by decreasng valuatons. Ths means that tasks whch are near n tme or space to the tasks chosen so far, whch overlap wth them or have large tme wndows wll come frst. Let RS be the number of elements n ths sortng. If we reled too much on the relatedness sortng, we would possbly mss sets of tasks whch can mprove the soluton. As proposed n Shaw [1998], some random nfluence s ntroduced n order to dversfy the search. A random number µ [0, 1[ s chosen, and wth a choce randomness parameter CR N, an ndex κ := RS µ CR 61
78 4. Workload Levellng n a Vehcle Routng Envronment s calculated. We now choose the κ th element n the relatedness sortng (along wth ts crew or symmetry group tasks) to be relaxed. If CR s hgh, µ CR wll be close to 0, and we wll choose one of the frst elements n the relatedness sortng. If CR s rather low, the nfluence of randomness wll be greater. Ths task selecton procedure I rel s repeated untl no more tasks can be chosen wthout exceedng a gven lmt on the number of tasks. The tasks n I rel are then relaxed,.e. ther start tme, tour and scheduled domans are reset; the current predecessor/successor values are set to NIL. We then evaluate possble nserton postons Φ() n the tours. These nserton postons are recorded n the nserton postons and predecessor domans of the relaxed tasks as well as n the predecessor domans of the nserton postons. As descrbed above, the nserton postons, predecessor update and tourtask consstency tests are added dynamcally to the formulaton, and tasks are renserted and fxed by the LDS algorthm descrbed above. Fnally, we must specfy how the neghbourhood sze,.e. the number of relaxed tasks, s controlled. Clearly, the most costly step n large neghbourhood search s the renserton procedure whose complexty scales wth the number of relaxed tasks. For effcency reasons, we should try to gan mprovements by the least number of tasks. The procedure therefore starts wth only one relaxed task at a tme. After a certan number of steps, no further mprovements wll be possble. To avod stallng, the step sze s ncreased by one after a number SWI of steps whch do not yeld any mprovement. Clearly, there s a tradeoff: Instead of acceptng many nonmprovng steps at a low stepwdth, t may pay off to force hgher numbers of tasks to be relaxed n order to gan substantal mprovements. A general advantage of large neghbourhood search s that the soluton qualty smoothly scales wth the nvested runtme: Whle wth lttle runtme, reasonable results are obtaned, the results gradually get better f more tme s avalable. If arbtrarly large neghbourhood szes and dscrepances can be used, LNS amounts to a complete search for the gven optmsaton problem Preprocessng As descrbed before, the levellng procedure s preceded by a tour mnmsaton algorthm. The mprovement phase wll buld upon the task attrbuton as gven by the precedng tour mnmsaton phase. We stll have some degrees of freedom for fxng tasks wthn ther remanng tme wndows. Before the mplementaton of the levellng procedure, tasks were fxed to ther earlest possble start tmes, neglectng the possblty of shftng tasks wthn ther tours n order to level demands. Ths earlest start soluton s a possble startng pont for the levellng algorthm. However, a better startng soluton can be generated by lettng a preprocessng phase decde at whch tmes the tasks are scheduled. Assume frst that the scenaro does not contan crew tasks. Consder a tour whose tasks are not yet fxed n tme, contanng a set of tasks I r n fxed order. If the tour s traversed tmewse, the possble start tmes of a task 2 only depend on the fxaton of the precedng task 1. Ths means that a dynamc programmng (DP) algorthm wth state space I r T can be appled. The cheapest objectve functon value for each state ( 2, t 2 ) s calculated by mnmsaton over the start tmes t 1 of the predecessor 1 = π 2 such that t 1 + l 1 + d 1, 2 t 2. At each node, the ncrease n objectve functon by fxng 2 to t 2 s added. Ths dynamc programmng algorthm can make use of the constrant model, see also Focacc and Mlano [2001]. When a DP state ( 1, t 1 ) s expanded to possble start tmes for successor task 2, ths can be done by settng δ start 1 := {t 1 } and propagatng. The resultng objectve functon s recorded, and each of the start tmes n δ start 2 s tred and propagated. If the best value at state ( 1, t 1 ) plus the objectve functon ncrease s less than the current value at the state ( 2, t 2 ), ts best 62
79 4.9. Preprocessng 1 2 Fgure 4.5.: Temporal nfluence over crew tasks. value s updated. Ths procedure can be optmsed for start tmes t 1 of 1 wth t 1 +l 1 +d 1, 2 < a 2,.e. when the fxaton of 1 to t 1 does not have any nfluence on possble start tmes for 2. We can then frst mnmse over the states ( 1, t 1 ) wth the aforementoned property and then expand to all start tmes t 2 [a 2, b 2 ] of 2. Ths procedure provdes local optma for a sngle tour n a specfed context as gven by the tasks n other tours. The context should be as expressve as possble. Imagne that no other tasks are recorded n the demand curve. Then the tourwse dynamc programmng as descrbed above wll yeld dentcal costs for every possble fxaton. On the other hand, f the tasks of all other tours are fxed, the optmsaton may have a very local character, meanng that we cannot expect much mprovement. Two dynamc programmng schemes were evaluated: We use the gven task attrbuton, but let the tme wndows open. Base tme ntervals of all tasks are recorded as descrbed n Secton 4.7,.e. we start from a base workload hstogram. The tours are then fxed one by one by the above dynamc programmng procedure. Ths successve fxng procedure wll be referred to as SFDP. We take the earlest start tme fxaton. For each tour n turn, the start tmes for all tasks n the tour are relaxed and reoptmsed by dynamc programmng. Ths s repeatedly done on all tours untl no more mprovement s possble,.e. we have reached a local optmum. Ths s the case f no mprovement was possble for R tours. We wll refer to ths procedure as repeated local dynamc programmng (RLDP). Note that RLDP wll traverse more tours than SFDP, but the extra runtme may pay off because the fxaton of a tour s evaluated n dfferent contexts. For SFDP, the context n whch a tour s optmsed wll be less expressve, especally for the frst tours whch are fxed. If the scenaro contans crew tasks, some extra effort must be spent. In the RLDP scheme, start tme decsons should be relaxed for complete crews because otherwse, a crew task would have lttle or no degrees of freedom. Potental problems for dynamc programmng arse from the more complex temporal relatons between the tasks: Whle wthn the tours, possble start tmes for a task 2 only depend on ts predecessor 1, vald start tmes for 2 may addtonally be nfluenced by tasks before 1 va crew task relatons. An example can be found n Fg. 4.5 where tasks of the same colours represent blocks of crew tasks and temporal nfluences are sketched by arrows. In such cases, the optmal start tmes determned n dynamc programmng may not be feasble. In practcal scenaros, ths phenomenon wll be rare, and we wll smply dscard the DP results n such cases. For comparson wth the dynamc programmng approaches, a thrd greedy fxng (GF) method s evaluated. All tme wndows are left open, and fxng s done on the bass of the base hstogram. All tasks are traversed n order of ncreasng tme wndows,.e. decsons for tasks wth most degrees of freedom are left untl the end. Each task n turn s fxed to ts (locally) optmal start tme. Ths approach was successfully appled to resource levellng [Harrs, 1990] and corresponds to the falfrst prncple [Haralck and Ellott, 1980]. The best soluton of these preprocessng algorthms wll gve a hnt of whch objectve functon values can be attaned wthn the gven attrbuton of tasks to tours. The degree by whch the local 63
80 4. Workload Levellng n a Vehcle Routng Envronment No. days tasks movable average task crews crew range of tours groups tasks tme wndow mnutes tasks travel tmes A [0,7] A [0,7] A [0,0] B [0,11] B [0,8] B [0,10] B [0,10] B [0,24] B [0,18] B [0,29] B [0,54] B [0,12] B [0,0] B [0,0] B [0,1] B [0,1] B [0,3] Table 4.1.: Scenaro data. search algorthm s able to mprove the soluton wll furthermore gve an ndcaton of how much the qualty of tour attrbutons contrbutes to overall soluton qualty Expermental Results All of the aforementoned algorthms were mplemented n Vsual C The toolkt ctk was used for the mplementaton of constrant propagaton and the branchandbound algorthm. Tests were carred out on a personal computer wth AMD Athlon processor (1.67 MHz), 512 MB man memory and operatng system Wndows XP SP1. Snce workload levellng s a novel optmsaton problem whch s especally relevant to arport operatons, realstc arport plannng scenaros were chosen for the evaluaton. Scenaros cover seven or eght days wth a dscretsaton of one mnute and often have a large scale as can be seen from Table 4.1. Test cases of class A represent pure equpment plannng scenaros whle class B scenaros apply to staff plannng. The number of tasks vary between 229 (scenaro A01) and (scenaro B09) of whch an average of 59.9% are movable (column tasks ncludes movable tasks n Table 4.1). Whle n some scenaros, nearly all tasks are movable, only 2.8% of the tasks are movable n scenaro B03, meanng that the potental for levellng wll be rather low. The average tme wndows as gven n Table 4.1 refer to movable tasks only. As can be seen from the problem data, the tasks are partly hghly movable wth a tme wndow of up to 269 mnutes. Tasks have average lengths of between 5.4 and mnutes. 10 out of 17 scenaros contan crew tasks wth average crew szes between 2 and 12. Some of the scenaros have vanshng travel tmes whle others use travel duratons of up to 54 mnutes. It can be seen that the test cases cover a wde range of dfferent characterstcs wth regard to the number of tasks, ther movabltes, duratons and the use of crews. The fgure tours gves the result of the ntal tour mnmsaton algorthm. Note that whle scenaro A01 comprses only 4 tours, 789 tours are needed to cover the tasks of scenaro B09. The column groups refers to the symmetry breakng descrbed n Secton 4.5. It can be seen that especally the test cases nvolvng crew tasks exhbt strong symmetry. In other scenaros, there s no or nearly no advantage n usng symmetry breakng constrants. As an example, each task 64
81 4.10. Expermental Results No. EST SFDP RLDP GF obj. fct. obj. fct. mprovement runtme (sec.) obj. fct. mprovement runtme obj. fct. mprovement runtme (sec.) A % % % 1.14 A % % % 1.14 A % % % 0.31 B % % % 0.17 B % % % 0.03 B % % % 0.02 B % % % 0.55 B % % % 0.18 B % % % 0.48 B % % % 0.59 B % % % 5.18 B % % % B % % % 0.44 B % % % 1.26 B % % % 1.99 B % % % 1.49 B % % % 0.26 Table 4.2.: Preprocessng runtmes and results. bulds ts own group n scenaro A01. Table 4.2 shows results and runtmes (n seconds) of the three preprocessng algorthms SFDP, RLDP and GF n comparson to earlest start fxng (EST). It can be seen that SFDP domnates RLDP n soluton qualty. The dsappontng results of RLDP can be explaned by ts local character snce t reoptmses only one tour at a tme wth all other tours beng fxed. Ths prevents RLDP from overcomng local optma. In contrast to expectatons, SFDP s not faster than RLDP on all scenaros. Nevertheless, SFDP only consumes more tme on scenaros on whch results are clearly superor to RLDP,.e. RLDP termnates early because no further mprovements can be found. Astonshngly, the results of GF preprocessng are compettve wth the SFDP results. Whle on most scenaros, the qualty of GF results s slghtly below the SFDP outcome, t s even better on 4 of the 17 scenaros. Even f the fxng dea of GF s smple, the orderng of tasks by ncreasng tme wndows seems to pay off, confrmng the experence of Harrs [1990] n the resource levellng context. GF needs only lttle computaton tme whle SFDP consumes up to more than 30 mnutes for preprocessng. The hgh runtmes of SFDP are due to the testwse fxatons and propagatons of start tme decsons n dynamc programmng. On average, SFDP consumes more than 67 tmes the runtme of GF. As expected, the mprovements by preprocessng are generally hgher on scenaros nvolvng many tasks wth wde tme wndows. The results of GF preprocessng were taken as a startng pont for large neghbourhood search. In prelmnary experments, the parameters for the choce of release tasks and for renserton were tuned. The maxmum dstance T D for tasks whch can be relaxed around the frst chosen task was set to 180 mnutes. The relatedness weght parameters λ T W, λ OL, λ DIST and λ T T were all set to 1,.e. the crtera are equally weghted. The values DIST fx and T T fx were fxed to 10. A value of 50 was used for the choce randomness parameter CR, meanng that the nfluence of randomness s rather low. As descrbed n Secton 4.6, the search depth can be controlled by the dscrepancy lmt L D. Astonshngly, a lmt of L D = 0 provded best results on average. As a consequence, only one mprovng soluton s explored n every teraton. Clearly, t becomes more and more dffcult to fnd mprovng solutons when the qualty of the ncumbent soluton gradually ncreases. A planner may sometmes not be able to nvest too much runtme. To show how the soluton qualty scales wth the nvested runtme, Table 4.3 gves results for runs wth a lmt of 10, 20 and 60 mnutes runtme. The runtmes nclude the GF preprocessng, mprovement fgures are gven relatve to the GF results. Dfferent values were used for the parameter SWI, denotng the number 65
82 4. Workload Levellng n a Vehcle Routng Envronment No. GF result runtme 10 mn. runtme 20 mn. runtme 60 mn. obj. fct. avg. obj. fct. mprovement rel. σ avg. obj. fct. mprovement rel. σ avg. obj. fct. mprovement rel. σ A % 0.14% % 0.41% % 0.18% A % 0.57% % 0.17% % 0.13% A % 0.30% % 0.19% % 0.11% B % 0.12% % 0.12% % 0.12% B % 0.22% % 0.30% % 0.62% B % 0.04% % 0.08% % 0.08% B % 0.12% % 0.09% % 0.15% B % 0.35% % 0.21% % 0.14% B % 0.98% % 0.48% % 0.33% B % 0.36% % 0.27% % 0.22% B % 2.09% % 1.67% % 0.55% B % 0.02% % 0.02% % 0.03% B % 0.22% % 0.05% % 0.04% B % 0.34% % 0.09% % 0.28% B % 0.33% % 0.15% % 0.36% B % 0.10% % 0.08% % 0.09% B % 0.14% % 0.16% % 0.26% Table 4.3.: Results of large neghbourhood search based on GF results. of steps wthout mprovement after whch the number of relaxed tasks s ncreased: For the 10, 20, and 60 mnute runs, SWI was set to 20, 50, and 100, respectvely. Ths means that for the longer runtmes, smaller neghbourhoods are explored more thoroughly. Each result s an average over 5 runs wth dfferent random seeds. To show the closeness of results wth dfferent ntalsatons of the random number generator, an estmaton σ = n =1 (z z) 2 n 1 for the standard devaton was calculated wth z beng the results of the dfferent runs, z the average results as gven n Table 4.3 and n := 5 the number of runs. The relatve standard devaton n Table 4.3 s equal to σ z. Addtonally to the LNS results n Table 4.3, Table 4.4 shows how many steps are performed on average and how many tasks are relaxed n the fnal steps. From Table 4.3, t can be seen that the LNS procedure mproves the preprocessng results consderably. If we assume that the freedom of fxng tasks wthn ther tours s well exploted by preprocessng, ths means that the reattrbuton of tasks to dfferent tours s a consderable source of mprovement. Ths however vares between the scenaros. As an example, scenaro B04 s mproved by 4.33% n preprocessng, but LNS only fnds an addtonal 0.43% ameloraton. In contrast, LNS mproves scenaro B08 by 23.56% whle the mprovement of preprocessng can nearly be neglected. Other scenaros (lke scenaro B07) are substantally levelled by preprocessng and LNS. The results of LNS were agan subjected to the tourwse dynamc programmng reoptmsaton used n RLDP preprocessng. On none of the scenaros further mprovement could be realsed, demonstratng the qualty of start tme decsons n LNS. From the results for dfferent runtmes, t can be seen that much of the mprovement can generally be acheved n relatvely low runtmes. After a certan number of steps, large neghbourhood search hardly yelds any mprovement. Fg. 4.6 shows the typcal evoluton of soluton qualty on a LNS run on scenaro B08. The tme after whch saturaton occurs dffers from scenaro to scenaro. As an example, the best soluton for scenaro B01 comprsng lttle movable tasks s already found after 10 mnutes runtme. Relatve standard devatons for the dfferent runs are generally qute low. As expected, devatons dmnsh wth hgher runtmes: Whle the 10 mnutes results have an average devaton of 0.38%, the 20 mnutes and 60 mnutes results exhbt relatve standard devatons of 0.27% and 0.22%, respectvely. 66
83 4.10. Expermental Results No. runtme 10 mn. runtme 20 mn. runtme 60 mn. avg. steps avg. tasks avg. steps avg. tasks avg. steps avg. tasks A A A B B B B B B B B B B B B B B Table 4.4.: Fnal numbers of steps and tasks n large neghbourhood search objectve functon tme (sec.) Fgure 4.6.: Objectve functon development on scenaro B08. 67
84 4. Workload Levellng n a Vehcle Routng Envronment 10 mn. 20 mn. 60 mn. GF EST GF EST GF EST A A A B B B B B B B B B B B B B B Table 4.5.: Overall effect of GF preprocessng. The fnal numbers of steps and tasks as gven n Table 4.4 reflect the dfferent characterstcs of the test cases. As an example, large neghbourhood search on the largescale scenaro B09 conssts of repeated relaxatons and reoptmsatons of only one task. It can be clearly expected that the results on ths scenaro wll mprove f further runtme s nvested. On the other end of the scale, up to steps are performed on scenaro B08, and up to 28 tasks are released n a run on scenaro B04. To measure the overall effect of GF preprocessng, large neghbourhood search was run an addtonal fve tmes on the ntal soluton n whch all tasks are fxed to ther earlest possble start tmes. Table 4.5 contrasts the average 10, 20, and 60 mnutes results wth earlest start tme fxng (EST) to the GF/LNS results. It can be seen that the GF mprovements are quckly reconstructed by pure large neghbourhood search. After only 10 mnutes, the GF/LNS results are better on only 12 of the 17 scenaros whle on average, EST/LNS results are stll 0.26% above the GF/LNS outcomes. After 20 and 60 mnutes, the average gap s 0.19% and 0.12%, respectvely, and preprocessng does not pay off any more. Addtonally to the objectve functon summng up quadratc workloads, t s nterestng to observe the effects of levellng on the overall workload maxmum and travel tmes even f these are no explct optmsaton crtera. A summary of demand peaks and travel tmes before (wth EST fxng) and after optmsaton (ncludng GF preprocessng) s gven n Table 4.6. As before, optmsaton results are averaged over fve runs wth 60 mnutes of runtme. Obvously, workload levellng s also benefcal for global demand maxma. On 8 out of 17 scenaros, the demand maxmum can be lowered by the levellng procedure. It s nterestng to note that the largescale scenaro B09 fgures among these 8 scenaros; n one run, the global maxmum s even reduced from 129 to 125. A vsual nspecton of ths scenaro shows that the levellng results are better than the maxmum 0.95% objectve functon mprovement (over EST fxng) mght suggest. 68
85 4.11. Conclusons and Future Research No. demand maxmum travel tmes before optmsaton after optmsaton before optmsaton after optmsaton A A A B B B B B B B B B B B B B B Table 4.6.: Effects on global demand maxma and travel tmes. The algorthm also tends to reduce travel tmes. A reducton can be observed on 9 of the 14 scenaros nvolvng travel tmes whle on three scenaros, travel tmes slghtly ncrease. Travel tme reductons rase up to a 69.4% mprovement on a scenaro B08 run. Clearly, t must be noted that travel tmes are not an optmsaton crteron of the ntal tour buldng algorthm Conclusons and Future Research We have presented a novel workload levellng problem n a vehcle routng envronment. Its objectve s the smoothng of workloads arsng as work tasks for moble staff and equpment on arports. Superpostonng work tasks and travel tmes as a demand curve, workload levellng explots the freedom of postonng movable tasks at tmes of low workloads. Unnecessary demand peaks are therefore avoded. The resultng demand curve provdes a sutable bass for realstc estmatons of workforce demands and for the plannng of staff and equpment. We have shown that workforce levellng s closely related to resource levellng n project schedulng. Lke resource levellng bulds upon the result of a makespan optmsaton algorthm, workload levellng starts from the outcome of a tour mnmsaton procedure. Consequently, workload levellng has been conceved as a soluton mprovement algorthm. Furthermore, we have proved that workload levellng s N Phard, justfyng the search for heurstc algorthms. We have shown that constrant propagaton s a good choce for capturng the temporal nterdependences between the tasks as well as the nonlnear objectve functon. Addtonally, CP allows for an easy ncorporaton of constrants whch may come up n the future. We have presented a large neghbourhood search algorthm whch repeatedly relaxes and reoptmses nserton and start tme decsons. A new varant of lmted dscrepancy search has been used for reoptmsaton, explotng a powerful lower bound. The soluton scheme gradually explores larger neghbourhoods and provdes easy means of weghng runtme aganst soluton qualty. As an nterface between tour mnmsaton and local search, three dfferent greedy and local 69
86 4. Workload Levellng n a Vehcle Routng Envronment dynamc programmng procedures for the ntal fxng of start tmes have been presented. The algorthms has been tested on a wde range of realworld scenaros of dfferent szes and characterstcs. Surprsngly, the greedy preprocessng algorthm has shown to be the best bass for soluton mprovement, provdng compettve results wthn very low runtmes. Large neghbourhood search has been able to mprove consderably upon the preprocessng results, showng that a consderable potental for mprovement les n the reattrbuton of tasks. Whle wth short runtmes, preprocessng stll pays off, comparable results can be acheved by pure large neghbourhood search f more runtme s nvested. The overall algorthm has been shown to be robust n provdng level demand curves on qute dfferent test cases. Furthermore, overall demand maxma and travel tmes have been reduced on many plannng scenaros. The workload levellng procedure s part of a commercal software applcaton and has proven to be a very valuable tool for demand plannng and for the preparaton of workloads for staff plannng. In general, one can expect that levelled workloads provde a better bass for demandlevel plannng of shft dutes. If, however, shft plannng s the only focus of workload levellng, the model may be refned. As an example, the length of tours could be restrcted such that tours ft nto shfts [Ernst et al., 2004]. A dsadvantage of the separaton of workload levellng and (demandbased) shft plannng s that levellng does not always schedule tasks at postons whch are most approprate wth regard to shft plannng. A theoretcal defcency s that the demandlevel shft plannng approach does not provde a lower bound for tasklevel shft plannng. Further experments wth large neghbourhood search could e.g. evaluate the effcency of alternatve heurstc prunng technques. Dfferent alternatves to lmted dscrepancy search have been proposed n recent years, ncludng mproved lmted dscrepancy search [Korf, 1996], depthbounded dscrepancy search [Walsh, 1997] and nterleaved depthfrst search [Meseguer, 1997]. 70
87 5. An Improvement Algorthm for Complex Shft Plannng The art of flyng s to throw yourself at the ground and mss. Douglas Adams Shft plannng at arports can be carred out n dfferent ways. Models n the lterature regularly buld upon workforce demands gven n dscrete tme perods, see Chapter 2. If nformaton on flghts and passenger/load fgures s lttle detaled, ths s also an approprate approach for ground staff plannng. If, however, we are nterested n an operatve plannng whch s carred out shortly before operatons, shft plannng should am at coverng the ndvdual work tasks (see also Secton 1.2.3). Tasklevel shft plannng s a novel optmsaton problem whch combnes aspects of vehcle routng and shft schedulng. Addtonally, our scenaro requres the handlng of preemptve tasks and crew constrants. In the past, a heurstc constructon method has been used to tackle the large scale and consderable complexty of arport shft plannng problems. Whle ths method generally provdes good solutons, t sometmes lacks robustness and exhbts defcences on ndvdual plannng nstances. In the followng, we wll develop a mathematcal descrpton of tasklevel shft plannng and descrbe the desgn and mplementaton of a constrantbased method for local reoptmsaton of shft plans Introducton Ground handlng companes and arlne ground handlng departments face the problem of coverng large sets of work tasks wth approprate staff. Handlng tasks nclude baggage loadng and unloadng, arcraft cleanng, fuellng as well as checkn and boardng servces. In the precedng chapter on workload levellng, t was shown how tasks can be prepared for a graphcal demand analyss as well as demandbased schedulng. We wll now deal wth coverng work tasks by approprate shft dutes whch are assgned to workers n a downstream step. For a gven department, we wll assume a set of tasks to be gven, spannng over a plannng horzon whch wll frequently be one week. Each task s bascally charactersed by a wndow of possble start tmes, a length and a locaton at whch t takes place. The goal of shft plannng s to cover these tasks by shfts of any of a set of gven types. Shft types defne start and end tmes wthn the day and gve nformaton on the duraton and placement of one or several breaks (e.g. relef or lunch breaks). Tasks must be placed one after the other such that tme wndow and break placement restrctons are met and suffcent tme for travel between locatons s avalable. Ths basc scenaro s often enrched by further constrants. Workers lke arcraft cleanng staff are often planned n crews or teams, mposng constrants on the parallelsm of tasks and shfts. Some of the tasks can be preemptve or splttable, meanng that the task s handed over to another person at some tme. Some tasks may have to be covered by staff wth specal sklls lke language sklls (for checkn and boardng servces) or beng traned for a specal arcraft type (e.g. for baggage loadng/unloadng). Further restrctons affect the mx of shft types n the fnal plan, reflectng the numbers of workers wth dfferent contracts and worktme agreements. 71
88 5. An Improvement Algorthm for Complex Shft Plannng Tasklevel shft plannng conssts n buldng tours of tasks, obeyng tme wndow constrants. Ths can be nterpreted as a specal vehcle routng problem wth tme wndows (VRPTW) wth the shft types mposng restrctons on the tours. Crews and splttable (preemptve) tasks ntroduce novel modellng aspects whch are partcularly challengng for the desgn of optmsaton algorthms. Tasklevel shft plannng s thus an ntegraton of classcal shft schedulng wth vehcle routng and further complcatng constrants. Only a lmted number of publcatons s loosely related to ths problem. Thompson [1992] descrbes the schedulng of blocks of controllable work whch can be nterpreted as splttable tasks. Baley et al. [1995] descrbe a shft schedulng settng n whch workloads are gven as actvtes n a project schedulng envronment whle n Nobert and Roy [1998], workforce demands relate to the weght of arcargo. Campbell and Savelsbergh [2004] lmt the extent of tours by a gven length wthout explctly takng shft types or breaks nto account. Crew and drver schedulng relates to tasklevel schedulng n coverng trps by shfts dutes (see Secton 2.11). However, drver and crew dutes are drven by the placement and lengths of trps, and there s no noton of shft types. In the followng, we wll show how all aspects of complex tasklevel shft plannng can be represented n an optmsaton model and how effcent algorthms can be desgned, yeldng robust solutons on a large varety of staff schedulng scenaros. Realstc arport shft plannng s often carred out on a very large scale. Frequently several thousand tasks wth partly wde tme wndows must be covered, and several hundred shft types may be used. Furthermore, several dozens of qualfcatons and related restrctons are used. Due to 24 7 operatons, t may not be possble to decompose larger schedulng horzons wthout sacrfcng optmsaton qualty. In Chapter 7, t wll be shown that even a very restrcted verson of the shft plannng problem s N Phard. Whle scenaros usng lttle constrants can stll be solved to optmalty (see Chapter 7), we cannot expect to obtan optmal solutons on larger and more complex scenaros. Nevertheless, the use of advanced optmsaton algorthms pays off because wth the large scale of arport operatons, small mprovements translate to large savngs. Heurstc methods allow for the constructon of solutons of good qualty n low runtmes. In the past, a constructon method has successfully been used for several years. The algorthm makes use of the approxmaton of workloads by a workload hstogram and ntally solves a set coverng formulaton of the demandlevel shft schedulng problem by lnear programmng and heurstc roundng. The levelled workload hstogram of Chapter 4 provdes a startng pont for ths ntal phase whch consders only a small subset of the constrants. In a second phase, the tasks are nserted nto the shfts of the frst phase one by one. Because the workload hstogram only provdes an approxmaton to actual workloads, further shfts may have to be created n a fnal phase to cover all tasks. Each task s handled only once n the course of soluton constructon, entalng low runtmes even for largescale scenaros. Snce the algorthm was used and tuned for several years, the solutons generally exhbt a farly good qualty and were generally wellaccepted by customers. Nevertheless, the algorthm shares typcal trats wth constructon heurstcs: Whle on average, good solutons are provded n lttle runtme, solutons can have consderable defcences on selected scenaros. The more obvous such flaws are, the less planners wll accept the algorthm. Tunng of parameters sometmes helps, but changng parameters generally mproves results on some scenaros whle qualty decreases on others. The goal of ths work was thus the concepton and mplementaton of an algorthm whch mproves the ntal soluton by local reoptmsaton, compensatng for the flaws of the constructon phase. By desgnng an mprovement procedure, we can beneft from the generally good qualty of the constructon algorthm and from other advantageous features of ntal solutons lke the groupng of tasks of smlar qualfcatons. The algorthm should be generc and robust on a wde range of realworld plannng scenaros. As descrbed n Chapter 3, soluton technques based on constrant programmng are partc 72
89 5.2. Problem Descrpton ularly approprate for problems comprsng many constrants. We wll therefore develop a constrant model representng the multtude of constrants whch make up the shft plannng problem. On ths bass, a relaxandoptmse approach smlar to the soluton approach of the workload levellng problem wll be devsed. Constrant programmng has the addtonal advantage of an easy ncorporaton of addtonal constrants whch are lkely to come up n the future, e.g. by model refnements or customerspecfc requrements. The algorthm wll allow for the determnaton of good solutons n reasonable runtmes. Wth further nvested runtme, soluton qualty ncreases further, resultng n shft plans that are partly consderably better than the startng solutons. The chapter s organsed as follows: In the subsequent secton, the shft plannng problem s descrbed formally, provdng a bass for the mathematcal model n Secton 5.3. Sectons 5.4 and 5.5 present basc consderatons for the desgn of a CPbased optmsaton algorthm. The constrant model s descrbed n Secton 5.6. The calculaton of lower bounds presented n Secton 5.7 provdes a bass for the restrcted branchandbound algorthm of Secton 5.8 whle Secton 5.9 deals wth desgn decsons for the mplementaton of large neghbourhood search. The mnmsaton of task overlaps whch are partly allowed n the optmsaton model s the subject of Secton Secton 5.11 presents expermental results. A summary concludes the chapter Problem Descrpton In the followng, we wll characterse basc enttes n tasklevel shft plannng and ntroduce some notaton. We wll furthermore descrbe how task splttng, overlappng and crews are handled. An overvew of mathematcal symbols can be found n Appendx A Tasks and Shfts Workloads are gven as a set I of (work) tasks. A task I s charactersed by an nterval [a, b ] of possble start tmes (start tme wndow) and a length l. All tmes are assumed to be gven as nteger numbers on an approprate dscretsaton level (typcally mnutes). The output of the shft plannng process s a set S of shfts. Dfferent constrants apply on the shft level. Shft types K specfy when shfts can start and end. A shft type k K can be realsed on days N k N where N s the set of all days of the plannng horzon (often one week). The realsaton of shft type k K on a day n N k starts at a tme st kn and ends at et kn. Note that a shft s always attrbuted to the day on whch t starts. It wll be assumed that shft types cover at most 24 hours. For a shft of type k K, costs of c k are ncurred. Shft costs wll often be proportonal to ther length. Addtonally, nght shfts may ental hgher costs. Furthermore, a shft type defnes up to three break rules for the lunch or relef breaks a shft must contan (see Fg. 5.1). In practce, shfts wll often contan a lunch break of 30 or 60 mnutes length and up to two relef breaks of 15 mnute length [Schndler and Semmel, 1993] [Aykn, 2000]. The (possbly empty) early, man and late break rules of a shft type k are denoted by brk eb, brk mb and brk lb, respectvely. If a shft type prescrbes the use of less breaks, t wll be assumed that the correspondng break rules have the value NIL (e.g. brk eb = NIL). The set of all break rules wll be denoted by BR. A break rule br BR s defned by a start tme wndow [a br, b br ] relatve to the shft start and a length l br. A shft s S can be regarded an nstance of a shft type k K on a day n N k, see e.g. Koop [1988]. The shft start and end tmes of a shft s are then gven by st kn and et kn. An orgn task o s and a destnaton task d s wll delmt the start and end of a shft s. The start tme wndows of these tasks are naturally defned as [a o s, b o s ] := [st kn, st kn ] and [a d s, b d s ] := [et kn, et kn ]. The sets of all orgn and destnaton tasks wll be denoted by I o and I d, respectvely. 73
90 5. An Improvement Algorthm for Complex Shft Plannng early break man break late break shft start orgn task early break buffer late break buffer shft end destnaton task Fgure 5.1.: Structure of a shft wth orgn, destnaton and break tasks. A shft can have up to three breaks as defned by the break rules of ts shft type. Shfts of type k wll contan one break task for each break rule of k. The break rules of shft type k thus nduce up to three break tasks Is break = { eb s, mb s, lb s } n a shft s. Start tme wndows of break tasks are defned by the break rules relatve to the start tme st kn of the shft type realsaton (k, n): [a eb s, b eb [a mb s, b mb s ] := [st s kn + a br eb k ] := [st kn + a br mb k, st kn + b br eb] k, st kn + b br mb k [a lb s, b lb s ] := [st kn + a br lb k, st kn + b br lb k ] Analogously, break task lengths are gven by the break rules: l eb s l mb s l lb s := l br eb k := l br mb k := l br lb k Whle the shft attrbutons of work tasks I wll be decson varables of the optmsaton process, the shft assgnment of break tasks s fxed. The set of all break tasks wll be denoted by I b := s S Ib s. A man break rule br := brk mb can furthermore defne break buffer tmes bb eb br and bblb br. Whle defnes the mnmum tme between the end of the early break and the start of the man break, bb eb br bb lb br s a mnmum buffer tme between man and late break. Tasks can take place at dfferent locatons, entalng travel tmes between the tasks. If a task I I d s placed n a shft wth a predecessor work task j I, a travel tme d j, must be performed drectly before s start. Whle n vehcle routng settngs, the mnmsaton of travel dstances s often an explct objectve (see Secton 1.4), they only mpose feasblty condtons n our settng. Clearly, tme wndows must be respected,.e. an arrval at before ts earlest start tme a entals watng tme. Shfts start and end at a central depot. Depot travel tmes are gven by d o s, and d, d s for I. Breaks wll take place at the locaton of ther predecessor work tasks,.e. there are no travel tmes before breaks. We wll therefore defne d,j = 0 f j I b. Because the predecessor of a break can be another break, the determnaton of travel tmes of tasks after breaks may requre a recourse over several break tasks. If pred denotes the predecessor of a task n a shft, we defne the frst regular predecessor rpred() I I o of a task I I b I d as { pred f pred rpred() := I I o rpred(pred ) else Wth ths defnton, the travel tme whch must be accomplshed before a task (possbly a break task) s d rpred(),. As n Chapter 4, travel tmes are assumed to obey the trangle nequalty. The goal of shft plannng conssts n coverng all work tasks by shfts of approprate shft types. The set S of shfts along wth the shft type K s and day N s for each shft s S are thus decson varables of the optmsaton process 1. Furthermore, S wll denote the shft attrbuton of task 1 As n Chapter 4, we wll represent decson varables by uppercase letters wth ndces for the enttes to whch they refer (e.g. K s, N s, S ), see also Appendx A. ] 74
91 5.2. Problem Descrpton break break break break break Fgure 5.2.: Tasklevel shft plannng. I I b I o I d. Note that for break and delmter task, ths shft attrbuton s fxed. As n Chapter 4, we wll use an nsertonbased model and therefore mantan the predecessor pred and successor task succ for each I I b I o I d. The start tmes T for each I wll also be regarded as decson varables even f they do not have any mpact on the objectve functon. The general settng of shft plannng s sketched n Fg In the upper part, the (possbly movable) work tasks are dsplayed whch are the nput of the optmsaton process. The output s a set of shfts (shown n the lower part), ncludng travel tmes (yellow) between the tasks. Note that there are no travel tmes before breaks Qualfcatons Each work task can have qualfcaton requrements, correspondng to basc sklls whch a worker must meet. Each task I thus requres a set Q Q of qualfcatons where Q s the set of all elementary qualfcatons. A shft derves ts qualfcaton requrements from ts tasks. Clearly, f a task requres the worker to have a certan skll, a person workng a shft must cover all qualfcaton requrements of tasks n the shft. The qualfcaton profle Q s of a shft s s thus gven by Q s = I S =s Snce sklled workers are generally scarce, the combnaton of qualfcaton requrements n shfts must generally be restrcted. Frst of all, ths wll be done by restrctng the number of qualfcatons per shft by a constant q max N ( Q s q max ). Note that ths qualfcaton restrcton s closely related to capacty constrants n vehcle routng (see e.g. Toth and Vgo [2001a]). Ths mples that all tasks must obey ths lmt ( Q q max ) snce otherwse, a task could never be assgned to a shft. Furthermore, we ntroduce an objectve functon term for penalsng the use of scarce qualfcaton combnatons. Ths term should be regarded an approxmaton for obtanng solutons reflectng the sklls of the workforce at hand. More exact approaches lmtng shfts along workforce restrctons may be subject of future research. Qualfcaton penaltes wll be a subordnate objectve,.e. we wll not accept better qualfcaton combnatons f ths entals addtonal shft costs. We wll assume that qualfcaton preferences qp(q ) [0, 1] can be gven for each set Q Q wth qp( ) = 1 and qp(q 1 ) qp(q 2 ) f Q 1 Q 2. Qualfcaton preferences should reflect the relatve frequences of skll combnatons among the staff,.e. scarce qualfcaton combnatons should have low preference values. Note that whle an analyss of ways to obtan approprate Q 75
92 5. An Improvement Algorthm for Complex Shft Plannng and consstent values s beyond the scope of ths work, the determnaton of preferences must be regarded a dffcult problem n tself. Qualfcaton combnatons Q wth qp(q ) = 0 wll be nterpreted as ncompatble qualfcatons,.e. such qualfcatons must not be combned n shfts. A typcal example for ncompatble qualfcatons are water and faeces servces on arports whch are not combned for hygenc reasons. Some tasks n a scenaro may requre qualfcatons whch can only be covered by few employees. A wdespread use of such specal qualfcatons may prevent a shft plan from beng covered by approprate staff. Knowng the number of staff wth dfferent sklls, planners can often specfy maxmum lmts on the numbers of shfts contanng a specfc qualfcaton. Ths wll be represented by qualfcaton restrctons QR. A qualfcaton restrcton qr QR s defned by a qualfcaton q qr Q and a lmt m qr N on the number of shfts requrng q qr. Imposng strct maxmum lmts may prevent an algorthm from fndng feasble solutons. We wll therefore use a large penalty M QR f a qualfcaton lmt s exceeded Crews The plannng practce on arports sometmes requres workers to be planned n crews (teams). Ths comprses the task parallelsm constrants whch have already been descrbed n Secton 4.3 for the workload levellng problem. A shft plannng scenaro may thus defne a number of task crews C (correspondng to the crews of Secton 4.3) wth C I C C. Sometmes t may already be suffcent to mpose temporal restrctons on crew tasks. In other cases, we may not only want the tasks to be performed n parallel, but due to legslatve or unon regulatons, the staff may work n fxed groups on parallel shfts, performng groups of parallel tasks durng ther shfts. For a gven shft plannng scenaro, the sze cs N of each crew of workers wll be fxed. If thus a scenaro wth cs > 1 s gven, the set of shfts S wll consst of groups of cs shfts each. A typcal example s the plannng of cabn cleanng personnel [Stern and Hersh, 1980]. The staff n cleanng departments often conssts of crews of sze cs = 4. We thus have to create blocks of four shfts each whch we wll call shft crews. Each shft crew H H, H S s thus a group of cs shfts. The crew sze cs generally corresponds to the sze of typcal task groups. In the above cabn cleanng example, we would thus expect that tasks are usually blocked as groups of four tasks because the cleanng of a typcal arcraft may requre ths number of workers. To avod splttng up staff crews, each such task group should always be assgned n total to a shft crew. Clearly, crews should not only work on shfts of parallel types, but ther blocks of tasks should also be performed as much n parallel as possble. However, the task parallelsm constrants of task crews are often mposed on larger blocks of tasks. As an example, a wdebody arcraft may requre two crews of four people to work n parallel n order to accomplsh the cleanng work wthn the groundtme. Task parallelsm would then refer to a group of eght tasks whle blocks of four tasks are assgned to parallel shfts. A task crew C C may thus be splt up nto one or several subcrews each of whch has a maxmum sze of cs. If all tasks n a task crew have dentcal tme wndows and lengths, task crews may be splt arbtrarly. However, ths s not the case n general. If cs > 1, we wll therefore assume that a set B of subcrews s gven such that each subcrew B B s a subset of the tasks of a task crew. Note that f cs = 1, a scenaro can contan task crews wthout any subcrews,.e. only task parallelsm constrants are mposed. We wll restrct each subcrew B B to be assgned to a block H H of shft crews. Note that subcrews can have szes less than cs, and crew plannng scenaros may even comprse sngle noncrew tasks. We wll allow such ungrouped tasks to be covered ether by crew shfts or by 76
93 5.2. Problem Descrpton break break break break break break break break Fgure 5.3.: Handlng of task crews and subcrews. break break break Fgure 5.4.: Task splttng. sngleton shfts whch are not grouped n crews. Crew plannng scenaros wth gven crew sze cs wll therefore generally nvolve blocks of crew shfts of order cs and sngle shfts. Even f each crew member can cover dfferent sets of tasks, we wll restrct the breaks of shft crews to take place n parallel. Fgure 5.3 llustrates the handlng of crew tasks for a department wth cs = 4. In the example, seven tasks buld a task crew whose tasks are placed n parallel. The task crew conssts of two subcrews each of whch s placed n a block of crew shfts of sze 4. Note that not only the crew tasks are placed n parallel (assumng that the tme wndows are not fxed a pror), but also the break tasks Task Splttng Due to ther lengths, some tasks may not ft nto any shft type. As an example, occupatons for tcketng or checkn counters or help desks frequently span over the whole day, but shft types typcally have maxmum lengths of 8 to 12 hours. Nevertheless, t may not be oblgatory to attrbute such tasks to a sngle person. Thus t s possble to splt t at some pont n tme and assgn the resultng task parts to dfferent shfts, ntroducng the concept of preemptve tasks. Fgure 5.4 shows the basc dea: A long task s nterrupted at the start tme of the break of the frst shft. Whle the thrd part of the task s agan attrbuted to the same shft, the break tme nterval and the fnal part are attrbuted to separate shfts. Planners on arports usually know whch types of tasks must be splt n order to ensure that a feasble shft attrbuton can be found. Preemptve tasks should generally not be splt nto arbtrary many parts snce a frequent swtchng between dfferent workers dsrupts operatons. We therefore assume that for each task, a mnmum splt length msl s gven, denotng the mnmum length of a task part after splttng. If msl =, we wll assume that cannot be splt. Crew tasks wll always be nonpreemptve. We could try to determne approprate splt parts (parts whch result from splttng) before shft plannng,.e. the splt parts would already be nput of the algorthm. Ths would clearly fx the number of splt parts, ther lengths and splt ponts. These fgures should however depend on the shft types and the context gven by surroundng tasks. Task splttng s therefore ntegrated nto shft plannng,.e. the tmes at whch tasks are splt wll be decson varables of the optmsaton 77
94 5. An Improvement Algorthm for Complex Shft Plannng process. For each task wth msl <, we wll determne the number of splt parts beforehand, replacng by ts splt parts n the nput task set I. The number of generated splt parts wll be taken to be an upper bound on the number of effectvely used splt parts n a schedule. The obvous upper bound l /msl on the number of splt parts s generally too weak. Ths number can be reduced f we take some consderatons about meanngful splt ponts wth regard to the shft types nto account. In practce, planners often try to cover a long task prncpally by one shft, only takng out the tme span of a break (for an example, cf. to the frst shft n Fg. 5.4). We wll determne the shft type that covers the longest part of the task wthout takng care of breaks, but respectng dsplacements of the task wthn ts start tme nterval. For each break, we assume that one addtonal splt part has to be created. If leaves a part whch does not ft nto any shft type, the procedure s repeated for the remanng task duraton. If a and b are earlest and latest start tmes and l s a length (ntally, a, b and l wll be equal to a, b and l ), we can calculate the part of a task whch s covered by shft type k on day n: mn(et kn d, d, max(st kn + d o k k,, a) + l) cov(, k, n, a, b, l) := max(st kn + d d k,, a) f st kn b 0 else If nb(t 1, t 2 ) s the number of breaks n the tme nterval [t 1, t 2 ] 2, the number of splt parts for task wth earlest start tme a =: a, latest start tme b =: b and length l =: l s teratvely calculated as 0 f l = nb(st, st + tcov) + sparts(st + cv, st + cv, l cv) sparts(a, b, l) := wth cv := max k,n cov(k, n, a, b, l) (k, n) := argmax k,n cov(k, n, a, b, l) else st := max(a, st kn ) Knowng the number m := sparts(a, b, l ) of parts to be created from an orgnal task, we create n splt parts 1,..., m. Each of these parts wll have the same start tme nterval [a j, b j ] := [a, b ] as the orgnal task. Addtonally, we defne an ordered sequence of the splt parts P := ( 1,..., m ) denoted as splt task of total length l P := l. Splt parts wll nhert the locaton of the orgnal task,.e. travel tmes from and to splt parts are defned as for. Splt task and splt parts replace the orgnal task as part of the nput data. The set of all splt tasks wll be denoted by P. The lengths of the sngle splt parts wll be varable, and there s no meanng n attrbutng lengths l j to splt parts j. We therefore set l j = 0 j P, P P. The splt task P nherts the mnmum splt part length from the orgnal task: msl P := msl. For a splt part j of P, we wll wrte j P, and the splt task P j P {NIL} of a I wll be P f P for a P P and NIL otherwse. Splt ponts wll be represented by the start tmes T j of the sngle splt parts. Ther end tmes are equal to the start tme of the next splt part,.e. T j+1 also represents the end tme of j. Note that whle the start tmes of nteror splt parts are generally not fxed, the start of the frst splt part and the end of the last splt part are movable f and only f the orgnal task s movable. If these outer tmes are movable, they are stll constraned to obey a dstance whch s equal to the length of the orgnal task. In order to defne an end tme for the last splt part m, a delmtng pseudo splt part pseudo P s defned for each splt task P P. The start tme T pseudo of ths task represents the end P 2 We take a pessmstc approach and defne a break task b s to be n tme nterval [st, et] ff max(st, a b s ) < mn(et, b b s + l b s ). 78
95 5.2. Problem Descrpton splt parts 1 2 n1 n pseudo P start tme 1 start tme 2 start tme n1 start tme = end tme 1 = end tme n = end tme n pseudo P splt task length l P Fgure 5.5.: Structure of a splt task. tme of splt part m. Note that the pseudo splt part s only ntroduced for convenence reasons snce T pseudo = T 1 + l P. The start tme wndow of the pseudo task s [a P pseudo, b P pseudo] = P [a 1 + l P, b 1 + l P ]. Snce pseudo P s not a real task, we defne S pseudo P a splt task s llustrated n Fg We defne the splt part successor ssucc of a splt part as j+1 f P = ( 1,..., m ) and = j, j < n ssucc := pt P f P = ( 1,..., m ) and = m NIL f = pseudo P for a P P and the splt part predecessor spred as NIL f P = ( 1,..., m ) and = 1 spred := j 1 f P = ( 1,..., m ) and = j, j > 1 m f = pseudo P for a P P := NIL. The structure of The length of a splt part can be calculated from ts start tme T and the start tme T ssucc of ts splt part successor. The actual length al() of a task I s therefore defned as { l f P al() := = NIL T ssucc T else Task Overlappng The lengths of work tasks on arports are hardly determnstc. Especally n peak tmes, employees are often encouraged to work harder, perform several tasks n parallel or n shorter tmes. In a determnstc model, ths practce cannot be represented n full detal. To defuse some of the strct character of determnstc models, a task I wll be allowed to overlap up to a maxmum taskdependent duraton of tol max mnutes. Ths maxmum overlap can depend on task attrbutes lke the staff group by whch t wll be performed. For easer handlng, we wll generalse tol max to a maxmum overlap ol max for general tasks I I b I o I d. Because an overlap wth orgn, destnaton or break tasks would mean performng parts of a task wthn a break or outsde a shft, we set ol max = 0 for all I b I o I d. Furthermore, no more than two tasks should overlap, meanng that the overlap ol max of work tasks I should be lmted by half the length of the task. 79
96 5. An Improvement Algorthm for Complex Shft Plannng For splt parts, the task length s a consequence of the start tmes of adjacent splt parts. Snce allowed overlaps wll normally be substantally shorter than mnmum splt part duratons, we wll relate the overlap lmt to the mnmum splt part length. Ths leads to the followng defnton: 0 f I ( ) b I o I d l2 ol max := mn mn tol max, ( tol max, f I and P = NIL ) mslp 2 f I and P NIL If possble, overlap should be avoded. Because we wll generally accept overlap f shft costs can be lowered, we wll not try to handle overlap mnmsaton as part of the optmsaton model. Instead, overlap wll be mnmsed as a part of a postprocessng step, cf. Secton Shft Number Restrctons Dfferent employment categores among the workforce often mpose consderable restrctons, and solutons wll fall short of planners requrements f these are not represented. As an example, t may be advantageous to create many short shfts to cover the demand n peak tmes,.e. perods of hgh workload. In general, short shfts can only be covered by part tme staff, and part tme workers are only avalable to a certan extent due to unon and legal regulatons, see e.g. Bennett and Potts [1968], Schndler and Semmel [1993] and Brusco et al. [1995]. We therefore ntroduce shft number restrctons, lmtng the numbers of shfts of certan types, ncludng mnmum and maxmum as well as relatve and absolute restrctons. Each absolute restrcton r Rabs mn (r Rmax abs ) mposes a mnmum (maxmum) lmt of m r N shfts on shft type realsatons from K r N r where K r and N r are sets of reference shft types and days. In contrast, a relatve shft number restrcton r Rrel mn (r Rrel max ) defnes a mnmum (maxmum) proporton of p r R + on the number of shfts from K r N r wth regard to all shfts on the reference days N r (.e. shfts from K N r ). Whle mnmum restrctons can always be obeyed, t may not be possble to obey maxmum lmts, and we wll mpose a large penalty M SNR f a maxmum shft number restrcton (absolute or relatve) cannot be obeyed Mathematcal Model We are now ready to defne the shft plannng problem by summarsng ts parameters and decson varables and defnng constrants and optmsaton crtera. The parameters (nput) of the algorthm are gven by: I set of work tasks [a, b ] N start tme wndow of task I l N length of task I Q Q qualfcatons of task I ol max N maxmum overlap for I I b I o I d P set of splt tasks C, B sets of task crews, subcrews d 1, 2 N travel tme between 1 I I o and 2 I I d K set of shft types c k R + cost of shft type k K N k N days of valdty of shft type k K st kn, et kn N start and end tme of shft type realsaton k K on day n N k 80
97 5.3. Mathematcal Model k BR early, man and late break rule for shft type k K [a br, b br ] N break start tme relatve to shft start gven by break rule br l br N break length gven by break rule br q max N maxmum number of qualfcatons n shfts qp(q ) R + qualfcaton penaltes for qualfcaton set Q QR qualfcaton restrctons m qr N maxmum lmt gven by qualfcaton restrcton qr QR Rabs mn, abs absolute shft number restrctons Rrel mn, Rrel max relatve shft number restrctons m r N mnmum/maxmum lmt for absolute shft restrctons r Rabs mn abs p r R + mnmum/maxmum proportons for relatve shft restrctons r Rrel mn Rrel max brk eb, brmb k, brlb The followng are the decson varables: S K s K N s N H S S pred I I o I b succ I I d I b T T set of shfts shft type for each shft s S day for each shft s S shft crews shft for each task I predecessor of task I I d I b successor of task I I o I b start tme of task I I b Note that whle the objectve functon wll not depend on the start tmes, the start tme varables T are used for valdty checks and are useful as part of the output. Equally, an output of realsed travel tmes and qualfcaton profles Q s of the shfts can be nterestng. As descrbed above, shft costs are the man optmsaton crteron. The planner may furthermore want to optmse the qualfcaton mx n the shfts. As descrbed n Secton 5.2.2, qualfcaton penaltes are regarded a subordnate objectve,.e. objectves are lexcographcally ordered. The qualfcaton penalty term wll therefore be normalsed by means of the mnmum postve qualfcaton preference qp mn := mn qp(q ) Q Q qp(q )>0 By multplcaton wth a weght w QP, we keep a means of adjustng the relatve sgnfcance of qualfcaton preferences 3. As descrbed above, exceedng the upper lmts of qualfcaton or maxmum shft number restrctons s penalsed by large values M QR and M SNR, respectvely. Sometmes t may not be possble to place all tasks n shfts, e.g. f there are no shft types coverng the total duraton of a task. Splttng may be a remedy, but there could be tmes of the day whch are not covered by any shft types at all, or splttng may not be desred. If task splttng s allowed, we want to assgn as many task mnutes as possble. We therefore mpose a penalty M UT for each task mnute whch s not assgned to a shft. M UT wll be chosen such that coverng a task pays off even f qualfcaton or shft restrctons are exceeded. The shft plannng problem s defned by 3 The equvalent weghts technque for lexcographcally ordered objectves was orgnally proposed by Sheral [1982], see also Berrada et al. [1996] for a workforce schedulng applcaton. 81
98 5. An Improvement Algorthm for Complex Shft Plannng { mn c Ks (5.1) s S + w QP qp mn S + M QR qp(q s ) 1 (5.2) s S max ( {s S q qr Q s } m qr, 0) (5.3) qr QR + M SNR max {s S K s = k, N s = n} m r, 0 (5.4) r Rabs max k K r n N r + M ( SNR max {s S K s = k, N s = n} (5.5) r Rrel max k K r n N r p r ) {s S K s = k, N s = n}, 0 } k K n N r + M UT al() (5.6) I S =NIL subject to Tme wndows Shft temporal relaton T [a, b ] I I b I o I d (5.7) T ssucc + d rpred(succ ),succ mn(ol max, olsucc max ) T succ f P NIL T + l + d rpred(succ ),succ mn(ol max, olsucc max ) T succ else (5.8) I I b I o Crew temporal relaton } T j+1 T j + (a j+1 a j ) T j+1 T j + l j + (a j+1 a j ) C = ( 1,..., m ) C, 1 j < n (5.9) Shft type days Shft start and end tmes Break buffers N s N Ks s S (5.10) T o s = st KsN s T d s = et KsN s } s S (5.11) T eb s T mb s + l eb s + l mb s + bbeb br T mb s + bb eb br T lb s Predecessorsuccessor consstency s S : brk eb s NIL brk mb s =: br s S : br := brk mb s NIL brk lb (5.12) s Shftpredecessor consstency pred = j succ j = I I b I o (5.13) pred = j S = s S j = s I I b I o (5.14) 82
99 5.3. Mathematcal Model Shft dfference Subcrew attrbuton S 1 S 2 C C, 1, 2 C, 1 2 (5.15) H H : S 1, S 2 H B B, 1, 2 B, 1 2 (5.16) Crew shft types K s1 = K s2 N s1 = N s2 } s 1, s 2 S, H H : s 1, s 2 H (5.17) Crew break parallelsm Splt task length T eb s 1 T mb s 1 T lb s1 = T eb s 2 Mnmum splt part lengths Shft qualfcaton profles = T mb s 2 = T lb s2 T 1 + l P = T pseudo P s 1, s 2 S, H H : s 1, s 2 H (5.18) T + msl P T ssucc f ssucc succ T = T ssucc else Maxmum qualfcaton requrements Incompatble qualfcatons P = ( 1,..., m ) P (5.19) } I : P NIL (5.20) Q s = I Q (5.21) S =s Q s <= q max s S (5.22) Q s Q Q Q : qp(q ) = 0, s S (5.23) Absolute mnmum shft number restrctons k K r n N r {s S K s = k, N s = n} m r r R mn abs (5.24) Relatve mnmum shft number restrctons {s S K s = k, N s = n} k K r n N r p r k K n N r {s S K s = k, N s = n} r Rrel mn (5.25) The objectve functon term (5.1) descrbes the shft costs as nduced by the shft types whle (5.2) mposes qualfcaton penaltes. Snce the number of used shfts should not an mpact, the sum of the nverted qualfcaton preferences s dvded by the number S of shfts. Note that all qualfcaton preferences are strctly postve due to constrant (5.23). For normalsaton, the 83
100 5. An Improvement Algorthm for Complex Shft Plannng qualfcaton penalty term s multpled by qp mn. Consequently, the qualfcaton term has values n [0, 1], renderng tunng of qualfcaton nfluences va w QP easer. Terms (5.3), (5.4) and (5.5) mpose large penaltes f qualfcaton or maxmum shft number restrctons cannot be obeyed. Fnally, (5.6) accounts for task mnutes whch cannot be assgned to shfts, makng use of the actual length al() defned n Secton Equaton (5.7) restrcts all tasks (ncludng orgn, destnaton and break tasks) to start wthn ther start tme wndow. Constrant (5.8) enforces tasks to be placed one behnd the other n shfts. Whle for nonpreemptve tasks, the end tme s gven by the start tme plus ts length, the end of splt parts s gven by the start tme T ssucc of the splt part successor. Tasks are allowed to overlap by at most mn(ol max 1, ol max 2 ) tme unts. Crew tasks should be placed as much n parallel as possble as descrbed by equatons (5.9). Agan, t suffces to use a lnear number of constrants for adjacent pars ( j, j+1 ) of crew tasks, cf. Secton 4.3. The dfference a j+1 a j between the orgnal start tmes of adjacent crew tasks s nterpreted as an offset for the realsed start tmes. Equaton (5.10) restrans a shft to be on a day whch s vald for ts shft type K s, and (5.11) synchronses the shft type realsaton wth the shft start and end tmes. Constrants (5.12) mpose mnmum buffer tmes between early/man and man/late break whle equatons (5.13) and (5.13) guarantee consstency between predecessor, successor and shft varables. To ensure a far assgnment of the work tasks to the members of a team, no more than one task of a subcrew s assgned to the same worker as descrbed by (5.15) (note that ths s often mplct n (5.9). Whle subcrews are part of the nput, the shfts are grouped nto shft crews, and subcrews are always assgned to such blocks of shfts (equaton (5.16)). All shfts of a shft crew ask for the same shft type realsaton (constrants (5.17)), and ther breaks take place n parallel (constrants (5.18)). Splt parts must cover the total length of ther splt task whch s ensured by constrants (5.19). Each splt part has a mnmum length as gven by the value msl P (constrants (5.20)). Note that the mnmum dstance between start tmes s only mposed f two splt parts are not successors n a shft. Splt parts whch are placed as successors n a shft are nterpreted as a sngle effectve part. A soluton to the shft plannng problem can thus use less effectve parts than the logcal parts whch were orgnally generated. The start tmes of splt parts whch are placed one behnd the other are assumed to be equal. Equaton (5.21) relates shft qualfcaton profles to the qualfcaton requrements of the tasks, and (5.22) restrcts qualfcaton requrements to a maxmum sze q max. Constrant (5.23) forbds the use of ncompatble qualfcatons. Absolute and relatve mnmum shft number restrctons are represented by (5.24) and (5.25). Whle n the bulk of the lterature on shft plannng, the workload s represented by a hstogram of workforce requrements per tme nterval, model (5.1)(5.25) covers a set of work tasks. The shfts contan tours of tasks. Problem (5.1)(5.25) can thus be nterpreted as a specalsed vehcle routng problem wth tme wndows (VRPTW). Instead of usng an ntermedate hstogram abstracton, the tasks are drectly attrbuted to a set of approprate shfts n an ntegrated approach. To the knowledge of the author, ths s the frst tme that tasklevel shft plannng s addressed. The basc VRPTW problem s not only enrched by restrctons referrng to the shfts, but also by complcatng tasklevel constrants, ncludng qualfcatons, task splttng, overlappng and crews. The crew temporal constrants (5.9) and break parallelsm constrants (5.18) refer to tasks n dfferent shfts. Therefore, they ntroduce vertcal relatons between the shfts whle the classcal shft temporal relatons (5.8) have a horzontal character. Task splttng (preemptve tasks) add further vertcal constrants to the problem snce start tme decsons for splt parts generally nvolve two shfts. In Chapter 7, t wll be shown that even a smple subproblem of the shft plannng problem 84
101 5.4. Shft Creaton s N Phard n the strong sense. Whle we wll see that smple classes of shft plannng problems can stll be solved to optmalty, ths cannot be expected for general largescale scenaros nvolvng many constrants. Before ths work, a constructon heurstc for the shft plannng problem has been used wth success. Whle ths algorthm generally produces good results n very low runtmes, soluton qualty sometmes suffers from evdent flaws whch has adverse effects on customer satsfacton. It was therefore searched for a procedure whch s able to provde a remedy for the defcency of the ntal algorthm. Ths was supposed to be done wthout sacrfcng benefcal propertes of the constructon algorthm lke ts performance and soluton propertes lke the groupng of tasks of dfferent qualfcatons. It was therefore decded to mplement a soluton mprovement algorthm, usng the result of the ntal algorthm as a startng pont. By repeated local steps, obvous flaws of the soluton were supposed to be overcome and the general soluton qualty enhanced. Because local steps only change small parts of the solutons, many propertes of the ntal soluton can be conserved. Tradtonal local search operators could not be expected to provde reasonable means for the mprovement of shft plans. The good experence wth the levellng algorthm of Chapter 4 was the reason for optng for a soluton by a CPbased relaxandoptmse approach. Clearly, constrant programmng s the method of choce for representng the complex constrants of the shft plannng problem (5.1)(5.25). Large neghbourhood search gves a framework for the relaxaton and reoptmsaton of parts of a gven soluton, usng a restrcted branchandbound scheme. In the followng, we wll frst develop a constrant programmng model for the shft plannng problem descrbed above. Ths model s not restrcted to the local search context, but some desgn decsons make t partcularly approprate for the reoptmsaton settng. As n Chapter 4, we use an nsertonbased model whch allows for an effcent propagaton of start tmes [Caseau and Laburthe, 1999] and s flexble n ncorporatng further constrants whch may come up n the future [Campbell and Savelsbergh, 2004]. For performance reasons, we wll accept a somewhat lower degree of consstency wth regard to the determnaton of nserton postons. Effectvely, a full evaluaton would mean that some of the consstency tests would have to trgger on many events. Before explanng the domans and consstency tests, we wll descrbe some general deas wth regard to the creaton of shfts and the handlng of unassgned tasks Shft Creaton Our goal s to fnd a set S of shfts coverng the tasks I at mnmum costs. In order to represent the complex constrants of tasklevel shft plannng, we wll use a constrant programmng model. As n Chapter 4, dfferent domans and consstency tests wll pertan to the basc enttes. As an example, we wll use a start tme doman for each task. Smlarly, we need domans and consstency tests for the shfts. As an example, we wll represent vald start tmes of break tasks as well as qulafcaton profles of shfts by approprate doman varables. Such domans and consstency tests cannot be generated dynamcally, but must be created beforehand. For the work tasks, ths does not mpose any problems snce the tasks are part of the nput data. In contrast, the set of shfts s part of the decson varables of the problem, and the composton of a good set of shfts s not obvous. We therefore have to create domans and consstency tests for a set of shfts whch s not known n advance. As a remedy, we wll create socalled shft templates. These templates should be chosen such that any possbly optmal soluton can be represented by the related domans and consstency tests. We therefore need upper bound approxmatons on the number of requred shfts of dfferent types. For the calculated shft numbers, we then domans and consstency tests. Clearly, we can leave shft templates empty, meanng that such shfts are not part of the fnal soluton. 85
102 5. An Improvement Algorthm for Complex Shft Plannng The startng soluton for the mprovement procedure clearly gves an ndcaton for creatng a sutable set of shft templates, but we wll generally requre addtonal shfts of other types. We wll thus only make use of the set of tasks for determnng an upper bound on the number of requred shfts. Snce there s no obvous way to determne whch combnatons of tasks wll be covered by the same shfts, we wll take the worstcast approxmaton of coverng each task by a separate shft. In a frst approach, we could create one set of templates for each shft type realsaton. Many constrants effectvely relate to the shft type realsaton. As an example, ths would fx the shft start and end tmes and defne ntal start tme domans for the break tasks. Nevertheless, the approach has some dsadvantages. Frst, the upper bound approxmaton for the number of requred shft templates wll be poor: For each task, we would have to create a shft template for each shft type/day combnaton coverng, resultng n a huge number of shft templates. Second, the consequences for the logc of a soluton algorthm are unfavourable. In practce, shfts can often be shortened or prolonged wthn the set of gven shft types wthout affectng key fgures lke the number of breaks. If now the shft type s fxed for each template, the use of longer or shorter shft types requres a reattrbuton of all tasks to another shft template. Instead of fxng shft types, we frst only settle the day N s = n s on whch a shft template s starts and leave ts actual shft type open. Ths means that the start tme domans of orgn, destnaton and break tasks are ntalsed to rather general values. As an example, the start tme doman of an orgn task ncorporates all start tmes of the vald shft types for the template. Addtonally, the ntal break start tme domans wll contan all possble start tmes for any of the possble shft types. Ths means that we have to adapt the set of possble break tmes as soon as the shft type s known. Clearly, ths can be carred out by a consstency test. Smlarly, we wll need consstency tests to ensure possble break buffer tmes. Snce the consstency tests for a shft template cannot change dynamcally, we must choose the set of possble shft types such that the basc nformaton on breaks (break duratons, buffer tmes) s fxed for a template. As can be easly observed, all of ths nformaton relates to the set of break rules of the shft type. Consequently, we wll fx the set of break rules for each shft template,.e. a gven shft template can be fxed to any shft type k on day n s wth the same set of break rules. To formalse ths dea, we ntroduce the noton of break rule days BRD. A break rule day brd BRD s defned as a par brd := (n brd, BR brd ) of a reference day n brd and a possbly empty set BR brd of break rules such that each break rule type (early, man, late break) occurs at most once n the set. We furthermore defne a set K brd of all shft types whch are covered by a break rule day brd: K brd := {k K n brd N k {br eb k, brmb k, brlb k } = BR brd} We defne the earlest start tme st brd for a break rule day brd as the mnmum start tme over ts shft type realsatons (st brd := mn k Kbrd st knbrd ) and the latest end tme et brd as the maxmum over the end tmes (et brd := max k Kbrd et knbrd ). Each shft template s wll have a fxed break rule day brd s (and therefore also a fxed day N s = n brd ) whle ts shft type K s wll be determned n the course of the algorthm. Wth these consderatons and defntons, an easy temporal checkng of tasks can be performed: A task may be covered by a shft s of break rule day brd := brd s f st brd b mn(st brd + d o,, a ) + l + d, d et brd where d o, and d, d are travel tmes from and to the depot. Note that wth ths defnton, we neglect that there may be breaks preventng the task from beng covered. To avod checkng all shft types of a break rule day, we wll neglect the effect of breaks. 86
103 5.5. Unassgned Task Handlng Two cases have to be dstngushed. If the crew sze cs s 1, the scenaro wll not comprse subcrews, and no shft crews must be created. We can therefore determne the number cnt brd of shfts for each break rule day brd as cnt brd := { I st brd + d o, b max(st brd, a ) + l + d, d et brd } If there are splt tasks n the nput data (P = ), splt parts whch have vanshng lengths l wll also be counted n ths term. Whle cnt brd remans a vald upper bound on the shfts to be created, we may seek for more exact approxmatons for splt tasks, e.g. takng mnmum splt part lengths nto account. But snce mnmum lengths are only obeyed f splt parts are placed n dfferent shfts, we wll content ourselves wth the above defnton. If the crew sze cs s greater than 1, we must create blocks of cs shfts. Whle most of the tasks wll generally be grouped n subcrews n a such scenaro, there may be sngleton tasks whch are not attrbuted to subcrews. Clearly, we do not need a whole shft crew to cover sngleton tasks. We therefore count the number of shfts whch are needed for noncrew tasks separately: cnt sngle brd := { I / B B B st brd + d o, b max(st brd, a ) + l + d, d et brd } When checkng f a subcrew mght ft nto a break rule day, we must check f all tasks of the subcrew can be placed n the break rule day,.e. we use the mnmum over all latest start tmes and the maxmum over all earlest end tmes for temporal checks wth the break rule day. Thus, the number cnt crew brd of shft crews to be created for subcrew tasks s cnt crew brd := {B B st brd mn B (b d o,) max B (max(st brd, a ) + l + d, d) et brd } In total, we wll create cnt sngle brd + cnt crew brd cs shft crews for a break rule day brd, each consstng of cs shft templates. Because each of the shfts can fnally be fxed to dfferent shft types, the break rule day approach creates consderably less shfts than fxed shft type method. The more shft types requre the same sets of break, the clearer the savngs wll be. We wll never create more templates than n the fxed shft type approach. If many break rule combnatons are used n the shft types, memory requrements may stll be hgh. If ths s the case, we can heurstcally ntroduce upper bounds on the number of created templates per day or per break rule day. Note that even f shft templates are used, only those shfts whch fnally comprse work tasks wll be part of the output of the algorthm. Nevertheless, we wll let S denote the set of all shft templates Unassgned Task Handlng As descrbed n Secton 5.3, t may not be possble to assgn all tasks to shfts. If a task remans unassgned (S = NIL), a penalty of M UT al() proportonal to ts actual length s mposed. Allowng tasks not to be assgned to any shft can be cumbersome n algorthmc handlng. We wll therefore create a dummy shft s = s dummy for each task whch can be left unassgned. 87
104 5. An Improvement Algorthm for Complex Shft Plannng If the task cannot be covered by a regular shft, ths wll be represented by the assgnment to ts dummy shft: S := s dummy. Note that f a task whch can be covered s left unassgned n the ntal soluton, ths must be regarded a flaw the constructon algorthm. Furthermore, f splttng s used, t may be possble to assgn larger portons of a splt task than n the startng soluton. In general, we can assume that only a small amount of the tasks s unassgned n the ntal soluton. We frst treat the case of nonsplt tasks. For each such task, a dummy shft s dummy s created. Furthermore, we create a specal dummy shft type k dummy l for each unassgned task length l and assgn dummy shfts to the correspondng shft type: K s dummy = k dummy l. The cost of a dummy shft type k dummy l s gven by c k dummy l = M UT l, reflectng the unassgned task penaltes. The start and end tmes of dummy shft types are set to lmts whch guarantee that every task can be placed nto a shft of the shft type,.e. they only have one realsaton and wll generally be longer than 24 hours. For splt parts, we cannot account unassgned task penaltes va dummy shft types snce lengths are not fxed. We wll defne one dummy shft per splt task, meanng that logcally unassgned splt parts of the same splt task P are placed n the same dummy shft s dummy P. To avod penaltes on the shft level, these dummy shfts have a fxed shft type k dummy 0 of costs = 0. Penaltes for unassgned splt parts wll thus be accounted separately. c k dummy 0 A specal break rule day brd dummy BRD s defned to cover all dummy shft types. All dummy shfts are assgned to ths break rule day: brd s dummy := brd dummy. Dummy shfts wll not be regarded parts of the shft set S because they requre a dedcated handlng Constrant Model We now come to the descrpton of detals of the constrant model. After showng whch doman varables are used, we wll descrbe the consstency tests whch are used to propagate nformaton on tasks, shfts, qualfcatons and so on. The man novelty of the model les n the temporal propagaton. In comparson to the model of Chapter 4, we not only have to ncorporate shft types and breaks, but we must also devse rules whch cover regular work tasks as well as splt parts Domans We start by descrbng the domans used n the CP model. The possble start tmes of each task are mantaned n a doman δ start whch s represented by a range δ start = [α, β ]. For work tasks I, the start tme doman s naturally ntalsed to [a, b ]. The ntal tme wndows of orgn, destnaton and break tasks are ntalsed to the extent of the break rule day of the shft: δ start o s = δ start d s = δ start eb s = δ start mb s = δ start lb s := [st brds, et brds ] The length of a splt part s the consequence of the values of two adjacent temporal varables δ start and δssucc start of and ts splt task successor ssucc, respectvely. To provde control over the length of a splt part, we ntroduce a splt part length doman δ sl. Agan, possble lengths can be represented as a range whch s ntalsed to δ start j := [0, l P ] for each part j of a splt task P P. Note that several parts of a splt task can be superposed, representng only one effectve splt part. Only the last part of such a task chan wll then have a 88
105 Name Mathematcal varable CP doman start tme T δ start splt task part length δ sl runnng predecessor pred π runnng successor succ σ shft assgnment S δ shft predecessor task pred δ pred nserted flag δ ns 5.6. Constrant Model Table 5.2.: Overvew of taskrelated varables n the CP model. postve length. The last splt part m of a splt task P wll therefore always have a postve length, and ts length varable s ntalsed to δ start m := [msl P, l P ] As an nsertonbased model s used, we wll keep track of current predecessors and successors n a varable π for each task I I b I d and the current successor σ for each task I I b I o. π and σ are not constrant varables n the proper sense as they contan sngle values whch are adapted wth nsertons (see also Secton 4.5). Wth a gven ntal shft plan, the ntalsaton of predecessor and successor varables s straghtforward. For empty shfts, orgn, break and destnaton task buld a chan of predecessor and successor tasks. For each task I I b I o I d, the set of shfts to whch t may be assgned s mantaned n a doman δ shft. Whle for the startng soluton the shft assgnment s gven, we wll show n Secton how the set of shfts s rentalsed wthn local search. Clearly, the shft doman s fxed for orgn, destnaton and break tasks. Addtonally to the shft assgnment, we keep track of potental predecessor tasks n a doman. Whle the current predecessor task π denotes the unque current predecessor after all nsertons made so far, the predecessor varable δ pred specfes all tasks after whch may be nserted n a shft (f s not yet nserted) or all tasks whch may stll be nserted n front of (f was already nserted). The predecessor domans wll be rentalsed for each local step. The boolean doman δ ns wll ndcate f s nserted nto a shft. Orgn, destnaton and break tasks are always nserted (δ ns := {true}) whle domans of work tasks are ntalsed to δ ns := {false, true} when ther assgnment s relaxed n a local step. All taskrelated domans wth ther equvalents n the mathematcal model are gven n Table 5.2. Turnng to shftrelated domans, δs K wll specfy the shft types whch may be attrbuted to a shft s; note that the day s fxed for each shft template. Intally, all potental shft types of brd s are part of the shft type doman: δ pred δ K s := K brds The shft type of dummy shfts s dummy s always fxed to the dummy shft type whch corresponds to s length: := {k dummy l } δ K s dummy Snce shft costs only arse for shfts contanng work tasks I, we keep track of used shft templates s va boolean domans δs used. As shft templates are ntally empty, we ntalse δs used := {false, true}. As soon as a work task I s nserted nto the shft, the value false wll be removed from the doman. 89
106 5. An Improvement Algorthm for Complex Shft Plannng Name Mathematcal varable CP doman shft type K s δs K shft used flag δs used qualfcatons Q s δs Q qualfcaton penalty qp(q s ) 1 δs qp Table 5.3.: Overvew of shftrelated varables n the CP model. a. Nonsplt task b. Splt task c. Travel tme Fgure 5.6.: Temporal propagaton for splt and nonsplt tasks and for travel tmes. The qualfcaton doman δs Q descrbes the set of qualfcaton requrements for each shft s S. Snce CP domans shrnk monotoncally and qualfcaton requrements augment wth each task nserton, δs Q wll represent the nverse of the qualfcaton requrements,.e. Q \ Q s. Snce empty shfts do not have qualfcaton requrements, δs Q s ntalsed to the set Q of all qualfcatons. A further doman δs qp s ntroduced for the calculaton of qualfcaton penaltes accordng to objectve functon term (5.2). The doman s represented as a range between the actual penalty (qp(q s ) 1 ) and the maxmum value qp 1 mn wth qp mn defned as n Secton 5.3. Because qp( ) = 1, we ntalse δs qp to δs qp = [1, qp 1 mn ] for empty shfts. Addtonally to calculatng actual qualfcaton penaltes, δs qp wll be used to cause a search falure when a task nserton results ncompatble qualfcatons n a shft. The decson s then automatcally revsed (cf. Secton 5.6.3). All shftrelated domans are summarsed n Table Shft Temporal Constrants Predecessor and successor relatonshps defne temporal relatons between subsequent tasks n shfts. We wll now defne rules for updatng start tme wndows upon changes of the temporal nformaton of other tasks. We wll use pushforward/pushbackward propagaton rules whch allow for the update of tme wndows by a lnear forward pass for earlest start tmes and a lnear backward pass for latest start tmes. Checks for possble nserton postons can then be done n constant tme, see also Secton Due to splt parts, the temporal propagaton wll be more complcated than n the CP model for the workload levellng problem. Accordng to Fg. 5.6, the followng cases must be dstngushed: The tme wndow of a nonsplt task s updated; such an update s typcally due to a task nserton (orange task n Fg. 5.6a). We must propagate ths nformaton forward to the successor task σ and backward to the predecessor task π n the shft. 90
107 5.6. Constrant Model The tme wndow of a splt part s restrcted (Fg. 5.6b). Note that the tme wndow δ start of a splt part denotes the start tme wndow of one task (orange task n lower shft) as well as the end tme of ts splt part predecessor spred (orange task n upper shft). Consequently, we must propagate the temporal update backward to the predecessor π of task and forward to the successor σ spred of ts splt part predecessor spred. A further constrant between the start and end tme wndows of a splt part wll guarantee that mnmum splt part lengths are observed (see below). Upon each travel tme change, ths means that the mnmum dstance between two subsequent task may have ncreased (Fg. 5.6c). Ths must be propagated forward from the frst to the second task and backward from the second to the frst. Snce breaks take place at the locaton of ther predecessor work task, we must pay specal attenton to tasks after breaks whose travel tmes can change when a task s nserted before the break. We wll defne buldng blocks for start tme propagaton n these dfferent cases. The forward propagaton rule FWDPROP( 1, 2 ) descrbes the earlest start tme propagaton from a task 1 (nonsplt task or splt part) to the earlest start tme of 2. Symmetrcally, BWDPROP( 1, 2 ) wll propagate changes of the latest start tme of task 2 to the latest end tme of task 1 (agan, 1 may be splt part or not). As mentoned before, we must be careful wth the nteracton of breaks and travel tmes. If the drect predecessor of a break task s another break task, the determnaton of travel tmes can mean a recourse to a work task over several breaks. When a task s nserted nto a shft, not only ts own travel tme s changed, but also the travel tme of the frst successor task whch s not a break. For travel tme propagaton, we defne a frst work task predecessor wpred() and a frst work task successor wsucc() as { π f π wpred() := I I o wpred(π ) f π I b { σ f wsucc() := I I d wsucc(σ ) f I b Furthermore, we have to take nto account that the mnmum dstance between subsequent tasks 1 and 2 can be relaxed by an overlap whch s lmted by mn(ol max 1, ol max 2 ). The forward propagaton FWDPROP( 1, 2 ) for tasks 1 I I b I o and 2 I I b I d s thus gven by [ FWDPROP( 1, 2 ) : P 1 = NIL P 2 = NIL P 1 P 2 = t := α1 + l 1 + d wpred(2 ), 2 mn(ol max 1, ol max ] 2 ) > α 2 = α 2 := t f P 1 = NIL t := α ssucc1 + d wpred(2 ), 2 mn(ol max 1, ol max 2 ) > α 2 = α 2 := t f P 1 NIL The backward propagaton BWDPROP( 1, 2 ) of latest end tmes s defned symmetrcally: [ BWDPROP( 1, 2 ) : P 1 = NIL P 2 = NIL P 1 P 2 = t := β2 d wpred(2 ), 2 l 1 + mn(ol max 1, ol max ] 2 ) < β 1 = β 1 := t f P 1 = NIL t := β 2 d wpred(2 ), 2 + mn(ol max 1, ol max 2 ) < β ssucc1 = β ssucc1 := t f P 1 NIL Some comments are n place to understand these buldng blocks. As a frst observaton, both FWDPROP( 1, 2 ) and BWDPROP( 1, 2 ) wll ental updates only f not both 1 and 2 are splt parts of the same splt task P 1 = P 2. Otherwse, 1 and 2 are subsequent splt parts of the same splt task, and other consstency tests wll apply. The propagaton rules descrbe how temporal nformaton s transferred between the end of 1 and the start of 2. Whle the tme wndow δ start 2 always descrbes the doman of start tmes for 91
108 5. An Improvement Algorthm for Complex Shft Plannng 2, we have to make a dstncton for the determnaton of 1 s end tme. If 1 s a nonsplt task (P = NIL), the range of end tmes can be calculated by addng the length l 1 to the start tme wndow δ start 1 = [α 1, β 1 ]. If however 1 s a splt part (P 1 NIL), the range of end tmes s retreved from δssucc start 1. Note also that a travel tme d wpred(2 ), 2 s used n the propagaton rules. Effectvely, 1 may be a break task, meanng that t nherts the locaton of the frst work task predecessor. If 2 s a break task, d wpred(2 ), 2 s 0 by defnton. We can now come to the descrpton of consstency tests for the dfferent settngs of Fg Nonsplt task temporal relaton For each nonsplt task I I b I o I d (P = NIL), start tmes are updated as follows: / I o, π NIL = BWDPROP(π, ) / I d, σ NIL = FWDPROP(, σ ) Ths consstency test wll be performed each tme the start tme doman δ start, the predecessor π or the successor σ change. For each, the tme complexty s n O(1). Splt part temporal relaton For each splt part I (P NIL), start tmes are adapted by π NIL = BWDPROP(π, ) spred NIL, σ spred NIL = FWDPROP(spred, σ spred ) Latest start tme are propagated backward as for nonsplt tasks. Forward propagaton however affects the splt part predecessor and ts shft successor f s not the frst part of ts splt task. The rule trggers upon reductons of δ start as well as on changes of s predecessor π and spred s successor σ spred, executng n O(1) runtme for each. When a task s nserted, the temporal nformaton between and ts predecessor and successor s already completely propagated by the consstency tests descrbed before. If breaks are nvolved, we addtonally need the followng update rule. Travel tme propagaton For each break task b I b, surroundng start tmes are adapted by π b NIL = { FWDPROP(wpred( b ), wsucc( b )) BWDPROP(wpred( b ), wsucc( b )) Ths test clearly trggers on changes of π b. As for the tests above, the tme complexty s n O(1). The temporal propagaton rules descrbed so far reflect the shft temporal constrants (5.8) Shft Constrants In the course of reoptmsaton, task nsertons wll ental restrctons of the temporal domans δ start o and δ start of orgn and destnaton tasks, respectvely. Clearly, ths also restrcts the set of s d s vald shft types whch s mantaned n domans δs K. Vce versa, earlest and latest start tmes of orgn and destnaton tasks can be updated usng the set of vald shft types. 92
109 5.6. Constrant Model Shft types For a shft s S, the set δs K of vald shft types and the shft boundares gven by δ start o and δ start wll be updated as follows: s d s K vald s := {k δs K α o s st kns β o s α d s et kns β d s } = δs K := Ks vald mn st kns > α o k Ks vald s = α o s := mn st kns k Ks vald max st kns < β o k Ks vald s = β o s := max st kns k Ks vald mn et kns > α k Ks vald d s = α d s := mn et kns k Ks vald max et kns < β d s = β d s := max k K vald s The test s trggered upon changes of δ K s, δ start o s k K vald s et kns, δ start. Its complexty s n O( K ). Because shft templates do not have fxed shft types, the start tme domans δ start of break b tasks b I b were ntalsed to rather unspecfc values (cf. Secton 5.6.1). In the course of the algorthm, break start tme wndows wll be adapted wth further nformaton on vald shft types becomng avalable. In the opposte drecton, task nsertons around breaks generally cause changes to ther start tme domans whch can also affect vald shft types. As break rules defne break wndows wth reference to the shft start, the followng break wndow constrants nvolve the start tme varables of orgn and break tasks. Break wndows Let s S be a shft of break rule day brd s. For each break rule br BR brds, the followng updates are appled to the start tme wndows of the orgn task o s and the break task b correspondng to br, usng the break tme wndow [a br, b br ] gven by br relatve to the shft start: α o s + a br > α b = α b := α o s + a br β o s + b br < β b = β b := β o s + b br α b b br > α o s = α o s := α b b br β b a br < β o s = β o s := β b a br The update trggers on changes of δ start o and δ start, usually caused by some task nserton. s b The test runs n constant tme for each break. Furthermore, mnmum buffer tmes may be defned between early and man or man and late break. These can be formulated as consstency tests between the start tme domans of the nvolved break tasks. The man dfference between break wndow and break buffer constrants s that the former lmts mnmum and maxmum dstances whle the latter only defnes mnmum buffer tmes. Break buffers Let s S be a shft wth early, man and late break,.e. d s BR brds = {brs eb, brs mb, br lb and let bb eb br and bblb br be the early and late break buffer tmes defned by the man break rule br := brs mb. Then the followng reducton rules apply to the start tme domans δ start = eb s [α eb, β s eb ], δstart = [α s mb s mb, β s mb] and δ start = [α s lb s lb s, β lb s ] of the break tasks: α eb s β mb s α mb s β lb s + l eb s + bbeb br > α mb s bb eb br l eb s + l mb s bb lb br l mb s < β eb s + bb lb br > α lb s < β mb s = α mb s = β eb s = α lb s = β mb s s } := α eb s := β mb s := α mb s := β lb s + l eb s + bbeb br bb eb br l eb s + l mb s + bb lb br bb lb br l mb s 93
110 5. An Improvement Algorthm for Complex Shft Plannng If we only have an early or a late break, only one par of reducton rules s used. The test s trggered upon changes of the nvolved start tme domans and entals an O(1) runtme for each shft. Ths consstency test mplements the break buffer constrants (5.12) of the mathematcal model. As descrbed above, the qualfcaton penaltes are calculated va domans δs qp. Ths varable wll be updated upon each change of the nverse qualfcaton profle δs qp for each shft s. Qualfcaton combnatons Let s S be a shft and qp mn as defned n Secton 5.3. The qualfcaton penalty doman δs qp s recalculated from δs Q as follows: { δs qp δ qp s \], qp(q \ δs Q ) := 1 [ f qp(q \ δs Q ) > 0 and Q \ δs Q q max δs qp \], qp 1 mn + 1[ else Wth an approprate representaton of qualfcaton sets, the test executes n constant runtme. The rule bascally calculates qualfcaton penaltes as defned by the objectve functon term (5.2). If the shft s qualfcaton profle Q \ δ Q s contans ncompatble qualfcatons (.e. qp(q \ δs Q ) = 0) or f the sze of the qualfcaton profle exceeds the lmt q max, the new mnmum of δs qp s set to qp Because the maxmum of the qualfcaton penalty doman δqp s was ntalsed mn to qp 1 mn (cf. Secton 5.6.1), δqp s wll then become empty. Consequently, f a task nserton entals combnng ncompatble qualfcatons or exceedng the lmt for the qualfcaton profle sze, the state of the constrant model becomes nvald. In constrant programmng, nvald assgnments are dscarded and ental backtrackng,.e. the nserton decson causng falure wll be revsed. The consstency test thus addtonally assures that constrants (5.22) and (5.23) are observed. Note that the propagaton of ncompatble qualfcatons and maxmal qualfcaton profle szes could be stronger by adaptng shft domans of unnserted tasks. However, ths would mean costly checks of potental qualfcaton profles. Furthermore, consstency tests trggerng on many events would have to be used. Because n practce, ncompatble qualfcatons and qualfcaton profle szes are not very lmtng, t was decded to use less costly aposteror checks as descrbed above Crew Constrants Addtonally to the horzontal relatons between subsequent tasks n shfts, crews defne vertcal dependences between tasks n dfferent shfts. These can be effcently represented f crew tasks are sorted by length, cf. Secton 4.3. Addtonally to crew tasks, the breaks of a shft crew must be placed n parallel. In fact, temporal restrctons on crew tasks and breaks are equvalent f breaks have equal lengths and earlest start tmes, cf. to constrants (5.9) and (5.18) n the mathematcal model. But snce the shfts of a shft crew have equal shft types, ther break rules wll be dentcal. Ths means that ther lengths are n fact equal. Furthermore, snce break start tmes were ntalsed usng break rule days (cf. Secton 5.6.1), ther ntal start tmes also correspond. We can thus use the same consstency test for the mplementaton of constrants (5.9) and (5.18). Crew temporal relaton Let C = ( 1,..., m ) C {s 1,...,s n} H { } ( eb s 1,..., eb s n ), ( mb s 1,..., mb s n ), ( lb s 1,..., lb s n ) be a tuple of crew tasks or break tasks of crew shft, and let j, j+1 C be adjacent tasks n the sortng of C by decreasng lengths (l j l j+1 ). Then the followng doman reducton 94
111 5.6. Constrant Model rules apply for 1 j < n: α j + (a j+1 a j ) > α j+1 = α j+1 := α j + (a j+1 a j ) β j+1 (a j+1 a j ) < β j = β j := β j+1 (a j+1 a j ) α j (l j+1 l j ) + (a j+1 a j ) > α j+1 = α j+1 := α j (l j+1 l j ) + (a j+1 a j ) β j+1 + (l j+1 l j ) (a j+1 a j ) < β j = β j := β j+1 + (l j+1 l j ) (a j+1 a j ) If a shft crew does not contan a full set of early, man and late breaks, the update s only performed for the breaks whch are defned by the break rules. The test s performed upon each change of the nvolved varables δ start j and δ start j+1 and has O(1) tme complexty for each par (j, j + 1). Addtonally to the temporal constrants, there are further restrctons on crew tasks. The followng test mplements the above constrant (5.15). Dfferent shfts The tasks of each crew C C must be placed n dfferent shfts. Ths s enforced by an alldfferent({δ shft C}) global constrant of complexty O( C 2 S 2 ) for a whole branch of the search [Régn, 1994] [Régn, 2000]. Furthermore, all tasks of a subcrew B B must be assgned to the same shft crew H H (constrant 5.16). Ths s assured by the followng consstency test: Subcrew attrbuton Let B B be a subcrew and S(B) := {s S B : δ shft = {s}} the set of regular shfts to whch tasks of B are already assgned. If s S(B), we can enforce the assgnment of all tasks B to the same shft crew by δ shft > 1 = δ shft := δ shft H s It should be noted that the set S(B) wll not nclude dummy shfts s dummy. Because the consstency test s performed each tme the shft doman of a subcrew task s bound to a value, the set S(B) wll only contan shfts of the same shft crew. We can therefore use an arbtrary shft s to determne ths shft crew H s and prevent all other tasks of the subcrew to be assgned to shfts whch are not part of H s. Wth an approprate mplementaton of set operatons, the test consumes ( B ) runtme for each subcrew B B. By defnton, all shfts of a shft crew have dentcal break rule days. But we must also ensure that all crew shfts fnally have same shft types (constrant (5.17)). We may update all shft type domans each tme one of them changes, but ths would amount to costly set operatons. Instead, we note that a shft type k K can be unquely determned from gven start and end tmes st = st kn and et = et kn for a fxed day n and ts set of break rules. Snce the set of break rules of a shft template s follows from ts break rule day brd s, we can acheve full consstency of shft types by synchronsaton of the start tme domans δ start o s and δ start d s. 95
112 5. An Improvement Algorthm for Complex Shft Plannng Shft start tmes For each shft crew H H, the start tme doman δ start o for each s H are s updated as follows: max s H α o s mn s H β o s The test trggers on changes of δ start o. s > α o s = α o s := max s H α o s < β o s = β o s := mn s H β o s Shft end tmes For a shft crew H H and each shft s H, we update the temporal domans of the destnaton tasks d s as follows: max s H α d s mn s H β d s > α d s = α d s := max s H α d s < β d s = β d s := mn s H β d s The rule trggers on changes of the δ start. Both tests have O( H ) runtme complexty. d s In conjuncton wth the shft type consstency test descrbed above, these tests ensure that the domans δs K of all shfts n H correspond. For shft cost accountng, shft templates are marked as used va a doman δs used as soon as a task s nserted. In crew handlng, we must consder that a shft crew can only be used as a unt. We wll therefore mark all crew shfts as used as soon as a task s nserted nto one of them. Shft crew accountng Let H H be a shft crew. The followng update rule s used to account for full shft crews: s H : δ used s = {true} = delta used s := {true} s H Ths update s executed each tme one of the flag varables δs used O( H ) runtme. s set to {true}, consumng Splt Task Constrants Splt parts requre specal attenton snce ther lengths are varable. Several splt parts can be placed one behnd the other n a shft, representng only one effectve splt part. If we do not mpose further restrctons on the successve placement, several states of the model wll represent the same logcal stuaton snce redundant splt parts can be pled up n dfferent ways. Such symmetres should be avoded snce they nflate the search space. We wll therefore restrct the successon of splt parts to the end of a splt task P = ( 1,..., m ),.e. f two parts j and j+1 are drect successors n a shft and no further task wll be placed between them, we enforce that all tasks j wth j > succeed. Vce versa, f two parts cannot be placed one behnd the other, none of the tasks j wth j < wll be placed as successors n shfts. Shft successon of splt parts nteracts wth ther lengths: If we know that two parts are placed one behnd the other, the frst part s restrcted to a length of 0. If the tasks cannot succeed, the mnmum splt length msl P has to be obeyed. These two aspects are represented by the followng consstency test, trggerng on changes of the predecessor doman δ pred : 96
113 5.6. Constrant Model Splt part successon Let P = { 1,..., m } a splt task and P, 1, one of ts splt parts. The followng update rules apply: δ pred = {spred [ } = ] ssucc pseudo P δssucc pred := {} δspred sl := δspred sl \]0, [ spred [ / δ pred = ] spred spred NIL δ pred spred := δ pred spred \ {spred spred } δspred sl := δspred sl \], msl P [ The test s executed upon changes of δ pred and has constant runtme. If the predecessor domans δ pred spred or δssucc pred are updated by the splt part successon rule, ths wll cause the executon of the same consstency test for spred or ssucc, respectvely. Therefore, decsons for shft successons are propagated backward whle decsons for dfferent shfts wll be propagated toward the end of a splt task. Symmetrcally to the splt part successon rule, a further test s devsed whch trggers on changes of the length doman δ sl : If the mnmum n ths doman s greater than 0, we know that we cannot superpose wth ts splt successor ssucc n the same shft. Vce versa, f the maxmum length falls below msl P, ssucc must be placed behnd. Splt part length Let P = { 1,..., m } P be a splt task and P, m, one of ts splt parts. Usng the values δ sl = [sl mn, sl max } of s length doman, the followng updates are performed: sl mn > 0 = δssucc pred := δssucc pred \ {} < msl P = δssucc pred := {} sl max The test s trggered upon changes of δ sl and has O(1) runtme. The splt part length s synchronsed wth the temporal domans: Splt part length synchronsaton For a splt part I, the followng reducton rules synchronse the splt part length δ sl = [sl mn, sl max ] wth the temporal domans δ start and δssucc start of and ts splt part successor ssucc : α + sl mn > α ssucc = α ssucc := α + sl mn β + sl max < β ssucc = β ssucc := β + sl max α ssucc sl max > α = α := α ssucc sl max β ssucc sl mn < β = β := β ssucc sl mn α ssucc β > sl mn = sl mn := α ssucc β β ssucc α < sl max = sl max := β ssucc α The consstency test trggers changes of δ start, δssucc start and δ sl and has O(1) complexty. The combnaton of the splt part successon test and the length synchronsaton rule guarantees that mnmum lengths accordng to constrant (5.20) are observed. Addtonally to synchronsng splt part lengths, we must guarantee that the lengths of all splt parts sum up to the total length l P of the splt task P = ( 1,..., m ). Ths s realsed by a temporal constrant between the start tme domans of the frst and the pseudo splt part: 97
114 5. An Improvement Algorthm for Complex Shft Plannng Splt task length Let P = ( 1,..., m ) P be a splt task, 1 ts frst splt part and pseudo P the delmtng pseudo splt part. The followng test expresses that P must observe a total length of l P : α 1 + l P > α pseudo = α P pseudo := α 1 + l P P β 1 + l P < β pseudo = β P pseudo := β 1 + l P P α pseudo P β pseudo P The test trggers on changes of δ start 1 l P > α 1 = α 1 := α pseudo P l P < β 1 = β 1 := β pseudo P l P l P and δ start and has O(1) runtme complexty. pseudo P Inserton Poston Constrants Wthn large neghbourhood search, we wll repeatedly relax the nserton decsons for a set I rel I of tasks. For each I rel, the possble nserton postons Φ() wll be determned. Let Φ := Irel Φ() be the set of all nserton postons for the relaxed tasks. The complexty of the followng consstency tests wll be gven wth reference to the fgures I rel and Φ. Secton wll show how the sets Φ() are determned. In the constrant model, nserton postons are mantaned on the task level (δ pred ) and as shfts (δ shft ). Dfferent constrants apply to the two levels both of whch are coordnated by the followng rule. Shftpredecessor consstency For each task I, the predecessor and shft domans δ pred and δ shft are synchronsed as follows: δ pred δ shft := δ pred := {s δ shft \ {j δ pred δ shft j = {s} s / δ shft j δ pred : δ ns j } = {true} δ shft j = {s}} From δ pred, we remove all nserted tasks whch are assgned to shfts whch are not vald cannot be used to cover f there s none of ts tasks. Note that the rule could be made somewhat stronger by deletng nserted δ shft j =, but ths would nvolve more costly set operatons. for. Furthermore, a shft n δ shft s part of δ pred predecessors j wth δ shft Wth careful mplementaton, the test has O( Φ ) tme complexty. A central part of the propagaton logc s the decson to nsert a task nto a shft. The shft attrbuton δ shft of a task does not unquely determne ts poston n the shft. We must therefore resolve the successon relatonshp va the predecessor doman δ pred. The set of predecessors contans tasks whch are already nserted as well as unnserted tasks. The exact nserton poston of s unquely determned when δ pred contans only one nserted task. Task nserton Let I be a work task and Ψ ns () := { δ pred δ ns = {true}} the set of nserted possble predecessors of. For the nserton of nto a shft, we perform 98
115 5.6. Constrant Model the followng update: δ ns {true} Ψ ns () = { pred } succ := σ pred δ shft = {s} = pred δ pred succ := δpred succ \ { δ pred succ δ ns = {true}} δ pred := δ pred \ { δ pred pred δ ns = {true}} δ pred := δ pred \ {} I I b I o I d, succ, δ ns = {true}, δ pred > 1 π := pred, σ := succ, π succ :=, σ pred := δ shft := {s} δ ns := δ ns \ {false} δs used := δs used \ {false} δs Q := δs Q \ Q The test s trggers upon each a change of δ pred. The cost of the update s n O( I rel + Φ + Q ). The set Ψ ns () of nserted predecessors of wll generally contan at least one task because otherwse, δ pred would only contan tasks whch are not nserted. But we cannot expect that can be nserted after the nserton of one of ts predecessors, say, snce then, δ pred would have to contan at least one of the nserted predecessors of. Consequently Ψ ns () = means that we cannot nsert at all. The nserton rule performs a number of updates. It sets predecessor domans, adapts runnng predecessors and successors, sets the shft and nserted domans of the task as well as the shft s used doman and updates the qualfcaton doman. Note that δs Q contans the nverse of a shft s actual qualfcaton profle,.e. all qualfcatons whch are not requred by the shft. In order to exclude all other nserton postons, the test traverses all nserted tasks wth unbound predecessor varables whch are not equal to the actual successor succ. To make ths update more effcent, the set { I I b I o I d δ pred > 1} can be mantaned n a global constrant varable. Each tme the predecessor doman δ pred of a task becomes bound to a value, the global doman wll be updated by a smple consstency test. Some comments on the constrant model are n place. Frst of all, the model uses an nsertonbased logc,.e. tasks are nserted one by one nto an emergng shft plan. The current state of the nsertons s mantaned n the current predecessor and successor varables π and σ. The nserton test descrbed before s responsble for settng these varables, trggerng the temporal propagaton wthn shfts. The effcent propagaton of tme wndows by forward/backward passes s a man advantage of the model. Note that whle the predecessor/successor varables are not constrant varables n the proper sense, they preserve monotoncty of temporal propagaton. Because the trangle nequalty s obeyed, the length and travel tme of a newly nserted task sums up to a duraton whch s at least as long as the temporal dstances accounted before nserton. Possble nserton postons for tasks are mantaned n predecessor and shft domans. In contrast to the model for the workload levellng problem, there are no ntermedate checks for temporal valdty of nserton postons. Instead, the search strategy wll evaluate whch of the nserton postons are vald wth regard to temporal and other constrants (lke compatblty of qualfcatons). Ths lower degree of consstency was accepted because refned models requre more costly consstency tests trggerng on many events. Prelmnary tests showed that ths does not generally pay off for the shft plannng problem. An explanaton can be found by an analyss of possble effects of predecessor doman reductons. The best we can expect from a deleton of nserton postons s the nserton of further tasks. But ths wll only happen f a sngle nserted task remans n a predecessor doman. However, a task can generally be nserted n many places, ncludng at least one empty shft template. As a 99
116 5. An Improvement Algorthm for Complex Shft Plannng consequence, we cannot expect substantal effects from addtonal consstency tests, and runtme seems to be better nvested n the addtonal cost of a systematc search space exploraton Avodng Symmetry Especally when plannng scenaros comprse crews, there are often several tasks of dentcal characterstcs. Every permutaton of these tasks then results n an somorphc soluton. Such symmetres should be avoded to prevent the search from evaluatng equvalent solutons (see also Secton 4.5). These symmetres do not affect splt parts whch are varable n length. We therefore buld groups of nonsplt tasks havng dentcal tme wndows, lengths, task crews and subcrews (or are noncrew tasks), locatons (.e. travel tmes to surroundng tasks), maxmum overlaps and qualfcaton profles. It should be clear that all tasks of each such group are somorphc. Partal orders are then mposed on the tasks of each group and all shfts. By a specal consstency test, the tasks of a group are restrcted to be assgned to shfts n ncreasng order, resolvng the aforementoned symmetry Objectve Functon Calculaton We can now specfy how the objectve functon value can be calculated from the constrant model. A gven state (schedule) Σ of the model wll represent a complete soluton f All tasks are assgned to shfts (possbly dummy shfts),.e. the domans δ shft are bound to sngle values for all I. The shft types of all used shfts are fxed,.e. δ used s = {true} δ K s = 1 Whle n smple cases, we can always fx the shft type domans to the cheapest vald shft type, shft number constrants ental nterdependences, requrng an adequate search procedure for the determnaton of an overall best soluton. The lengths of splt parts whch are assgned to ther dummy shft are fxed,.e. ther length doman δ sl s bound. Agan, there are nterdependences between decsons for dfferent tasks, and an easy fxng to the shortest possble lengths (avodng penaltes for unassgned task mnutes) s not possble. Note that the specfcaton of a full soluton does not requre the fxng of start tme varables, meanng that a search algorthm wll only have to fx the above domans. The objectve value z of a complete schedule Σ wll be the sum of fve components: δ start z(σ) := z SC (Σ) + z UT (Σ) + z QP (Σ) + z QR (Σ) + z SNR (Σ) 100
117 5.6. Constrant Model z SC s the shft cost component. Snce n the CP model, we use possbly empty shft templates, only used shfts are consdered,.e. shfts for whch δs used = {true}. In partal solutons, we can determne mnmum shft costs usng nformaton on vald shft types: z SC (Σ) := s S δs used ={true} mn k δ K s Va costs of dummy shft types, z SC (Σ) already contans unassgned task penaltes for nonsplt tasks (cf. Secton 5.5). Meanwhle, unassgned splt parts must be penalsed separately. Ther lengths are retreved from the domans δ sl whch s bound n a complete soluton. If sl mn s the mnmum length (complete soluton: effectve length) of a splt part (mnmum value of δ sl), the unassgned splt part penalty zut (Σ) of a schedule Σ s z UT (Σ) := M UT c k sl mn I:P NIL δ shft ={s dummy P } Penaltes for qualfcaton combnatons are summed up by z QR (Σ). As descrbed above, the ndvdual penaltes for the shfts are mantaned n domans δs qp. Snce empty shft templates account for penaltes of 1, a correcton term s used. We furthermore normalse qualfcaton penaltes by the sum of used shfts and the mnmum qualfcaton preference qp mn,.e. ( ) z QP (Σ) := w QP qp mn {s S δs used qp mn s {s S δs used = {true}} = {true}} where qp mn s s the mnmum value n the doman δs qp. The calculaton of penaltes for exceedng qualfcaton restrctons s straghtforward: z QR (Σ) := M QR max( {s S q qr / δs Q } m qr, 0) qr QR In ths term, only used shfts are consdered because only then Q \ δs Q possbly contans a qualfcaton q qr. Shft number restrctons mpose constrants on the composton of a shft plan. Mnmum restrctons can always be observed by addng empty shfts to a soluton. In the model, we can smply add the cost c K mn(r) := mn c k k K r of the cheapest shft type n the reference set K r for each shortage. Meanwhle, maxmum restrctons mpose large penaltes M SNR for each extra shft. All shft number restrctons can therefore be represented as objectve functon components. For penalty calculaton, the actual number ACT (r) of shfts for a shft restrcton r s defned as: ACT (r) := {s S δ used s = {true}, n s N r, k K r : δ K s = {k}} Relatve shft number restrctons r Rrel mn Rrel max defne mnmum and maxmum proportons of shfts of types n K r relatve to all shfts on the respectve days. To calculate penaltes for shortage (mnmum restrctons) and surplus shfts (maxmum restrctons), we addtonally need the number of all reference shfts REF (r) on the affected days: s S REF (r) := {s S δ used s = {true}, n s N r } 101
118 5. An Improvement Algorthm for Complex Shft Plannng When a shft plan s flled up n order to observe a relatve mnmum restrcton r R mn rel, we must consder that each addtonal shft also changes REF (r). The number ρ of addtonal shfts to be created should be chosen to obey ACT (r) + ρ p r (REF (r) + ρ) pr REF (r) ACT (r) (5.26) = ρ 1 p r The mnmum number ρ of addtonal shfts s thus pr REF (r) ACT (r) ρ := 1 p r Wth these consderatons, the shft restrcton penalty term z SNR (Σ) can be calculated as z SNR (Σ) := M SNR max(act (r) m r, 0) + (5.27) c K mn(r) r Rabs max r Rabs mn M SNR c mn k (r) r Rrel max r R mn rel max(m r ACT (r), 0) + (5.28) max(act (r) (p r REF (r)), 0) + (5.29) ( pr REF (r) ACT (r) max 1 p r ), 0 (5.30) A drawback of ths term s that t can only be calculated for complete solutons. Only then all shft types are fxed and numbers of actual and reference shfts for relatve restrctons are known. Clearly, we should also have gudance for the search when a soluton s not complete. The followng secton descrbes how ths can be acheved Lower Boundng The exstence of good lower bounds,.e. lower estmatons on the fnal objectve functon value of a partal soluton, s crucal for the performance of branchandbound algorthms. In addton to prunng large parts of the search tree, lower bounds can be used to gude the search, ndcatng whch branches are promsng and should be followed. Some of the above terms for the evaluaton of the objectve functon value already try to antcpate costs. The shft cost term z SC already consders cheapest vald shft types, and the unassgned task penalty z UT takes mnmum task lengths nto account. On the other hand, the term z SNR for shft number restrctons s rather weak because t can only be evaluated for a complete soluton. However, t wll be essental to take promsng decsons n early stages of the search f t s meant to fnd a shft mx observng all restrctons. Ths requres good measures for penaltes arsng n complete solutons. Addtonally, t wll be shown that nformaton on unnserted tasks can be used to antcpate further shft costs Task LookAhead Imagne a task whch s not yet nserted but can be attrbuted to shfts whch are not used so far,.e. δs used = {false, true} s δ shft. Then wll cause addtonal shft costs upon nserton. In the local steps of large neghbourhood search, tasks wll be forbdden to be nserted nto dummy shfts n order to reduce the number of unassgned tasks. We can therefore nfer addtonal costs for unnserted tasks by the set of regular shft types. Clearly, t must be consdered that two 102
119 5.7. Lower Boundng such tasks may be covered by the same shft. The resultng nterdependences wll be mplctly represented by the followng approach. Imagne that the cost of a shft type s dstrbuted over ts length, resultng n mnutewse costs for the shft type. Dfferent shft types can cause dfferent costs for coverng the same mnute. We can defne mnmum mnutewse costs mc(t) for a tme perod t as mc(t) := mn k K,n N k st kn t<et kn c k et kn st kn If s a nonsplt task, ts nserton wll ental costs of at least t <t+l mn t δ start t =t mc(t ) Coverng a splt part by an empty shft results n costs of at least mn t δ start t <t+msl P t =t mc(t ) These costs can be added to the shft costs for each fulfllng the above condtons, resultng n a stronger lower bound Maxmum Restrctons For absolute maxmum restrctons, the calculaton of lower bounds s easy. ACT lb (r) := ACT (r) s effectvely a lower bound on the number of actual shfts n a complete soluton. The term M SNR r R max abs max(act lb (r) m r, 0) (5.31) s thus a lower bound on the penaltes for absolute maxmum restrctons. Note that the bound could be refned by usng an actual number ACT (r) := {s S δs used = {true} δs K K r }. ACT (r) s however more costly to evaluate, and we wll content ourselves wth the above expresson (5.31). For relatve maxmum restrctons, we addtonally need an upper bound REF ub (r) on the number of reference shfts. We wll frst nclude all used shfts on days N r. In a partal soluton, some tasks may not yet be assgned to shfts and wll be covered by stll empty shft templates. We wll assume that each of these tasks wll be covered by one shft. For a gven restrcton r Rrel max, t suffces to consder tasks whch can be covered by shfts startng on one of the days N r. Because a shft cannot cover more than 24 hours, we defne the set I SNR (r) of relevant tasks for r as I(r) := { I (P = NIL t 1 + d o, b a + l + d, d t 2 ) (P NIL t 1 + d o, b a ssucc + d, d t 2 )} where [t 1, t 2 ] s the tme range of the set n N r {n, n + 1} of days and d o, and d, d are depot travel tmes. The number NT (r) of not nserted tasks on the days affected by r s then NT (r) := { I(r) δ ns {true} } (5.32) and REF ub (r) := {s S δ used s = {true}, n s N r } + NT (r) 103
120 5. An Improvement Algorthm for Complex Shft Plannng gves an upper bound on the number of reference shfts. REF ub (r) decreases monotoncally because each tme one of the tasks s nserted, one task less s accounted, but there s at most one addtonal used shft on the affected days. Because all tasks are assgned n a complete soluton, REF ub (r) converges to REF (r). A lower bound on the penaltes for relatve maxmum restrctons s thus gven by M SNR max(act lb (r) (p r REF ub (r)), 0) (5.33) r R max rel By addtonal constrant varables, REF ub (r) can be effcently calculated as a part of the CP model. We therefore ntroduce global domans contanng the unused shft templates for each day. Because the number of shft templates for each day s fxed, the frst part of the formula for REF ub (r) can be calculated from these domans. The second part can be retreved from varables storng all unassgned tasks for each day on whch these can take place Mnmum Restrctons We now come to the handlng of absolute mnmum restrctons. From (5.28), we may thnk of calculatng an upper bound on ACT (r) to obtan a lower bound on the penaltes for absolute mnmum restrctons. But because penaltes for mnmum restrctons are related to shft type costs (c K mn (r) := mn k K r c k ), stronger bounds can be obtaned. The basc dea s that costs for volated mnmum restrctons are mposed anyway: If a mnmum restrctons r falls short of ts lmt and a yet unnserted task s covered by a shft n K r, ths wll ental costs of at least mn k Kr c k n the shft cost term. If another shft type s used, the same costs wll arse for the volated restrcton r n the penalty term (5.28). We can thus use the orgnal number ACT (r) of used shfts n K r N r and bascally mpose costs of c K mn(r) max(m r ACT (r), 0) r R mn abs (cf. (5.28)) for absolute mnmum restrctons. However, we must take care about the nteracton of shft costs and restrcton penaltes. In the shft cost term z SC, we have already accounted mnmum costs for used shfts. As long as not all of the shft types are not fxed, we do not know f a shft wll fnally realse a type K r. We have to avod accountng such shfts twce,.e. n the shft cost and restrcton terms. The followng shfts DA(r) are concerned: DA(r) := {s S δ K s K r, n s N r, δ K s > 1, δ used s = {true}} Because ths problem only exsts when usng mnmum shft number restrctons, we wll not try to refne the shft cost term, but realse the remedy as a part of restrcton penaltes. Imagne a shft s 1 n DA(r) wth c shft mn (s 1) := mn k δ K s1 c k mn k Kr c k =: c snr mn (r),.e. ts current shft costs are already hgher than the mnmum costs for shft types n K r. Snce the costs c shft mn are realsed anyway, the error can be attrbuted to the addtonal penalty of csnr mn (r) whch should be subtracted from the restrcton penaltes. For a shft s 2 DA(r) wth c shft mn (s 2) < c snr mn (r), we would locate the flaw n the shft costs cshft mn (s 2) because f s 2 fnally has a shft type n K r, t wll ncur costs of at least c snr mn (r). Now magne that a partal soluton contans both s 1 and s 2, and a restrcton r Rabs mn asks for a mnmum number of one shft of types n K r. We have to take a pessmstc approach and subtract the hghest costs to obtan a vald lower bound on the penalty costs (5.28). If (s 1, s 2,..., s n ) are all of the shfts n DA(r) ordered by decreasng mnmum costs c shft mn (s ), we would take the 104
121 shfts of hghest costs and subtract mn(c shft mn (s 1), c snr mn the penaltes. The number of shft costs to be deducted s We could thus use (r)), mn(cshft ν = mn( DA(r), max(m r ACT (r), 0)) c snr mn(r) max(m r ACT (r), 0) ν = Lower Boundng mn (s 2), c snr mn (r)) etc. from mn(c shft mn (s ), c snr mn(r)) (5.34) as a lower bound approxmaton on the penaltes for r. The drawback of ths term s ts computatonal complexty. Such penalty costs would have to be recalculated upon each change of DA(r) due to the boundng of one of the shft types or because shfts are newly used. Furthermore, the term would have to be updated after each change to the shft costs c shft mn (s ) or the number ACT (r) of actual shfts. Equaton (5.34) defnes penaltes wth deductons for doubly accounted shfts. An alternatve conssts n penalsng less shfts,.e. to defne deductons on the number of shfts and not on the cost level. Usng c snr mn (r) mn(cshft mn (s ), c snr mn (r)), the above penalty term can be relaxed: c snr mn (r) max(m r ACT (r), 0) ν =1 c snr mn(r) c snr mn (r) (max(m r ACT (r), 0) ν) = c snr mn (r) max(m r ACT (r) DA(r), 0) Because the determnaton of DA(r) nvolves costly calculatons of set ntersectons, DA(r) s replaced by a smpler set DA (r) of used and unfxed shfts whose break rule days allow for a fxng to one of the types K r on days N r : DA (r) := {s S K brds K r, n s N r, δs K > 1, δs used = {true}} DA(r) We must be sure that monotoncty propertes stll hold. Assume the case that a task s nserted nto a shft of one of the break rule days BRD(r) := {brd BRD K brd K r } If the shft type s not drectly bound, the shft wll be part of DA (r), and f r s not yet observed, one penalty less wll be accounted. Snce the shft s newly used, t causes an ncrease of at least mn k Kbrds c k n the shft cost term, but wth the defnton above, the shft restrcton penaltes would decrease by c snr mn (r) at the same tme. If the new mnmum shft costs cshft mn (s) are less than c snr mn (r), the sum of shft costs and restrcton penaltes would decrease whch s not desrable. To gan a better formulaton, we wll partly account for costs of less than c snr mn (r) for shfts fallng short of the mnmum lmt. We therefore defne the mnmum costs of all shfts whch may later be bound to one of the shft types K r, usng the break rule days BRD(r) as defned above: c brd mn(r) := mn brd BRD(r) k K brd Clearly, we have c brd mn (r) csnr mn (r) because the mnmum s taken over a superset of shft types. In general, the dfference n costs wll not be hgh because shft restrctons frequently c k 105
122 5. An Improvement Algorthm for Complex Shft Plannng apply to classes of shft types whch are strongly related (e.g. shfts for fulltme staff) and are lkely to be grasped by one break rule day. Snce the above monotoncty problems only arse when tasks are nserted nto unused shfts, lower costs of c brd mn (r) only have to be accounted as long as there are unnserted tasks. We mght therefore determne the tasks fttng nto shft types n BRD(r). But because the error resultng from a rougher approxmaton s low, we smply take the number NT (r) of not nserted tasks on the days affected by r as defned n equaton (5.32). Wth the number NP abs (r) := max(m r ACT (r) DA (r), 0) of penaltes to be ncurred by r Rabs mn, a lower bound on the penaltes for absolute mnmum restrctons s gven by r R mn abs c snr mn(r) mn(np abs (r), NT (r)) + c snr mn(r) max(np abs (r) NT (r), 0) (5.35) It should be noted that (5.35) s not a lower bound on the penaltes (5.28) n tself, but has lower bound propertes n combnaton wth shft costs. Effectvely, (5.35) may decrease whle the sum wth the shft costs ncreases monotoncally. Because DA (r) and NT (r) are empty n a complete soluton, t s clear that (5.35) converges towards (5.28). The lower bound approxmaton for relatve mnmum restrctons s based on the consderatons for absolute mnmum restrctons. The man dfference s the determnaton of the number NP rel (r) of penaltes. It s mportant to note that each addtonal shft contrbutng to ACT (r) also ncreases the number REF (r) of reference shfts. However, we must keep n mnd that the tme when we know that a shft s used and counts for the reference shfts dffers from the tme when t s consdered an actual shft of a type n K r. For the calculaton of addtonal shfts for relatve mnmum restrctons, the lower bound approxmaton REF lb (r) := REF (r) = {s S δ used s = {true}, n s N r } on the number of reference shfts s used. To cover the mnmum requrement of p r REF lb (r) shfts, we wll frst assume that COV (r) := max(mn( p r REF (r) ACT (r), DA (r) ), 0) shfts from DA (r) wll fnally contrbute to r. Whle the shfts of DA (r) are already counted n REF lb (r), we must take nto account that each shft beyond DA (r) also ncreases the number of reference shfts. Furthermore, we must consder that we have already taken COV (r) shfts from DA (r),.e. the number of actual shfts s ACT (r) + COV (r). Therefore, the number ρ of addtonal shfts obeys ACT (r) + COV (r) + ρ p r (REF lb (r) + ρ) ρ pr REF lb (r) (ACT (r)+cov (r)) 1 p r Consequently, the (mnmum) number NP rel (r) of penaltes s ( pr REF lb ) (r) (ACT (r) + COV (r)) NP rel (r) := max, 0 1 p r Wth ths fgure gven, the penaltes for relatve mnmum restrctons can be calculated analogously to absolute mnmum restrctons: c brd mn(r) mn(np rel (r), NT (r)) + c snr mn(r) max(np rel (r) NT (r), 0) (5.36) r R mn rel 106
123 5.8. BranchandBound The man dfference between absolute and relatve mnmum restrctons s that the mnmum lmt mposed by relatve restrctons ncreases wthn the shft plan constructon. Snce the lmt ncreases monotoncally, we are sure not to volate the lower bound property. The sum of equatons (5.31), (5.33), (5.35) and (5.36) represents the shft number restrcton penalty whch s used as a lower bound to z SNR n the course of the shft plan reoptmsaton, convergng to z SNR for a complete soluton BranchandBound As descrbed before, we am at mprovng an ntal soluton by a relaxandoptmse approach. Under the term large neghbourhood search, Klby, Prosser and Shaw [1998] and Shaw [1998] have proposed a framework whch was already used for the soluton of the workload levellng problem n Chapter 4. Before descrbng how decsons are relaxed, we descrbe the restrcted branchandbound scheme of the reoptmsaton phase. Accordng to the defnton of a complete soluton n Secton 5.6.8, the search conssts of the followng: 1. Inserton of relaxed tasks nto shfts; 2. fxng of shfts to shft types; 3. fxng of lengths of splt parts whch are assgned to ther dummy shft. Suppose that a task s to be nserted between two tasks 1 and 2. In order to trgger ths nserton, all nserted tasks except for 1 are deleted from the predecessor doman δ pred : δ pred := δ pred \ { δ pred δ ns = {true}, 1 } entalng the executon the task nserton rule descrbed n Secton The fxng of shft types and splt part lengths s smply done by settng shft type and splt part length domans δs K and δ sl to sngle values, respectvely. Note that splt parts n dummy shfts cannot smply be fxed to ther shortest possble lengths because there can be nterdependences va temporal relatons va other tasks and shfts. Decsons are taken n the above order,.e. frst all tasks are nserted, then the shft types of used shfts are fxed and fnally the lengths of logcally unassgned splt parts are determned. The search tree thus conssts of three layers correspondng to the dfferent decsons, cf. Fg Other orderngs would be possble, but are less promsng. As an example, there s no advantage n fxng shft types earler because we already account for mnmum shft costs. Fxng shft types can restran possble lengths of splt parts n dummy shfts, but ths nterdependency can be estmated not to be too strong. Generally, t should be tred to keep related decsons e.g. for shft types or for splt part lengths close to each other, lmtng the depth of backtrackng when some of the decsons prove to be bad. Ths s clearly accomplshed by the layered approach. As long as there are tasks whch are not nserted (I rem := { I δ ns {true}} = ), we choose the task I rem wth the least number of remanng nserton postons,.e. the task for whch the number { δ pred δ ns = {true}} of nserted tasks s mnmal. Ths corresponds to the falfrst prncple [Haralck and Ellott, 1980]. If for several tasks, the number of nserton postons s equal, we take the task whch s least movable,.e. for whch δ start s mnmal. Tral nsertons are then performed for each possble nserton poston. The resultng objectve values are lower bounds on the fnal objectve functon value, gvng hnts on how promsng an nserton s. Branches correspondng to low values are thus explored frst. 107
124 5. An Improvement Algorthm for Complex Shft Plannng task nsertons shft types splt part lengths Fgure 5.7.: Search tree structure. After nsertng all tasks nto shfts, we consecutvely choose shfts from S rem := {s S δ used s = {true}, δ K s > 1} for shft type fxng. Under the followng condtons, the fxng of shft types s easy: 1. The break rule day of the shft s not nvolved n a shft number restrcton,.e. none of the shft type realsatons (k, n brd ) for k K brds s contaned n K r N r for a shft number restrcton r. 2. There are no vertcal nterdependences wth other shfts (whch could be affected by shft number restrctons),.e. the shft does not contan crew tasks or splt parts. If these condtons hold, the shft type decson does not nterfere wth other shfts, and s can smply be fxed to the cheapest possble shft type. For such shfts, shft type decsons wll be taken before all other shfts. For all other shfts, the number of potental nterdependences s determned,.e. the number of shft number restrctons and the dfferent splt tasks and crews whch make shft type fxng dffcult. The shfts are then traversed n order of ncreasng numbers of nterdependences. A tral fxng to each of the shft types n δs K s performed, and the resultng objectve functon values are used to order subnodes,.e. cheapest alternatves are chosen frst. Fnally, we fx the splt parts whch are logcally unassgned,.e. SP rem := { I P NIL, δ ns = {true}, δ shft = {s dummy }, δ sl > 1} Splt parts are traversed n decreasng order of the szes δ sl of ther length domans. The subnodes are traversed n order of ncreasng task lengths snce shorter duratons generally result n lower costs. Clearly, the lower bound descrbed n Secton 5.7 s not only used for the assessment of task nserton and shft type decsons, but also for prunng the search space. As soon as the lower bound exceeds the valuaton of a prevous best soluton, the current state of the model cannot result n an mprovement. Consequently, the branch s pruned, and search contnues by explorng other assgnments. 108
125 5.9. Large Neghbourhood Search Snce even the search trees for local steps are often too complex to be fully explored, we use lmted dscrepancy search (LDS) [Harvey and Gnsberg, 1995] n order to heurstcally reduce the search space. We thus lmt the number of dscrepances wth regard to the best search path n the tree by a constant L D. In contrast to the LDS algorthm for workload levellng (Secton 4.6), all branches wll be counted for the dscrepances and not only branches resultng n a dead end. Dscrepances are aggregated over all layers, ncludng nserton, shft type and length decsons. For the fnal levels representng unassgned splt part decsons, we wll account for more than one dscrepancy for each devaton from the best path because length decsons are generally less nterdependent Large Neghbourhood Search In large neghbourhood search, we wll repeatedly select sets of tasks for relaxaton and reoptmsaton by CPbased branchandbound descrbed before. Each of the steps can be regarded a local exchange whch systematcally explores a large neghbourhood. The local steps are performed untl termnaton condtons lke maxmum runtmes or maxmum numbers of steps are met. Intally, we try to acheve mprovements n lttle computaton tme by reassgnng sngle tasks. As soon as a gven number SWI of steps s performed wthout mprovng the objectve functon, the number of relaxed tasks s ncreased by one etc. The steps therefore gradually become more complex and tmeconsumng, but are able to repar hgherorder defcences. In each step, a fxed number nt rel of tasks s released. Clearly, the effectveness of the algorthm heavly depends on the determnaton of task sets whch promse to yeld mprovements. Two basc strateges for task selecton are concevable: Roll back the nserton decsons for all tasks n a shft such that the shft s no longer used and accounted for. A local step based on ths dea ams at removng neffcent shfts from the shft plan, tryng to use cheaper shfts to cover the tasks. Revse the shft decsons for strongly nterdependent tasks n dfferent shfts. An mprovement could then stem from a shft beng shortened or the qualfcaton mx becomng better. We wll make an alternate use of these two strateges. The frst strategy wll be called shft release and the latter task release. Note that both deas nclude the rollback of nserton decsons of tasks. For each step, we choose the shft release strategy wth probablty p. Otherwse, we use the taskorented strategy (wth probablty 1 p). The two strateges work as follows: Frst, one shft/task s selected n an envronment whch may yeld an mprovement. Further shfts/tasks are retreved from a fxed nterval around the frst shft/task because f there s no temporal dependency between relaxed decsons, there s no advantage n revse the tems n common. Clearly, shfts and tasks are only released f the maxmum number nt rel of tasks s obeyed. Local steps can nclude tasks whch were assgned to ther dummy shfts. As long as there are tasks n dummy shfts, t wll be probable that these wll be chosen n a shft release step because ths strategy takes shft costs nto account. If however a task cannot be assgned at all, e.g. because a tme perod s not covered by any of the shft types, we should forbd such tasks to be chosen. We therefore devse a preprocessng step determnng whch tasks cannot be covered. Furthermore, we only allow one logcally unassgned task to be ncluded n any local step Shft Release We start wth the descrpton of the shft release strategy. For the choce of a frst shft, the followng valuatons are used: 109
126 5. An Improvement Algorthm for Complex Shft Plannng A reverse utlsaton RUT IL(s): The utlsaton of a shft s the quotent of the sum of task task lengths (ncludng break tasks) and travel tmes dvded by the shft s duraton. The reverse utlsaton s then 100% mnus the utlsaton. The margnal shft cost MCOST (s),.e. the reducton of costs f the shft s not used. Ths ncludes shft type costs as well as margnal shft restrcton penaltes as far as the correspondng shft type s nvolved n a shft number restrcton. Clearly, a shft wth hgh values for these terms wll more probably lead to an mprovement. A weghted sum of the two terms s bult, and all shfts are sorted by decreasng combned costs. If SN s the number of shfts, CR N s a measure of choce randomness, and µ s a random number n [0, 1[, the ndex κ of the chosen shft n the sorted array s calculated as follows (cf. Klby et al. [2000]): κ := SN µ CR (5.37) If CR s hgh, µ CR wll be close to 0, and we wll frequently take the frst shft whose valuaton s most promsng. For smaller values of CR, the nfluence of randomness wll ncrease, dversfyng the search. After the choce of a frst shft s 1, two further valuatons are evaluated for all shfts n S: The temporal dstance to s 1 : If a shft s starts before s 1, the temporal dstance DIST (s 1, s) s the tme between the end of s and the start of s 1. If s 1 s before s, the temporal dstance s the dfference between the start of s and the end of s 1. If the shfts overlap, we have SDIST (s 1, s) = 0. The overlap SOL(s 1, s) of the two shfts. The total valuaton SREL(s) for a shft s s then the weghted sum of the above reverse utlsaton and margnal shft cost together wth the temporal dstance and overlap wth the frst shft. The next shfts are agan chosen accordng to (5.37) wth all shfts beng sorted accordng to ther combned valuaton. Each tme an addtonal shft s s chosen, the valuatons DIST (s, s) and OL(s, s) are added to the total valuaton SREL(s) of all shfts. Consequently, f S rel are the shfts chosen so far, the valuaton SREL(s) of a shft s S \ S s SREL(s) := λ UT IL RUT IL(s) + λ MCOST MCOST (s)+ λ SDIST SDIST (s, s) + λ SOL SOL(s, s) s S rel s S rel Prelmnary tests have shown that the temporal dstance valuaton DIST (s, s) does not suffcently prevent shfts wth hgh temporal dstances from beng chosen. Therefore, the added temporal dstances s S rel DIST (s, s) of commonly chosen shfts are lmted by a constant T D shfts. The procedure contnues as long as there are shfts whch can be chosen wthout exceedng the maxmum number nt rel of tasks. 110
127 5.9. Large Neghbourhood Search Task Release The taskorented release strategy bascally works the same. One aspect has specal mportance n the context of the task release method: If tasks are n subcrews, releasng a sngle task has only lttle benefts because the task wll have to be placed n the same shft crew as adjacent crew tasks. Therefore, subcrews are always relaxed as a whole. Consequently, we must ensure that when a crew task s chosen, all of ts subcrew tasks can also be released wthn the lmt of nt rel tasks. For the choce of a frst task, dfferent strateges were tred, but n the end, choosng a task 1 from a unform dstrbuton over all tasks turned out to be the best strategy. Agan, releasng tasks whch are far away from each other s lttle promsng. Further tasks are therefore lmted to overlap wth a nterval of T D tasks tme unts around the frst task, defned relatve to ts start and end. If the frst task s a crew task, the range s defned from the earlest start and latest end over all subcrew tasks. All further tasks are chosen as descrbed above: The tasks wthn the range are sorted accordng to decreasng valuatons expressng a relatedness wth the tasks whch were relaxed so far. Further tasks are then chosen accordng to (5.37). If the task s a crew task, the total subcrew s released whle noncrew tasks are released along wth ther group of symmetrc tasks (cf. Secton 5.6.7). Ths procedure contnues as long as the maxmum lmt nt rel of relaxed tasks can be obeyed. The relatedness T REL between two tasks comprses the followng terms: The overlap T OL( 1, 2 ) whch s defned as the mnmum overlap resultng from a movement of tasks wthn n ther remanng tme wndows. The temporal dstance T DIST ( 1, 2 ) summng up the absolute dstances between earlest start tmes and latest end tmes. The afflaton ST ( 1, 2 ) to the same splt task whch s 1 f P 1 = P 2 NIL and 0 otherwse. The afflaton CREW ( 1, 2 ) to the same task crew whch s 1 f there s a C C such that 1, 2 C. Note that a task crew may consst of several subcrews. Then ths term wll favour subcrews of the same task crew to be chosen. The smlarty QUAL( 1, 2 ) of qualfcaton profles whch s the cardnalty of the ntersecton of the tasks qualfcaton requrements: QUAL( 1, 2 ) := Q 1 Q 2. As above, the valuatons are aggregated over all tasks whch are released so far: If I rel s the set of chosen tasks, T REL() s calculated as T REL() := λ T OL T OL(, ) + λ T DIST T DIST (, )+ I rel I rel λ ST ST (, ) + λ CREW CREW (, )+ I rel I rel λ QUAL QUAL(, ) I rel Note that ndependently from the chosen strategy (task or shft release), we wll determne a set I rel of tasks to be relaxed. Nevertheless, we wll also revse decsons whch do not relate to tasks (lke shft types). 111
128 5. An Improvement Algorthm for Complex Shft Plannng Local Step Setup For settng up the CP model for a local step, t s not suffcent to revse nserton decsons for tasks. If a shft becomes empty, e.g. by revson of nserton decsons n the shft release strategy, we should also reset the used as well as the shft type doman, assurng that shft costs are no longer ncurred. Even f not the ensemble of all tasks n a shft are relaxed, we wll want to have the flexblty of shortenng or prolongng the shft by relaxng the shft type doman. We thus have to devse a procedure to determne all tems (tasks and shfts) whch potentally nterfere wth the nserton decsons of the tasks to be relaxed. Startng from the set I rel, we wll buld sets of dependent tasks I dep and shfts S dep. For all tasks n I dep, we wll bascally reset the tme wndows (but not the nserton decsons as for the tasks n I rel I dep ). For the shfts S dep, we wll revse all decsons relatng to the shft type,.e. we wll enable the shft to be fxed to another shft type n the course of the local step. If a task I rel s a crew task, we know that s nserton could have caused temporal restrctons on ts adjacent crew tasks. The same s true f s a splt part. The propagaton to related tasks of the same task crew or splt task may have entaled decsons for shft types, and these decsons should also be rolled back. Clearly, f a shft s part of a shft crew, we should reset the shft types of all crew shfts snce otherwse, we would not open any degrees of freedom. The set I dep s therefore recursvely defned as the smallest set for whch the followng holds: I rel I dep I rel C C : C C I dep I rel P NIL P I dep s S dep δ shft = {s} I dep Note that ths defnton makes use of the set S dep (whch reversely depends on I dep ) snce all tasks n dependent shfts are defned to be dependent themselves. Ther tme wndows should be reset because the decson for a specfc shft type may have entaled tme wndows reductons. Ths s especally true for the orgn, destnaton and break tasks because wthout resettng these tasks, the shft would not gan any degrees of freedom. The set S dep of dependent shfts s the smallest set for whch the followng condtons hold: I dep δ shft = {s} s S dep s S dep H H : s H H S dep The two sets can be calculated by a fxed pont teraton, startng from the set I dep := I rel and successvely addng dependent tasks and shfts to I dep and S dep. We then reset CP domans pertanng to tasks and shfts n I dep and S dep. For each dependent task I dep, δ start s reset to the orgnal tme wndow [a, b ]. For all relaxed tasks I rel, we addtonally perform the followng steps (note that I rel I dep ): The successor σ π of the predecessor π of s set to ts successor σ whle the predecessor π σ of the successor task σ s set to π ; π and σ are subsequently reset to NIL; δ ns s set to {false, true}; δ pred and δ shft are temporarly reset to empty sets because the determnaton of nserton postons can only be done n a subsequent step. For all shfts s S dep, the followng domans are reset: δ K s s set to all shft types K brds allowed by the shft s break rule day brd s ; 112
129 5.10. Overlap Mnmsaton break break break Fgure 5.8.: Coverng tasks by empty shft templates. δ used s s reset to {false, true}; δqual s s rentalsed to the set Q of all qualfcatons; δ qp s s set to [1, qp 1 mn ]. After rollng back the domans to ther orgnal states, a local repropagaton s performed n order to make the consequences of unrevsed nserton decsons vsble. Therefore, all consstency tests relatng to dependent tasks and shfts are propagated. Afterwards, the tme wndows reflect the current state of nsertons, and the shft type and cost nformaton as well as qualfcaton profles wll be consstent. Subsequently we can evaluate the postons nto whch relaxed tasks can be renserted. All shfts whch could cover a task I rel are traversed. If can be nserted between two tasks 1 and 2 (ncludng orgn, destnaton and break tasks), ( 1, 2 ) wll be part of the set Φ() of nserton postons ntroduced above. The task 1 s then added to δ pred of potental predecessors of, s added to δ pred 2, and the shft s of 1 and 2 to δ shft. Bascally the same s done for empty shft templates cover the tasks. Clearly, f a task can be attrbuted to an empty shft s, t can be covered by any template of the same break rule day. In order to avod symmetry, we add only one empty shft per break rule day to the shft doman of a task. If a further task can be covered by the same break rule day, we must consder that an empty shft may fnally be used to cover both tasks. We therefore allow the task to be assgned to the frst empty shft as well as to another empty shft template of the break rule day. For each task fttng nto a break rule day, we thus nclude an addtonal empty shft, cf. Fg Note that f subcrews are used, the same argument apples to the shft crew level. The nserton postons are entered nto the respectve varables δ pred and δ shft. A repropagaton ensures consstency before startng the reoptmsaton by the branchandbound algorthm descrbed before Overlap Mnmsaton As descrbed n Secton 5.2.5, two subsequent tasks 1, 2 n a shft are allowed to overlap by a maxmum amount of mn(ol max 1, ol max 2 ), ncludng the travel between 1 and 2. The constrant mposng mnmum dstances between the start tmes of such tasks 1 and 2 was therefore relaxed by ths amount. Overlap was ntroduced to soften the strct determnstc character of the model. It reflects the plannng practce to pack tasks somewhat tghter n order to ncrease the shft utlsaton. Clearly, overlap should be avoded f possble. Overlap mnmsaton s not explctly ncluded n the optmsaton model for two reasons. On the one hand, t s a subordnate objectve,.e. we wll accept more overlap f shft costs can be lowered. On the other hand, the determnaton of overlaps requres determnng task start tmes. However, ths would make the search more costly because we would have to fx all start tme domans as a part of the tree search. 113
130 5. An Improvement Algorthm for Complex Shft Plannng When handlng overlap mnmsaton as a secondary objectve, we can stll explot the degrees of freedom whch are left after local mprovement, consstng of the start tmes of movable tasks and the lengths of splt parts. Ths can be compared to the fnalsng procedures of Campbell and Savelsbergh [2004]. Our goal wll be the mnmsaton of the sum of overlaps on all tasks. If no crews or splt tasks are used, the best soluton can easly be found by a dynamc programmng pass over the tasks n every shft. As descrbed n Secton 5.3, crews and splt tasks ntroduce vertcal temporal relatons,.e. ther start tme decsons affect more than one shft. As a consequence, overlap mnmsaton s not straghtforward anymore. A smple greedy method s therefore used for fxng start tmes. The procedure passes once over all shfts and the tasks they contan. For each task, the start tmes from δ start are tred and the (local) consequences on task overlaps determned. The best start tme s then entered nto the constrant model and propagated before turnng to the next task. For each nonsplt task, we can smply determne the overlaps wth the predecessor and successor tasks pred and succ. If s a splt part, we calculate the overlap wth the predecessor pred and the mnmum overlap wth ts successor succ, assumng that wll have a mnmum length as gven by δ sl. If s the frst splt part of a splt task (.e. spred = NIL), the end tme of the last splt part can be determned by addng the total splt task length to the start tme. We therefore addtonally nclude the overlap of the last splt part wth ts successor and ts predecessor, usng the task s mnmum length. If s not the frst splt part, s start tme s also the end tme of spred. We can therefore determne the overlap of spred wth ts successor and ts predecessor, usng the mnmum length from δ sl spred. Often there are tes n choosng the start tme causng least overlaps. Nonsplt tasks are then fxed to the earlest start tme whle splt parts are fxed such that the frst splt part has the longest possble length. Consequently, only the start tme of the frst splt part s fxed to the earlest value whle start tmes of all other parts are fxed to latest start tmes. Ths corresponds to a sequental vew of task splttng: the longest possble part of a splttable task s assgned to a shft, and f the task does not ft completely, t s nterrupted at the latest possble tme Expermental Results We wll evaluate the performance of the large neghbourhood search algorthm on a number of realworld scenaros from the practce of ground handlng companes and arlnes. Basc nformaton on the test cases s summarsed n Tables 5.4 and 5.5. Scenaros belong to one of the three classes B, C and D. Test set B corresponds to the staff plannng scenaros used n the workload levellng procedure of Chapter 4. Scenaros of set C use only lmted constrants and nvolve only fxed tasks; these scenaros wll also be used for the experments of Chapter 7. Scenaros of class D partly nvolve rcher sets of constrants whle only a lmted number or none of the tasks are movable. Most test cases span over one week or eght days. Some scenaros have a very large scale wth up to tasks (scenaro B09) and 2380 shft types (scenaro D14). 15 out of 62 test cases allow for splttng of a subset of the tasks wth mnmum splt part lengths between 30 and 300 mnutes; orgnal tasks n Table 5.4 refers to the number of tasks before splttng. Task overlappng up to 2 mnutes s only admtted on fve scenaros. 15 scenaros comprse task crews of whch 8 scenaros nvolve crew plannng wth subcrews of szes 2 or scenaros nvolve qualfcatons, but n many cases, qualfcaton constrants are very loose. As an example, scenaro B02 allows for four qualfcatons per shft whch exactly equals the number of nvolved qualfcatons. Seven test cases comprse qualfcaton restrctons. Absolute shft number restrctons are present n ten scenaros whle only two test fles nclude relatve restrctons. Whle the number shft types s partly consderable (scenaros D14, D22), the number of break rule days s mostly moderate wth 114
131 5.11. Expermental Results only few exceptons (e.g. B09 and B10). The algorthm was mplemented n Vsual C Tests were carred out an AMD Athlon computer (1.67 GHz) wth 512 MB RAM and operatng system Wndows XP SP1. For the mplementaton of constrant propagaton and branchandbound, the ctk toolkt was used. The mprovement phase bulds upon solutons of the constructon heurstc whch was descrbed n Secton 5.1. For all tests, we have set w QP = 5, M QR = M SNR = 500 and M UT = 10. The relaxaton strateges were tuned n prelmnary tests. Wth a probablty of 70%, the task release strategy s used, but results turned out to be robust over a wde range of dfferent values. The parameters for the task and shft release strategy are gven n Table 5.6. A dscrepancy lmt of L D = 8 turned out to be a good compromse between search depth and processng tmes of ndvdual steps. Dscrepancy s accounted for over all search tree layers representng task nserton and shft fxaton decsons. Shfts whch do not nvolve vertcal nterdependences due to splt or crew tasks are heurstcally fxed to ther cheapest avalable shft types (.e. a dscrepancy of 0 s used). Equally, logcally unassgned splt parts are always fxed to ther shortest possble lengths by accountng for 8 dscrepances for each devaton from the best branch. Addtonally to mposng a dscrepancy lmt, t turned out to be advantageous to lmt the number of branches leadng to propagaton falures to a maxmum of Falures usually arse when the value of a partal soluton exceeds the value of the ncumbent, but can also result from nconsstent assgnments (e.g. due to ncompatble qualfcatons). The performance of the algorthm was evaluated at runtmes of 5 and 30 mnutes. The 5 mnute lmt s typcal of stuatons n whch solutons must be obtaned wthn low response tmes whle a 30 mnute run wll generally be started for offlne executon. For the 5mnute tests, SWI (steps wthout mprovement before stepwdth ncrementaton) was set to 10. For the 30 mnute runs, SWI was equal to 60, meanng that smaller neghbourhoods are nvestgated more thoroughly. Results wth regard to objectve functon mprovements are summarsed n Table 5.7. Results of the LNS runs represent averages over fve runs wth dfferent random seeds. As can be seen, local search mproves ntal shft plans by an average of 3.07% (5 mnutes) and 3.88% (30 mnutes). Hghest mprovements are attaned on scenaros B13 (47.07%), D09 (19.67%) and D31 (17.87%). On scenaros B13 and D31, these mprovements manly stem from coverng stll unassgned tasks. Whle on some scenaros, all or nearly all mprovement s accomplshed wthn fve mnutes (e.g. B02, B13, D01), savngs on other scenaros are consderably hgher wth addtonal runtme (e.g. B03, C04, D03). Relatve standard devatons for the dfferent runs (see Secton 4.10) amounted to an average of 0.39% for the 5mnute experments and 0.46% for the 30mnute tests. Whle the objectve functon comprses several terms, Table 5.8 gves results n terms of shft costs. As can be seen, savngs rase up to a maxmum of 15.94% on scenaro B06. On fve scenaros, more than 10% mprovement are acheved; on average, savngs amount to 2.15% (5 mnutes) and 2.74% (30 mnutes). Improvements on scenaros nvolvng movable tasks are often hgher, especally f crews are nvolved. On scenaro B09, shft costs ncrease slghtly because addtonal shfts are needed to cover stll unassgned tasks. Furthermore, Table 5.8 ndcates shft utlsatons whch result from dvdng total task mnutes by total shft duratons wthout breaks [Jacobs and Bechtold, 1993]. Utlsatons before local mprovement amount to 56.8% wth a mnmum of 20.9% (B04) and a maxmum of 99.7% (D21). Whle the average utlsaton s typcal of arport operatons (see e.g. Dowlng et al. [1997]), the mnmum utlsaton shows that n scenaro B04, shft types do not seem be welldesgned for coverng the workload. In the 30mnute runs, shft utlsatons are ncreased by up to 9.1% (B06) wth an average of 1.4%. Whle these savngs are already consderable n vew of the large scale of arport operatons, a man beneft of the local mprovement algorthm conssts n offerng a remedy for defcences of the constructon algorthm. Whle scenaros frequently comprse work tasks whch cannot be covered by any of the gven shft types, the constructon phase sometmes leaves tasks unassgned 115
132 5. An Improvement Algorthm for Complex Shft Plannng No. days orgnal splttable avg. tme avg. task avg. mn. max. max. crew task avg. sze subcrews avg. sze tasks tasks wndow wdth length splt part length travel tme overlap sze crews task crews subcrews B B B B B B B B B B B B B B C C C C C C C C C C C C C C C C C D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D Table 5.4.: Scenaro data. 116
133 5.11. Expermental Results No. qual avg. qual. qual. pref. max. qual. qualfcaton shft break rule range of avg. breaks avg. shft abs. shft restr. rel. shft restr. fcatons per task range per shft restrctons types days shft lengths per shft type type cost (mn./max.) (mn./max.) B [0,1] [390,510] /0 0/0 B [0.42,0.73] [510,510] /0 0/0 B [0,1] [390,510] /57 0/0 B [1,1] [360,720] /0 0/0 B [1,1] [480,480] /0 0/0 B [1,1] [360,600] /0 0/0 B [1,1] [360,600] /0 0/0 B [1,1] [470,490] /0 0/0 B [1,1] [180,660] /68 0/0 B [0.2,1] [360,540] /0 0/0 B [1,1] [240,570] /0 0/0 B [1,1] [240,600] /0 0/0 B [1,1] [240,600] /0 0/0 B [1,1] [240,600] /0 0/0 C [1,1] [240,480] /0 0/0 C [1,1] [240,510] /0 0/0 C [1,1] [240,510] /0 0/0 C [1,1] [240,510] /0 0/0 C [1,1] [240,510] /0 0/0 C [1,1] [240,510] /0 0/0 C [1,1] [484,484] /12 0/0 C [1,1] [484,484] /8 0/0 C [1,1] [384,484] /12 0/0 C [1,1] [501,501] /0 0/0 C [1,1] [456,471] /0 0/0 C [1,1] [456,471] /0 0/0 C [1,1] [360,720] /35 0/0 C [1,1] [360,720] /0 0/0 C [1,1] [360,600] /0 0/0 C [1,1] [360,600] /0 0/0 C [1,1] [480,600] /0 0/0 D [1,1] [240,640] /0 0/0 D [1,1] [240,640] /0 0/0 D [1,1] [240,640] /0 0/0 D [1,1] [240,510] /0 0/0 D [1,1] [240,510] /0 0/0 D [1,1] [240,480] /0 0/0 D [1,1] [240,480] /0 0/0 D [1,1] [240,480] /0 0/0 D [0.42,1] [390,510] /0 0/0 D [0,1] [510,510] /0 0/0 D [0,1] [390,510] /7 0/0 D [0,0.63] [390,510] /7 0/0 D [0,1] [240,630] /0 0/0 D [0,1] [240,645] /0 0/7 D [0,0.55] [360,960] /0 0/0 D [1,1] [360,720] /0 0/0 D [1,1] [360,720] /0 0/0 D [1,1] [195,600] /0 0/0 D [0.04,1] [480,510] /0 0/0 D [0,1] [240,720] /0 0/0 D [0,0.54] [240,720] /0 0/0 D [1,1] [180,480] /0 0/0 D [0,1] [240,480] /0 0/0 D [0,1] [240,480] /0 0/0 D [0.04,1] [240,750] /0 0/0 D [0.03,0.03] [270,570] /0 0/0 D [0,1] [360,540] /0 0/0 D [1,1] [240,600] /0 0/0 D [0.94,1] [240,600] /9 0/7 D [0,1] [240,600] /0 0/0 D [0.91,0.91] [240,570] /0 0/0 Table 5.5.: Scenaro data (contnued). shft release task release CR 10 T D tasks 480 T D shfts 480 λ T OL 100 λ UT IL 20 λ T DIST 10 λ MCOST 10 λ ST 10 λ SDIST 100 λ CREW 10 λ SOL 10 λ QUAL 100 Table 5.6.: Parameters of release strateges. 117
134 5. An Improvement Algorthm for Complex Shft Plannng No. ntal 5 mn. 30 mn. obj. fct. obj. fct. mprovement obj. fct. mprovement B % % B % % B % % B % % B % % B % % B % % B % % B % % B % % B % % B % % B % % B % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % C % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % D % % Table 5.7.: Average mprovement of objectve functon. 118
135 5.11. Expermental Results No. ntal soluton 5 mn. 30 mn. shft costs utlsaton shft cost mprovement utlsaton shft cost mprovement utlsaton B % % 45.1% % 45.2% B % % 29.1% % 29.1% B % % 52.9% % 53.7% B % % 21.8% % 22.0% B % % 35.8% % 36.2% B % % 56.1% % 57.1% B % % 55.1% % 56.0% B % % 60.4% % 61.1% B % % 48.0% % 48.0% B % % 38.2% % 38.3% B % % 50.1% % 50.2% B % % 55.0% % 56.5% B % % 51.8% % 53.7% B % % 52.8% % 53.0% C % % 54.5% % 54.6% C % % 71.2% % 71.3% C % % 51.7% % 51.7% C % % 58.2% % 58.8% C % % 55.2% % 55.3% C % % 57.9% % 58.1% C % % 59.8% % 59.8% C % % 66.6% % 66.8% C % % 56.0% % 56.0% C % % 68.5% % 68.6% C % % 59.0% % 59.0% C % % 51.1% % 51.3% C % % 34.1% % 34.1% C % % 33.3% % 33.6% C % % 19.8% % 20.0% C % % 41.6% % 42.4% C % % 37.7% % 37.8% D % % 53.6% % 53.6% D % % 54.3% % 54.4% D % % 25.0% % 25.3% D % % 65.6% % 66.5% D % % 74.6% % 74.6% D % % 65.0% % 65.0% D % % 59.2% % 59.6% D % % 35.3% % 36.0% D % % 35.5% % 35.9% D % % 53.8% % 54.5% D % % 47.8% % 48.0% D % % 94.4% % 94.4% D % % 86.8% % 87.4% D % % 79.4% % 79.7% D % % 76.7% % 77.2% D % % 64.3% % 64.8% D % % 55.1% % 55.5% D % % 77.3% % 77.4% D % % 68.9% % 69.3% D % % 98.1% % 98.3% D % % 99.8% % 99.8% D % % 77.1% % 77.4% D % % 71.5% % 71.7% D % % 84.9% % 85.0% D % % 58.0% % 58.0% D % % 36.2% % 36.1% D % % 54.3% % 54.6% D % % 84.0% % 84.3% D % % 69.1% % 69.3% D % % 78.7% % 78.8% D % % 75.0% % 75.5% Table 5.8.: Shft costs and utlsatons. 119
136 5. An Improvement Algorthm for Complex Shft Plannng No. 5 mn. 30 mn. steps tasks steps tasks B B B B B B B B B B B B B B C C C C C C C C C C C C C C C C C No. 5 mn. 30 mn. steps tasks steps tasks D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D Table 5.9.: Fnal steps and stepwdths. whch could be covered. As an example, large neghbourhood search assgns addtonal 63 tasks n scenaro B13 and addtonal 14 tasks n scenaro D31. Furthermore, the ntal algorthm s sometmes not able to avod maxmum restrcton volatons due to ts heurstc nature. Such defcences are quckly resolved by local mprovement. As an example, LNS avods up to two qualfcaton restrcton volatons on scenaro D29 and ten volatons on scenaros B03 and D09. Furthermore, on scenaros B09 and D29, one and two more maxmum shft number restrctons are obeyed after local mprovement. Runtme nformaton s gven n Table 5.9. Whle on some largescale scenaros, all mprovement s attaned by releasng one task at a tme (scenaros D24 and D30), up to 31 tasks were relaxed n one run on scenaro B08. The number of steps over the dfferent 30mnute runs ranged from 124 (one run on D05) to 3079 (one run on B13). In Table 5.10, we can study the development of task splts on scenaros comprsng preemptve tasks. Fgures ndcate the average number of splt parts per splt task n the ntal soluton and after 30 mnutes (averages over fve runs). It can be seen that even f we do not penalse splttng, the average number of splt parts consstently decreases by local mprovement. Table 5.11 compares total task overlaps (n mnutes) n the ntal solutons and after local 120
137 5.11. Expermental Results No. before LNS after LNS (30 mn.) B D D D D D D D D D D D D D D Table 5.10.: Average numbers of parts per splt task. No. before LNS after LNS (30 mn.) B D D D D Table 5.11.: Changes n total overlappng. mprovement and applcaton of the algorthm of Secton 5.10; only scenaros allowng for overlappng are shown. As can be seen, changes n overlaps are hghly problemdependent. Whle on scenaros D15, D29 and D30, overlaps decrease by 90.6%, 94.0% and 72.6% on average, scenaros B14 and D28 use 22.4% and 646.7% more overlap after local mprovement. On the latter scenaros, overlap s effectvely used for a tghter packng of tasks n order to reduce shft costs. The results of local mprovement are generally very satsfactory. The algorthm has been mplemented as a part of a commercal staff schedulng system and meets customer demands. Defcences of ntal heurstc solutons are quckly levelled out, and addtonal mprovement can be obtaned by nvestng more runtme. Results of the combned constructon/mprovement algorthm are more robust, and the algorthm scales well to large problem nstances. However, we wll shortly menton some shortcomngs of the local mprovement scheme. Frst, the algorthm has turned out to be senstve to dfferent knds of shft models and shft costs. If many shft types are used, the algorthm can explot more degrees of freedom to shorten or prolong shfts. If shft costs are proportonal to shft lengths (whch s often the case n practce), the algorthm yelds much mprovement already n small neghbourhoods. If n contrast only few shft types are present, local search must be appled to much larger neghbourhoods snce mprovng the soluton wll often necesstate swaps of many tasks. If shft costs are ndependent from ther lengths (e.g. f unt costs are used for all shfts), ths means that mprovement can 121
138 5. An Improvement Algorthm for Complex Shft Plannng Fgure 5.9.: Example from scenaro C12: partal soluton before mprovement. Fgure 5.10.: Example from scenaro C12: partal soluton after mprovement. usually only be acheved by savng shfts. As an example, scenaro D17 uses shft costs whch are proportonal to shft lengths. In the above experments, local search acheved average shft cost savngs of 1.58% and ncreased shft utlsaton by 0.9%. In an experment wth all shft costs set to 1, shft cost mprovements wthn 30 mnutes amounted to an average of 0.61% whle utlsaton was ncreased by only 0.2%. Clearly, ths can be ntentonal f the number of shfts s the only optmsaton crteron. In fact, the number of shfts was decreased by a maxmum of one shft wth proportonal shft costs whle up to four shfts were saved wth the untcost model. Another defcency of large neghbourhood search les n the asymmetry of task selecton and renserton procedures: Whle relaxed tasks are optmsed by powerful branchandbound search, ther choce s based on smple heurstc rules. However, we may necesstate larger and more complex neghbourhoods n order to acheve more global mprovement. However, these are generally not easy to fnd. Fgure 5.9 shows an extract of scenaro C12. In order to save one shft n the gven soluton, all tasks whch are marked yellow must be relaxed (tasks n shfts whch are also nvolved n the local step are marked green, breaks have red colours). The result of the local step s gven n Fg Note that the yellow tasks represent the mnmum task set whch s requred for ths local step. Whle the branchandbound procedure of Secton 5.8 mmedately fnds the mprovement, such complex neghbourhoods are not easy to determne. Prelmnary experments wth LPbased relaxaton strateges turned out to be successful, but requred excessve computaton tmes when teratvely appled for fndng mnmum neghbourhoods. A more effcent soluton approach wll be presented n the next chapter. 122
Documentation for the TIMES Model PART I
Energy Technology Systems Analyss Programme http://www.etsap.org/tools.htm Documentaton for the TIMES Model PART I Aprl 2005 Authors: Rchard Loulou Uwe Remne Amt Kanuda Antt Lehtla Gary Goldsten 1 General
More informationDistributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers
Foundatons and Trends R n Machne Learnng Vol. 3, No. 1 (2010) 1 122 c 2011 S. Boyd, N. Parkh, E. Chu, B. Peleato and J. Ecksten DOI: 10.1561/2200000016 Dstrbuted Optmzaton and Statstcal Learnng va the
More informationAlgebraic Point Set Surfaces
Algebrac Pont Set Surfaces Gae l Guennebaud Markus Gross ETH Zurch Fgure : Illustraton of the central features of our algebrac MLS framework From left to rght: effcent handlng of very complex pont sets,
More informationOptimal Call Routing in VoIP
Optmal Call Routng n VoIP Costas Courcoubets Department of Computer Scence Athens Unversty of Economcs and Busness 47A Evelpdon Str Athens 11363, GR Emal: courcou@aueb.gr Costas Kalogros Department of
More informationDropout: A Simple Way to Prevent Neural Networks from Overfitting
Journal of Machne Learnng Research 15 (2014) 19291958 Submtted 11/13; Publshed 6/14 Dropout: A Smple Way to Prevent Neural Networks from Overfttng Ntsh Srvastava Geoffrey Hnton Alex Krzhevsky Ilya Sutskever
More informationSequential DOE via dynamic programming
IIE Transactons (00) 34, 1087 1100 Sequental DOE va dynamc programmng IRAD BENGAL 1 and MICHAEL CARAMANIS 1 Department of Industral Engneerng, Tel Avv Unversty, Ramat Avv, Tel Avv 69978, Israel Emal:
More informationDP5: A Private Presence Service
DP5: A Prvate Presence Servce Nkta Borsov Unversty of Illnos at UrbanaChampagn, Unted States nkta@llnos.edu George Danezs Unversty College London, Unted Kngdom g.danezs@ucl.ac.uk Ian Goldberg Unversty
More informationA Study of the Cosine DistanceBased Mean Shift for Telephone Speech Diarization
TASL046013 1 A Study of the Cosne DstanceBased Mean Shft for Telephone Speech Darzaton Mohammed Senoussaou, Patrck Kenny, Themos Stafylaks and Perre Dumouchel Abstract Speaker clusterng s a crucal
More informationVerification by Equipment or EndUse Metering Protocol
Verfcaton by Equpment or EndUse Meterng Protocol May 2012 Verfcaton by Equpment or EndUse Meterng Protocol Verson 1.0 May 2012 Prepared for Bonnevlle Power Admnstraton Prepared by Research Into Acton,
More informationShould Countries Promote Foreign Direct Investment?
UNITED NATIONS CONFERENCE ON TRADE AND DEVELOPMENT UNITED NATIONS CENTER FOR INTERNATIONAL DEVELOPMENT HARVARD UNIVERSITY G24 Dscusson Paper Seres Should Countres Promote Foregn Drect Investment? Gordon
More informationDISCUSSION PAPER. Should Urban Transit Subsidies Be Reduced? Ian W.H. Parry and Kenneth A. Small
DISCUSSION PAPER JULY 2007 RFF DP 0738 Should Urban Transt Subsdes Be Reduced? Ian W.H. Parry and Kenneth A. Small 1616 P St. NW Washngton, DC 20036 2023285000 www.rff.org Should Urban Transt Subsdes
More informationAssessing health efficiency across countries with a twostep and bootstrap analysis *
Assessng health effcency across countres wth a twostep and bootstrap analyss * Antóno Afonso # $ and Mguel St. Aubyn # February 2007 Abstract We estmate a semparametrc model of health producton process
More informationSectorSpecific Technical Change
SectorSpecfc Techncal Change Susanto Basu, John Fernald, Jonas Fsher, and Mles Kmball 1 November 2013 Abstract: Theory mples that the economy responds dfferently to technology shocks that affect the producton
More informationDo Firms Maximize? Evidence from Professional Football
Do Frms Maxmze? Evdence from Professonal Football Davd Romer Unversty of Calforna, Berkeley and Natonal Bureau of Economc Research Ths paper examnes a sngle, narrow decson the choce on fourth down n the
More informationAdverse selection in the annuity market when payoffs vary over the time of retirement
Adverse selecton n the annuty market when payoffs vary over the tme of retrement by JOANN K. BRUNNER AND SUSANNE PEC * July 004 Revsed Verson of Workng Paper 0030, Department of Economcs, Unversty of nz.
More informationHuman Tracking by Fast Mean Shift Mode Seeking
JOURAL OF MULTIMEDIA, VOL. 1, O. 1, APRIL 2006 1 Human Trackng by Fast Mean Shft Mode Seekng [10 font sze blank 1] [10 font sze blank 2] C. Belezna Advanced Computer Vson GmbH  ACV, Venna, Austra Emal:
More informationPerson Reidentification by Probabilistic Relative Distance Comparison
Person Redentfcaton by Probablstc Relatve Dstance Comparson WeSh Zheng 1,2, Shaogang Gong 2, and Tao Xang 2 1 School of Informaton Scence and Technology, Sun Yatsen Unversty, Chna 2 School of Electronc
More informationRECENT DEVELOPMENTS IN QUANTITATIVE COMPARATIVE METHODOLOGY:
Federco Podestà RECENT DEVELOPMENTS IN QUANTITATIVE COMPARATIVE METHODOLOGY: THE CASE OF POOLED TIME SERIES CROSSSECTION ANALYSIS DSS PAPERS SOC 302 INDICE 1. Advantages and Dsadvantages of Pooled Analyss...
More informationDoes Demographic Change Affect the Current Account? A Reconsideration #
ISSN 18334474 Does Demographc Change Affect the Current Account? A Reconsderaton # Mchael Graff, a,* Kam K Tang, b, Je Zhang c Ths paper reexamnes the mpact of demographc factors on the current account
More informationcan basic entrepreneurship transform the economic lives of the poor?
can basc entrepreneurshp transform the economc lves of the poor? Orana Bandera, Robn Burgess, Narayan Das, Selm Gulesc, Imran Rasul, Munsh Sulaman Aprl 2013 Abstract The world s poorest people lack captal
More informationBoosting as a Regularized Path to a Maximum Margin Classifier
Journal of Machne Learnng Research 5 (2004) 941 973 Submtted 5/03; Revsed 10/03; Publshed 8/04 Boostng as a Regularzed Path to a Maxmum Margn Classfer Saharon Rosset Data Analytcs Research Group IBM T.J.
More informationP2P/ Gridbased Overlay Architecture to Support VoIP Services in Large Scale IP Networks
PP/ Grdbased Overlay Archtecture to Support VoIP Servces n Large Scale IP Networks We Yu *, Srram Chellappan # and Dong Xuan # * Dept. of Computer Scence, Texas A&M Unversty, U.S.A. {weyu}@cs.tamu.edu
More informationtématické články Measuring the Value of Urban Forest using the Hedonic Price Approach regionální studia
Measurng the Value of Urban Forest usng the Hedonc Prce Approach Odhad hodnoty městských lesů metodou hedoncké ceny Jan Melchar 1 jan.melchar@czp.cun.cz Charles Unversty Envronment Center Ondřej Vojáček
More informationThe Developing World Is Poorer Than We Thought, But No Less Successful in the Fight against Poverty
Publc Dsclosure Authorzed Pol c y Re s e a rc h Wo r k n g Pa p e r 4703 WPS4703 Publc Dsclosure Authorzed Publc Dsclosure Authorzed The Developng World Is Poorer Than We Thought, But No Less Successful
More informationJournal of International Economics
Journal of Internatonal Economcs 79 (009) 31 41 Contents lsts avalable at ScenceDrect Journal of Internatonal Economcs journal homepage: www.elsever.com/locate/je Composton and growth effects of the current
More informationThe Relationship between Exchange Rates and Stock Prices: Studied in a Multivariate Model Desislava Dimitrova, The College of Wooster
Issues n Poltcal Economy, Vol. 4, August 005 The Relatonshp between Exchange Rates and Stock Prces: Studed n a Multvarate Model Desslava Dmtrova, The College of Wooster In the perod November 00 to February
More informationWho are you with and Where are you going?
Who are you wth and Where are you gong? Kota Yamaguch Alexander C. Berg Lus E. Ortz Tamara L. Berg Stony Brook Unversty Stony Brook Unversty, NY 11794, USA {kyamagu, aberg, leortz, tlberg}@cs.stonybrook.edu
More informationMANY of the problems that arise in early vision can be
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 26, NO. 2, FEBRUARY 2004 147 What Energy Functons Can Be Mnmzed va Graph Cuts? Vladmr Kolmogorov, Member, IEEE, and Ramn Zabh, Member,
More informationBRNO UNIVERSITY OF TECHNOLOGY
BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS ALGORITHMIC AND MATHEMATICAL PRINCIPLES OF AUTOMATIC NUMBER PLATE RECOGNITION SYSTEMS B.SC. THESIS AUTHOR
More informationMaxMargin Early Event Detectors
MaxMargn Early Event Detectors Mnh Hoa Fernando De la Torre Robotcs Insttute, Carnege Mellon Unversty Abstract The need for early detecton of temporal events from sequental data arses n a wde spectrum
More information