Table Of ContentModels and Algorithms for
Ground Staff Scheduling on Airports
VonderFakulta¨tfu¨rMathematik,InformatikundNaturwissenschaftender
Rheinisch-Westfa¨lischenTechnischenHochschuleAachen
zurErlangungdesakademischenGradeseinesDoktorsderNaturwissenschaften
genehmigteDissertation
von
Diplom-InformatikerJo¨rgHerbers
aus
Haselu¨nne
Berichter: Universita¨tsprofessorDr.Drs.h.c.Hans-Ju¨rgenZimmermann
Universita¨tsprofessorDr.rer.nat.JurajHromkovicˇ
Universita¨tsprofessorDr.rer.nat.PeterRossmanith
Tagdermu¨ndlichenPru¨fung: 14.Ma¨rz2005
DieseDissertationistaufdenInternetseitenderHochschulbibliothekonlineverfu¨gbar.
Abstract
Theplanningofairportgroundstaffgivesrisetoanumberofchallengingoptimisationproblems.
Ground handling workloads are naturally represented as work tasks, e.g. for baggage unload-
ing or passenger check-in. These workloads must be covered by appropriate employees. Staff
schedulingisusuallycarriedoutinseveralstages: Indemandplanning,workloadsareaggregated
and analysed, in shift planning, appropriate shift duties are generated, and rostering consists in
generating lines of duty for the workers. These phases are strongly interrelated, and different
optimisationproblemshavetobesolvedateachstage.
Workforceschedulingmodelshavetraditionallybuiltuponaggregatelabourrequirementsgiven
indiscretetimeperiods. However,theliteraturedoesnotdescribeanymodelsoralgorithmsforthe
generationofappropriateworkloadrepresentations. Additionally, itwillnotalwaysbesufficient
to cover coarse-grained abstractions of workloads. If information on flights as well as passenger
andloadfiguresaresufficientlyexact,wewillratherbeinterestedindirectlycoveringindividual
work tasks. Furthermore, shift scheduling and rostering approaches have regularly taken special
assumptionsorinvestigatedsimplifiedproblems,limitingtheirpracticalapplicability.
Inthiswork,wetackleoptimisationproblemsatdifferentplanningstages. Weshowhowinthe
presence of movable tasks, we can obtain a suitable demand curve representation of workloads,
using a levelling procedurewhich combines aspects from vehicle routingand resource levelling.
Furthermore,wedevisetwoalgorithmsfortask-levelshiftplanningwhichrelatestovehiclerout-
ing and shift scheduling models. The first method is an improvement procedure, building upon
theresultsofaconstructionphaseanddealingwithacomplexshiftplanningsetting. Thesecond
algorithm focuses on a subclass of task-level shift planning and is able to solve many problems
to proven optimality. Finally, we design an algorithm for complex cyclic rostering on the basis
ofaggregateworkloads. Theapproachbuildsuponanovelmodelforrepresentingflexiblebreaks
andsolvestheshiftschedulingandrosteringstagesimultaneously.
Models and algorithms proposed in this thesis are more integrated and tackle more complex
settings than previous approaches. We employ modern constraint programming and integer pro-
grammingsolutiontechniques,includingcolumngenerationandbranch-and-price. Forthenovel
optimisation problems treated in this work, we provide complexity results. All algorithms are
evaluatedoncomplexlarge-scaletestcasesfromthepracticeofairlines,airportsandgroundhan-
dlingcompanies.
Zusammenfassung
Die Planung von Bodenpersonal an Flugha¨fen beinhaltet eine Reihe anspruchsvoller Optimie-
rungsprobleme. Das Arbeitsaufkommen fu¨r Abfertigungsdienste wird typischerweise in Form
vonArbeitsauftra¨gendargestellt,z.B.fu¨rdieGepa¨ckentladungoderfu¨rCheck-in-Dienste.Dieses
ArbeitspensummussdurchgeeigneteMitarbeiterabgedecktwerden.DiePlanungwirdu¨blicher-
weise stufig durchgefu¨hrt: In der Bedarfsplanung wird das Arbeitsaufkommen aggregiert und
analysiert, in der Schichtplanung werden geeignete Schichtdienste generiert, und in der Dienst-
planung werden Dienstpla¨ne fu¨r die Mitarbeiter erstellt. Die einzelnen Phasen sind dabei eng
verzahnt,undaufjederStufemu¨ssenverschiedeneOptimierungsproblemegelo¨stwerden.
PersonalplanungsmodellebauentraditionellaufaggregiertenBedarfszahlenauf,dieindiskre-
ten Zeitschritten angegeben werden. Fu¨r die tatsa¨chliche Generierung einer solchen Bedarfskur-
venrepra¨sentation sind in der Literatur allerdings keine Modelle oder Algorithmen beschrieben
worden.Daru¨berhinausisteinePlanungaufBasisgroberBedarfszahlennichtimmerausreichend.
WennhinreichendgenaueInformationenu¨berabzufertigendeFlu¨geundPassagier-/Gepa¨ckzahlen
zur Verfu¨gung stehen, ist man vielmehr daran interessiert, die einzelnen Arbeitsauftra¨ge zu ver-
planen.Schicht-undDienstplanungsansa¨tzeinderLiteraturgehenzudemdurchgehendvonspe-
ziellenAnnahmenausoderbehandelnvereinfachteProbleme,wasihrepraktischeAnwendbarkeit
einschra¨nkt.
In dieser Arbeit werden Optimierungsprobleme fu¨r verschiedene Planungsschritte gelo¨st. Es
wird gezeigt, wie eine geeignete Bedarfskurvendarstellung unter Beru¨cksichtigung verschiebli-
cher Auftra¨ge generiert werden kann, indem Elemente des Vehicle Routing und des Resource
Levelling kombiniert werden. Daru¨ber hinaus werden zwei Algorithmen fu¨r die auftragsbasier-
te Schichtplanung entwickelt, die auf Modellen des Vehicle Routing und des Shift Scheduling
aufbauen.DieersteMethodeisteinVerbesserungsverfahren,dasaufdenErgebnisseneinerKon-
struktionsheuristikbasiertundeinkomplexesSchichtplanungsproblembehandelt.DerzweiteAl-
gorithmus bezieht sich auf eine Teilproblemklasse und lo¨st viele praktische Probleminstanzen
beweisbar optimal. Schließlich wird ein Algorithmus fu¨r die Erstellung komplexer Schichtra¨der
aufBasiseineraggregiertenBedarfsdarstellungkonzipiert.DerAnsatzbautaufeinemModellzur
impliziten Darstellung flexibler Pausen auf und lo¨st das Shift Scheduling- und Dienstplanungs-
problemsimultan.
DieModelleundAlgorithmenindieserArbeitsindsta¨rkerintegriertundberu¨cksichtigenkom-
plexere Nebenbedingungen als fru¨here Beitra¨ge. Moderne Techniken des Constraint Program-
ming und der ganzzahligen Programmierung (einschließlich Spaltengenerierungs- und Branch-
and-Price-Ansa¨tzen) werden eingesetzt. Fu¨r die vorgestellten neuartigen Optimierungsprobleme
werden Komplexita¨tsuntersuchungen durchgefu¨hrt. Alle Algorithmen werden auf großen, kom-
plexenTestfa¨llenausderPraxisvonFluglinien,Flugha¨fenundBodenverkehrsgesellschafteneva-
luiert.
Acknowledgements
ThisworkhasbeencarriedoutattheairportdivisionofINFORMInstitutfu¨rOperationsResearch
undManagementGmbH.Manypeoplehavecontributedtothisthesisinonewayortheother.
First,Iwouldliketothankmydoctoraladvisors. Prof.Dr.Drs.h.c.Hans-Ju¨rgenZimmermann
initially made this work possible, and I am very grateful for his valuable support and feedback.
Prof.Dr.JurajHromkovicˇ wassokindtoactasrefereeevenifthisentailedanadditionalburden
with his new position at ETH Zu¨rich. I would like to express my gratitude for his support and
commentsonearlierdraftsofthiswork. ThanksalsotoProf.Dr.PeterRossmanithforactingas
anadditionalco-referee.
SpecialthanksgotoAdrianWeilerforleadingmetothischallengingfieldofresearchandfor
his interest in my work, and to Thomas Schmidt and Uschi Schulte-Sasse for their encourage-
ment. IamparticularlyindebtedtoWernerSiemeswholeadstheplanningdevelopmentgroupat
INFORM’sairportdivision. Withouthissupport,thisworkwouldnothavebeenpossible.
Torsten Fahle provided me with numerous comments and suggestions, and I am very grateful
forthefruitfuldiscussions. Hisextensiveproof-readingdowntothesmallestindiceshasconsid-
erablycontributedtothequalityofthisthesis. SpecialthanksalsotoUlrichDorndorfandTuomo
Takkula for discussions, suggestions and comments on earlier versions of this work. Christian,
Daniel,MelanieandWolfgangdeservemygratitudeforfurthercorrectionsandsuggestions.
Christof, Dimitra, Julia, Simone and Tom were not only colleagues, but have become real
friends, and their support has meant a lot to me. Thanks also to Andrea, Alex, Bernd, Frank,
Holger,Melanie,Michael,Olli,Sunil,ClementineandFichforthepleasantworkingenvironment,
the motivating atmosphere and the guidance with the optimisation problems and the planning
system. Christian was an inspiring partner for lunchtime discussions during my short return to
studentlife.
ThestaffatDashOptimizationwasveryambitiousinprovidingmewithsuggestionsfortuning
thecyclicrosteralgorithm.
Mysinceregratitudegoestomyparentswhomadethispossible,forsupportingandencourag-
ingmeduringtheyears. SpecialthanksalsotomybrothersJensandUlffortheirsupport.
Lastbutnotleast,specialthankstoKatrinforherpatience,loveandencouragementthroughout
allupsanddownsofmywork.
Contents
1. Introduction 1
1.1. AirportGroundHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. PlanningProcessesandObjectives . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1. TaskGeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2. DemandPlanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3. ShiftPlanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.4. Rostering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3. RelatedWorkonWorkforceScheduling . . . . . . . . . . . . . . . . . . . . . . 9
1.4. RelationshiptoVehicleRoutingandScheduling . . . . . . . . . . . . . . . . . . 10
1.5. ContributionsoftheDissertation . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6. StructureoftheDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2. An Annotated Bibliography on Workforce Scheduling 15
2.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. ShiftSchedulingApproaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3. Day-OffSchedulingApproaches . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4. ShiftAssignmentApproaches . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5. TourSchedulingApproaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6. NurseSchedulingApproaches . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.7. CyclicRosterApproaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8. BreakPlacementFlexibilityandImplicitModelling . . . . . . . . . . . . . . . . 28
2.9. WorkingSubsetMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10. ComplexityResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11. RelationshiptoCrewRostering . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3. Local Search in Constraint Programming 35
3.1. ConstraintProgramming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2. LargeNeighbourhoodSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3. Constraint-BasedSolutionMethodsforVehicleRouting . . . . . . . . . . . . . 39
3.3.1. Insertion-BasedMethods . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.2. PartialPathMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.3. DisjunctiveMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4. Workload Levelling in a Vehicle Routing Environment 45
4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2. VehicleRoutingandResourceLevelling . . . . . . . . . . . . . . . . . . . . . . 47
4.3. MathematicalModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4. ComputationalComplexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5. ConstraintModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.6. Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.7. LowerBounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Contents
4.8. LargeNeighbourhoodSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.9. Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.10. ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.11. ConclusionsandFutureResearch . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5. An Improvement Algorithm for Complex Shift Planning 71
5.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2. ProblemDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.1. TasksandShifts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.2. Qualifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.3. Crews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.4. TaskSplitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.5. TaskOverlapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.6. ShiftNumberRestrictions . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3. MathematicalModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.4. ShiftCreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5. UnassignedTaskHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.6. ConstraintModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.6.1. Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.6.2. ShiftTemporalConstraints . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.6.3. ShiftConstraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.6.4. CrewConstraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.6.5. SplitTaskConstraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.6.6. InsertionPositionConstraints . . . . . . . . . . . . . . . . . . . . . . . 98
5.6.7. AvoidingSymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.6.8. ObjectiveFunctionCalculation . . . . . . . . . . . . . . . . . . . . . . 100
5.7. LowerBounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.7.1. TaskLook-Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.7.2. MaximumRestrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.3. MinimumRestrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.8. Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.9. LargeNeighbourhoodSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.9.1. ShiftRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.9.2. TaskRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.9.3. LocalStepSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.10. OverlapMinimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.11. ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.12. ConclusionsandFutureResearch . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6. Column Generation and Branch-and-Price 125
6.1. Dantzig-WolfeDecomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.2. Block-StructuredLinearPrograms . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.3. Branch-and-Price . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.4. LowerBounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.5. LagrangianRelaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.6. ConvexificationversusDiscretisation . . . . . . . . . . . . . . . . . . . . . . . . 133
6.7. AdvancedPerformanceIssues . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
x
Description:Bennett and Potts [1968] devised a two-step approach for cyclic scheduling of bus languages (“constraint logic programming”) like PROLOG, CHIP and To avoid stalling, the step size is increased by one after a number SWI of