Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization...
Transcript of Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization...
Applications of Combinatorial Optimization
Combinatorial Optimization volume 3
Applications of Combinatorial Optimization
Edited by Vangelis Th Paschos
First published 2010 in Great Britain and the United States by ISTE Ltd and John Wiley amp Sons Inc Adapted and updated from Optimisation combinatoire volumes 1 to 5 published 2005-2007 in France by Hermes ScienceLavoisier copy LAVOISIER 2005 2006 2007 Apart from any fair dealing for the purposes of research or private study or criticism or review as permitted under the Copyright Designs and Patents Act 1988 this publication may only be reproduced stored or transmitted in any form or by any means with the prior permission in writing of the publishers or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address ISTE Ltd John Wiley amp Sons Inc 27-37 St Georgersquos Road 111 River Street London SW19 4EU Hoboken NJ 07030 UK USA
wwwistecouk wwwwileycom copy ISTE Ltd 2010 The rights of Vangelis Th Paschos to be identified as the author of this work have been asserted by him in accordance with the Copyright Designs and Patents Act 1988
Library of Congress Cataloging-in-Publication Data Combinatorial optimization edited by Vangelis Th Paschos v cm Includes bibliographical references and index Contents v 1 Concepts of combinatorial optimization ISBN 978-1-84821-146-9 (set of 3 vols) -- ISBN 978-1-84821-149-0 (v 3) 1 Combinatorial optimization 2 Programming (Mathematics) I Paschos Vangelis Th QA4025C545123 2010 51964--dc22
2010018423 British Library Cataloguing-in-Publication Data A CIP record for this book is available from the British Library ISBN 978-1-84821-146-9 (Set of 3 volumes) ISBN 978-1-84821-149-0 (Volume 3)
Printed and bound in Great Britain by CPI Antony Rowe Chippenham and Eastbourne
Table of Contents
Preface xiii
Chapter 1 Airline Crew Pairing Optimization 1 Laurent ALFANDARI and Anass NAGIH
11 Introduction 1 12 Definition of the problem 2
121 Constructing subnetworks 2 122 Pairing costs 4 123 Model 4 124 Case without resource constraints 5
13 Solution approaches 7 131 Decomposition principles 7 132 Column generation master problem and subproblem 8 133 Branching methods for finding integer solutions 10
14 Solving the subproblem for column generation 11 141 Mathematical formulation 11 142 General principle of effective label generation 11 143 Case of one single resource the bucket method 13 144 Case of many resources reduction of the resource space 16
15 Conclusion 21 16 Bibliography 22
Chapter 2 The Task Allocation Problem 23 Moaiz BEN DHAOU and Didier FAYARD
21 Presentation 24 22 Definitions and modeling 24
221 Definitions 24 222 The processors 25
vi Combinatorial Optimization 3
223 Communications 25 224 Tasks 26 225 Allocation types 26 226 Allocationscheduling 27 227 Modeling 28
23 Review of the main works 29 231 Polynomial cases 30 232 Approximability 33 233 Approximate solution 34 234 Exact solution 35 235 Independent tasks case 36
24 A little-studied model 38 241 Model 38 242 A heuristic based on graphs 39
25 Conclusion 43 26 Bibliography 43
Chapter 3 A Comparison of Some Valid Inequality Generation Methods for General 0ndash1 Problems 49 Pierre BONAMI and Michel MINOUX
31 Introduction 49 32 Presentation of the various techniques tested 53
321 Exact separation with respect to a mixed relaxation 53 322 Approximate separation using a heuristic 55 323 Restriction + separation + relaxed lifting (RSRL) 55 324 Disjunctive programming and the lift and project procedure 59 325 Reformulationndashlinearization technique (RLT) 63
33 Computational results 67 331 Presentation of test problems 67 332 Presentation of the results 67 333 Discussion of the computational results 68
34 Bibliography 70
Chapter 4 Production Planning 73 Nadia BRAUNER Gerd FINKE and Maurice QUEYRANNE
41 Introduction 73 42 Hierarchical planning 74 43 Strategic planning and productive system design 75
431 Group technology 75 432 Locating equipment 77
44 Tactical planning and inventory management 77 441 A linear programming model for medium-term planning 78
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Applications of Combinatorial Optimization
Combinatorial Optimization volume 3
Applications of Combinatorial Optimization
Edited by Vangelis Th Paschos
First published 2010 in Great Britain and the United States by ISTE Ltd and John Wiley amp Sons Inc Adapted and updated from Optimisation combinatoire volumes 1 to 5 published 2005-2007 in France by Hermes ScienceLavoisier copy LAVOISIER 2005 2006 2007 Apart from any fair dealing for the purposes of research or private study or criticism or review as permitted under the Copyright Designs and Patents Act 1988 this publication may only be reproduced stored or transmitted in any form or by any means with the prior permission in writing of the publishers or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address ISTE Ltd John Wiley amp Sons Inc 27-37 St Georgersquos Road 111 River Street London SW19 4EU Hoboken NJ 07030 UK USA
wwwistecouk wwwwileycom copy ISTE Ltd 2010 The rights of Vangelis Th Paschos to be identified as the author of this work have been asserted by him in accordance with the Copyright Designs and Patents Act 1988
Library of Congress Cataloging-in-Publication Data Combinatorial optimization edited by Vangelis Th Paschos v cm Includes bibliographical references and index Contents v 1 Concepts of combinatorial optimization ISBN 978-1-84821-146-9 (set of 3 vols) -- ISBN 978-1-84821-149-0 (v 3) 1 Combinatorial optimization 2 Programming (Mathematics) I Paschos Vangelis Th QA4025C545123 2010 51964--dc22
2010018423 British Library Cataloguing-in-Publication Data A CIP record for this book is available from the British Library ISBN 978-1-84821-146-9 (Set of 3 volumes) ISBN 978-1-84821-149-0 (Volume 3)
Printed and bound in Great Britain by CPI Antony Rowe Chippenham and Eastbourne
Table of Contents
Preface xiii
Chapter 1 Airline Crew Pairing Optimization 1 Laurent ALFANDARI and Anass NAGIH
11 Introduction 1 12 Definition of the problem 2
121 Constructing subnetworks 2 122 Pairing costs 4 123 Model 4 124 Case without resource constraints 5
13 Solution approaches 7 131 Decomposition principles 7 132 Column generation master problem and subproblem 8 133 Branching methods for finding integer solutions 10
14 Solving the subproblem for column generation 11 141 Mathematical formulation 11 142 General principle of effective label generation 11 143 Case of one single resource the bucket method 13 144 Case of many resources reduction of the resource space 16
15 Conclusion 21 16 Bibliography 22
Chapter 2 The Task Allocation Problem 23 Moaiz BEN DHAOU and Didier FAYARD
21 Presentation 24 22 Definitions and modeling 24
221 Definitions 24 222 The processors 25
vi Combinatorial Optimization 3
223 Communications 25 224 Tasks 26 225 Allocation types 26 226 Allocationscheduling 27 227 Modeling 28
23 Review of the main works 29 231 Polynomial cases 30 232 Approximability 33 233 Approximate solution 34 234 Exact solution 35 235 Independent tasks case 36
24 A little-studied model 38 241 Model 38 242 A heuristic based on graphs 39
25 Conclusion 43 26 Bibliography 43
Chapter 3 A Comparison of Some Valid Inequality Generation Methods for General 0ndash1 Problems 49 Pierre BONAMI and Michel MINOUX
31 Introduction 49 32 Presentation of the various techniques tested 53
321 Exact separation with respect to a mixed relaxation 53 322 Approximate separation using a heuristic 55 323 Restriction + separation + relaxed lifting (RSRL) 55 324 Disjunctive programming and the lift and project procedure 59 325 Reformulationndashlinearization technique (RLT) 63
33 Computational results 67 331 Presentation of test problems 67 332 Presentation of the results 67 333 Discussion of the computational results 68
34 Bibliography 70
Chapter 4 Production Planning 73 Nadia BRAUNER Gerd FINKE and Maurice QUEYRANNE
41 Introduction 73 42 Hierarchical planning 74 43 Strategic planning and productive system design 75
431 Group technology 75 432 Locating equipment 77
44 Tactical planning and inventory management 77 441 A linear programming model for medium-term planning 78
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Combinatorial Optimization volume 3
Applications of Combinatorial Optimization
Edited by Vangelis Th Paschos
First published 2010 in Great Britain and the United States by ISTE Ltd and John Wiley amp Sons Inc Adapted and updated from Optimisation combinatoire volumes 1 to 5 published 2005-2007 in France by Hermes ScienceLavoisier copy LAVOISIER 2005 2006 2007 Apart from any fair dealing for the purposes of research or private study or criticism or review as permitted under the Copyright Designs and Patents Act 1988 this publication may only be reproduced stored or transmitted in any form or by any means with the prior permission in writing of the publishers or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address ISTE Ltd John Wiley amp Sons Inc 27-37 St Georgersquos Road 111 River Street London SW19 4EU Hoboken NJ 07030 UK USA
wwwistecouk wwwwileycom copy ISTE Ltd 2010 The rights of Vangelis Th Paschos to be identified as the author of this work have been asserted by him in accordance with the Copyright Designs and Patents Act 1988
Library of Congress Cataloging-in-Publication Data Combinatorial optimization edited by Vangelis Th Paschos v cm Includes bibliographical references and index Contents v 1 Concepts of combinatorial optimization ISBN 978-1-84821-146-9 (set of 3 vols) -- ISBN 978-1-84821-149-0 (v 3) 1 Combinatorial optimization 2 Programming (Mathematics) I Paschos Vangelis Th QA4025C545123 2010 51964--dc22
2010018423 British Library Cataloguing-in-Publication Data A CIP record for this book is available from the British Library ISBN 978-1-84821-146-9 (Set of 3 volumes) ISBN 978-1-84821-149-0 (Volume 3)
Printed and bound in Great Britain by CPI Antony Rowe Chippenham and Eastbourne
Table of Contents
Preface xiii
Chapter 1 Airline Crew Pairing Optimization 1 Laurent ALFANDARI and Anass NAGIH
11 Introduction 1 12 Definition of the problem 2
121 Constructing subnetworks 2 122 Pairing costs 4 123 Model 4 124 Case without resource constraints 5
13 Solution approaches 7 131 Decomposition principles 7 132 Column generation master problem and subproblem 8 133 Branching methods for finding integer solutions 10
14 Solving the subproblem for column generation 11 141 Mathematical formulation 11 142 General principle of effective label generation 11 143 Case of one single resource the bucket method 13 144 Case of many resources reduction of the resource space 16
15 Conclusion 21 16 Bibliography 22
Chapter 2 The Task Allocation Problem 23 Moaiz BEN DHAOU and Didier FAYARD
21 Presentation 24 22 Definitions and modeling 24
221 Definitions 24 222 The processors 25
vi Combinatorial Optimization 3
223 Communications 25 224 Tasks 26 225 Allocation types 26 226 Allocationscheduling 27 227 Modeling 28
23 Review of the main works 29 231 Polynomial cases 30 232 Approximability 33 233 Approximate solution 34 234 Exact solution 35 235 Independent tasks case 36
24 A little-studied model 38 241 Model 38 242 A heuristic based on graphs 39
25 Conclusion 43 26 Bibliography 43
Chapter 3 A Comparison of Some Valid Inequality Generation Methods for General 0ndash1 Problems 49 Pierre BONAMI and Michel MINOUX
31 Introduction 49 32 Presentation of the various techniques tested 53
321 Exact separation with respect to a mixed relaxation 53 322 Approximate separation using a heuristic 55 323 Restriction + separation + relaxed lifting (RSRL) 55 324 Disjunctive programming and the lift and project procedure 59 325 Reformulationndashlinearization technique (RLT) 63
33 Computational results 67 331 Presentation of test problems 67 332 Presentation of the results 67 333 Discussion of the computational results 68
34 Bibliography 70
Chapter 4 Production Planning 73 Nadia BRAUNER Gerd FINKE and Maurice QUEYRANNE
41 Introduction 73 42 Hierarchical planning 74 43 Strategic planning and productive system design 75
431 Group technology 75 432 Locating equipment 77
44 Tactical planning and inventory management 77 441 A linear programming model for medium-term planning 78
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
First published 2010 in Great Britain and the United States by ISTE Ltd and John Wiley amp Sons Inc Adapted and updated from Optimisation combinatoire volumes 1 to 5 published 2005-2007 in France by Hermes ScienceLavoisier copy LAVOISIER 2005 2006 2007 Apart from any fair dealing for the purposes of research or private study or criticism or review as permitted under the Copyright Designs and Patents Act 1988 this publication may only be reproduced stored or transmitted in any form or by any means with the prior permission in writing of the publishers or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address ISTE Ltd John Wiley amp Sons Inc 27-37 St Georgersquos Road 111 River Street London SW19 4EU Hoboken NJ 07030 UK USA
wwwistecouk wwwwileycom copy ISTE Ltd 2010 The rights of Vangelis Th Paschos to be identified as the author of this work have been asserted by him in accordance with the Copyright Designs and Patents Act 1988
Library of Congress Cataloging-in-Publication Data Combinatorial optimization edited by Vangelis Th Paschos v cm Includes bibliographical references and index Contents v 1 Concepts of combinatorial optimization ISBN 978-1-84821-146-9 (set of 3 vols) -- ISBN 978-1-84821-149-0 (v 3) 1 Combinatorial optimization 2 Programming (Mathematics) I Paschos Vangelis Th QA4025C545123 2010 51964--dc22
2010018423 British Library Cataloguing-in-Publication Data A CIP record for this book is available from the British Library ISBN 978-1-84821-146-9 (Set of 3 volumes) ISBN 978-1-84821-149-0 (Volume 3)
Printed and bound in Great Britain by CPI Antony Rowe Chippenham and Eastbourne
Table of Contents
Preface xiii
Chapter 1 Airline Crew Pairing Optimization 1 Laurent ALFANDARI and Anass NAGIH
11 Introduction 1 12 Definition of the problem 2
121 Constructing subnetworks 2 122 Pairing costs 4 123 Model 4 124 Case without resource constraints 5
13 Solution approaches 7 131 Decomposition principles 7 132 Column generation master problem and subproblem 8 133 Branching methods for finding integer solutions 10
14 Solving the subproblem for column generation 11 141 Mathematical formulation 11 142 General principle of effective label generation 11 143 Case of one single resource the bucket method 13 144 Case of many resources reduction of the resource space 16
15 Conclusion 21 16 Bibliography 22
Chapter 2 The Task Allocation Problem 23 Moaiz BEN DHAOU and Didier FAYARD
21 Presentation 24 22 Definitions and modeling 24
221 Definitions 24 222 The processors 25
vi Combinatorial Optimization 3
223 Communications 25 224 Tasks 26 225 Allocation types 26 226 Allocationscheduling 27 227 Modeling 28
23 Review of the main works 29 231 Polynomial cases 30 232 Approximability 33 233 Approximate solution 34 234 Exact solution 35 235 Independent tasks case 36
24 A little-studied model 38 241 Model 38 242 A heuristic based on graphs 39
25 Conclusion 43 26 Bibliography 43
Chapter 3 A Comparison of Some Valid Inequality Generation Methods for General 0ndash1 Problems 49 Pierre BONAMI and Michel MINOUX
31 Introduction 49 32 Presentation of the various techniques tested 53
321 Exact separation with respect to a mixed relaxation 53 322 Approximate separation using a heuristic 55 323 Restriction + separation + relaxed lifting (RSRL) 55 324 Disjunctive programming and the lift and project procedure 59 325 Reformulationndashlinearization technique (RLT) 63
33 Computational results 67 331 Presentation of test problems 67 332 Presentation of the results 67 333 Discussion of the computational results 68
34 Bibliography 70
Chapter 4 Production Planning 73 Nadia BRAUNER Gerd FINKE and Maurice QUEYRANNE
41 Introduction 73 42 Hierarchical planning 74 43 Strategic planning and productive system design 75
431 Group technology 75 432 Locating equipment 77
44 Tactical planning and inventory management 77 441 A linear programming model for medium-term planning 78
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Table of Contents
Preface xiii
Chapter 1 Airline Crew Pairing Optimization 1 Laurent ALFANDARI and Anass NAGIH
11 Introduction 1 12 Definition of the problem 2
121 Constructing subnetworks 2 122 Pairing costs 4 123 Model 4 124 Case without resource constraints 5
13 Solution approaches 7 131 Decomposition principles 7 132 Column generation master problem and subproblem 8 133 Branching methods for finding integer solutions 10
14 Solving the subproblem for column generation 11 141 Mathematical formulation 11 142 General principle of effective label generation 11 143 Case of one single resource the bucket method 13 144 Case of many resources reduction of the resource space 16
15 Conclusion 21 16 Bibliography 22
Chapter 2 The Task Allocation Problem 23 Moaiz BEN DHAOU and Didier FAYARD
21 Presentation 24 22 Definitions and modeling 24
221 Definitions 24 222 The processors 25
vi Combinatorial Optimization 3
223 Communications 25 224 Tasks 26 225 Allocation types 26 226 Allocationscheduling 27 227 Modeling 28
23 Review of the main works 29 231 Polynomial cases 30 232 Approximability 33 233 Approximate solution 34 234 Exact solution 35 235 Independent tasks case 36
24 A little-studied model 38 241 Model 38 242 A heuristic based on graphs 39
25 Conclusion 43 26 Bibliography 43
Chapter 3 A Comparison of Some Valid Inequality Generation Methods for General 0ndash1 Problems 49 Pierre BONAMI and Michel MINOUX
31 Introduction 49 32 Presentation of the various techniques tested 53
321 Exact separation with respect to a mixed relaxation 53 322 Approximate separation using a heuristic 55 323 Restriction + separation + relaxed lifting (RSRL) 55 324 Disjunctive programming and the lift and project procedure 59 325 Reformulationndashlinearization technique (RLT) 63
33 Computational results 67 331 Presentation of test problems 67 332 Presentation of the results 67 333 Discussion of the computational results 68
34 Bibliography 70
Chapter 4 Production Planning 73 Nadia BRAUNER Gerd FINKE and Maurice QUEYRANNE
41 Introduction 73 42 Hierarchical planning 74 43 Strategic planning and productive system design 75
431 Group technology 75 432 Locating equipment 77
44 Tactical planning and inventory management 77 441 A linear programming model for medium-term planning 78
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
vi Combinatorial Optimization 3
223 Communications 25 224 Tasks 26 225 Allocation types 26 226 Allocationscheduling 27 227 Modeling 28
23 Review of the main works 29 231 Polynomial cases 30 232 Approximability 33 233 Approximate solution 34 234 Exact solution 35 235 Independent tasks case 36
24 A little-studied model 38 241 Model 38 242 A heuristic based on graphs 39
25 Conclusion 43 26 Bibliography 43
Chapter 3 A Comparison of Some Valid Inequality Generation Methods for General 0ndash1 Problems 49 Pierre BONAMI and Michel MINOUX
31 Introduction 49 32 Presentation of the various techniques tested 53
321 Exact separation with respect to a mixed relaxation 53 322 Approximate separation using a heuristic 55 323 Restriction + separation + relaxed lifting (RSRL) 55 324 Disjunctive programming and the lift and project procedure 59 325 Reformulationndashlinearization technique (RLT) 63
33 Computational results 67 331 Presentation of test problems 67 332 Presentation of the results 67 333 Discussion of the computational results 68
34 Bibliography 70
Chapter 4 Production Planning 73 Nadia BRAUNER Gerd FINKE and Maurice QUEYRANNE
41 Introduction 73 42 Hierarchical planning 74 43 Strategic planning and productive system design 75
431 Group technology 75 432 Locating equipment 77
44 Tactical planning and inventory management 77 441 A linear programming model for medium-term planning 78
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Table of Contents vii
442 Inventory management 79 443 Wagner and Whitin model 80 444 The economic order quantity model (EOQ) 83 445 The EOQ model with joint replenishments 88
45 Operations planning and scheduling 90 451 Tooling 91 452 Robotic cells 97
46 Conclusion and perspectives 104 47 Bibliography 105
Chapter 5 Operations Research and Goods Transportation 111 Teodor Gabriel CRAINIC and Freacutedeacuteric SEMET
51 Introduction 111 52 Goods transport systems 113 53 Systems design 115
531 Location with balancing requirements 115 532 Multiproduct productionndashdistribution 118 533 Hub location 119
54 Long-distance transport 122 541 Service network design 122 542 Static formulations 123 543 Dynamic formulations 130 544 Fleet management 131
55 Vehicle routing problems 137 551 Definitions and complexity 138 552 Classical extensions 138
56 Exact models and methods for the VRP 139 561 Flow model with three indices 140 562 Flow model for the symmetric CVRP 141 563 Set partitioning model 142 564 Branch-and-cut methods for the CVRP 143 565 Column generation methods for the VRPTW 146
57 Heuristic methods for the VRP 147 571 Classical heuristics 147 572 Metaheuristics 152 573 The VRP in practice 159
58 Conclusion 160 59 Appendix metaheuristics 161
591 Tabu search 161 592 Evolutionary algorithms 162
510 Bibliography 164
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
viii Combinatorial Optimization 3
Chapter 6 Optimization Models for Transportation Systems Planning 177 Teodor Gabriel CRAINIC and Michael FLORIAN
61 Introduction 177 62 Spatial interaction models 178 63 Traffic assignment models and methods 181
631 System optimization and user optimization models 182 632 Algorithms for traffic assignment for the user optimization model 184 633 The user problem as variational inequality 189
64 Transit route choice models 193 65 Strategic planning of multimodal systems 197
651 Demand 199 652 Mode choice 200 653 Representing transport supply and assigning demand 200
66 Conclusion 204 67 Bibliography 204
Chapter 7 A Model for the Design of a Minimum-cost Telecommunications Network 209 Marc DEMANGE Ceacutecile MURAT Vangelis Th PASCHOS and Sophie TOULOUSE
71 Introduction 209 72 Minimum cost network construction 210
721 The difficulties of solving jointly or globally 210 722 Why tackle the global problem 212 723 How to circumvent these difficulties 212
73 Mathematical model general context 213 731 Hypotheses 213 732 The original problem 214 733 Solution principle 214
74 Proposed algorithm 216 741 A bit of sensitivity in an NP-hard world 217 742 The initial solution 217 743 Step-by-step exploration 217
75 Critical points 220 751 Parametric difficulties 220 752 Realities not taken into account 221 753 Complexity in size of the problem 221
76 Conclusion 223 77 Bibliography 223
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Table of Contents ix
Chapter 8 Parallel Combinatorial Optimization 225 Van-Dat CUNG Bertrand LE CUN and Catherine ROUCAIROL
81 Impact of parallelism in combinatorial optimization 225 82 Parallel metaheuristics 226
821 Notion of walks 227 822 Classification of parallel metaheuristics 228 823 An illustrative example scatter search for thequadratic assignment or QAP 230
83 Parallelizing tree exploration in exact methods 235 831 Return to two success stories 235 832 BampX model and data structures 237 833 Different levels of parallelism 238 834 Critical tree and anomalies 239 835 Parallel algorithms and granularity 240 836 The BOB++ library 241 837 BampX on grids of machines 243
84 Conclusion 247 85 Bibliography 248
Chapter 9 Network Design Problems Fundamental Methods 253 Alain Quilliot
91 Introduction 253 92 The main mathematical and algorithmic tools for network design 258
921 Decomposition in linear programming and polyhedra 258 922 Flows and multiflows 265 923 Queuing network 272 924 Game theory models 273
93 Models and problems 275 931 Location problems 275 932 Steiner trees and variants 275
94 The STEINER-EXTENDED problem 280 95 Conclusion 281 96 Bibliography 281
Chapter 10 Network Design Problems Models and Applications 291 Alain Quilliot
101 Introduction 291 102 Models and location problems 293
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
x Combinatorial Optimization 3
1021 Locating the network access device 294 1022 Locating machines and activities at the core of a production space 296
103 Routing models for telecommunications 298 1031 Numerical tests 299
104 The design or dimensioning problem in telecommunications 301 1041 Numerical tests 302
105 Coupled flows and multiflows for transport and production 306 1051 Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem 310
106 A mixed network pricing model 314 107 Conclusion 319 108 Bibliography 319
Chapter 11 Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints 327 Bernard ROY and Roman SLOWINSKI
111 Introduction and formulation of the problem 328 1111 Example a organizing non-compulsory lesson choices by students 329 1112 Example b temporal activity programming 330 1113 Example c task scheduling on machines 330
112 Modeling the set of feasible assignments 331 113 The concept of a blocking configuration and analysis of the unblocking means 334
1131 A reminder of a few results from flow theory 334 1132 Analysis of the minimum cut revealed by labeling a maximum flow on N 334 1133 The concept of blocking configuration 336 1134 Unblocking actions 341
114 The multicriteria assignment problem 346 1141 Definition of the criteria family 346 1142 Satisfactory compromise selection strategy 347
115 Exploring a set of feasible non-dominated assignments in the plane g2 times g3 348
1151 The bicriteria assignment problem with mutual exclusion constraints 348 1152 Finding supported solutions of problem P 351 1153 Matrix representation of problem P 352 1154 Finding unsupported solutions of problem P 353
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Table of Contents xi
116 Numerical example 357 1161 Example with a blocking configuration present 357 1162 Example without a blocking configuration 360
117 Conclusion 363 118 Bibliography 364
List of Authors 365
Index 369
Summary of Other Volumes in the Series 373
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Preface
This book is the third and last volume of the Combinatorial Optimization series It deals with the applications of combinatorial optimization These are what fully justify the relevance of this scientific domain and widen its fundamental concepts The subjects of this volume deal with various and diverse problems more or less classic but still relevant today Its chapters are devoted to various problems such as
ndash airline crew scheduling
ndash transport of goods and planning
ndash scheduling of tasks in parallel programming
ndash applications of polyhedral combinatorics
ndash production planning
ndash modeling and optimization of network synthesis and design problems
ndash parallel optimization
ndash multicriteria task assigning to heterogenous processors and its robustness
In Chapter 1 the problem of optimizing the rotation of airline crews is dealt with This problem consists of covering with minimum cost all the flights of the company scheduled in a given time window with teams made up from cockpit personnel (pilots copilots) and cabin personnel (hostesses stewards) With a frequency of several days (of the order of one week) each team leaves the base to which it is assigned carries out a certain number of flights sequentially and comes back to the base (this is what we call ldquoturnoverrdquo) Drawing up the team turnover for an airline is highly restricted by international national and internal work regulations and by the availability of resources Because of this the problem dealt with in this chapter is particularly difficult to solve
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
xiv Combinatorial Optimization 3
The aim of Chapter 4 entitled Production Planning is to highlight some specific models in production planning and management that are very interesting and relevant from a combinatorial optimization point of view It is structured according to a hierarchical planning approach and introduces three main themes
ndash strategic planning and productive system design
ndash tactical production planning and inventory control
ndash operational production planning and scheduling
Chapter 5 is devoted to a vast subject ndash one of the most central to research operations ndash the problem of goods transportation The main topics studied here concern both the level of planning of the transport operations and steps in the supply chain Various subjects are introduced
ndash important models of transport and logistics systems conception deployed on a large (region country world) or small (district city region) scale
ndash models for designing service networks as well as models aiming to manage fleets
ndash the vehicle routing problem this is a central transport distribution and logistics problem also linked to operational car fleet management more specifically the authors deal with three main variants of this problem capacity constraints length and capacity constraints and time windows the main models for these variants as well as exact and heuristic approaches for these models are presented
Chapter 6 introduces optimization models for transportation planning The theory and applications of these models are vast and complicated subjects especially when concerning the transport of passengers in an urban zone or region (applications to the problems of planning the movement of goods are more recent and rely heavily on the results of passenger transport) A wide variety of econometric and optimization models and methods is used to formulate and calibrate the models In this chapter four categories of optimization models are introduced spatial interaction models network balancing models public transport route choices and planning models for multimode multiproduct goods transportation networks
In Chapter 7 a model for the design of a telecommunications network is presented that simultaneously computes capacities and routings two problems that are generally handled separately First the main difficulties of this problem are presented and discussed Next a mathematical model and an algorithm for its solution are proposed
In Chapter 2 the problem of task assignment for parallel programs is studied This problem one of the most important in parallelism comes about when we seek
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Preface xv
to improve the performance of a program run on several machines Given the heterogeneity of the architectures available it is impossible to give a model appropriate for all situations (architectures objectives program executions etc) Because of this for more than 30 years a lot of research has tackled several aspects of this problem The authors of the chapter introduce the different elements to be taken into account in order to model this type of problem and present a number of results
Chapter 3 is devoted to a comparison of some valid inequality generation methods for general 0ndash1 integer problems The authors compare different valid inequality generation techniques for linear 0ndash1 programs The approaches studied include classic techniques (for example ldquolift amp projectrdquo) disjunctive programming and ldquoreformulation linearizationrdquo techniques Careful comparisons of the results of calculations are carried out on multidimensional knapsack benchmarks by considering three main criteria the quality of the generated inequalities measured by the ratio between the two members of the inequality the quality of the inequalities measured by the reinforcement brought to the continuous relaxation and finally the computation time for the generation of valid inequalities
Optimization of several aspects of network design problems presented in Chapter 9 has taken on particular importance in operations research and combinatorial optimization in the last 20 years because of the spectacular growth of computer science and telecommunications and to a lesser degree of transportation and production systems This chapter reviews a large number of methods tools and results in this domain
Chapter 10 Network Design Problems Models and Applications completes Chapter 9 by introducing a large number of models and applications concerning network synthesis
Chapter 8 is dedicated to parallel combinatorial optimization and focuses on the history and advances of the parallel solution of one of the most paradigmatic problems in combinatorial optimization the quadratic assignment problem Through this problem we see how classic combinatorial optimization tools are used in parallelism namely metaheuristics and exact search-tree methods We also examine several parallelization strategies
Finally the problem considered in Chapter 11 is the multicriteria assignment of tasks to heterogenous processors under constraints of capacity and mutual exclusion This is a generalization of the classic assignment problem by taking into account the mutual exclusion constraints that restrict the assignment possibilities of tasks to processors because of incompatible groups of tasks These groups are defined with respect to each processor each processor only being able to process at most one task
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
xvi Combinatorial Optimization 3
for the group under consideration Each processor can usually process a certain number of tasks for zero cost its capacity being able to increase for marginal non-decreasing costs Each task must be assigned to one and only one processor with certain ldquopreferencesrdquo These are formalized by means of ldquodissatisfaction indicesrdquo The quality of an assignment is evaluated via three criteria the maximum dissatisfaction of tasks the total dissatisfaction of tasks and the total cost of processing This chapter provides additional proof of the contribution of combinatorial optimization to the sister domain of operations research and decision making
Like the other volumes in this set this book is intended for senior or junior researchers or even Masterrsquos students Masterrsquos students will probably need a little basic knowledge of graph theory and mathematical (especially linear) programming even though the authors have been careful to give definitions of all the concepts they use in their chapters In any case to improve hisher knowledge of graph theory readers are invited to consult a seminal book from one of our gurus Claude Berge (Graphs and Hypergraphs North Holland 1973) For linear programming there is a multitude of good books that the reader could consult for example Vašek Chvaacutetal Linear Programming WH Freeman 1983 or Michel Minoux Programmation Matheacutematique Theacuteorie et Algorithmes Dunod 1983
A great adventure which started almost eight years ago in November 2002 with the editing of the French and then the English versions of this series is coming to an end For the exciting adventure that the editing of this book has been all my thanks go firstly to the authors who despite their many responsibilities and commitments (which is the lot of any university academic) agreed to participate in the book by writing chapters in their areas of expertise and at the same time to take part in a very tricky exercise writing chapters that are simultaneously both educational and high-level science
For the French version of the handbook Bruno Escoffier Chico Della Croce Hadrien Hugo Jeacuterocircme Monnot Stratos my TEXpert brother Olivier Pottieacute and Dominique Quadri helped me to solve several problems dealing with proofreading translation and LATEX Thank you guys
A major part of the three last volumes of the French edition were finalized during my sabbatical at the Computer Science departments of the University of Athens and of Athens University of Economics and Business Elias Koutsoupias and Vassilis Zissimopoulos on the one hand and Giannis Milis on the other invited and welcomed me and put at my disposal all the available means and resources I needed to work efficiently To them I would like to express my warmest thanks and my humblest gratitude and friendship
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Preface xvii
This work could never have come into being without the initial proposal of Jean-Charles Pomerol Vice President of the scientific committee at Hermes and of the head of publications at Hermes Sami Meacutenasceacute I give my warmest thanks to them for their insistence and encouragement I would also like to thank Chantal Meacutenasceacute from Hermes publishing for her kindness availability and her ingenuity in finding solutions to all editorial problems and Raphael Meacutenasceacute head of publications at ISTE for his kindness and his patience While I was already friends with Jean-Charles editing this work has made me three more friends Chantal Sami and Raphael I hope our collaboration will continue It is a pleasure for me to work with them
Maggy Trognon has become my favorite proofreader for the French edition Many thanks to her for the corrections that she made to the French document her attention her meticulousness her kindness and her great professionalism Also it has been a pleasure to work with Rupert Heywood who has ingeniously translated the material from the original French
I will finish this preface on a personal note concerning two losses that touched our scientific community Between April 2002 when the writing of the French edition of the handbook started and today the international community of operations research and combinatorial optimization lost two of its greatest spiritual fathers Claude Berge and Peter Hammer They were both great scientists in discrete mathematics and combinatorial optimization
Claude Berge was the president of the committee of my habilitation thesis I will always remember our discussions in his office at the EHESS on mathematics on American detective novels from the first half of the 20th century and on OULIPO of which I learned the history through the Greek literary magazine Λξη when I was still a student at the Polytechnic School of Athens
Peter Hammer was to be one of the authors of both (French and English) editions of the handbook He did not have time to send me his chapter
In them we lose two of the great figures of our discipline We will always remember them
Vangelis Th PASCHOS June 2010
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Chapter 1
Airline Crew Pairing Optimization
11 Introduction
In the airline industry optimizing and automating the building of crew pairingsis a major financial and organizational issue The problem consists of covering allthe companyrsquos flights programmed in a given time window with teams made up ofcockpit personnel (pilots copilots) and of cabin personnel (stewardesses stewards) ata minimum cost With a frequency of several days (in the order of a week) each crewleaves from the base to which it is assigned carries out a certain number of flights andcomes back to the base This sequence of flights with a return to the base is called a ro-tation or pairing Drawing up the pairings of an airline company is highly constrainedby international national and internal work regulations and by the limited availabilityof resources These constraints make the problem particularly hard to solve Besidesthe gains in terms of organization security and calculation time the use of optimiza-tion programs and models for this problem allows big companies to make substantialfinancial gains It is not unusual for a reduction of 1 in the total cost of the rostersto result in savings of several tens of millions of dollars for big companies [DES 97]which is one reason for the abundant fundamental and applied research on this subjectThe general crew pairing problem with resource constraints problem (CPP-RC) canbe formulated as a minimum cost multicommodity flow problem with additional vari-ables and resource constraints Even though in most applications the cost of a rotationis non-linear [DES 97 LAV 88] in this chapter we will restrict ourselves to the casewhere the cost function is a linear approximation The ways of constructing a networkof feasible pairings and calculating the cost of the rosters along with the associatedmathematical program are presented in section 12 Section 13 gives an overview of
Chapter written by Laurent ALFANDARI and Anass NAGIH
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
2 Combinatorial Optimization 3
classical solution techniques with a focus on the column generation method whoseassociated subproblem is studied in section 14 Section 15 concludes the chapter
12 Definition of the problem
The set of flights to be covered by the crews is denoted by V = 1 n Theflight program and the associated timetables are established more or less exactly forthe considered period in the order of a month or a week depending on the size of thecompany The term flight associated with each element i isin V is abusive in some casesinsofar as i may in reality represent a sequence of aggregated and indivisible flightsthat is a series of flights that can only be covered by the same crew Also the task tobe covered by a crew is often not only a flight but rather a flight service that may startbefore and end after the actual flight to account for the time needed for preparing theplane and for accompanying passengers for example However we will maintain thisflight terminology to help readability For each flight i isin V we know
i) the departure time t
(i)
ii) the arrival time t
(i)
iii) the departure airport a
(i)
iv) the destination airport a
(i)
A rotation must start and end at one of the companyrsquos bases The set B of bases isgenerally made up of large interconnection platforms called hubs The CPP often hasresource constraints on the pairings In order to take the pairing validity constraintsinto account a classical modeling associates a subnetwork constructed in the follow-ing way with each crew
121 Constructing subnetworks
The set of crews that may be used to cover the companyrsquos flights is indexed byk isin K = 1 K For k isin K bk isin B refers to the departure and arrival basesfor crew k A graph Gk = (X kAk) is then associated with crew k isin K where X krefers to the set of the network nodes and Ak to the set of arcs The set X k is dividedinto three subsets
X k = ok cup Vk cup dkwhere for k isin K
ndash the origin ok (or the destination dk respectively) refers to the source (or the sinkrespectively) of network Gk
ndash Vk sube V refers to the set of flights programmed by the company that can becovered by crew k
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Airline Crew Pairing Optimization 3
The arc set Ak is
Ak = OVk cup VVk cup VDk cup (ok dk)
where
OVk = (ok i) i isin Vk a(i) = bk
VVk sube Uk = (i j) isin Vk times Vk a
(i) = a
(j)
t
(j) t
(i) + tmin(i j)VDk = (i dk) i isin Vk a
(i) = bk
Passing through arc (ok dk) will denote that crew k will not be used Uk is the setof pairs of flights (i j) that satisfy the following necessary conditions for making thesequence of flights (l j) possible for the same crew
i) the arrival airport of flight i is the departure airport of flight j
ii) the departure time of flight j is later than the arrival time of flight i with agap greater than or equal to a value tmin(i j) fixed by the company or by the transitconstraints of the airport
Generally VVk = Uk because the work regulations of the company impose a certainnumber of additional constraints (meal slots breaks overnight stops) that restrict theconnection possibilities between flights Furthermore global constraints which varyfrom one company to another are generally associated with each rotation Let us citethe following possible constraints
ndash lower andor upper bound on the total duration of the rotation
ndash lower andor upper bound on the total work time (total work time = total flighttime + transfers + legal breaks)
ndash lower bound on the number of rest days
ndash lower bound on the number of rest hours daily
ndash upper bound on the number of flights
ndash upper bound on the number of consecutive working hours
These constraints can be modeled by the following parameters
ndash a set Q = 1 Q of resources
ndash resource consumptions tkqij associated with each arc (i j) isin Ak and each re-source q isin Q
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
4 Combinatorial Optimization 3
ndash of minimum threshold akqi and maximum threshold bkqi for the consumption ofresource q isin Q to be satisfied for each crew k isin K in each node i of the networkif the resource constraints relate to the whole rotation that is only to the destinationnode d and not to the intermediate nodes then akqi = 0 and bkqi =infin for every nodei = d
122 Pairing costs
The calculation of the cost of a pairing is generally complex and varies dependingon the company This cost may be a non-linear function of several parameters suchas resource consumption total duration and total flight time of the rotation [DES 97LAV 88] In order to establish a generic model for this chapter we consider that thecost function is a linear approximation and can be decomposed by crew k = 1 Kand by arcs (i j) isin Ak The cost of the pairing made by crew k isin K will therefore bethe sum of the costs ckij associated with the arcs (i j) isin Ak that make up this rotation
123 Model
The crew pairing problem with resource constraints (CPP-RC) can be modeledif the cost function is linear using mixed integer linear programming (MILP) Wehave a minimum cost multicommodity flow problem with binary flow variables andcontinuous resource variables (RP-RC)
MinKsumk=1
sum(ij)isinAk
ckijxkij [11]
scKsumk=1
sumj(ij)isinAk
xkij 1 i isin V = 1 n [12]
sumi(oki)isinAk
xkoki = 1 k isin K [13]
sumi(idk)isinAk
xkidk = 1 k isin K [14]
sumi(ij)isinAk
xkij =sum
l(jl)isinAk
xkjl j isin Vk [15]
T kqi + tkqij minus T kqj M(1minus xkij) (i j) isin Ak k isin K q isin Q [16]
akqi T kqi bkqi i isin Vk k isin K q isin K [17]
xkij isin 0 1 T kqi 0 [18]
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Airline Crew Pairing Optimization 5
The binary variables xkij indicate whether the pairing uses arc (i j) isin Ak (and there-
fore performs the sequence of flights i and j if (i j) isin VVk) while variables T kqi
indicate the cumulative consumption of each resource q at each node i of networkGkObjective [11] minimizes the total cost of the pairings Constraints [12] express thecovering of each flight by at least one crew if only one crew is allowed per flightthe constraint is set to equality Constraints [13]ndash[15] define a path structure in thesubnetworkGk the passage of a flow of one unit [13] or [14] and flow conservationat vertices [15] Constraints [16]ndash[17] are the resource constraints associated witheach rotation Constraint [16] in which M gt 0 is a very large parameter can also befound in the following non-linear form
xkij(Tkqi + tkqij minus T kqj ) 0 for (i j) isin Ak k isin K q isin Q [19]
The inequality in [16] or [19] stipulates that waiting is allowed for the crew in theopposite case the constraint is written as an equality This constraint allows us toobtain the cumulated resource consumption q at the node j since we have
T kqj = max(akqj T kqi + tkqij )
Constraints [17] are bound constraints on the nodes of the network (time windowsfor example) Note that constraints [13]-[17] are local constraints only valid forsubnetwork Gk Only the covering constraints [12] are global constraints that linkthe K subnetworks Relaxing these linking constraints and decomposing the initialproblem by subnetworks will therefore be an interesting solution option Let us lastlynote that the resource constraints [16]-[17] make the (CPP-RC) problem NP-hardEven the associated feasibility problem is NP-complete
124 Case without resource constraints
When the problem has no resource constraints [16]-[17] if all crews have thesame valid pairings then we have a flow structure in a single network G = (X A)where X = o cup V cup d and A is the set of the possible connections between thenodes of the network The model becomes
Minsum
(ij)isinAcijxij [110]
scsum
i(ij)isinAxij 1 for j isin V = 1 n [111]
(CPP)sum
i(ij)isinAxij =
suml(jl)isinA
xjl for j isin V [112]
xij isin 0 1 for (i j) isin A [113]
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
6 Combinatorial Optimization 3
Flight Departure Arrival Departure Arrivalno airport (a
) airport (a
) time (t
) time (t
)
AF456 Paris CDG London 825 922AF132 Paris CDG Frankfurt 801 855AF330 Paris CDG Zurich 810 917AF254 Frankfurt Zurich 1157 1242AF402 Frankfurt London 1200 1318AF370 Zurich Frankfurt 1350 1435AF411 London Paris CDG 1710 1805AF245 Frankfurt Paris CDG 1938 2030AF111 Zurich Paris CDG 1700 1812
Table 11 Data set example
The parameter cij is the cost associated with taking arc (i j) isin A The (CPP) problemcan be solved using a classical minimum cost maximum flow algorithm [FOR 62]
Example of network construction
We consider a simple example of the (RP) problem without resource constraintsThe parameters are presented in Table 11
In the graph in Figure 11 associated with the above parameters we consider thatthe cost on an arc (i j) isin A is equal to the time t
(j)minus t(i) spent between the two
flights and the objective function is to minimize the total time not spent working onflights over the set of crews The optimal solution for the covering problem consistsof employing four crews that make the following rotations
1) AF456 + AF411
2) AF132 + AFAF402 + AF411
3) AF132 + AF254 + AF370 + AF245
4) AF330 + AF111
for a total cost of 33 hours 38 minutes spent outside the planes Of course this fic-titious example does not take into account either the resource constraints and timewindows inherent in real applications or the fact that a crew does not generally workonly for the duration of the flight
To conclude this section let us note that studying the literature on the crew pairingproblem allows us to identify several interesting variants or extensions of the problemOne of them proposes to establish in detail the composition of each crew (number of
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Airline Crew Pairing Optimization 7
Figure 11 A simple network example
copilots cabin chiefs stewards etc) according to the needs expressed by the person-nel category for each flight [YAN 02] Another extension of the problem [COR 00]consists of globally and simultaneously processing the plane scheduling problem andthe crew pairing problem which are usually processed sequentially Thus in theclassical approach the plane scheduling problem is first solved in such a way as toestablish which type of plane will cover each flight i isin V which allows us to deducethe set of crews k that can cover the flight that is if i isin Vk or i isin Vk This sequentialapproach is clearly suboptimal with regard to a global approach but is less complexto process
13 Solution approaches
131 Decomposition principles
We distinguish two types of constraints in system [12]ndash[17]
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
8 Combinatorial Optimization 3
i) so-called linking or global covering constraints [12] which link the set of crewsk = 1 K
ii) constraints [13]ndash[17] specific to each crew k isin 1 K that define a legalitinerary for a pairing
Since the matrix associated with constraints [13]ndash[17] is block diagonal and objec-tive [11] is separable (because it is linear) solving the continuous relaxation of thismodel can be based on DantzigndashWolfersquos decomposition In this type of decomposi-tion constraints [13]ndash[17] defineK independent subproblems and global constraints[12] are conserved in the master problem In a scheme of the column generation typewe must alternately solve the master problem and the K subproblems To obtain aninteger solution this scheme can be applied at each node of the search tree The princi-pal difficulty lies in solving the subproblems whose state spaces can increase exponen-tially with the number of resourcesQ which makes the use of heuristics unavoidableFurthermore because the convergence of the column generation scheme is affected bythe quality of the solutions provided by solving its subproblems effectively solvingreal instances that come from industry requires finding a good compromise betweenthe quality of the solutions and the solution time of the subproblems In what followswe give the details of the general principle of column generation for the (CPP-RC)problem
132 Column generation master problem and subproblem
Column generation methods (see Volume 1 Chapter 8)have been successfully ap-plied to crew pairing problems [CRA 87 LAV 88] In this approach the problemis reformulated as a set covering problem (SCP) (or set partitioning problem if thecovering constraint of the flights is an equality)
MinsumrisinR
crxr [114]
scsumrisinR
airxr 1 for i isin V = 1 n [115]
(SCP) xr isin 0 1 for r isin R [116]
where R refers to the set of admissible pairings that satisfy the resource and flightsequence constraints cr represents the cost of pairing r isin R air = 1 if and only ifpairing r covers the flight i and the binary variable xr indicates whether pairing r ischosen or not in the solution
We denote by (SCP ) the continuous relaxation of the (SCP) problem where in-tegrity constraints [116] are replaced by xr 0 for r isin R Since the total number of
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
Airline Crew Pairing Optimization 9
admissible rotations |R| is generally an exponential function of the number n = |V| offlights to be covered exhaustive enumeration of R is to be avoided Despite this it ispossible to find in a reasonable time an optimal solution of (SCP ) by only generatinga limited subset of rotations (that is of columns of the constraint matrix) The princi-ple is as follows Let R0 be a feasible solution for (SCP) which includes a restrictednumber of rotations from R generated by any heuristic We can solve using linear
programming (for example using the simplex algorithm) the program (CP0) which
is the restriction of (CP ) to the subset of rotationsR0 This solution also provides amultiplier or dual variable vector
(δ01 δ02 δ
0n)
associated with the n flights to be covered The optimality criterion according to whichall pairings have positive reduced cost at optimality leads us to look for the rotation ofsmallest reduced negative cost that is
r0 = argminrisinR
(cr minus
nsumi=1
δ0i air
)[117]
If this pairing r0 can be found in a reasonable time we can then restart solving thecovering program (SCP ) on the set R1 = R0 cup r0 adding the column ar0 to the
constraint matrix In general at each iteration t we solve the master problem (SCPt)
MinsumrisinRt
crxr [118]
scsumrisinRt
airxr 1 for i isin V = 1 n [119]
(SCPt) xr 0 for r isin Rt [120]
such thatRt = Rtminus1 cup rtminus1
where if δtminus1 refers to the multiplier vector associated with the n flights in solving
SCPtminus1
the pairing rtminus1 of negative reduced smallest cost is defined by
rtminus1 = argminrisinR
(cr minus
nsumi=1
δtminus1i air
)[121]
The term column generation comes from adding column art to the constraints matrixof the master problem at each iteration t This process of iteratively solving the mas-ter problem [118]ndash[120] and subproblem [121] is stopped when all pairings are of
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we
10 Combinatorial Optimization 3
positive reduced cost in solving the subproblem ndash a sign that the continuous optimumhas been reached ndash that is at the iteration s such that
minrisinR
(cr minus
nsumi=1
δsi air
)gt 0
A variant of this method which allows us to accelerate the process [LAV 88] consistsof adding at each iteration a subset of rotations of negative reduced cost instead of thesingle best rotation of subproblem [121] The maximum size of this subset of enteringcolumns can be configured in such a way as to evolve during the algorithm The globalcomplexity of the method strongly depends on the complexity of the subproblemwhich the resource constraints make NP-hard It is often possible however to solve itin a reasonable time thanks to an implicit enumeration of R by exploiting the graphstructure of the subproblem and applying variants of shortest path algorithms Thiswill be explained in detail in section 14
133 Branching methods for finding integer solutions
In section 132 the optimal solution of the covering problem (SCP ) found at theend of the column generation procedure generally has a large proportion of integercomponents (see [LAV 88] for numerical results) but can be fractional An initialapproach for obtaining an integer solution consists of solving the (SCP) problem ininteger variables with the setRs of columns generated during the process Of coursethis approach does not give any theoretical guarantee of optimality but is found to benearly optimal in practice [LAV 88]
Another tree approach of the branch and bound type consists of branching onthe variables xkij of LP [12]ndash[17] and evaluating each node of the tree using thecontinuous relaxation of the LP Since the number of variables and constraints is veryhigh in the explicit model [12]ndash[17] the bound is generally calculated using thecolumn generation method seen in section 132 This tree method based on columngeneration commonly known as branch and price proves to be more effective thanthe branch and bound method where the lower bound would be calculated by thecontinuous relaxation of the initial problem [12]ndash[17] Another advantage of thisapproach is that column generation allows us to obtain a large subset of rotationsthat satisfy the resource constraints whose associated variables are equal to 1 at theoptimum of (SCP ) The number of branchings necessary to end up with the integersolution of the problem can therefore be limited for problems of medium size
An alternative approach known as branch and cut consists of iteratively gener-ating valid polyhedral cuts that is cuts that only exclude fractional solutions of theproblem until the solution found is integer or it is no longer possible to add any cutsThis approach is described by Hoffman and Padberg [HOF 93] In section 14 we