Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization...

30

Transcript of Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization...

Page 1: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United
File Attachment

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

Page 2: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 3: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 4: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 5: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 6: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 7: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 8: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 9: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 10: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 11: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 12: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 13: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 14: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 15: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 16: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 17: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 18: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 19: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 20: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 21: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 22: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 23: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 24: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 25: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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

Page 26: Applications of Combinatorial Optimization€¦ · Applications of Combinatorial Optimization Edited by Vangelis Th. Paschos . First published 2010 in Great Britain and the United

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