Applications of Combinatorial Optimization [2ed.] 1848216580, 978-1-84821-658-7, 9781848216563, 1848216564, 9781848216570, 1848216572

Combinatorial optimization is a multidisciplinary scientific area, lying in the interface of three major scientific doma

515 157 5MB

English, French Pages 448 [449] Year 2014

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Applications of Combinatorial Optimization [2ed.]
 1848216580, 978-1-84821-658-7, 9781848216563, 1848216564, 9781848216570, 1848216572

Table of contents :
Content: V. 1. Concepts of combinatorial optimization --
v. 2. Paradigms of combinatorial optimization : problems and new approaches --
v. 3. Applications of combinatorial optimization.

Citation preview

W658-Paschos 3.qxp_Layout 1 01/07/2014 15:56 Page 1

MATHEMATICS AND STATISTICS SERIES

Combinatorial Optimization is a subset of optimization that is related to operations research, algorithm theory, and computational complexity theory. It has important applications in several fields, including artificial intelligence, mathematics, and software engineering.

The three volumes of this series form a coherent whole. The set of books is intended to be a self-contained treatment requiring only basic understanding and knowledge of a few mathematical theories and concepts. It is intended for researchers, practitioners and MSc or PhD students.

Vangelis Th. Paschos is Exceptional Class Professor of Computer Science and Combinatorial Optimization at the Paris-Dauphine University and chairman of the LAMSADE (Laboratory for the Modeling and the Analysis of Decision Aiding Systems) in France.

www.iste.co.uk

Z(7ib8e8-CBGFIH(

2nd Edition Revised and Updated

This third volume, which is focused on applications of Combinatorial Optimization, presents a number of the most common and well-known applications of Combinatorial Optimization.

Applications of Combinatorial Optimization

Combinatorial Optimization is a multidisciplinary field, lying at the interface of three major scientific domains: applied mathematics, theoretical computer science, and management studies. Its focus is on finding the least-cost solution to a mathematical problem in which each solution is associated with a numerical cost. In many such problems, exhaustive search is not feasible, so the approach taken is to operate within the domain of optimization problems, in which the set of feasible solutions is discrete or can be reduced to discrete, and in which the goal is to find the best solution. Some common problems involving combinatorial optimization are the traveling salesman problem and the minimum spanning tree problem.

Edited by Vangelis Th. Paschos

This updated and revised 2nd edition of the three-volume Combinatorial Optimization series covers a very large set of topics in this area, dealing with fundamental notions and approaches as well as several classical applications of Combinatorial Optimization.

Applications of Combinatorial Optimization 2nd Edition Revised and Updated Edited by Vangelis Th. Paschos

Applications of Combinatorial Optimization

Revised and Updated 2nd Edition

Applications of Combinatorial Optimization

Edited by

Vangelis Th. Paschos

First edition published 2010 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.© ISTE Ltd 2010 First published 2014 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.

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 27-37 St George’s Road London SW19 4EU UK

John Wiley & Sons, Inc. 111 River Street Hoboken, NJ 07030 USA

www.iste.co.uk

www.wiley.com

© ISTE Ltd 2014 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 Control Number: 2014942905 British Library Cataloguing-in-Publication Data A CIP record for this book is available from the British Library ISBN 978-1-84821-658-7

Printed and bound in Great Britain by CPI Group (UK) Ltd., Croydon, Surrey CR0 4YY

Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xiii

Chapter 1. Airline Crew Pairing Optimization . . . . . . . . . . . . . . . . . . Laurent ALFANDARI and Anass NAGIH

1

1.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Definition of the problem . . . . . . . . . . . . . . . . . . . . . 1.2.1. Constructing subnetworks . . . . . . . . . . . . . . . . . . . 1.2.2. Pairing costs . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3. Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4. Case without resource constraints . . . . . . . . . . . . . . 1.3. Solution approaches . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Decomposition principles . . . . . . . . . . . . . . . . . . . 1.3.2. Column generation, master problem and subproblem . . 1.3.3. Branching methods for finding integer solutions . . . . . 1.4. Solving the subproblem for column generation. . . . . . . . . 1.4.1. Mathematical formulation . . . . . . . . . . . . . . . . . . . 1.4.2. General principle of effective label generation . . . . . . 1.4.3. Case of one single resource: the bucket method . . . . . . 1.4.4. Case of many resources: reduction of the resource space 1.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

1 2 2 4 4 5 7 7 8 10 11 11 11 13 16 21 22

Chapter 2. The Task Allocation Problem . . . . . . . . . . . . . . . . . . . . . Moaiz BEN DHAOU and Didier FAYARD

23

2.1. Presentation. . . . . . . . . 2.2. Definitions and modeling. 2.2.1. Definitions . . . . . . . 2.2.2. The processors . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . . . . . . . . . . . .

. . . .

. . . . . . . . . . . . . . . . .

. . . .

. . . . . . . . . . . . . . . . .

. . . .

. . . . . . . . . . . . . . . . .

. . . .

. . . . . . . . . . . . . . . . .

. . . .

. . . .

24 24 24 25

vi

Combinatorial Optimization 3

2.2.3. Communications . . . . . . . 2.2.4. Tasks . . . . . . . . . . . . . . 2.2.5. Allocation types. . . . . . . . 2.2.6. Allocation/scheduling . . . . 2.2.7. Modeling . . . . . . . . . . . . 2.3. Review of the main works . . . . 2.3.1. Polynomial cases . . . . . . . 2.3.2. Approximability. . . . . . . . 2.3.3. Approximate solution . . . . 2.3.4. Exact solution . . . . . . . . . 2.3.5. Independent tasks case . . . . 2.4. A little-studied model . . . . . . . 2.4.1. Model . . . . . . . . . . . . . . 2.4.2. A heuristic based on graphs . 2.5. Conclusion . . . . . . . . . . . . . 2.6. Bibliography . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

25 26 26 27 28 29 30 33 34 35 36 38 38 39 43 43

Chapter 3. A Comparison of Some Valid Inequality Generation Methods for General 0–1 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pierre BONAMI and Michel MINOUX

49

3.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Presentation of the various techniques tested . . . . . . . . . . . . 3.2.1. Exact separation with respect to a mixed relaxation . . . . . 3.2.2. Approximate separation using a heuristic. . . . . . . . . . . . 3.2.3. Restriction + separation + relaxed lifting (RSRL). . . . . . . 3.2.4. Disjunctive programming and the lift and project procedure 3.2.5. Reformulation–linearization technique (RLT) . . . . . . . . . 3.3. Computational results . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1. Presentation of test problems . . . . . . . . . . . . . . . . . . . 3.3.2. Presentation of the results . . . . . . . . . . . . . . . . . . . . . 3.3.3. Discussion of the computational results. . . . . . . . . . . . . 3.4. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

49 53 53 55 55 59 63 67 67 67 68 70

Chapter 4. Production Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . Nadia BRAUNER, Gerd FINKE and Maurice QUEYRANNE

73

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . .

4.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Hierarchical planning . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Strategic planning and productive system design . . . . . . . 4.3.1. Group technology. . . . . . . . . . . . . . . . . . . . . . . . 4.3.2. Locating equipment . . . . . . . . . . . . . . . . . . . . . . 4.4. Tactical planning and inventory management . . . . . . . . . 4.4.1. A linear programming model for medium-term planning

. . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . . . . . . .

. . . . . . .

. . . . . . .

73 74 75 75 77 77 78

Table of Contents

4.4.2. Inventory management. . . . . . . . . . . . . 4.4.3. Wagner and Whitin model . . . . . . . . . . 4.4.4. The economic order quantity model (EOQ) 4.4.5. The EOQ model with joint replenishments . 4.5. Operations planning and scheduling . . . . . . . 4.5.1. Tooling . . . . . . . . . . . . . . . . . . . . . . 4.5.2. Robotic cells . . . . . . . . . . . . . . . . . . . 4.6. Conclusion and perspectives. . . . . . . . . . . . 4.7. Bibliography . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

79 80 83 88 90 91 97 104 105

Chapter 5. Operations Research and Goods Transportation . . . . . . . . . Teodor Gabriel CRAINIC and Frédéric SEMET

111

5.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . 5.2. Goods transport systems . . . . . . . . . . . . . . . 5.3. Systems design . . . . . . . . . . . . . . . . . . . . . 5.3.1. Location with balancing requirements . . . . 5.3.2. Multiproduct production–distribution . . . . 5.3.3. Hub location . . . . . . . . . . . . . . . . . . . . 5.4. Long-distance transport. . . . . . . . . . . . . . . . 5.4.1. Service network design . . . . . . . . . . . . . 5.4.2. Static formulations . . . . . . . . . . . . . . . . 5.4.3. Dynamic formulations . . . . . . . . . . . . . . 5.4.4. Fleet management . . . . . . . . . . . . . . . . 5.5. Vehicle routing problems . . . . . . . . . . . . . . 5.5.1. Definitions and complexity . . . . . . . . . . . 5.5.2. Classical extensions . . . . . . . . . . . . . . . 5.6. Exact models and methods for the VRP . . . . . . 5.6.1. Flow model with three indices . . . . . . . . . 5.6.2. Flow model for the symmetric CVRP . . . . . 5.6.3. Set partitioning model . . . . . . . . . . . . . . 5.6.4. Branch-and-cut methods for the CVRP . . . . 5.6.5. Column generation methods for the VRPTW 5.7. Heuristic methods for the VRP . . . . . . . . . . . 5.7.1. Classical heuristics . . . . . . . . . . . . . . . . 5.7.2. Metaheuristics . . . . . . . . . . . . . . . . . . . 5.7.3. The VRP in practice . . . . . . . . . . . . . . . 5.8. Conclusion . . . . . . . . . . . . . . . . . . . . . . . 5.9. Appendix: metaheuristics . . . . . . . . . . . . . . 5.9.1. Tabu search . . . . . . . . . . . . . . . . . . . . 5.9.2. Evolutionary algorithms . . . . . . . . . . . . . 5.10. Bibliography . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

vii

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

111 113 115 115 118 119 122 122 123 130 131 137 138 138 139 140 141 142 143 146 147 147 152 159 160 161 161 162 164

viii

Combinatorial Optimization 3

Chapter 6. Optimization Models for Transportation Systems Planning . . Teodor Gabriel CRAINIC and Michael FLORIAN 6.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Spatial interaction models . . . . . . . . . . . . . . . . . . . 6.3. Traffic assignment models and methods . . . . . . . . . . . 6.3.1. System optimization and user optimization models. . 6.3.2. Algorithms for traffic assignment for the user optimization model. . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3. The user problem as variational inequality . . . . . . . 6.4. Transit route choice models . . . . . . . . . . . . . . . . . . 6.5. Strategic planning of multimodal systems . . . . . . . . . . 6.5.1. Demand. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.2. Mode choice . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.3. Representing transport supply and assigning demand 6.6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . .

177

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

177 178 181 182

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

184 189 193 197 199 200 200 204 204

Chapter 7. A Model for the Design of a Minimum-cost Telecommunications Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Marc DEMANGE, Cécile MURAT, Vangelis Th. PASCHOS and Sophie TOULOUSE 7.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . 7.2. Minimum cost network construction . . . . . . . . 7.2.1. The difficulties of solving jointly or globally 7.2.2. Why tackle the global problem? . . . . . . . . 7.2.3. How to circumvent these difficulties . . . . . 7.3. Mathematical model, general context . . . . . . . 7.3.1. Hypotheses. . . . . . . . . . . . . . . . . . . . . 7.3.2. The original problem . . . . . . . . . . . . . . . 7.3.3. Solution principle . . . . . . . . . . . . . . . . . 7.4. Proposed algorithm . . . . . . . . . . . . . . . . . . 7.4.1. A bit of sensitivity in an NP-hard world . . . 7.4.2. The initial solution . . . . . . . . . . . . . . . . 7.4.3. Step-by-step exploration. . . . . . . . . . . . . 7.5. Critical points . . . . . . . . . . . . . . . . . . . . . 7.5.1. Parametric difficulties . . . . . . . . . . . . . . 7.5.2. Realities not taken into account . . . . . . . . 7.5.3. Complexity in size of the problem . . . . . . . 7.6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . 7.7. Bibliography . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

209 210 210 212 212 213 213 214 214 216 217 217 217 220 220 221 221 223 223

Table of Contents

Chapter 8. Parallel Combinatorial Optimization. . . . . . . . . . . . . . . . . Van-Dat CUNG, Bertrand LE CUN and Catherine ROUCAIROL 8.1. Impact of parallelism in combinatorial optimization. . . . . 8.2. Parallel metaheuristics . . . . . . . . . . . . . . . . . . . . . . 8.2.1. Notion of walks . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2. Classification of parallel metaheuristics . . . . . . . . . 8.2.3. An illustrative example: scatter search for thequadratic assignment or QAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3. Parallelizing tree exploration in exact methods . . . . . . . 8.3.1. Return to two success stories . . . . . . . . . . . . . . . . 8.3.2. B&X model and data structures . . . . . . . . . . . . . . 8.3.3. Different levels of parallelism . . . . . . . . . . . . . . . 8.3.4. Critical tree and anomalies . . . . . . . . . . . . . . . . . 8.3.5. Parallel algorithms and granularity . . . . . . . . . . . . 8.3.6. The BOB++ library. . . . . . . . . . . . . . . . . . . . . . 8.3.7. B&X on grids of machines . . . . . . . . . . . . . . . . . 8.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ix

225

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

225 226 227 228

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

230 235 235 237 238 239 240 241 243 247 248

Chapter 9. Network Design Problems: Fundamental Methods . . . . . . . . Alain Quilliot

253

9.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2. The main mathematical and algorithmic tools for network design 9.2.1. Decomposition in linear programming and polyhedra . . . . . 9.2.2. Flows and multiflows . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3. Queuing network . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.4. Game theory models . . . . . . . . . . . . . . . . . . . . . . . . . 9.3. Models and problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1. Location problems . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2. Steiner trees and variants . . . . . . . . . . . . . . . . . . . . . . 9.4. The STEINER-EXTENDED problem . . . . . . . . . . . . . . . . . 9.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

253 258 258 265 272 273 275 275 275 280 281 281

Chapter 10. Network Design Problems: Models and Applications . . . . . . Alain Quilliot

291

10.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2. Models and location problems . . . . . . . . . . . . . . . . . . . . . . . .

291 293

. . . . . . . . . . . .

. . . . . . . . . . . .

x

Combinatorial Optimization 3

10.2.1. Locating the network access device . . . . . . . . . . . . . . . 10.2.2. Locating machines and activities at the core of a production space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3. Routing models for telecommunications . . . . . . . . . . . . . . . 10.3.1. Numerical tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4. The design or dimensioning problem in telecommunications. . . 10.4.1. Numerical tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5. Coupled flows and multiflows for transport and production . . . 10.5.1. Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6. A mixed network pricing model . . . . . . . . . . . . . . . . . . . . 10.7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . .

294

. . . . . .

. . . . . .

. . . . . .

296 298 299 301 302 306

. . . .

. . . .

. . . .

310 314 319 319

Chapter 11. Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints. . . . . . . . . Bernard ROY and Roman SLOWINSKI

327

11.1. Introduction and formulation of the problem . . . . . . . . . . . . . . 11.1.1. Example a: organizing non-compulsory lesson choices by students . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2. Example b: temporal activity programming . . . . . . . . . . . . 11.1.3. Example c: task scheduling on machines . . . . . . . . . . . . . . 11.2. Modeling the set of feasible assignments . . . . . . . . . . . . . . . . 11.3. The concept of a blocking configuration and analysis of the unblocking means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.1. A reminder of a few results from flow theory . . . . . . . . . . . 11.3.2. Analysis of the minimum cut revealed by labeling a maximum flow on N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.3. The concept of blocking configuration . . . . . . . . . . . . . . . 11.3.4. Unblocking actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4. The multicriteria assignment problem . . . . . . . . . . . . . . . . . . 11.4.1. Definition of the criteria family . . . . . . . . . . . . . . . . . . . . 11.4.2. Satisfactory compromise selection strategy. . . . . . . . . . . . . 11.5. Exploring a set of feasible non-dominated assignments in the plane g2 × g3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.1. The bicriteria assignment problem with mutual exclusion constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.2. Finding supported solutions of problem P . . . . . . . . . . . . . 11.5.3. Matrix representation of problem P . . . . . . . . . . . . . . . . . 11.5.4. Finding unsupported solutions of problem P . . . . . . . . . . . .

.

328

. . . .

329 330 330 331

. .

334 334

. . . . . .

334 336 341 346 346 347

.

348

. . . .

348 351 352 353

Table of Contents

11.6. Numerical example . . . . . . . . . . . . . . . . . . . 11.6.1. Example with a blocking configuration present 11.6.2. Example without a blocking configuration . . . 11.7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 11.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

xi

. . . . .

357 357 360 363 364

General Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

365

List of Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

401

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

405

Summary of Other Volumes in the Series . . . . . . . . . . . . . . . . . . . . .

409

Preface

This revised and updated second edition of Applications of Combinatorial Optimization 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: – airline crew scheduling; – transport of goods and planning; – scheduling of tasks in parallel programming; – applications of polyhedral combinatorics; – production planning; – modeling and optimization of network synthesis and design problems; – parallel optimization; – 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 “turnover”). Drawing up the team turnover for an airline is highly restricted by international, national and internal work regulations,

xiv

Combinatorial Optimization 3

and by the availability of resources. Because of this, the problem dealt with in this chapter is particularly difficult to solve. 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: – strategic planning and productive system design; – tactical production planning and inventory control; – operational production planning and scheduling. Chapter 5 is devoted to a vast subject – one of the most central to research operations – 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: – important models of transport and logistics systems conception, deployed on a large (region, country, world) or small (district, city, region) scale; – models for designing service networks, as well as models aiming to manage fleets; – 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.

Preface

xv

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 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 0–1 integer problems. The authors compare different valid inequality generation techniques for linear 0–1 programs. The approaches studied include classic techniques (for example “lift & project”), disjunctive programming and “reformulation linearization” 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

xvi

Combinatorial Optimization 3

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 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 nondecreasing costs. Each task must be assigned to one, and only one, processor, with certain “preferences”. These are formalized by means of “dissatisfaction indices”. 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 Master’s students. Master’s 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 his/her 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 Chvátal, Linear Programming, W.H. Freeman, 1983, or Michel Minoux, Programmation Mathématique: Théorie et Algorithmes, Dunod, 1983. For the exciting adventure that the editing of this revised book has been, all my thanks again 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, Jérôme Monnot, Stratos, my TEXpert brother, Olivier Pottié 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 once again 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 JeanCharles Pomerol, President of the scientific board at ISTE, and Sami Ménascé, President of ISTE. I give my warmest thanks to them for their insistence and encouragement. I would also like to thank Raphael Ménascé, Vice-President of ISTE, for his kindness and his patience. While I was already friends with JeanCharles, editing this work 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. As with the first edition, I would like to finish this Preface on a personal note concerning two losses that touched our scientific community. Between April 2002, when the writing of the original 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 original book. He did not have time to send me his chapter. In them, we have lost two of the great figures of our discipline. We will always remember them. Vangelis Th. PASCHOS June 2014

Chapter 1

Airline Crew Pairing Optimization

1.1. Introduction In the airline industry, optimizing and automating the building of crew pairings is a major financial and organizational issue. The problem consists of covering all the company’s flights, programmed in a given time window, with teams made up of cockpit personnel (pilots, copilots) and of cabin personnel (stewardesses, stewards) at a minimum cost. With a frequency of several days (in the order of a week), each crew leaves from the base to which it is assigned, carries out a certain number of flights, and comes back to the base. This sequence of flights with a return to the base is called a rotation, or pairing . Drawing up the pairings of an airline company is highly constrained by international, national and internal work regulations, and by the limited availability of resources. These constraints make the problem particularly hard to solve. Besides the gains in terms of organization, security and calculation time, the use of optimization programs and models for this problem allows big companies to make substantial financial gains. It is not unusual for a reduction of 1% in the total cost of the rosters to 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 subject. The general crew pairing problem with resource constraints problem (CPP-RC) can be formulated as a minimum cost multicommodity flow problem with additional variables and resource constraints. Even though in most applications the cost of a rotation is non-linear [DES 97, LAV 88], in this chapter we will restrict ourselves to the case where the cost function is a linear approximation. The ways of constructing a network of feasible pairings, and calculating the cost of the rosters, along with the associated mathematical program, are presented in section 1.2. Section 1.3 gives an overview of

Chapter written by Laurent A LFANDARI and Anass NAGIH.

2

Combinatorial Optimization 3

classical solution techniques, with a focus on the column generation method, whose associated subproblem is studied in section 1.4. Section 1.5 concludes the chapter. 1.2. Definition of the problem The set of flights to be covered by the crews is denoted by V = {1, . . . , n}. The flight program and the associated timetables are established more or less exactly for the considered period, in the order of a month or a week depending on the size of the company. The term flight associated with each element i ∈ V is abusive in some cases, insofar as i may in reality represent a sequence of aggregated and indivisible flights, that is a series of flights that can only be covered by the same crew. Also, the task to be covered by a crew is often not only a flight, but rather a flight service that may start before and end after the actual flight, to account for the time needed for preparing the plane and for accompanying passengers, for example. However, we will maintain this flight terminology, to help readability. For each flight i ∈ 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 company’s bases. The set B of bases is generally made up of large interconnection platforms called hubs. The CPP often has resource constraints on the pairings. In order to take the pairing validity constraints into account, a classical modeling associates a subnetwork, constructed in the following way, with each crew. 1.2.1. Constructing subnetworks The set of crews that may be used to cover the company’s flights is indexed by k ∈ K = {1, . . . , K}. For k ∈ K, bk ∈ B refers to the departure and arrival bases for crew k. A graph Gk = (X k , Ak ) is then associated with crew k ∈ K, where X k refers to the set of the network nodes and Ak to the set of arcs. The set X k is divided into three subsets: X k = {ok } ∪ V k ∪ {dk } where, for k ∈ K: – the origin ok (or the destination dk respectively) refers to the source (or the sink respectively) of network Gk ; – V k ⊆ V refers to the set of flights programmed by the company that can be covered by crew k.

Airline Crew Pairing Optimization

3

The arc set Ak is Ak = OV k ∪ VV k ∪ VDk ∪ {(ok , dk )} where OV k

=

{(ok , i) : i ∈ V k , a (i) = bk }

VV k



U k = {(i, j) ∈ V k × V k : a (i) = a (j), t (j)

VDk

=

t (i) + tmin (i, j)}

{(i, dk ) : i ∈ V k , a (i) = bk }

Passing through arc (ok , dk ) will denote that crew k will not be used. U k is the set of pairs of flights (i, j) that satisfy the following necessary conditions for making the sequence 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 a gap greater than or equal to a value tmin (i, j) fixed by the company or by the transit constraints of the airport. Generally, VV k = U k because the work regulations of the company impose a certain number of additional constraints (meal slots, breaks, overnight stops) that restrict the connection possibilities between flights. Furthermore, global constraints, which vary from one company to another, are generally associated with each rotation. Let us cite the following possible constraints: – lower and/or upper bound on the total duration of the rotation; – lower and/or upper bound on the total work time (total work time = total flight time + transfers + legal breaks); – lower bound on the number of rest days; – lower bound on the number of rest hours daily; – upper bound on the number of flights; – upper bound on the number of consecutive working hours. These constraints can be modeled by the following parameters: – a set Q = {1, . . . , Q} of resources; k – resource consumptions tk,q ij associated with each arc (i, j) ∈ A and each resource q ∈ Q;

4

Combinatorial Optimization 3

– of minimum threshold ak,q and maximum threshold bk,q for the consumption of i i resource q ∈ Q, to be satisfied for each crew k ∈ K in each node i of the network; if the resource constraints relate to the whole rotation, that is only to the destination node d and not to the intermediate nodes, then ak,q = 0 and bk,q = ∞ for every node i i i = d. 1.2.2. Pairing costs The calculation of the cost of a pairing is generally complex and varies depending on the company. This cost may be a non-linear function of several parameters such as resource consumption, total duration, and total flight time of the rotation [DES 97, LAV 88]. In order to establish a generic model for this chapter, we consider that the cost function is a linear approximation and can be decomposed by crew k = 1, . . . , K and by arcs (i, j) ∈ Ak . The cost of the pairing made by crew k ∈ K will therefore be the sum of the costs ckij associated with the arcs (i, j) ∈ Ak that make up this rotation. 1.2.3. Model The crew pairing problem with resource constraints (CPP-RC) can be modeled, if the cost function is linear, using mixed integer linear programming (MILP). We have a minimum cost multicommodity flow problem, with binary flow variables and continuous resource variables (RP-RC):

Min s.c.

K k=1 (i,j)∈Ak K

i:(i,dk )∈Ak

i:(i,j)∈Ak

[1.2]

xkok i = 1

k∈K

[1.3]

xki,dk = 1

k∈K

[1.4]

j ∈ Vk

[1.5]

xkij =

1

l:(j,l)∈Ak

k,q Tik,q + tk,q ij − Tj

ak,q i

xkij

[1.1] i ∈ V = {1, . . . , n}

k=1 j:(i,j)∈Ak

i:(ok ,i)∈Ak

ckij xkij

Tik,q

xkjl

M (1 − xkij ) (i, j) ∈ Ak , k ∈ K, q ∈ Q

[1.6]

bk,q i

[1.7]

xkij ∈ {0, 1}, Tik,q

i ∈ V k , k ∈ K, q ∈ K 0

[1.8]

Airline Crew Pairing Optimization

5

The binary variables xkij indicate whether the pairing uses arc (i, j) ∈ Ak (and therefore performs the sequence of flights i and j if (i, j) ∈ VV k ), while variables Tik,q indicate the cumulative consumption of each resource q at each node i of network Gk . Objective [1.1] minimizes the total cost of the pairings. Constraints [1.2] express the covering of each flight by at least one crew; if only one crew is allowed per flight, the constraint is set to equality. Constraints [1.3]–[1.5] define a path structure in the subnetwork Gk : the passage of a flow of one unit [1.3] or [1.4], and flow conservation at vertices [1.5]. Constraints [1.6]–[1.7] are the resource constraints associated with each rotation. Constraint [1.6], in which M > 0 is a very large parameter, can also be found in the following non-linear form: k,q xkij (Tik,q + tk,q ij − Tj )

0 for (i, j) ∈ Ak , k ∈ K, q ∈ Q

[1.9]

The inequality in [1.6] or [1.9] stipulates that waiting is allowed for the crew; in the opposite case, the constraint is written as an equality. This constraint allows us to obtain the cumulated resource consumption q at the node j, since we have: k,q Tjk,q = max(ak,q + tk,q j , Ti ij )

Constraints [1.7] are bound constraints on the nodes of the network (time windows for example). Note that constraints [1.3]-[1.7] are local constraints only valid for subnetwork Gk . Only the covering constraints [1.2] are global constraints that link the K subnetworks. Relaxing these linking constraints and decomposing the initial problem by subnetworks will therefore be an interesting solution option. Let us lastly note that the resource constraints [1.6]-[1.7] make the (CPP-RC) problem NP-hard. Even the associated feasibility problem is NP-complete. 1.2.4. Case without resource constraints When the problem has no resource constraints [1.6]-[1.7], if all crews have the same valid pairings then we have a flow structure in a single network G = (X , A), where X = {o} ∪ V ∪ {d}, and A is the set of the possible connections between the nodes of the network. The model becomes: Min s.c. (CPP)

(i,j)∈A

i:(i,j)∈A

i:(i,j)∈A

cij xij xij

xij =

[1.10] 1

l:(j,l)∈A

xij ∈ {0, 1}

xjl

for j ∈ V = {1, . . . , n}

[1.11]

for j ∈ V

[1.12]

for (i, j) ∈ A

[1.13]

6

Combinatorial Optimization 3

Flight no AF456 AF132 AF330 AF254 AF402 AF370 AF411 AF245 AF111

Departure airport (a ) Paris CDG Paris CDG Paris CDG Frankfurt Frankfurt Zurich London Frankfurt Zurich

Arrival Departure Arrival airport (a ) time (t ) time (t ) London 8:25 9:22 Frankfurt 8:01 8:55 Zurich 8:10 9:17 Zurich 11:57 12:42 London 12:00 13:18 Frankfurt 13:50 14:35 Paris CDG 17:10 18:05 Paris CDG 19:38 20:30 Paris CDG 17:00 18:12

Table 1.1. Data set example

The parameter cij is the cost associated with taking arc (i, j) ∈ A. The (CPP) problem can 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 constraints. The parameters are presented in Table 1.1. In the graph in Figure 1.1 associated with the above parameters, we consider that the cost on an arc (i, j) ∈ A is equal to the time t (j) − t (i) spent between the two flights, and the objective function is to minimize the total time not spent working on flights over the set of crews. The optimal solution for the covering problem consists of 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 fictitious example does not take into account either the resource constraints and time windows inherent in real applications, or the fact that a crew does not generally work only for the duration of the flight. To conclude this section, let us note that studying the literature on the crew pairing problem allows us to identify several interesting variants or extensions of the problem. One of them proposes to establish in detail the composition of each crew (number of

Airline Crew Pairing Optimization

7

Figure 1.1. A simple network example

copilots, cabin chiefs, stewards, etc.) according to the needs expressed by the personnel category for each flight [YAN 02]. Another extension of the problem [COR 00] consists of globally and simultaneously processing the plane scheduling problem and the crew pairing problem, which are usually processed sequentially. Thus, in the classical approach, the plane scheduling problem is first solved in such a way as to establish which type of plane will cover each flight i ∈ V, which allows us to deduce the set of crews k that can cover the flight, that is if i ∈ V k or i ∈ V k . This sequential approach is clearly suboptimal with regard to a global approach, but is less complex to process.

1.3. Solution approaches 1.3.1. Decomposition principles We distinguish two types of constraints in system [1.2]–[1.7]:

8

Combinatorial Optimization 3

i) so-called linking or global covering constraints [1.2], which link the set of crews k = 1, ..., K; ii) constraints [1.3]–[1.7] specific to each crew k ∈ {1, . . . , K} that define a legal itinerary for a pairing. Since the matrix associated with constraints [1.3]–[1.7] is block diagonal, and objective [1.1] is separable (because it is linear), solving the continuous relaxation of this model can be based on Dantzig–Wolfe’s decomposition. In this type of decomposition, constraints [1.3]–[1.7] define K independent subproblems and global constraints [1.2] are conserved in the master problem. In a scheme of the column generation type, we must alternately solve the master problem and the K subproblems. To obtain an integer solution, this scheme can be applied at each node of the search tree. The principal difficulty lies in solving the subproblems whose state spaces can increase exponentially with the number of resources Q, which makes the use of heuristics unavoidable. Furthermore, because the convergence of the column generation scheme is affected by the quality of the solutions provided by solving its subproblems, effectively solving real instances that come from industry requires finding a good compromise between the quality of the solutions and the solution time of the subproblems. In what follows, we give the details of the general principle of column generation for the (CPP-RC) problem. 1.3.2. Column generation, master problem and subproblem Column generation methods (see Volume 1, Chapter 8)have been successfully applied to crew pairing problems [CRA 87, LAV 88]. In this approach, the problem is reformulated as a set covering problem (SCP) (or set partitioning problem if the covering constraint of the flights is an equality:) Min s.c. (SCP)

r∈R r∈R

cr xr

air xr

xr ∈ {0, 1}

[1.14] 1

for i ∈ V = {1, . . . , n}

[1.15]

for r ∈ R

[1.16]

where R refers to the set of admissible pairings that satisfy the resource and flight sequence constraints, cr represents the cost of pairing r ∈ R, air = 1 if and only if pairing r covers the flight i, and the binary variable xr indicates whether pairing r is chosen or not in the solution. We denote by (SCP ) the continuous relaxation of the (SCP) problem where integrity constraints [1.16] are replaced by xr 0 for r ∈ R. Since the total number of

Airline Crew Pairing Optimization

9

admissible rotations |R| is generally an exponential function of the number n = |V| of flights to be covered, exhaustive enumeration of R is to be avoided. Despite this, it is possible to find, in a reasonable time, an optimal solution of (SCP ) by only generating a limited subset of rotations (that is of columns of the constraint matrix). The principle is as follows. Let R0 be a feasible solution for (SCP), which includes a restricted number of rotations from R, generated by any heuristic. We can solve, using linear 0 programming (for example using the simplex algorithm) the program (CP ), which 0 is the restriction of (CP ) to the subset of rotations R . This solution also provides a multiplier or dual variable vector: (δ10 , δ20 , . . . , δn0 ) associated with the n flights to be covered. The optimality criterion according to which all pairings have positive reduced cost at optimality leads us to look for the rotation of smallest reduced negative cost, that is: r0 = arg min cr − r∈R

n

δi0 air

[1.17]

i=1

If this pairing r0 can be found in a reasonable time, we can then restart solving the covering program (SCP ) on the set R1 = R0 ∪ {r0 }, adding the column ar0 to the t constraint matrix. In general, at each iteration t we solve the master problem (SCP ): Min s.c. t

(SCP ) such that:

r∈Rt r∈Rt

cr xr

air xr

xr

0

[1.18] 1

for i ∈ V = {1, . . . , n}

[1.19]

for r ∈ Rt

[1.20]

Rt = Rt−1 ∪ {rt−1 }

where, if δ t−1 refers to the multiplier vector associated with the n flights in solving t−1 SCP , the pairing rt−1 of negative reduced smallest cost is defined by: rt−1 = arg min cr − r∈R

n i=1

δit−1 air

[1.21]

The term column generation comes from adding column art to the constraints matrix of the master problem at each iteration t. This process of iteratively solving the master problem [1.18]–[1.20] and subproblem [1.21] is stopped when all pairings are of

10

Combinatorial Optimization 3

positive reduced cost in solving the subproblem – a sign that the continuous optimum has been reached – that is at the iteration s such that: n

min cr − r∈R

δis air

>0

i=1

A variant of this method, which allows us to accelerate the process [LAV 88], consists of adding, at each iteration, a subset of rotations of negative reduced cost instead of the single best rotation of subproblem [1.21]. The maximum size of this subset of entering columns can be configured in such a way as to evolve during the algorithm. The global complexity of the method strongly depends on the complexity of the subproblem, which the resource constraints make NP-hard. It is often possible, however, to solve it in a reasonable time, thanks to an implicit enumeration of R, by exploiting the graph structure of the subproblem and applying variants of shortest path algorithms. This will be explained in detail in section 1.4. 1.3.3. Branching methods for finding integer solutions In section 1.3.2, the optimal solution of the covering problem (SCP ) found at the end of the column generation procedure generally has a large proportion of integer components (see [LAV 88] for numerical results), but can be fractional. An initial approach for obtaining an integer solution consists of solving the (SCP) problem in integer variables with the set Rs of columns generated during the process. Of course, this approach does not give any theoretical guarantee of optimality but is found to be nearly optimal in practice [LAV 88]. Another tree approach of the branch and bound type consists of branching on the variables xkij of LP [1.2]–[1.7] and evaluating each node of the tree using the continuous relaxation of the LP. Since the number of variables and constraints is very high in the explicit model [1.2]–[1.7], the bound is generally calculated using the column generation method seen in section 1.3.2. This tree method based on column generation, commonly known as branch and price, proves to be more effective than the branch and bound method where the lower bound would be calculated by the continuous relaxation of the initial problem [1.2]–[1.7]. Another advantage of this approach is that column generation allows us to obtain a large subset of rotations that satisfy the resource constraints, whose associated variables are equal to 1 at the optimum of (SCP ). The number of branchings necessary to end up with the integer solution of the problem can therefore be limited for problems of medium size. An alternative approach, known as branch and cut, consists of iteratively generating valid polyhedral cuts, that is cuts that only exclude fractional solutions of the problem, until the solution found is integer or it is no longer possible to add any cuts. This approach is described by Hoffman and Padberg [HOF 93]. In section 1.4, we

Airline Crew Pairing Optimization

11

give details on solving the associated subproblem [1.21] for methods based on column generation. 1.4. Solving the subproblem for column generation 1.4.1. Mathematical formulation In the case of several subnetworks k = 1, . . . , K, since solving subproblem [1.21] can be decomposed to subnetworks, we will omit index k and the graph of the subproblem will be denoted by G = ({o} ∪ V ∪ {d}, A). The shortest path problem with resource constraints (SP-RC), is formulated as follows: cij xij

min

[1.22]

(i,j)∈A

xjl

xij −

s.c.

=

l:(j,l)∈A

i:(i,j)∈A

xij xij

Tiq

+

tqij



Tjq Tjq



⎧ ⎨ −1 0 ⎩ 1

if j = o if j ∈ V if j = d

[1.23]

0

∀ (i, j) ∈ A

[1.24]

0

∀ (i, j) ∈ A, q ∈ Q

[1.25]

[aqj , bqj ]

∀ j ∈ X, q ∈ Q

[1.26]

where variables are defined as in section 1.2.3 with exponent k removed. 1.4.2. General principle of effective label generation For some air transport problems where resource constraints relate to the duration of the crew pairings, Lavoie et al. [LAV 88] showed that is was possible to solve subproblem [1.21] in polynomial time using a shortest path algorithm in a graph G where the valuation of each arc (i, j) ∈ A is modified in ct (i, j) = c(i, j) − δjt−1 . However, in the general resource constraints case, verifying that resource thresholds are satisfied for the set of paths associated with the pairings is of exponential or pseudo-polynomial complexity. The objective therefore is to take advantage of the acyclic structure of the graph associated with the subproblem by employing dynamic programming techniques to limit enumeration of paths. D EFINITION 1.1.– We associate, with each path from the origin o to node j, a label (Tj , Cj ) = (Tj1 , Tj2 , ..., TjQ , Cj ) that represents the state of its resources and its cost.

12

Combinatorial Optimization 3

The set of labels associated with the feasible paths from o to j (that is which satisfy the bound constraints) is denoted by Ej . We denote by E = ∪j∈V ∪{d} Ej the set of labels of the feasible paths from o to every node j. D EFINITION 1.2.– Let (Tj , Cj ) and (Tj , Cj ) be two labels of Ej . (Tj , Cj ) dominates (Tj , Cj ), and we state (Tj , Cj ) (Tj , Cj ), if and only if: (Tj , Cj ) = (Tj , Cj ),

Cj

Cj

Tjq

and

Tj q ∀ q ∈ Q

D EFINITION 1.3.– A label (Tj , Cj ) ∈ Ej is said to be efficient if it is minimal in the sense of the order relation , that is: ∃(Tj , Cj ) ∈ Ej : (Tj , Cj )

(Tj , Cj )

A path is said to be efficient if it is associated with an efficient label. The set of efficient labels is denoted by E ef f . The general principle of dynamic programming, which allows us to generate the set of efficient labels, first proposed in [DES 88], is as follows. In each node, the algorithm generates labels by extending the paths that correspond to the efficient labels present at the predecessor nodes. An extension is validated if it provides a legal path, otherwise it is removed. The dominance rule is then applied in order to eliminate all paths that correspond to non-efficient labels. This algorithm therefore proceeds in two main stages. In each node j ∈ V, it carries out the following operations: 1) extension of the paths (label generation and feasibility test); 2) dominance (elimination of the non-efficient labels). Formally, for a given node j ∈ V ∪ {d}, labels are created by extending those present in nodes i such that (i, j) ∈ A. A new label (Tj , Cj ) given by: Tjq Cj

= max{aqj , Tiq + tqij }, q ∈ {1, · · · , Q} = Ci + cij

is created at node j if Tiq + tqij

bqj , ∀ q ∈ {1, · · · , Q}.

By considering that all predecessors of node j ∈ V ∪ {d} have already been processed, the dominance at node j can be interpreted as establishing the Pareto optima

Airline Crew Pairing Optimization

of the multicriteria problem with (Q + 1) functions: ⎡ mini max aqj , Tiq + tqij mini Ci + cij , ⎣ (i, j) ∈ A (i, j) ∈ A Ti + tij bj Ti + tij bj

, q = 1, ..., Q

13

⎤ ⎦

[1.27]

Since the dominance relation is a partial order relation, the number of efficient labels to be processed increases exponentially according to the number of resources, which makes the extension procedure potentially intractable. In what follows, we describe two heuristics that allow us to accelerate the efficient label generation process: i) in the case of one single resource, the bucket-based labeling method of Desrochers and Soumis [DES 88]; ii) in the case of numerous resources, the resource space reduction method of Nagih and Soumis [NAG 06]. 1.4.3. Case of one single resource: the bucket method This method was developed in [DES 88] for the case with time windows (single resource, Q = 1). For each flight i ∈ V, we therefore have time windows [ai , bi ]. Desrochers and Soumis propose inspecting the labels associated with the paths in a defined order, calculated in the following way. Let us state: L

(t∗ , c∗ ) = min {(tij , cij )}) (i,j)∈A

[1.28]

that is: t∗

=

c∗

=

min tij

(i,j)∈A

min{cij : (i, j) ∈ A, tij = t∗ }

We also denote by p we define the sets: Yj

= {x : F x

f, xi ∈ {0, 1} ∀i ∈ J# ∪ {p + 1, . . . , j − 1} , xj = 1 − x∗j , xi = x∗i

Qj

= {x : F x

∀i > j

f, xi ∈ {0, 1} ∀i ∈ J# , xi ∈ [0, 1] ∀i ∈ {p + 1, . . . , j − 1} , xj = 1 − x∗j , xi = x∗i

Z

j

= {x : F x

∀i > j

f, xi ∈ {0, 1} ∀i ∈ J# , xi ∈ [0, 1] ∀i = {p + 1, . . . , j − 1} , xj ∈ [0, 1], xi = x∗i

and for j = p:

∀i > j}

Y p = Qp = Z p = X

We can easily verify that: ⎛ X⊆⎝ j=p,...,n

⎞ Qj ⎠ ⊆ X

[3.1]

Comparison of Valid Inequality Methods

57

indeed: Y j ⊆ Qj ⊆ Z j

∀j = p, . . . , n

and therefore: Yj ⊆ j=p,...,n

Qj ⊆ j=p,...,n

Zj j=p,...,n

But: Yj =X j=p,...,n

and, moreover, since Z j ⊆ Z j+1 we have: Zj = Zn = X j=p,...,n

from which [3.1] is deduced. The relaxed lifting procedure presented below will be carried out with respect to the polyhedra defined for j ∈ J1 ∪ J0 by: ⎛



Qj = conv ⎝

Qi ⎠ i=p+1,...,j

(RLP) algorithm (Relaxed lifting procedure) Let αT x β be a valid inequality for X that cuts x∗ , with α ∈ Rn , such that αi = 0, ∀i ∈ J0 ∪ J1 and β ∈ R. For j = p, . . . , q − 1 do: calculate θ ← Max αT x − β x∈Qj+1

set: αj+1 ← θ ; β ←β+θ ; End for For j = q, . . . , n − 1 do: calculate θ ← Max αT x j+1 x∈Q

set: αj+1 ← β − θ ; End for The following results show that, at the end of the (RLP), an inequality valid for Qn , and therefore for X, is obtained.

58

Combinatorial Optimization 3

P ROPOSITION 3.1.– For every j = p, . . . , q − 1, if αT x β is valid for Qj (observe that αi = 0 ∀i = j + 1, . . . , n), (α )T x β is valid for Qj+1 with α defined by: αi

=

αi

∀i = 1, . . . , j, j + 2, . . . , n

αj+1

=

θ = Max

x∈Qj+1

αT x − β

and β = β + θ. Proof. By definition: Qj+1 = conv Qj ∪ Qj+1 To show that (α )T x β is valid for Qj+1 , it is sufficient to show the validity for Qj and for Qj+1 independently. By construction, if j

q − 1 and if x ∈ Qj , we have xj+1 = 1, and therefore:

(α )T x = αj+1 + αT x Therefore, the inequality (α )T x Now, if j

αj+1 + β = β

β is valid for Qj .

q − 1 and if x ∈ Qj+1 then xj+1 = 0, and therefore: (α )T x = αT x

Max

x∈Qj+1

From this, we can deduce that (α )T x result.

αT x = β + θ = β

β is valid for Qj+1 and we obtain the desired

Proposition 3.1 shows that (RLP) generates an inequality valid for Qq whose support is J ∪ J# ∪ J1 (that is αi = 0 ∀i = q + 1, . . . , n). The following proposition shows that this inequality can then be lifted with regard to the variables xq+1 , . . . , xn . P ROPOSITION 3.2.– For every j = q, . . . , n − 1, if αT x β is valid for Qj (αi = T j+1 β is valid for Q where β = β and α is 0 ∀i = j + 1, . . . , n) then (α ) x defined as: αi

=

αi

∀i = 1, . . . , j, j + 2, . . . , n

αj+1

=

β − Max

x∈Qj+1

αT x

Comparison of Valid Inequality Methods

Proof. By construction, if q therefore: The inequality (α )T x Now, if q

j

j

59

n − 1 and if x ∈ Qj , we have xj+1 = 0, and

(α )T x = αT x

β=β

β is therefore valid for Qj .

n − 1 and if x ∈ Qj+1 then xj+1 = 1, and therefore:

(α )T x = αT x + αj+1 We deduce from this that (α )T x sought.

αT x + β − Max

x∈Qj+1

αT x

β=β

β is valid for Qj+1 and we obtain the result

In the special case of the multidimensional knapsack problem (MKP) and more generally of independence systems, the variables xq+1 , . . . , xn do not need to be lifted according to proposition 3.3. P ROPOSITION 3.3.– Let us assume that X satisfies: ∀x ∈ X, {x ∈ Rn : x x} ⊆ X. If the inequality αT x β is valid for Qq , and α is such that αq+1 = αq+2 = . . . = αn = 0, then the inequality is also valid for X. Proof. Let there be x ∈ X, and let there be x such that xi = xi ∀i = 1, . . . , q and xi = 0 ∀i = q + 1, . . . , n. By definition x ∈ Qq and αT x = αT x . Therefore, if αT x > β, αT x > β, which contradicts the validity of the inequality on Qq . Note that the inequality obtained by (RLP) depends on the order in which the variables of J1 ∪ J0 are considered. We refrain from discussing the issue of a “best possible order”. In practice, experiments carried out on MKP show that the choice of the lifting order of the variables has little influence on the quality of the inequality β generated (as much in terms of ratio T ∗ as in terms of strengthening the linear α x relaxation). In the computational experiments in section 3.3, the relaxed lifting method was used in two different ways: – by carrying out the exact separation relative to X; – by carrying out an approximate separation following the method in section 3.2.2. 3.2.4. Disjunctive programming and the lift and project procedure We call an optimization problem, the solution set of which is a finite union of polyhedra, a disjunctive program. In 0–1 programming, we use disjunctive programs

60

Combinatorial Optimization 3

to construct relaxations stronger than the continuous relaxation. Disjunctive programming is particularly interesting because it provides a theoretical framework that allows us to generate cuts (which we call disjunctive cuts) in a systematic way on such relaxations. The disjunctive relaxations most commonly used to generate inequalities are those that derive from the expression of the integrality of one binary variable at a time of the problem through a disjunction (which we call a simple disjunction). This approach was studied in [BAL 79, BAL 98] and also, more recently, in [BAL 93, BAL 96a] under the name of lift and project. Let us consider the problem (P ), and let us assume that we wish to express the integrality of a particular variable xi (i ∈ J). By relaxing the integrality condition xj ∈ {0, 1} on the other binary variables of J\{i}, we obtain a relaxation of (P ) that depends on the choice of the variable xi :

(DR[i])

⎧ Max cT x ⎪ ⎪ ⎪ ⎪ ⎨ Fx f (xi = 0) ∨ (xi = 1) ⎪ ⎪ xj ∈ [0, 1] ∀j ∈ J\{i} ⎪ ⎪ ⎩ xj ∈ R+ ∀j ∈ J

This can be reformulated as a disjunctive program:

(DR[i])

⎧ Max cT x ⎪ ⎪ ⎨ F x f ⎪ (xi = 0) ∨ (xi = 1) ⎪ ⎩ n x ∈ R+

where the matrix F and the right-hand side f have been modified to take into account the upper bound constraints xj 1 ∀j ∈ J\{i}. Let us recall the principal result of disjunctive programming: the convex hull of the set of the feasible solutions of a disjunctive program has an explicit polyhedral expression in a space that has n + k × (n + 1) variables (where k is the number of terms of the disjunction expressed in the disjunctive relaxation considered). For example, the relaxation corresponding to a simple disjunction such as the one shown above has a polyhedral expression in higher dimensional space obtained by the

Comparison of Valid Inequality Methods

61

addition of 2n + 2 variables (n variables y ∈ Rn , one variable y0 ∈ R, n variables z ∈ Rn , and one variable z0 ∈ R), which reads:

(I)

⎧ x−y−z ⎪ ⎪ ⎪ ⎪ y ⎪ 0 + z0 ⎪ ⎪ ⎪ ⎨ F y − f y0 yi − y0 ⎪ ⎪ F z − f z0 ⎪ ⎪ ⎪ ⎪ zi ⎪ ⎪ ⎩ y 0 z 0

=0 =1 0 =0 0 =0 y0 0

z0

0

More generally, if we wish to express the integrality of p variables, we will end up with a system featuring about 2p n variables. Let us denote by π DS[i] the convex hull of the feasible solutions of DR[i], that is the set of x such that there exist (y, y0 ) and (z, z0 ) that satisfy (I). The system (I) has 3n + 2 variables (x, y and z are vectors with n components and we have two additional variables y0 and z0 ) and (n + 2m + 2|J| + 3) constraints. From this polyhedral expression, the problem of finding a valid inequality that separates a given point x∗ is expressed by a linear program for which we give the formulation below. Let us consider the dual variables: u

0

associated with F y − f y0

u0

≷0

associated with yi − y0 = 0

v

0

associated with F z − f z0

v0

≷0

0 0

associated with zi = 0

The separation problem is then written as:

(SEP − L&P [i])

⎧ max αT x∗ − β ⎪ ⎪ ⎪ ⎪ s.t. ⎪ ⎪ ⎪ ⎪ α u T F − ei u0 ⎨ α v T F + ei v0 ⎪ ⎪ β = uT f − u0 ⎪ ⎪ ⎪ ⎪ β = vT f ⎪ ⎪ ⎩ u 0 v 0 u0 ≷ 0

v0 ≷ 0.

62

Combinatorial Optimization 3

The valid inequalities obtained by solving this linear program are commonly called lift and project cuts. The efficiency of the cuts obtained by solving (SEP − L&P [i]) is commonly improved by using the cut strengthening method proposed in [BAL 80]. Let us state α1 = uT F −ei u0 and α2 = v T F +ei v0 . Then, for fixed (u, u0 , v, v0 ), the optimal solution of (SEP_L&P[i]) is clearly given by αj = min(α1j , α2j ) for j = 1, . . . , n and β = uT f − u0 = v T f . The strengthening procedure consists of replacing, for every j ∈ J \ {i}, αj with αj defined by: αj = max(α1j − u0 mj , α2j + v0 mj ) where

mj =

uT F j −v T F u0 +v0

0

j

∀j ∈ J \ {i} otherwise

The strengthening procedure can be interpreted simply [BAL 96a] as changing the disjunction on which the inequality is defined while conserving the optimal multipliers (u, u0 , v, v0 ) of SEP _L&P [i] to obtain a stronger inequality. More exactly, the disjunction (xi 0) ∨ (xi 1) is replaced in this way by a disjunction in the form (xi + mT x 0) ∨ (xi + mT x 1) (where m is an integer vector with mj = 0, j ∈ J). Among these more general disjunctions, m is chosen in such a way as to define a “dominant” cut (that is one that has the largest possible coefficients αj ). In the computational experiments in section 3.3, the lift and project technique was implemented in different ways. The first technique, called simply strengthened lift and project, consists of solving the separation problem (SEP _L&P [i]) for each of the indices i ∈ J such that x∗i ∈ {0, 1}, strengthening the valid inequalities obtained (using the procedure of Balas and Jeroslow presented above), and adding them to the formulation of the problem. The second technique, called “iterated strengthened lift and project” consists of iteratively applying the previous technique. After each iteration (or round), the inequalities found are added both to the formulation and to the separation problem (SEP _L&P [i]). The continuous optimum is updated to serve as a new point to separate. This procedure can be repeated as long as the continuous optimum does not meet the integrality requirements.

Comparison of Valid Inequality Methods

63

3.2.5. Reformulation–linearization technique (RLT) Sherali and Adams [SHE 90, SHE 99] proposed and thoroughly studied a hierarchy of relaxations for integer problems in 0 − −1 variables called the “reformulation– linearization” technique. We recall here the construction of these relaxations for any degree k ∈ {0, . . . , n}. Let B k be the set: B k = {(J1 , J2 )/J1 ⊆ J, J2 ⊆ J, J1 ∩ J2 = ∅, |J1 | + |J2 | = k} of all the pairs (J1 , J2 ) (that is k

|J|) of disjoint subsets of J, such that: |J1 | + |J2 | = k

For every (J1 , J2 ) ∈ B k , let us denote by ϕ(J1 , J2 ) the polynomial in variables x of degree k: ϕ(J1 , J2 )(x) = xj (1 − xj ) j∈J1

j∈J2

By multiplying the system:

(II)

Fx f 0 xJ

1

by each of the polynomials ϕ(J1 , J2 ), we obtain:

(III)

ϕ(J1 , J2 )(x)(F x − f ) 0, ∀(J1 , J2 ) ∈ B k 0 ϕ(J1 , J2 )(x)xj ϕ(J1 , J2 )(x), ∀(J1 , J2 ) ∈ B k , ∀j ∈ J

The next stage is the linearization of (III), starting with replacement of the products of the form x2j with xj (for j ∈ J), and then the remaining products of the form xi with new variables yI

i∈I

0 (in this process, we identify y{i} with xi and y∅ with 1).

The number of constraints in this formulation was multiplied by B k compared to the original formulation of (P ) and the total number of variables was multiplied by:

n+

|J| |J| |J| + + ...+ 2 3 k+1

64

Combinatorial Optimization 3

Now, by relaxing the integrality constraints of all the variables (the variables x and the variables yI ), and by projecting the set of the solutions of the linear system obtained k onto the space of the variables x, we obtain a polyhedron PSA which is a relaxation of X. The following result shows that the polyhedrons obtained in this way for the different values of k form a hierarchy of relaxations that are stronger and stronger as k increases until we obtain, for k = |J|, the convex hull of the integer solutions of the problem. T HEOREM 3.1.– Sherali and Adams 1990 [SHE 90] |J|

|J|−1

X ≡ PSA ⊂ PSA

1 0 ⊂ . . . ⊂ PSA ⊂ PSA

0 where PSA is the linear relaxation (P ) of (P ).

The practical utility of this result is limited by the very rapid growth with k of the k size of the linear system that describes PSA . For example, for a pure 0–1 problem with n = 100 variables and m = 30 constraints (comparable to the size of the problems dealt with in our computational experiments), Table 3.1 shows, for k = 1, 2, 3, the values of |B k | and the number of k variables and constraints in the system that define PSA . k 1 2 3

|B k | 2n(= 200) 2n(n − 1) (=19 800)

4 n(n − 1)(n − 2) (=1 293 600) 3

# of variables # of constraints 5 050 6 000 166 750 5.94 105 4 087 975

3.88 107

Table 3.1. Size of the Sherali-Adams relaxation for n = 100, m = 30 and for k = 1, 2, 3

From this table, it seems clear that even for problems of modest size, the explicit k construction of PSA is only possible for k = 1 or k = 2. To the best of our knowledge, no computational experiment results with k > 2 have been reported in the literature on problems of a size comparable to those dealt with in this chapter. In section 3.3, 1 we present computational results obtained with the relaxation PSA .

(A) Mixed relaxation

Problem

(B) RSRL

|J | 13 17 18 20 19 20 19 20 24 18 17 15 18 16 14 16 13 18 12 18 14 18 13 13 14 15 18 18 19 15

time 59.61 83.81 81.91 128.78 112.63 130.73 116.01 155.24 487.61 101.44 359.25 311.48 393.4 270.88 221.33 285.22 200.23 368.4 186.8 431.34 1055.89 1309.89 864.44 918.21 1013.91 1071.77 1467.32 1726.76 1550.83 794.63

ratio 0.97255 0.97075 0.97307 0.96861 0.96967 0.97027 0.96995 0.96551 0.96681 0.97129 0.9874 0.98635 0.98545 0.98776 0.98815 0.9866 0.98792 0.98673 0.98865 0.98583 0.99243 0.9921 0.99206 0.99186 0.99111 0.99229 0.99202 0.99154 0.99078 0.99093

strengthening 2.07% 1.67% 3.37% 0.99% 0.73% 0.84% 0.82% 0.98% 0.86% 1.92% 0.43% 0.93% 1.71% 1.30% 0.57% 2.07% 0.92% 2.94% 3.14% 1.94% 3.69% 0.61% 0.53% 2.65% 1.91% 2.06% 1.61% 1.40% 2.70% 2.42%

|J# | 23 20 21 21 22 23 24 23 27 20 21 21 23 20 19 22 19 21 17 22 19 20 20 16 20 20 22 22 22 19

time 28.66 16.12 39.63 29.46 25.62 58.75 57.4 99.4 288.86 16.13 46.9 41.83 107.47 20.8 19.02 77.32 15.06 33.86 9.11 58.88 29.63 37.69 34.11 14.82 22.48 33.32 40.73 24.9 49.83 18.21

ratio 0.95896 0.95767 0.95867 0.96046 0.95452 0.96099 0.94691 0.95676 0.9572 0.95413 0.98199 0.98217 0.9802 0.98219 0.984 0.98156 0.97926 0.98149 0.98399 0.983 0.98796 0.98919 0.98967 0.98872 0.988 0.98985 0.98861 0.99065 0.9883 0.98805

strengthening 4.77% 2.32% 4.59% 1.23% 1.32% 1.20% 1.57% 1.73% 1.48% 5.11% 1.06% 2.20% 2.74% 2.63% 1.55% 3.43% 2.29% 3.98% 2.11% 2.26% 8.26% 0.85% 2.76% 3.62% 2.92% 2.74% 1.87% 0.70% 3.03% 5.23%

time 13.68 15.67 9.48 13.42 25.54 13.61 51.5 17.8 51.86 8.19 20.56 19.24 20.49 18.8 11.41 19.68 15.89 22.57 10.07 23.67 31.67 26.04 21.73 13.3 24.45 20.84 39.32 23.77 37.65 14

Averages

16.7

541.99

0.98288

1.66%

21

46..53

0.97584

2.72%

21.86

0.98191

1.80%

(D) Strengthened lift and project # inequalities 23 20 21 21 22 23 24 23 27 20 21 21 23 20 19 22 19 21 17 22 19 20 20 16 20 20 22 22 22 19

time 4.03 3.37 3.52 3.63 3.93 3.99 4.38 3.92 4.95 3.74 4.86 4.63 5.05 4..43 4..17 5.11 3.8 4.91 3.45 4.7 4.84 4.87 4.9 3.51 4.58 4.99 5.24 5.98 5.51 4..31

average ratio 0.994773 0.994216 0.994838 0.993968 0.994695 0.99491 0.994627 0.993654 0.994879 0.994359 0.997479 0.997114 0.997072 0.997602 0.997172 0.997478 0.997098 0.997368 0.997334 0.997158 0.998401 0.998291 0.998454 0.997923 0.997963 0.998368 0.998218 0.998267 0.998139 0.998047

strengthening 3.92% 3.02% 2.69% 2.63% 1.79% 1.98% 1.91% 2.41% 1.51% 1.99% 1.67% 2.17% 3.58% 2.83% 1.03% 2.22% 2.49% 5.61% 3.54% 2.90% 4.31% 2.35% 1.49% 3.99% 4.59% 5.53% 4.19% 2.61% 4.73% 3.00%

21.0

4.4433

0.99666

2.95%

Table 3.2. Comparison of methods on the Chu and Beasley instances from series 7

Comparison of Valid Inequality Methods

7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 7.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26 7.27 7.28 7.29

(C) Heuristic separation and relaxed lifting strengthening ratio 0.96611 3.33% 0.95767 2.32% 0.97058 3.72% 0.97192 0.79% 0.95452 1.32% 0.97468 0.74% 0.94691 1.57% 0.96628 0.85% 0.9719 0.59% 0.98685 0.17% 0.98917 0.57% 0.98775 1.18% 0.98689 1.14% 0.9887 1.14% 0.9877 1.17% 0.9886 1.78% 0.97926 2.29% 0.98619 3.00% 0.98399 2.11% 0.98863 1.92% 0.98796 8.26% 0.99141 0.37% 0.99487 0.63% 0.99262 2.50% 0.98959 3.90% 0.9927 1.43% 0.98861 1.87% 0.99482 0.39% 0.99107 2.79% 0.99924 0.09%

65

66 Combinatorial Optimization 3

Averages

6.8

171.1

8.59%

17.6

564.1

12.32%

18033.1

Table 3.3. Table 3.2 continued: comparative results on the Chu and Beasley instances from series 7

10.50%

Comparison of Valid Inequality Methods

67

3.3. Computational results 3.3.1. Presentation of test problems The various approaches described in section 3.2 were implemented and tested on multidimensional 0–1 knapsack problems. The instances dealt with belong to the test problems of Chu and Beasley [CHU 98] from the seventh series, which has 100 variables and 30 constraints. These instances are classed according to the parameter ξ n (tightness), which defines the right-hand side bi of each constraint j=1 aij xj bi as: n

bi = ξ

aij j=1

This parameter influences the difficulty of finding exact optimal solutions. The instances 7.00 to 7.09 have a coefficient of ξ = 0.25; for 7.10 to 7.19 the coefficient is ξ = 0.5; and for 7.20 to 7.29, ξ = 0.75. 3.3.2. Presentation of the results Tables 3.2 and 3.3 show the computational results obtained for the 30 instances of multidimensional knapsacks considered. We will briefly describe the data contained in these tables for each of the methods. The two main quality criteria of the cuts that we consider here are ratio and strengthening. We will start by briefly describing what each one represents. The ratio criterion is given by the quotient μ = αTβx∗ . This criterion can be interpreted geometrically: μx∗ is the intersection point between the segment that links 0 to x∗ and the hyperplane αT x = β. μ therefore expresses the depth of the cut relative to the segment that links 0 to x∗ . The second criterion that we take into account is the strengthening of the linear relaxation induced by the added cut. This measure is calculated from the integrality gap which is the relative difference between the value of the optimum of the linear relaxation and the optimum of the problem. The strengthening is the percentage of the integrality gap of the original problem filled by adding the cut. If copt is the value of the integer optimum, crel the value of the continuous relaxation, and cstr the value of str −copt the strengthened relaxation, the strengthening is given by: 1 − ccrel −c opt .

1) Separation using a mixed relaxation: - |J |: the number of variables for which the integrality is imposed; - time: the computation time (in seconds) for generating a violated inequality; - ratio: the ratio between the right-hand and left-hand sides of the inequality generated;

68

Combinatorial Optimization 3

- strengthening: the reduction of the integrality gap obtained by adding an inequality (expressed as a percentage of the integrality gap). 2) RSRL (relaxed lifting): - |J# |: the number of fractional variables in the solution to be separated (that is the size of the separation problem in the restricted space); - time: the computation time (in seconds) for generating a violated inequality; - ratio: the ratio of the inequality generated; - strengthening: the part of the integrality gap filled by the addition of an inequality (expressed as a percentage). 3) Separation by combining a heuristic and relaxed lifting: the heuristic solution method is combined with relaxed lifting in the following way: the separation problem in the restricted space is solved heuristically as described in section 3.2.2; relaxed lifting is carried out as described in section 3.2.3. As the heuristic solution method, we have used CPLEX, with limitations imposed on the solution process. The number of nodes of the search tree is limited to 500, the number of integer solutions to 3, and the search is aimed at feasibility: - time: the computation time (in seconds) for generating a violated inequality; - ratio: the ratio of the inequality generated; - strengthening: the part of the integrality gap filled by the addition of an inequality (expressed as a percentage). 4) Strengthened lift and project: - # inequality: the number of inequalities generated; - time: the computation time (in seconds) for generating the inequalities; - ratio: average value of the ratio on all the inequalities generated; - strengthening: the part of the integrality gap filled by the addition of the inequalities (expressed as a percentage). 5) Iterated strengthened lift and project (iteration of the lift and project procedure for 1 minute and for 10 minutes): - # rounds: number of rounds of lift and project carried out; - # inequality: the number of inequalities generated; - strengthening: the part of the integrality gap filled by the addition of the inequalities (expressed as a percentage). 1 : 6) Optimization on PSA 1 - time: solution time in seconds of the linear program describing PSA ; 1 - strengthening: strengthening of the integrality gap produced by PSA with regard to the continuous relaxation (expressed as a percentage of the integrality gap). 3.3.3. Discussion of the computational results All the results were obtained using CPLEX7.0 on a PC with a processor clocked at 400 MHz. The main conclusions that seem to emerge from these comparisons are the following:

Comparison of Valid Inequality Methods

69

1) In all the test problems, RSRL is clearly better than separation using a mixed relaxation both at the computation time level and in the quality of the inequality generated. In all cases, the ratio μ = αTβx∗ of the inequality generated is better (smaller) and the strengthening is stronger. 2) For all the problems, the time taken to carry out a round of lift and project is clearly less than the generation time of an inequality with (RSRL) (about 10 times faster on average). The average strengthenings are of the same order with both methods (2.71% for RSRL, 2.95% for lift and project) but (RSRL) manages this with only one inequality, while lift and project generates about 20 inequalites on average. This suggests that the inequalities deduced from the simple disjunctions are significantly less deep. This is confirmed by the values of the ratios, which are clearly worse (closer to 1) with lift and project. 3) Separation using a heuristic allows us to carry out the separation on average twice as quickly as with RSRL, at the price of a relatively limited loss in efficiency. The results are better than those obtained using a mixed relaxation. It is also interesting to note that the ratio of the inequalities generated clearly remains better (that is weaker) than for lift and project. Note that these results are, of course, very dependent on the quality of the heuristic used. 4) The iteration of lift and project allows us to improve the strengthenings significantly with regard to a simple round. In one minute, we gain about 5.5% on the integrality gap on average (we go from 2.95% to 8.59%). If we continue iterating rounds, we continue strengthening at a slower rate. We gain on average about 5% by going from 1 minute to 10 minutes. Note that these strengthenings are obtained at the price of adding a large number of inequalities to the formulation (see details in Table 3.3). 1 does not seem advantageous compared with iterated lift and 5) Optimizing on PSA project. The corresponding computation times are very large (five hours on average), and the strengthenings obtained are worse on average than those obtained by iterating rounds of lift and project for 10 minutes.

In light of the results presented, among the approaches tested, those that use strengthened lift and project seem to be the best, at least for multidimensional knapsack problems, in terms of tradeoff between the computation time and the strengthening. We have to observe, however, that the strengthenings obtained remain modest (12% on average after 10 minutes computation time), which confirms the intrinsic difficulty of multidimensional knapsack problems. If we consider the ratio criteria, approaches using relaxed lifting and heuristic separation lead to cuts that are clearly deeper on average. This opens up the possibility of more efficient implementations, for example by exploiting the data accumulated in the master problem to generate several cuts.

70

Combinatorial Optimization 3

Another interesting research direction could be to improve the efficiency of solving 1 by exploiting its structure more systematically. PSA 3.4. Bibliography [APP 01] A PPLEGATE D., B IXBY R., C HVÁTAL V., C OOK W., “TSP cuts which do not conform to the template paradigm”, Computational Combinatorial Optimization (Schloß Dagstuhl, 2000), vol. 2241 of Lecture Notes in Comput. Sci., p. 261–303, Springer, Berlin, 2001. [BAL 78] BALAS E., Z EMEL E., “Facets of the knapsack polytope from minimal covers”, SIAM Journal on Applied Mathematics, vol. 34, p. 119–148, 1978. [BAL 79] BALAS E., “Disjunctive programming”, Annals of Discrete Mathematics, vol. 5, p. 3–51, 1979. [BAL 80] B ALAS E., J EROSLOW R.G., “Strengthening cuts for mixed integer programs”, European J. Oper. Res., vol. 4, num. 4, p. 224–234, 1980. [BAL 93] BALAS E., C ERIA S., C ORNUÉJOLS G., “A lift-and-project cutting plane algorithm for mixed 0-1 programs”, Math. Programming, vol. 58, p. 295–324, 1993. [BAL 96a] BALAS E., C ERIA S., C ORNUÉJOLS G., “Mixed 0–1 programming by lift-andproject in a branch-and-cut framework”, Management Sci., vol. 42, p. 1229–1246, 1996. [BAL 96b] B ALAS E., C ERIA S., C ORNUÉJOLS G., NATRAJ N., “Gomory cuts revisited”, Operations Research Letters, vol. 19, p. 1–9, 1996. [BAL 98] B ALAS E., “Disjunctive programming: properties of the convex hull of feasible points”, Discrete Applied Mathematics, vol. 89, p. 3–44, 1998, (originally MSRR # 348, Carnegie Mellon University, 1974). [BAL 99] BALAS E., P ERREGAARD M., Lift and Project for Mixed 0-1 Programming: Recent Progress, Report num. MSSR No. 627, Graduate School of Industrial Administration, Carnegie Mellon University, 1999. [BIE 95] B IENSTOCK D., G ÜNLÜK O., “Computational experience with a difficult mixedinteger multicommodity flow problem”, Math. Programming, vol. 68, num. 2, Ser. A, p. 213–237, 1995. [BON 03] B ONAMI P., Etude et mise en œuvre d’approches polyédriques pour la résolution de programmes en nombres entiers ou mixtes généraux, PhD thesis, University of Paris 6, 2003. [CHO 92] C HOPRA S., G ORRES E., R AO M., “Solving the Steiner tree problem on a graph using branch and cut”, ORSA Journal on Computing, vol. 4, p. 320-335, 1992. [CHO 94] C HOPRA S., R AO M.R., “The Steiner tree problem. I. Formulations, compositions and extension of facets”, Math. Programming, vol. 64, num. 2, Ser. A, p. 209–229, 1994. [CHU 98] C HU P., B EASLEY J., “A Genetic algorithm for the multidimensional knapsack problem”, Journal of Heuristics, vol. 4, p. 63–86, 1998.

Comparison of Valid Inequality Methods

71

[CRO 80] C ROWDER H., PADBERG M.W., “Solving large-scale symmetric travelling salesman problems to optimality”, Management Sci., vol. 26, num. 5, p. 495–509, 1980. [DAH 98] DAHL G., S TOER M., “A cutting plane algorithm for multicommodity survivable network design problems”, INFORMS J. Comput., vol. 10, num. 1, p. 1–11, 1998. [GAB 99] G ABREL V., K NIPPEL A., M INOUX M., “Exact solution of multicommodity network optimization problems with general step cost functions”, Operations Research Letters, vol. 25, p. 15–23, 1999. [GOE 94] G OEMANS M., “The Steiner tree polytope and related polyhedra”, Math. Programming, vol. 63, p. 157–182, 1994. [GOM 60] G OMORY R., “Solving linear programming problems in integers”, B ELLMAN R., M.H ALL , Eds., Combinatorial Analysis, Proceedings of Symposia in Applied Mathematics 10, Providence, RI, p. 211–216, 1960. [GOM 63] G OMORY R., “An algorithm for integer solution solutions to linear programming”, G RAVES R., W OLFE P., Eds., Recent Advances in Mathematical Programming, McGrawHill, p. 269–302, 1963. [GRÖ 92a] G RÖTSCHEL M., M ONMA C.L., S TOER M., “Computational results with a cutting plane algorithm for designing communication networks with low-connectivity constraints”, Oper. Res., vol. 40, num. 2, p. 309–330, 1992. [GRÖ 92b] G RÖTSCHEL M., M ONMA C.L., S TOER M., “Facets for polyhedra arising in the design of communication networks with low-connectivity constraints”, SIAM J. Optim., vol. 2, num. 3, p. 474–504, 1992. [GRÖ 95] G RÖTSCHEL M., M ONMA C.L., S TOER M., “Design of survivable networks”, Network models, vol. 7 of Handbooks Oper. Res. Management Sci., p. 617–672, NorthHolland, Amsterdam, 1995. [JER 77] J EROSLOW R.G., “Cutting-plane theory: disjunctive methods”, Studies in integer programming (Proc. Workshop, Bonn, 1975), p. 293–330. Ann. of Discrete Math., vol. 1, North-Holland, Amsterdam, 1977. [LOV 91] L OVÁSZ L., S CHRIJVER A., “Cone of matrices and Set Functions, and 0, 1 optimization”, SIAM J. Optimization, vol. 1, num. 2, p. 166–190, 1991. [MAR 01] M ARCHAND H., W OLSEY L.A., “Aggregation and mixed integer rounding to solve MIPs”, Operations Research, vol. 49, num. 3, p. 363–371, 2001. [MIN 01] M INOUX M., “Discrete cost multicommodity network optimization problems and exact solution methods”, Ann. Oper. Res., vol. 106, p. 19–46 (2002), Topological network design in telecommunication systems, 2001. [NEM 90] N EMHAUSER G., W OLSEY L., “A recursive procedure for generating all cuts for 0–1 mixed integer programs”, Math. Programming, 1990. [PAD 73] PADBERG M., “On the facial structure of set packing polyhedra”, Mathematical Programming, vol. 5, p. 199–215, 1973. [PAD 87] PADBERG M., R INALDI G., “Optimization of a 532-city symmetric traveling salesman problem by branch and cut”, Oper. Res. Lett., vol. 6, num. 1, p. 1–7, 1987.

72

Combinatorial Optimization 3

[SHE 90] S HERALI H.D., A DAMS W.P., “A hierarchy of relaxations between continuous and convex hull representations for zero one programming problems”, SIAM J. Discrete Math., vol. 3, num. 3, p. 411–430, 1990. [SHE 99] S HERALI H., A DAMS W., A Reformulation-Linearization Technique for Solving Discrete and Continuous Nonconvex Problems, Kluwer Academic Publishers, Dordrecht, 1999. [STO 94] S TOER M., DAHL G., “A polyhedral approach to multicommodity survivable network design”, Numer. Math., vol. 68, num. 1, p. 149–167, 1994. [WOL 76] W OLSEY L., “Facets and strong valid inequalities for integer programs”, Operations Research, vol. 24, p. 367–372, 1976. [ZEM 78] Z EMEL E., “Lifting the facets of zero-one polytopes”, Mathematical Programming, vol. 15, p. 268–277, 1978.

Chapter 4

Production Planning

4.1. Introduction Mathematical programming and production planning have been closely linked since their beginnings. The work of Kantorovich [KAN 60] on “mathematical methods in production organization and planning”, published in 1939, already contained the seeds of the developments in linear programming which took place in the following decades. Many methods derived from this approach have been effectively applied in practice, for example: – inventory and supply management; – material resource planning (MRP); – the many industrial applications of linear programming since the 1950s in the petroleum industry (production and distribution planning), food industry (transportation, blending), steel industry (process planning and scheduling), mechanical industry (scheduling), etc. Production planning has evolved considerably since the 1960s. Companies have had to refocus in order to increase their flexibility and reactivity and thus accelerate the renewal of their products on the market. To reduce costs, they attempt to remove all superfluous activities through just-in-time production, lean production, and by realigning the concepts of quality and deadlines. Production planning, in a wide sense, includes all the activities in what we today call a “supply chain”. According to [GOV 02], a supply chain can in general be decomposed into five macroactivities: Procurement –Transport – Production – Inventory – Distribution. Chapter written by Nadia BRAUNER, Gerd FINKE and Maurice QUEYRANNE

74

Combinatorial Optimization 3

The aim of this chapter is to highlight a few specific models in production planning and management, which to us seem interesting from the combinatorial optimization point of view. Through necessity, we will merely offer a very selective overview. We will follow the scope of [CRA 97a] with important extensions. For a more complete review, see, for example, [GIA 03]. This chapter is structured according to the hierarchical planning approach, which we set out briefly in section 4.2, and presents three main themes: – strategic planning and productive system design (section 4.3); – tactical production planning and inventory management (section 4.4); – operational production planning and scheduling (section 4.5). We will conclude (section 4.6) by briefly mentioning some other combinatorial optimization models in production planning. 4.2. Hierarchical planning Many decisions need to be made in the weeks or even months that precede actual production in the workshop. Good planning must attempt to reconcile objectives that are often contradictory: – to ensure that the client finds the product that he wants at the desired time and place; – to provide production (workshops, operators, etc.) with the best working conditions, which means that at any moment the necessary resources, such as equipment, human resources or materials, must be present; – to ensure a least cost or maximum profit production. The first two objectives are often expressed as quantitative constraints. We fix the demand to be satisfied during each period and we impose that the requirements for the planned production be covered by existing capacities. In this way we define cost minimization models under demand and capacity constraints. Before putting a planning system into place, several questions arise: What time horizon must be considered? What products must be taken into account? Does capacity need to be estimated at the factory, workshop, or machine level? The most common response is to put into place a hierarchical system whose levels correspond to: – the strategic decisions over the long term; – the tactical decisions over the medium term; – the operational decisions over the short term.

Production Planning

75

The degree of precision of the information taken into account at each level is not the same. The lower the level (shorter term), the more precise the information retained will be; the higher the level (longer term), the more aggregated the required information will be. In this context, mathematical programming models occupy an important place in the arsenal of production planning techniques, in particular for determining medium- and short-term plans. 4.3. Strategic planning and productive system design The rationalization of material flows required by modern industrial management principles has caused new problems of strategic order to arise, in particular, those of reconfiguring functional workshops. Indeed, in the majority of workshops, equipment is grouped into functional sections (lathes, milling machines, drill presses, etc.) rather than according to the flow of products. This type of workshop is used for small and medium production runs and allows very diverse products to be processed. But this organization results in a low productivity rate. The main problems are caused by the difficulty of rationalizing the movements between machines, which implies building up large inventories. The direct consequences of holding these inventories are parts waiting times, which largely exceed the machining times. Since the 1960s, many mathematical models have been developed for optimizing production systems. These models are the basis of commercial programs still used today [HER 97, FRA 98, MEY 99]. 4.3.1. Group technology In order to improve the operations of workshops and let them benefit from the combined advantages of product and functional organization, a recent trend has been to reconfigure the workshops as manufacturing cells. A manufacturing cell is formed by grouping a few machines capable of producing a limited variety of parts. A manufacturing cell is therefore less flexible than a traditional workshop, but, in return, it is more rational and productive. The first stage is identifying groups of parts specifically linked to certain groups of machines (logical apportioning). For this stage, we use group technology methods. Formally, we start from a matrix with 0,1 elements of which we seek to rearrange the lines and columns in order to create diagonal submatrices dense in 1s while leaving few 1s outside these diagonal blocks (residual 1s). More specifically, in the context of decomposition into cells, we start from a matrix with n rows and m columns, where the rows correspond to the machines and the columns to the parts to be manufactured.

76

Combinatorial Optimization 3

We set aij = 1 if machine i can manufacture part j, and aij = 0 otherwise. As an example, consider the following matrix, where the machines are numbered from 1 to 6 and the parts from 1 to 10, and where the 0s are omitted [CRA 97a]:

1 2 3 4 5 6

1 1

2 1

1

1 1

3 1 1

4 1 1 1

5

6 1

1 1

1 1

7 1

8 1

1

9

10 1

1

1

1 1

After permuting lines and columns, this matrix can be expressed as:

2 4 5 1 3 6

3 1 1

5 1 1

6 1 1 1

9 1 1

10 1 1

1

2

4

7

8

1 1 1

1 1 1

1 1

1 1

1 1

The submatrices obtained by group technology allow us to identify the sets of machines which form the manufacturing cells and the parts to be manufactured by each of these cells. In the example, we see that we can separate the initial workshop into two cells: – a cell made of machines 2, 4 and 5 on which we will produce parts 3, 5, 6, 9 and 10; and – a cell made of machines 1, 3 and 6 on which we will produce the other parts. The case of the residual 1, outside the diagonal blocks, remains to be dealt with. In our example, this is the processing of part 4 on machine 4. Several possibilities can be considered: – accept that parts cross from one cell to another; this solution must remain exceptional, as it complicates the production flows and thus goes against the desired goal; – invest in a new machine, 4-bis, that is capable of making part 4; overequipment here allows us to improve the global flow of the workshop;

Production Planning

77

– revise the design of part 4; – outsource this operation, or even the whole of part 4. The fundamental problem of group technology, that is the optimal partition of the machines/parts incidence matrix, is also applicable to other industrial situations. This generic question leads to NP-complete optimization problems. Many heuristics have been used to tackle these problems [KUM 86]. 4.3.2. Locating equipment Once the machine cells have been identified, the location of the machines inside a cell can be optimized. The classical model that describes this situation is the “quadratic assignment problem” (QAP). In this model, we have m machines and m sites in the workshop. The distance between sites i and j is dij. From the product routings and production plans of the parts to be fabricated, we can compute the flow (number of transfers) fij between two machines i and j. We seek a permutation π which places machine π(i) on site i and which minimizes the total distance traveled: ∑i,j di,jfπ(i),π(j) The QAP is one of the hardest problems in combinatorial optimization. Finding a k-approximation is NP-hard for every constant k > 1 [SAH 76], even for very special cases where the distances satisfy the triangular inequality [QUE 86]. Instances of size m < 30 sites and machines can be solved exactly [ANS 02]; for instances of larger size, many heuristics have been developed but proving optimality remains extremely difficult. For more details, see [FIN 87], [PAR 94], [CEL 98] and [BUR 98]. 4.4. Tactical planning and inventory management Medium-term planning takes place within a decision context where the portfolio of products and the production process can be considered as given parameters, determined by the company strategy. The questions which arise at this level of tactical decision therefore relate to the optimal use of the production system to satisfy the forecast demand over the planning horizon. At this decision level, there is too much uncertainty to encumber ourselves with details which would needlessly complicate decision making. The manager therefore usually seeks to plan “along broad lines”. Products are aggregated into families, resources into broad categories (personnel, equipment, etc.), and periods are relatively long (typically one month; sometimes one week).

78

Combinatorial Optimization 3

For this reason, we sometimes call the medium-term production plan the aggregated plan. The aggregation of decisions allows us to considerably simplify the formulation, solution and interpretation of the model: less data to gather, fewer calculations to perform, and fewer results to analyze. Moreover, aggregation also improves the quality of demand forecasts as well as the estimation of other parameters. 4.4.1. A linear programming model for medium-term planning In this model, the variables controlled by the planner are essentially of two types: variables associated with the products, and those associated with the resources. To understand this, consider a company that has N families (indexed by i) of products to manufacture over a horizon of T periods (indexed by t). The fabrication of these products uses M resources (indexed by k), such as materials, equipment and labor. The demand di,t of product i in period t can be satisfied in different ways: by producing Xi,t units of product i during this period t; by using Si,t units of product i in stock available at the start of period t; and by postponing the production of Ri,t units of product i (backlogged demand). By combining these diverse possibilities, the company can regulate its activity levels and smooth out the use of its resources. The demand constraint in period t is of the form: ( Xi,t + Si,t ) − (di,t + Ri,t − 1) = Si,t + 1 − Ri,t

[4.1]

that is the available quantity (manufacturing plus stock: Xi,t + Si,t) minus the total demand (the demand in the period increased by the previously postponed demand: di,t + Ri,t−1) gives the initial inventory (Si,t + 1) or the backlogged demand (− Ri,t) in the following period. Note that these demand constraints [4.1] are precisely the node balance equations (total incoming flow equals total outgoing flow) in a network flow problem, as illustrated in Figure 4.1. X i, t-1

X i,1

1

Si,2

...

t-1

R i,1 di,1

X i,t S i,t

t

d i,t-1

S i, t +1 t +1

di,t

...

S i,T

T

Ri, T-1

R i, t

Ri, t-1

X i,T

Xi, t+1

d i, t+1

Figure 4.1. Network associated with constraints [4.1]

d i,T

Production Planning

79

At this level of planning, we can consider that the resource requirements are proportional to the production levels. In the simplest case, the availability bk,t of each resource k is known for each period t. Let ai,k be the quantity of k required to produce one unit of i. The resulting capacity constraint for resource k in period t is then: ∑i a i , k X i ,t ≤ bk ,t

In this model, the objective is to minimize total costs: production, inventory, outsourcing, labor, etc. These costs are usually linearized, which leads to the formulation of linear programming models. The flexibility of this modeling, combined with other well known advantages of linear programming (software availability, computational efficiency, sensitivity analysis) make linear programming the instrument of choice for aggregate production planning. 4.4.2. Inventory management Inventory management is inseparable from production planning. We have already encountered inventory decisions (represented by the variables Si,j) in the previous section (see equation [4.1]). Such decisions are also part of short-term planning. In fact, inventory management has given rise to the development of specific models, problems and methods, and has evolved into an individual subdiscipline, see for example [GIA 03] and [ZIP 00]. The objective of inventory management is to ensure the availability of products over a given horizon while minimizing the costs incurred. In very general terms, an inventory management policy must answer two basic questions: – when should we replenish? (using production, procurement or transfer); and – how much? Three types of costs are generally taken into account to evaluate the quality of an inventory policy: ordering costs, holding costs and shortage costs. Inventory management models differ according to the characteristics of supply, that is the structure of the supply and production system, and those of demand. Uncertainty is an important aspect of many inventory management situations: uncertainty about supply (for example supply lead times, quality), and uncertainty about demand (which products will be in demand? in what quantities? at what time?). Since we are looking at combinatorial optimization models here, we limit our discussion to deterministic situations, for which we assume that the uncertainty can be ignored. This is the case for well-controlled production environments that

80

Combinatorial Optimization 3

satisfy an easily predicted, internal or external demand. This is also the case when the uncertainty can be controlled using safety stocks whose determination is relatively independent of the other inventory management decisions, or whose effect on costs is small. 4.4.3. Wagner and Whitin model The simplest deterministic models concern the inventory management of a single item at a single installation. The first model we consider here is an extension of that from the previous section, taking into account fixed ordering costs. Since for the moment we only consider a single product, we omit the product index i. Let us denote by 1, 2, …, T the periods in the planning horizon. Let us assume, to simplify, that the initial inventory is zero (S1 = 0), that no demand has been backlogged to period 0 (R0 = 0), and that the total demand during the planning horizon must be satisfied exactly (ST + 1 = RT = 0). Let: – ft be the fixed ordering (or production setup) cost in period t; this cost is incurred if and only if we decide to produce in period t, that is if and only if Xt > 0; – pt be the unit production cost in period t; the total ordering cost in period t is therefore: Ft(Xt) = ft + ptXt if Xt > 0, and zero if Xt = 0;

[4.2]

– ht be the holding cost per unit kept in inventory from period t – 1 to period t; the total holding cost over the planning horizon is therefore ∑Tt=2 h t S t ; – gt be the per-unit shortage cost in period t; the total shortage cost over the planning horizon is therefore ∑Tt=−11g t Rt ; note that these shortage costs are cumulative over time: thus, one unit of product demanded in period t but whose demand is backlogged and satisfied in period u > t + 1 incurs a total shortage cost of gt + gt + 1 + …+ gu − 1. All these costs are assumed to be non-negative. We denote by D st = ∑tu = s d u the total demand in periods s to t (with Dst = 0 if s > t). A policy (X, S, R) = (X1, S1, R1, X2, S2, R2, …, XT, ST, RT) is feasible if all its components are non-negative, if S1 = RT = 0, and if it satisfies equation [4.1]. Its total cost is: F ( X , S , R ) = ∑Tt=1 Ft ( X t ) + ∑Tt= 2 ht S t + ∑Tt=−11g t Rt

[4.3]

Wagner and Whitin’s problem (allowing backlogging) is to determine a policy (X, S, R) > 0 that satisfies [4.1] and minimizes [4.3]. Because of the fixed costs, this

Production Planning

81

problem is no longer a minimum linear cost flow problem, nor even a linear program. Since the functions FT(XT) are concave (for XT > 0), we have a minimum concave cost flow problem. Recall that the general minimum concave cost flow problem is NP-hard. We can also formulate this problem as an integer linear program (ILP), by defining for each period t a binary decision variable Yt ∈ {0, 1} with the following interpretation: if Xt > 0 then Yt must be equal to 1.

[4.4]

This then allows us to replace [4.3] with the linear objective: F ( X , S , R) = ∑Tt=1 ( f t Yt + p t X t ) + ∑Tt= 2 ht S t + ∑Tt=−11g t Rt

[4.5]

Implication [4.4] can be formulated by the following inequality Xt < MtYt

[4.6]

where Mt is an upper bound on Xt in an optimal solution. Since standard methods for solving ILPs are sensitive to the value of such “big-M” coefficients, we use a small value, here Mt = D1T , sufficient for constraints [4.6] and Yt ∈ {0, 1} to imply [4.4]. In fact, the special structure of this problem suggests other solution approaches much more effective than general concave cost flow or integer linear programming methods. The sequential nature of the decisions suggests the application of dynamic programming (DP). A key element of a formulation using DP is the choice of state variables. A natural choice is to define as the state of the system at the end of period t the number of units in or out of stock. It is then easy to define a DP formulation based on such state variables. Unfortunately, even assuming that demand (and the quantities manufactured) is integer, the number of possible states can be very large, of the order of the total demand D1T , and therefore pseudo-polynomial in the input size of the problem. Another formulation using dynamic programming is based on the following observations. First, we know that to minimize a concave function on a polyhedron, it is sufficient to restrict attention to its extreme points. The polyhedron is defined here by the flow constraints [4.1] and non-negativity (X, S, R) > 0. We also know that a feasible solution of a network flow problem defines an extreme point of the corresponding polyhedron if and only if there is no cycle (in the undirected sense) with all its arc flows strictly between their lower (here, 0) and upper (here, +∞) bounds. By specializing these results to the network structure associated with the Wagner and Whitin problem (Figure 4.1), we obtain:

82

Combinatorial Optimization 3

Structure of optimal policies: There exists an optimal policy for the Wagner and Whitin problem such that in every period t with positive production, the quantity produced exactly satisfies the demand in consecutive periods s < t < v, that is Xt = Dsv. It is then sufficient to determine a sequence (s1, v1), (s2, v2), …, (sk, vk) of intervals of consecutive periods, such that s1 = 0; sj < vj and sj + 1 = vj + 1 for j = 1, 2, …, k − 1; sk < vk = T; and of minimum total cost ∑ kj =1 c ( s j , v j ) where

{

c( s j , v j ) = min f t + p t D s

j

vj

+ ∑tu−=1s g u D s j

j

,u

+ ∑uv =−t 1 hu Du +1,v : t = s j ,..., v j j

j

}

represents the minimum total cost to satisfy all demands in the consecutive periods sj to vj from a single production run during this interval. An optimal sequence corresponds to a shortest path from node 1 to node T + 1 in the (acyclic) network of Figure 4.2, where the length of each arc (s, t) is c(s, t − 1). This network can be constructed in O(T2) operations and, since the network is acyclic, a shortest path can also be found in O(T2) operations. c(1,T) c(1,T-1) c(1,3) c(1,2)

1

c(1,1)

2

c(2,2)

3

c(3,3)

4

...

T

c(T,T)

T+1

c(2,3) c(2,T -1) c(2,T)

Figure 4.2. Shortest path network for the Wagner and Whitin problem

Aggarwal and Park [AGG 93] present an algorithm which solves the Wagner and Whitin problem in O(T log T) operations (see also [FED 93] and [WAG 92]). These works also show that this problem can be solved in linear time, O(T), in the case of Wagner and Whitin costs, that is when pt + ht ≥ pt + 1 and pt ≤ gt + pt + 1 for every t = 1, 2, …, T – 1.

[4.7]

Production Planning

83

These conditions ensure that we keep inventory or backlog demand only to take advantage of economies of scale (fixed costs) in the replenishment costs, and not for “speculative” motives. Indeed, under these conditions, if we pay fixed costs in periods t and t + 1 then we have no advantage in producing for stock or backlogging demand in period t. We conclude this discussion of the Wagner and Whitin model by presenting a reformulation as an ILP with additional variables and constraints, due to Pochet and Wolsey [POC 94]. We define 2T additional variables αt and βt with the following interpretation, for every period t:

α t = 1 if demand dt is satisfied from stock, and β t = 1 if it is backlogged. We can then state the following constraints:

α t + β t + Yt = 1 for 1 ≤ t ≤ T

[4.8]

∑lt = k d l (α l − ∑ul −=1k Yu ) ≤ S k for 1 ≤ k ≤ t ≤ T

[4.9]

∑lk=t d l ( β l − ∑uk = l +1 Yu ) ≤ R k for 1 ≤ t ≤ k ≤ T

[4.10]

Constraints [4.8] express that demand in period t is satisfied from stock or by production in period t, otherwise it is backlogged. Constraints [4.9] force the inventory Sk at the end of period k –1 to include all the subsequent demands dl satisfied from stock ( α l = 1 ) and not from production in any period from k to l – 1. Constraints [4.10] have a similar interpretation for backlogged demand. Pochet and Wolsey [POC 94] show that, for Wagner and Whitin costs [4.7], there exists an optimal solution of the linear program, minimize [4.5] under constraints [4.1], [4.8]–[4.10] and ( X , S , R, Y , α , β ) ≥ 0 , in which all the variables Yt , α t and β t are integer. This solution therefore defines an optimal inventory policy. Such a reformulation, which includes about 6T variables and T2 constraints, may be useful for formulating more complicated models using an ILP that include production capacity or storage constraints, several products linked by other resources, or several installations in a supply chain [POC 01 and POC 06]. See also [WOL 03] on the reformulation of integer linear programs, in particular production management models. 4.4.4. The economic order quantity model (EOQ) The economic order quantity model, or EOQ model, developed by Harris as early as 1913 [HAR 13] (also known under the name, among others, of Wilson’s

84

Combinatorial Optimization 3

model [WIL 34]), aims to satisfy, by discrete replenishments without stockouts and at minimum total cost, demand arising at a constant rate in continuous time. A good physical analogy is that of a tank of liquid from which we wish to ensure a constant flow, but that we can only refill using discrete quantities (“buckets”) of which we will determine the optimal size according to: – ordering costs, which favor low frequency replenishments, therefore in large quantities (“large buckets”); and – holding costs, which favor frequent replenishments, therefore in small quantities (“small buckets”). Let: – D be the rate of demand per time unit, say, in tons per year; – K be the cost of placing an order, in euros (per order); and – h be the cost of holding one unit in stock during one time unit, say, in euros per ton per year. These three parameters are positive numbers. We can therefore view this EOQ model as a limit of the Wagner and Whitin model with stationary demands and cost, when the periods become very small, and we must therefore continuously satisfy demand but we can replenish at any instant. To simplify the analysis, we have assumed that demand cannot be backlogged and that the demand rate and the costs are stationary (that is constant over time); there are many variants of the EOQ model that relax some of these restrictions, see for example [ZIP 00]. For the EOQ model, let us consider first a finite horizon [0, H] and any feasible replenishment policy P. Policy P is defined by the sequence 0 ≤ t1 ≤ t2 ≤ …≤ tp ≤ H of replenishment dates and the corresponding quantities q1, q2, …, qp ≥ 0. Assuming (to simplify) a zero initial inventory, the no-stockout constraints imply that t1 = 0 and that, at any instant, the total quantity procured up to this moment is not less than the total demand up to this instant. Since it is sufficient to satisfy these constraints just before each replenishment, policy P must therefore satisfy ∑ij=1 q i ≥ D t j +1 for every j = 1, …, p

[4.11]

where we let tp + 1 = H. The total cost C(P,H) of this policy P over the horizon [0, H] is the sum of its total ordering cost pK and total holding cost. We can determine the latter by considering the level I(t) of inventory at any instant t (0 ≤ t ≤ H) and we have:

Production Planning

C ( P, H ) = pK + h

85

H

∫t =0 I (t ) dt

[4.12]

An initial observation allows us to simplify the analysis. Zero inventory ordering property: It is optimal to replenish inventory only when it drops down to zero. In mathematical terms, a feasible policy P satisfies this property if and only if it satisfies constraints [4.11] as equalities, that is if qj = (tj + 1 – tj)D for every j = 1, 2, …, p. We can prove this property by contradiction: if a feasible policy P violates this property at its j-th replenishment then we can reduce its total cost in at least two different ways: – by reducing by ε ≤ min{q j , I (t −j +1 )} the quantity qj (where I (t −j +1 ) is the inventory level immediately before instant t j +1 ) and increasing by the same amount the quantity qj+1; we will then save the cost of storing these ε units over the duration tj + 1 – tj; or also – by delaying the next replenishment by θ ≤ min{H − t j +1 , I (t −j +1 ) / D} time units; we will then save the storage cost of the corresponding qj + 1 units over this duration θ . Note that this zero inventory ordering property need not hold in more complex inventory systems, if we do not have such flexibility on the replenishment dates or quantities, for example in periodic replenishment systems with capacity constraints. The inventory level I(t) decreasing at rate D between successive replenishments, a policy that satisfies the zero inventory ordering property will be such that I(tj + t) = qj − tD if 0 ≤ t < qj + 1 − qj. Expression [4.12] then simplifies as follows: C ( P, H ) = pK +

h p 2 ∑ j =1 q j 2D

For every p number of replenishments, the quantities qj must have a minimum sum of squares under the single constraint that their sum equals the total demand HD. Therefore, Constant order quantities property: It is optimal to order equal quantities at equal intervals.

86

Combinatorial Optimization 3

For such a policy with p replenishments, this common quantity is qj = q = HD/p, the interval between successive replenishments is t = H/p and the replenishment dates are tj = (j – 1)t for every j = 1, 2, …, p. Such a policy is therefore periodic. It is completely defined by the positive integer p and its total cost c(p,H) over the horizon [0, H] is:

c( p, H ) = pK +

hDH2 . 2p

[4.13]

This function is strictly convex in p for every H > 0. If we relax the integrality constraint on p then the continuous optimum is obtained for p = p*H and gives the following order quantity q*, order interval t* and lower bound c* H on the total cost: p* =

hD 2K

q* = D t* =

t* =

1 = p*

2K hD

2K D c* = 2 h D K h

[4.14]

These formulas are known as economic order (EOQ) quantity formulas. The integer optimum is simply p* H rounded up or down, whichever gives the lower cost. If the horizon H is sufficiently long, we can then neglect this “boundary effect” and replenish the quantity q* every t* units of time, thus incurring a total cost of c* per time unit. Such a periodic policy is easy to design and to implement. Another reason for its popularity is its “robustness” with respect to, on the one hand, changes in data and, on the other hand, deviations in implementation. The first aspect of this robustness is due to the fact that all the quantities in equation [4.14] are proportional (or inversely proportional) to square roots of the data; the effect of changes or errors in data will therefore be attenuated. For example, an increase of 21% in the demand rate D will only result in an increase of 10% (because 1.21 = 1.1 ) of the replenishment frequency p*, the economic quantity q* and the total cost c*. The second aspect of the robustness of the EOQ model is linked to the following remarkable property: if we use the number p* in expression [4.13] we then observe that the two summands are equal. In other words, at the continuous optimum, the annual ordering cost p* K and the annual holding costs are equal (and therefore each equal to c*/2). This property is due to the particular form [4.13] of the total cost and, contrary to popular belief, it does not hold in most other inventory management models. In the context of the EOQ model, nevertheless, it allows us to easily obtain the following result.

Production Planning

87

Sensitivity analysis of the EOQ model: The total cost of a periodic policy with 1⎛ 1⎞ order quantity α q * or order interval α t * is f (α ) c * where f (α ) = ⎜ α + ⎟ . 2⎝ α⎠

The function f (α ) is “very flat” around its minimum α = 1 . For example, f (1.25) = f (0.80) = 1.025. Therefore if we use 125% or 80% of the economic quantity q* (or of the interval t*) then the total cost is only 1.025 times the optimum c*: a deviation of +25% or –20% in the policy only yields a 2.5% cost penalty! This robustness, in the context of the EOQ model, allows us to implement a slightly suboptimal policy that meets practical requirements such as ordering every integer number of days (allowing, for example, replenishments at the same time each day) or “natural” quantities (for example an integer number of pallets). This robustness also allows the decisions for several products or installations to be coordinated while only incurring very modest cost penalties, as we will now see. By coordination in time, we seek to group the orders so replenishments are received simultaneously, and thus to take advantage of economies of scale on the administrative, transportation, handling or production costs, or to facilitate later operations. An effective way of ensuring the repeated coincidence of orders of two products i and j is to impose that one of their order intervals t*i and t*j divides the other. Then, for example, if product i is ordered every day and product j every third day (that is t*j = 3 t*i ) then product i is ordered every time product j is. A simple way of ensuring such coordination is to use a powers of 2 policy: having fixed a base period β (usually a natural unit of time, such as one day or one week), we require that each ordering interval be an integer (positive or negative) power-of-2 multiple of β. In other words, we require that each ti be in the set {…, β/8, β/4, β/2, β, 2β, 4β, 8β, …}. In such a policy, if ti < tj then product i is ordered every time product j is. Given the EOQ intervals t*i (i = 1, 2, …, n) we determine a powers of 2 policy by stating t i = 2θ β , where θi is log 2 t*i rounded to the nearest (positive or i

negative) integer. We then have log 2 t *i − 1 ≤ θ i ≤ log 2 t *i + 1 and therefore 2 2 t *i / 2 ≤ t i ≤ 2 t *i , which implies a cost penalty lower than 6.1% (because f ( 2 ) = f (1 / 2 ) < 1.0607 ) for each product, and therefore also for the total cost of

all the products coordinated in this way. Since ∑in=1 c *i is a lower bound on the total cost of any feasible policy, we therefore have [ROU 85]: Existence of a good powers of 2 policy with given base period: For every base period β > 0 and every finite set of products, there exists a powers of 2 policy with base β and total cost less than 6.1% above the total cost of any feasible policy.

88

Combinatorial Optimization 3

If we can choose the base period β, we obtain an even better performance [ROU 85]: Existence of a good powers of 2 policy: For every finite set of products, there exists a powers of 2 policy with total cost less than 2.1% above the total cost of any feasible policy.

We can prove this result using a probabilistic argument, by making the base period β vary in the interval [1 / 2 , 2 ] following a probability distribution of logarithmic density and observing that the best performance is then at least as good

(

)

as its mathematical expectation, 1 / 2 ln(2) < 1.021, see [ROU 85]. 4.4.5. The EOQ model with joint replenishments

The following situation shows the usefulness of powers of 2 policies in a situation where there is an advantage to grouping orders. We now consider a set N = {1, 2, …, n} of products, where Di denotes the demand rate of product i ∈ N , and hi its unit annual holding cost. All the hypotheses of the EOQ are satisfied, with the exception of those on the ordering costs. The fixed cost of an order is now K(A) > 0, where A is the set of products ordered, and is independent of the quantities ordered (as long as they are positive). We assume that the set function K : 2 N → R + that satisfies K (∅) = 0 is monotonic, that is: K(A) < K(B) for all subsets A ⊆ B ⊆ N (ordering a larger variety of products cannot cost less than ordering a smaller variety), and submodular, that is it satisfies the following decreasing marginal cost property: K ( A ∪ {i}) − K ( A) ≤ K ( B ∪ {i}) − K ( B) for all i ∈ N and B ⊆ A ⊆ N \ {i} .

Submodular functions play an important role in combinatorial optimization, as well as in economy and in management, see for example [FUJ 91] and [TOP 98]. A simple example of a monotonic and submodular function is when the fixed cost K ( A) = k 0 + ∑i∈A k i of an order A includes a major fixed cost k0 > 0 for every order, plus a minor fixed cost ki > 0 for each product included in the order. A more general case is when the products form families F ∈ F (not necessarily disjoint) with fixed family costs KF > 0 such that K ( A) = ∑ {K F : F ∈ F and A ∩ F ≠ ∅} , where the fixed cost KF is incurred whenever a product from the family F is ordered. (The previous case of major and minor fixed costs corresponds to n + 1 families in F: {i}

Production Planning

89

with K{i} = ki for each product i, and N with KN = k0.) In the general case, the submodularity of function K means that the increase in fixed cost due to each product i is smaller if we add i to an order A than to any suborder B ⊆ A . There is therefore an advantage to joining (grouping) orders to take advantage of these decreasing marginal costs. But such groupings can increase the holding costs. We therefore seek an inventory management policy that minimizes the sum of the ordering and holding costs over an infinite horizon, starting with zero inventories at time 0. In an integer ratio policy P, each product i ∈ N is replenished at equal intervals of duration ti in such a way that for any two products i and j one of the durations ti or tj divides the other; such a policy must be feasible and satisfy the zero inventory ordering property. If we number the products as i(P,1), …, i(P, n) in such a way that ti(P,1) ≤ ti(P,2) ≤ … ≤ ti(P,n) then we note that such a policy is periodic with period ti(P,n). Furthermore, each order consists of one of the consecutive sets {i(P,1), …, i(P, j)} and is repeated at intervals ti(P,j), except when j < n and the next larger order {i(P,1), …, i(P, j), i(P, j + 1)} is replenished. The average total annual cost of such a policy P = (t1, t2, …, tn) is therefore: ⎛ 1 1 C ( P ) = ∑ nj =1 K ({i ( P,1),..., i ( P, j )}) ⎜ − ⎜ t i ( P , j ) t i ( P , j +1) ⎝

⎞ ⎟ + ∑in=1 hi Di t i ⎟ 2 ⎠

where we set 1/ti(P,n+1) = 0. The first term represents the average annual ordering cost, and the second term the average annual holding cost. Relaxing the integrality constraints, let C(P*) be the minimum of C(P) over all positive vectors P = (t1, t2, …, tn). Although the value C(P*) is obtained under the hypothesis of integer ratios, the monotonicity and submodularity properties of the function K imply [FED 92a,b]: Lower bound theorem: For the EOQ model with joint replenishments, the continuous minimum C(P*) is a lower bound on the average annual cost of every feasible inventory management policy.

This result follows from the existence of a reallocation k* = (k1*,…, kn*) of the fixed ordering costs such that ki* are positive numbers that satisfy: K ( A) ≥ ∑i∈A k i * for every A ⊆ N and C ( P*) = ∑in=1

This implies that C ( P*) = ∑in=1

h 2 Di

ki * h D + ∑in=1 i i t i . ti 2

2 hi Di k i * and that the corresponding

continuous solutions are t i * = 2 k i * / hi Di for every i ∈ N . In fact, we can

90

Combinatorial Optimization 3

determine an optimum reallocation k* = (k1*,…, kn*) by minimizing at most 2n – 1 submodular functions related to function K. The submodular function minimization problem is an important and well solved problem in combinatorial optimization, see for example [FLE 00] and [McC 03]. We can therefore efficiently determine this bound C(P*) and a corresponding “fractional” solution P* = (t1*,…, tn*). Furthermore, this continuous solution forms a good starting point for constructing a joint replenishment policy. Indeed, the method described above (logarithmic rounding) allows us to derive from it a good powers of 2 policy. Existence of good powers of 2 policies for the EOQ model with joint replenishments: For every monotonic and submodular fixed ordering cost function K and fixed base period β, there exists a powers of 2 policy with total cost less than 6.1% above the total cost of any feasible policy; and less than 2.1% above the total cost of any feasible policy if we can choose the base β.

These methods and results can be extended to other inventory management models for which powers of 2 policies have shown themselves to be efficient, see for example [ROU 85], [FED 92a] and [ZIP 00]. In section 4.6, we will see that powers of 2 policies also have important benefits in the context of just-in-time production. 4.5. Operations planning and scheduling

The short-term production plan can be seen as a detailed and disaggregated version of the medium-term production plan: it breaks down the product families into individual items and it plans production over a shorter horizon, taking into account a more precise division into subperiods. One of the essential characteristics of the short-term plan is the explicit taking into account of the specifics of the production process: the nomenclature of the products (raw materials, components, subassemblies), the sequence and duration of the operations at the various production centers (product routings and plans, delivery times), operations preparation and setup times (cleaning workbenches, changing machine settings and tools), etc. Many optimization models have been proposed for drawing up short-term production plans. The formulation of these models obviously depends on the technological processes considered (for example, processing versus assembly industries). Here we will deal with a few combinatorial optimization problems linked to the scheduling of manufacturing orders and the flow of parts in a workshop.

Production Planning

91

In the very short term, the production department is confronted with a collection of work orders (WOs) to be carried out. Each WO consists of a list of operations to be performed, but does not necessarily specify the order in which these operations must be carried out, nor when they must be started, nor the workstations to which they must be assigned. Scheduling production is planning the starting and finishing dates of the operations as well as the assignment of these operations to the various workstations. Scheduling is a branch of combinatorial optimization and most of its problems can be modeled in the form of integer linear programs. But the models formulated in this way are often too complex to be solved directly. Scheduling theory has therefore been developed as an individual subdiscipline, with its own methodologies and optimization tools. Classical theory deals with scheduling jobs (WOs) on machines. Although machines obviously constitute an essential resource, other resources may be involved in the production process: handling devices (gantries, cranes, automated guided vehicles, robots), equipment and tools (especially in automated machining centers). These additional resources must be available so that the operations can be carried out. We describe in detail below two combinatorial models which concern the two main categories of additional resources: – production resources (tools) which must be available in the tool magazine of a numerical control machine (NC-machine) for the entire duration of production of the part considered (section 4.5.1); – handling resources that carry out the transfer between the machines. We describe a model of a robotic cell (section 4.5.2). 4.5.1. Tooling

In classical resource constrained scheduling theory, the resources are simply assigned to the tasks for the entire duration of their execution, without specifying the details of this assignment or its management [BLA 86]. In modern workshops, we have a large number of additional resources to assign, for instance tools. We then wish to integrate the management of these numerous tools with the scheduling of parts on the machines [BLA 94]. Let us consider an NC-machine where the task is the production of a complex mechanical part. The part is produced on one single NC-machine by cutting out certain elements from a block of raw material, with the help of cutting tools. All the

92

Combinatorial Optimization 3

tools necessary for a given part are to be placed in the tool magazine of the machine and must remain there until completion of the task. The tool magazines can have a capacity of 10 to 100 tools, and the number of tools can exceed 1000. The tools are found in a storage area and may be moved to the tool magazines every time a new part is sequenced. The problem is then to simultaneously schedule the parts and manage the tools. For each new part, we must select the tools to be sent into the general storage area in order to leave space for the tools required by the part. The objective is to find a sequence of parts that minimizes the number of tool switches (tool switching problem). It has been shown that this problem is already NP-hard if the capacity of the tool magazine is 2 [CRA 94]. If the sequence of parts is given (off-line version), the tool switching problem has a simple optimal solution. We describe this optimal solution in terms of k-server problems. We show that an analogy exists between the tool switching problem and paging in computer systems memory [PRI 95, PRI 00]. It appears that, for a long time, the two communities (computing and operations research) were not aware of these similarities. Server problems are well known in computing [MAN 90, McG 91]. The k-server problem is defined as follows. Let us consider a complete graph with n vertices, numbered 1, 2, …, n, and a set of k mobile servers that occupy k of the n vertices. A server can move from one vertex to another if the latter requires serving. Moving from a vertex u to a vertex v incurs the cost Cuv (Cuu = 0). The objective is to minimize the total cost of moving the servers for a given sequence of requests. Our generalization concerns the way in which the requests must be served. For a general k-server problem, the servers are to be moved to meet a sequence of bulk requests (B1, B2, ..., BN). A bulk request is a subset of vertices Bi ⊆{1, 2, ..., n} with size |Bi| ≤ k, which corresponds to subsets of clients who must be served simultaneously. Therefore we cannot send one server to a vertex that requires service and then send this server to another vertex that belongs to the same bulk request. On the other hand, the demands from the same group can be executed in an arbitrary order. We call this problem the k-server problem with bulk requests. An example is given in Figure 4.3: n = 6 clients, k = 3 servers, initially occupying vertices 4, 5 and 6, and the bulk request {4, 2, 3} is satisfied at a cost C62 + C53. The k-server problem has applications in computing and in production systems. The first one involves two-level memory systems. The computer has stored information in n memory pages, of which k are in the rapid access memory and the other n – k are located in the slow access memory. The n pages correspond to the n vertices of a complete graph, and a page in the rapid memory is a vertex which is served. Cuv is the cost to be paid if page u is switched with page v in the rapid memory. A task (the running of a program) requests a particular sequence of pages (B1, B2, ..., BN). A requested page which is located in the slow memory must be transferred to the rapid memory before it can be

Production Planning

93

used. The objective is to minimize the total cost to make all the switches. Since the requested pages are requested one by one, we have |Bi| = 1 for every i. This problem has been widely analyzed, for example in [BEL 66].

2

3

1

4

6

5

2

3

1

4

6

5

Figure 4.3. Servers at the vertices 4, 5, 6 and execution of the bulk request {2, 3, 4} (gray vertices)

Let us now look at the second application: the tool switching problem can be seen as a k-server problem with bulk request. We have a two-level tooling system, composed of the tool magazine of the NC-machine with a capacity of k tools and the main area with n – k tools. A set of parts is to be manufactured on the machine. During the fabrication of a part, all the necessary tools must be located in the magazine. When the tools necessary for a part are to be transferred into the magazine and, if there is no space available, unused tools are to be returned to the central storage area. The choice of tools to be replaced depends on the sequence of parts to be manufactured since each loading and unloading of tools takes a nonnegligible time. We can identify the set of the tools required by a part i with a bulk

94

Combinatorial Optimization 3

request Bi, and we seek the management of the tool magazine that minimizes the total number of tool switches. In the uniform case, the switching time is constant, Cuv = 1, u ≠ v (Cuu = 0). This uniform tool switching problem was introduced by Tang and Denardo [TAN 88], without making the link with the paging problem. The case |Bi| = 1 for every i is of course equivalent to the paging problem. In the off-line situation, the parts to be manufactured (the pages to be used) as well as their execution sequence are given. The optimal replacement management was first described in computing [BEL 66, MAT 70]. Only 20 years later, the optimal production strategy was given [TAN 88], which is, as explained above, the generalization to bulk requests. The optimal rule is called KTNS (keep tools needed soonest): – Only insert a tool if it is directly required by the part that we are preparing to machine (no server moving in advance). – If the magazine is full, and one tool must be eliminated to make space for another required tool, the tool which will be required again the latest in the sequence must be dismantled (or a server must be moved from the vertex which requests to be served again the latest in the future). (a) Tool 1 2 3 4 5 6 7 8 9 (b)

a 1 1

b 1 1 1

1 1 1 4 8 9

1 3 8 5

c

d

Part e

1

f

g 1

1

1 1 1

1

2 6 8 7

2 6 8 7

1 1

2 6 8 7

2 3 8 7

i

j 1 1

1 1

1

h

1 5 9 7

1 1 3 5 8 7

1

1

1

3 5 8 7

1 2 4 7

Figure 4.4. Tool management: (a) incidence matrix, (b) replacement according to KTNS

Production Planning

(a) 1 1 (c)

1 1

Individual requests 2 1 3 3 1 1 3 3 2 2 2 2 2 1 2

1 1 2

2 1 2

2 3 2

(b) Bulk requests B1={1,2} B2={1,3} 1 1 2 3

Individual demands 1 3 1 3 1 1 1 1 2 3 3 3

2 2 3

3 2 3

95

B3={3,2} 2 3 2 2 3

3 2 3

Figure 4.5. Example of a 2-server problem

As an illustration, let us consider the tool-part incidence matrix (Figure 4.4a) of Tang and Denardo [TAN 88] and the optimal tool switching management (Figure 4.4b). Here, we assume that the shop has a capacity k = 4 and the parts are manufactured in a natural order (a, b, …, j). 14 tool switches are required. Bulk requests cannot be treated simply as a sequence of individual demands, as illustrated in Figure 4.5: let n = 3 and k = 2. For the sequence of individual tool demands 1, 2, 1, 3, 3, 2 (Figure 4.5a), we make only one tool switch. However, if we must satisfy the three bulk requests B1 = {1,2}, B2 = {1,3} and B3 = {3,2}, two movements are required and, furthermore, the positions of the servers to process the individual demands are no longer admissible (Figure 4.5b). We might have the impression that this extension to the bulk requests is a real generalization of the k-server problems. But in fact both problems are equivalent if we apply the following transformation [PRI 00]: we double the length of the demand sequence by replacing the bulk request B = {b1, b2, …, bp} with the sequence b1b2 … bpb1b2 … bp. Then we apply the KTNS strategy to the increased sequence, processed as a sequence of individual demands. After executing the doubled sequence, all the tools that belong to this bulk request are in the magazine. This is true, since the demands of the group are closer when we execute the first part of the sequence (there are no movements for the second part of the sequence). The total cost and the number of switches stay the same (Figure 4.5c). Sometimes the tool switches can be weighted, for example when the loading and unloading time depends on the type of tools. For this non-uniform case with the switching cost Cuv, the aim is to minimize the total sum of the costs for a given sequence. This problem is also solved in polynomial time. It is modeled in the form

96

Combinatorial Optimization 3

of a flow problem, which has been shown in [CHR 91] for paging and in [PRI 95] for bulk requests in production. We now assume that the order of passage of the parts is not imposed. We then wish to determine the parts order in such a way as to minimize the number of tool switches. In a very simple initial case, each part requires exactly k tools for a tool magazine of capacity k. In this case, the number of tool switches (the distance) between two parts is fixed and does not depend on the sequence of the parts. Therefore, the tool switches are completely determined by the sequence of the demands. The optimal sequence is then obtained by solving a traveling salesman problem (TSP). However, in practical situations, less than k tools are required and we seek, for each new part, a tool replacement strategy. Instead of an exact distance between two parts i and j, we only have a lower bound:

LB(i, j) = max {0, |Bi| + |Bj| – |Bi ∩ Bj| – k} Based on these lower bounds, the TSP gives a parts scheduling. The results are disappointing. Improved methods, linked to the TSP, have been developed [CRA 94], [PRI 95]. A two-phase heuristic is proposed which gives acceptable results. First parts that have lots of tools in common are united to form a macro-part (group of parts) which fills almost the entire tool magazine. In this way, the lower bounds LB between macro-parts give very good approximations of the number of tool switches. In the second phase, we apply one of the well known TSP heuristics, followed lastly by the application of the KTNS strategy. A heuristic which constructs the sequence part by part by applying a tool replacement strategy each time a new part is scheduled seems to be more appropriate for this problem. The difficulty is to find a strategy for unloading tools and making space for new tools required. For example, we can unload the tools which are to be used the least frequently for the remaining known parts. Such approaches were failures in the past until the equivalence of the paging and tool switching problems was established. The KTNS rule applies to the off-line version of the problem where the sequence of demands is known. In the on-line situation, the decider does not have any information on the coming demands. For paging, we know the best on-line strategy for the competitive ratio criterion: the partitioning algorithm [FIA 91, McG 91] which is a strongly Hk-competitive probabilistic algorithm, developed for the uniform k-server problem, where Hk is the k-th harmonic number (Hk = 1 +1/2 + … +1/k). In [PRI 00], this theory is used to obtain a tool switching algorithm that is efficient in practice: we take as the next part the one which requires the insertion of the smallest number of tools and we apply the partitioning algorithm as the tool management strategy.

Production Planning

c 2

6 7

d 2 8

6 7

e 2 8

6 7

h 3 8

5 7

b 3 8

parts 5 7

f 3 1

5 7

g 9 1

5 7

i 9 1

5 7

a 9 1

4 8

j 9 1

4 2

97

1

Figure 4.6. Optimal part sequence (seven tool switches)

The optimal solution for the example in Figure 4.4 is found in Figure 4.6. The optimal sequence of the parts is given by the permutation (c,d,e,h,b,f,g,i,a,j) with seven tool switches. 4.5.2. Robotic cells

A robotic flow-shop is a manufacturing cell whose machines are arranged in line and whose central bidirectional robot is responsible for transporting the parts between the machines. This type of manufacturing cell was introduced in 1985 by Asfahl [ASF 85]. In this book, the author describes a part machining cell for assembling truck gears. An example is presented in Figure 4.7. There is no buffer in the cell and the entry and exit of the parts are separate. The objective is to machine parts while maximizing the production rate. The robot can have a unit capacity, as is the case in our model, but robots also exist that can transport two parts at the same time [SU 95]. In general, the robotic cells manufacture mechanical parts that can wait on the machines as long as necessary before being taken by the robot. There is a vast literature on the more restricted, so-called hoist scheduling problem, where the waiting time on the machines (which may for instance be chemical baths) is limited. A state-of-the-art report on robotic cells can be found in [CRA 00]. The first application has the form of a flow-shop. Nevertheless, the robotic cells can have very flexible configurations: the robot can easily reach any machine in any order and in this way the cell can produce a large variety of products with different processing sequences, being similar in this way to a job-shop. But we know that scheduling problems in robotic flow-shops are NP-hard if there are m ≥ 3 machines and different types of parts [HAL 97]. There remains the case of a robotic cell with m machines in which we wish to produce one single part type. The problem is then to find a strategy for the movements of the robot in order to obtain the maximum production rate. We assume that the production process is periodic: a certain number of parts k is manufactured according to a sequence which is then repeated. This type

98

Combinatorial Optimization 3

of periodic production facilitates the programming of the robot. Furthermore, we know that an optimal production cycle exists. We consider a robotic flow-shop composed of m machines and a robot responsible for transferring parts between the machines. The machines are denoted by M1, M2, …, Mm. We add two auxiliary machines, M0 which corresponds to the loading site and Mm + 1 which corresponds to the unloading site. The raw material required is available in unlimited quantity at M0. The central robot can only transport one single part at once. One part is taken at M0 and successively transferred, in this order, through M1, M2, …, Mm, to be machined, until it finally reaches the exit site Mm + 1. At Mm + 1, the finished parts can be stored in unlimited quantities. We focus on the classical case, as in [SET 92], where the machines M1, M2, …, Mm have unit capacities without buffer space. The robot must be empty to take a part from Mh (h = 0, 1, …, m). To move from one machine to another, the robot takes the shortest path over the circle formed by the machines. Consequently, the transfer times are additive (Figure 4.7).

M2

M1

M3 Robot arm

M4

M5

M0 Figure 4.7. Robotic cell with four machines

The state of the cell can be represented by an incidence vector of size m which indicates the empty machines and the busy machines: the i-th component is 0 if the machine Mi is empty and 1 if not. For the parts to be manufactured, we consider the cyclic movements of the robot. We define a k-cycle as a manufacturing cycle of k parts. A k-cycle can be described as a sequence of movements of the robot where exactly k parts enter into the system at M0, k parts leave the system at Mm + 1 and, after each execution of the k-cycle, the state of the system (parts/machines incidence) and the position of the robot are restored. In this way, a k-cycle can be repeated indefinitely. We can observe that, with each execution of the k-cycle, only the part/machine incidence vector is restored. The progress in machining of the parts on the machines can vary from one execution to another.

Production Planning

99

M8 M7

Position of the robot

M6 A5

M5 M4 M3 M2 M1 M0

Figure 4.8. The 1-cycle π = (A0, A4, A6, A7, A5, A3, A2, A1)

To describe a k-cycle, we use the concept of activity. Activity Ah (h = 0, 1, …, m) is composed of the following sequence: – the empty robot takes a part from Mh; – the robot transports this part from Mh to Mh + 1; – the robot unloads this part on Mh + 1. The activity Ah requires there to be a part whose processing is finished on machine Mh and that machine Mh + 1 is empty. Consequently, many sequences of activities are not executable. For example, (… A0 A0 …) is not admissible because the robot carries a part to Mi, which is already busy. In [CRA 99], the authors characterize the k-cycles as follows: a k-cycle Ck is a sequence of activities in which each activity appears exactly k times and such that, between two consecutive occurrences (around the cycle) of activity Ah (h = 1, 2, …, m – 1) there is exactly one occurrence of Ah –1 and exactly one occurrence of Ah + 1. We can calculate the part/machine incidence vector of the cycle at any time: the machine Mh is busy if and only if Ah will be executed before Ah – 1. For example, at the start of the execution of the cycle π = (A0, A4, A6, A7, A5, A3, A2, A1), represented in Figure 4.8, the part/machine incidence vector is (0, 1, 1, 1, 0, 1, 0). In the state graph Gm associated with a robotic cell with m machines, each vertex is a part/machine incidence vector which represents the state of the cell. The graph Gm therefore has 2m vertices. The arcs represent the activities of the robot to go from one state to the other. The state graph G3 is given in Figure 4.9. In G3, the vertex

100

Combinatorial Optimization 3

“100” represents the state of the cell where M1 is busy and M2 and M3 are empty. To go from state “100” to state “010”, the robot transports a part from M1 to M2, executing the activity A1. 110

A3

100 A0

A2

A1 A3

111

A0

101

010 A3

A1

A2 A3

A0 011

000

A0

001

Figure 4.9. The state graph G3

Each k-cycle corresponds to a cycle of length k(m + 1) in the graph, and vice versa. For example, the 1-cycle (A0A3A1A2) corresponds to the sequence of vertices “001”, “101”, “100”, “010”, and the 2-cycle (A0A1A0A2A1A3A2A3) corresponds to “000”, “100”, “010”, “110”, “101”, “011”, “010”, “001”. The number of k-cycles rapidly increases with m or k. For example, in a cell with four machines, the number of 5-cycles is 1,073,696 [BRA 00]. An instance of a robotic flow-shop problem with m machines is entirely defined by indicating the processing times, the transfer times and the loading/unloading times. The processing time of a part on the machine Mh (h = 1, 2, …, m) is ph. Let δh be the transfer time of the robot (empty or loaded) from Mh to Mh + 1 or from Mh + 1 to Mh (h = 0, 1, …, m). Let εh be the loading or unloading time of a part on Mh (h = 0, 1, …, m + 1). The machines are arranged in line or in a circle, the speed of the robot is constant, and to go from one machine to another the robot goes through all the intermediate machines. The durations are therefore additive: the travel time of the robot from Mh to Mh' (h ≠ h') is

Production Planning



max(h,h' )−1 j= min(h,h' )

δj

101

time units.

For a given instance, we represent a k-cycle as in Figure 4.10: compared to Figure 4.8, the axis of the abscissa now represents time. The graph shows the position of the robot in the cell according to the time. The dotted lines are the movements of the robot while empty and the continuous lines are not only the movements of the loaded robot but also the loading and unloading times and waiting times of the robot at the machines.

M4 1

M3

3 1

0

M2

1 1

M1 M0

0

0

5

2

10 T1(C )=15

15

20

25 T2(C )=14

30 T3(C )=15

Figure 4.10. The cycle C = (A0A2A1A3) for the instance I

For example, in a cell with three machines, let us consider the 1-cycle C = (A0A2A1A3). At the beginning of this cycle, the part/machine incidence vector is (0, 1, 0). Let I be the following instance: δη = 1; εη = 0; p1 = 6; p2 = 9; p3 = 6. At the beginning of the cycle C = (A0A2A1A3), the machine M2 must be loaded and the machines M1 and M3 must be empty. We assume that, at the instant 0, a part has been on M2 for 6 time units. At instant 6, in Figure 4.10, the robot is at machine M1 and waits 1 time unit for the part to be ready before executing activity A1. We can observe that the cycle does not repeat identically, but alternates between the durations 15 and 14. In this example, if at instant 0, the part had stayed for 5.5 time units on machine M2 (instead of 6 time units), at the end of an execution, the cycle would be repeated identically. However, the average cycle time (14.5 in both cases for this example) does not seem to depend on the initial state (ergodicity). We therefore define T(Ck)

102

Combinatorial Optimization 3

as the average cycle time and T(Ck)/k as the length of the k-cycle Ck. The production rate of Ck is defined by k/T(Ck). In this way, the ρ-cycle Cρ is optimal if it maximizes the production rate or, equivalently, minimizes the length of the cycle T(Ck)/k among all the possible k-cycles (k = 1, 2, 3,…). Let S and S be two sets of production cycles. S dominates S if, for every instance, we have the following property: for every k -cycle Ck of S , there exists a k-cycle Ck in S which satisfies T(Ck)/k ≤ T(Ck )/k . In this way, one of the objectives can be to identify dominant sets of cycles. Since a 1-cycle is completely defined by a permutation of the activities, the number of 1-cycles is m!. Without loss of generality, we normalize the sequence π of activities starting with the activity A0. The 1-cycles are then in the form π = (A0, Ai(1), Ai(2), …, Ai(m)) where i(1), i(2), …, i(m) is a permutation of {1, 2, …, m}. Let us consider the 1-cycle π that belongs to the set of pyramidal permutations. The cycle π = (A0, Ai1, Ai2, …, Aim) is said to be pyramidal if there exists an index p such that 1 ≤ i1 < … < ip = m and m > ip + 1 > … > im ≥ 1. For example, the 1-cycle π in Figure 4.8 is a pyramidal permutation (with p = 3). In [CRA 97b], the authors prove that pyramidal permutations dominate 1-cycles. They give an algorithm in O(m3) which determines the best pyramidal permutation and consequently the best 1-cycle. The interest in 1-cycles is justified by the conjecture below. If this conjecture is true, then the optimal production cycle can be found in O(m3). 1-cycle conjecture [SET 92]: the set of 1-cycles dominates the set of production cycles.

This means that the maximum production rate on all the finite sequences of cyclic movements of the robot can be obtained by executing a 1-cycle. The validity of this conjecture depends on the type of cell considered. Until now, we have considered the additive case, where the transfer times between the machines are additive. A classical restriction is the regular case with equidistant machines (δi = δ) and equal loading and unloading times (εi = ε). This configuration seems to be reasonable in industry when the machines are of similar sizes. In [SET 92], the 1cycle conjecture was proposed for the regular case. A specialization of this case is the regular balanced case, for which all processing times are equal (pi = p). For a regular cell with four machines, the 1-cycle conjecture is true for k = 2 (that is the 1-cycles dominate the 2-cycles). It becomes false from m = 4 and k = 3. Let us consider the following instance I: m = 4; δ = 1; ε = 0; p1 = 0; p2 = 10; p3 = 10; p4 = 0. For this instance, we can show that the best 1-cycle lasts 16 units of time. But the 3-cycle C3 = (A0A1A4A3A4A2A0A1A0A3A4A2A1A3A2) lasts 46 time units. Therefore T(C3)/3 = 15 1 3 < 16, which shows that C3 dominates the 1-cycles (if we

Production Planning

103

wish to avoid an instance with zero values, we can multiply all the values by 100 and replace the 0s with 1s). We can also generalize the transfer times of the robot, δij, between the machines Mi and Mj. For the so-called Euclidean case, we impose the symmetry (δij = δji) and the triangular inequality (δij + δjk ≥ δik). Table 4.1 describes the known results on the complexity of the search for the best 1-cycle and on the dominance of the 1-cycles (1-cycle conjecture) according to the type of cell. Dominance of the 1-cycles m=4 m=2 m=3 k=2 k≥3

Transfer time

Calculation of the best 1-cycle

Euclidean Additive Regular Regular balanced

NP-complete [BRA 03a] FALSE O(m3) [CRA 97b] TRUE [BRA01a] O(m3) [CRA 97b] [CRA 99, BRA 99, BRA 01a, BRA 01b] O(1) [BRA 03a]

5 ≤ m ≤ 14

m ≥ 15

?

Table 4.1. The 1-cycle conjecture according to the type of cell

When the conjecture is false, it can still nevertheless be interesting to consider the 1-cycles. We then define the performance factor of the 1-cycles which is calculated as follows: for a given instance, let C1 be the best 1-cycle and let Copt be an optimal cycle among all the k-cycles. Let kopt be the degree of the cycle Copt. The performance factor of the 1-cycles is the smallest value λ which, for all the instances, satisfies T (C1 ) ≤ λ

T (C opt ) k opt

In [DAW 04], the authors show that, for the Euclidean case, we have λ ≤ 4, for the additive case, λ ≤ 2, and for the regular case, λ ≤ 1.5. For the regular case, in a cell with four machines, we have improved this performance factor. We know that λ is greater than 16/15 (thanks to the previous counter-example), that it is less than 9/8, and that this number is not tight either. This factor of 9/8 was found thanks to a technical case study. Lastly, the reduced interval for λ is [1.06666; 1.125]. Other classes of robotic cells have also been studied. As yet we know of few results on circular cells for which the entry and the exit coincide; in the regular circular case, the transfer times are δij = min(|i – j|, m + 1–| i – j|)δ, where δ is the

104

Combinatorial Optimization 3

travel time between two consecutive machines. In [DAW 02], the authors consider constant cells for which all the inter-machine travel times are equal (δij = δ). For the latter type of cells, the results and methods studied are close to those for additive cells. It would be interesting to solve the 1-cycle conjecture for the regular balanced case with m ≥ 15 machines. Of course, the main question that remains open is of finding an optimal cycle in a robotic cell when the 1-cycle conjecture is false. 4.6. Conclusion and perspectives

In the production planning literature, we find many models which have been formulated and solved using combinatorial optimization methods. Among the oldest ones are cutting problems: one-dimensional (cutting stock); two-dimensional, especially placing elements on a metal sheet or on a piece of fabric in order to cut out these elements; three-dimensional, for example loading a container while taking into account the shapes and the fragility of the parts to be stacked. Many other models are specific to production in particular companies or industries. As an example, and to conclude, we present a just-in-time production model derived from the automobile industry, which is related to theoretical computer science and number theory.

Just-in-time scheduling models were, initially, described for the car assembly workshops of Toyota [MON 83]. An instance of the problem is composed of n demands di for parts of type i. All the parts are produced on the same equipment (typically an assembly line) and the processing of each part requires one unit of time. Let us denote by D = Σdi the total demand and by ri = di/D the ideal production rate for the part i. The term “ideal” here reflects that, at each instant t, the proportion of parts of type i assembled so far should ideally be ri. Such a schedule would be uniformly balanced. This target cannot be attained but the objective is to maintain manufacturing of each part “as close as possible” to its ideal rate. For example, we wish to produce 6 parts of type a, 3 parts of type b and 1 part of type c over a horizon of length 10 (= 6 + 3 + 1). At instant 1, we would like to have 0.6 parts a, 0.3 parts b and 0.1 parts c manufactured. If we manufacture one part a, the absolute differences with the ideal rates are 0.4 = |1 − 0.6| for part a, 0.3 = |0 − 0.3| for b, and 0.1 for c. Similarly, at instant 2, we wish to have 1.2 parts a, 0.6 parts b and 0.2 parts c. Therefore we should probably manufacture 1 part b if we already have 1 part a. A complete production sequence is, for example, abacabaaba, whose maximum absolute deviation is 0.6 and is reached at instant 4 for part c and at instant 6 for part a.

Production Planning

105

For this problem, an astonishing result appeared, linked to number theory. It is possible to show, using “balanced words” that if the maximum deviation (absolute difference between ideal and real productions) is small (less than 1/2) then the demands for the different types of parts must be powers of 2 [BRA 03b]. A balanced word over an alphabet {v1, v2, …, vn} is an infinite sequence σ = (s1, s2…) such that: – sj are letters of the alphabet {v1, v2, …, vn}; and – if σ1 and σ2 are two subsequences of t consecutive letters of σ, then, for every i, the numbers of occurrences of letter vi in σ1 and in σ2 differ by at most 1.

Fraenkel’s conjecture on balanced words asserts that the only balanced words where all the letters have different ratios (limit of the number of occurrences of the letter divided by the length of the sequence), is the repetition of a finite sequence where the number of occurrences of each letter is a power of two. For example, on the three-letter alphabet {a,b,c}, we obtain the repeated sequence “abacaba”. This conjecture is still open for alphabets of more than six letters [TIJ 00a, TIJ 00b]. In fact, we show that a production sequence is a special balanced word (periodic and symmetric) and this therefore involves solving Fraenkel’s conjecture. In the case of a just-in-time production sequence, Fraenkel’s conjecture can be rewritten in the following form, where [x] denotes x rounded to the nearest integer: Let D denote the sum of n given relatively prime integers 0 < d1 0, the most simple heuristic consists of identifying the connected components of the support graph deprived of the vertex v0 then verifying whether the capacity constraint is violated for each of the components. If this is not the case, we consider the set S of vertices of one of the components from which we exclude the vertex that can lead to a violation and we proceed to a new verification. If necessary, we repeat the procedure while there are vertices left in S. If necessary, we consider the vertices of another component. A second approach is a greedy procedure. It consists, starting from a set S of vertices consisting initially of one vertex of V \ {v0 }, of including in S the vertex v ∈ V \ ({v0 } ∪ S) for which e=(v,vj ) vj ∈S xe is maximum, then verifying whether the capacity constraint defined for S is violated. From this method, Augerat et al. [AUG 98] proposed an adaptation of the Tabu metaheuristic for identifying violated capacity constraints. These heuristics and extensions of the same type are taken up in the approaches of Augerat [AUG 95], Ralphs et al. [RAL 03] and Lysgaard, Lechford and Eglese [LYS 04]. Ralphs et al. [RAL 03] proposed another approach based on a decomposition algorithm. The aim of this method is to establish the set T of routes such that the current fractional solution is expressed as a convex combination of these routes. If such a decomposition is obtained then a capacity constraint is necessarily violated for one of the routes of T , otherwise a branching constraint can be generated according to Farkas’ theorem. Numerical experiments have been carried out on a common set of instances [INSc]. Comparisons are nevertheless tricky. Augerat et al. [AUG 98] implemented an algorithm involving several classes of valid constraints including capacity, generalized capacity, comb and hypotour constraints. They obtained optimal solutions of instances that have up to 135 vertices and seven vehicles in times that reach a maximum of 20,570 seconds on a SUN SPARC 20 machine. The implementation in parallel to their algorithm that includes only branching routines for capacity constraints led Ralphs et al. [RAL 03] to solve instances that have up to 100 vertices and eight vehicles in calculation times that can reach about 2 million seconds. The branch-and-cut method of Lysgaard, Lechford and Eglese [LYS 04], like that of Augerat et al., includes several classes of cuts of which some are stronger than those considered previously [AUG 98]. These researchers obtain optimal solutions for problems including up to 120 vertices

146

Combinatorial Optimization 3

in calculation times that go up to 12,000 seconds. As they emphasize, their approach seems to be more effective on the hardest instances, while the algorithm of Ralphs et al. is quicker on easier problems. Lastly, Achuthan, Caccetta and Hill [ACH 03] only used a subset of the classical test instances and calculated the distance matrix differently, which makes comparison difficult. 5.6.5. Column generation methods for the VRPTW One of the most effective approaches for solving the VRPTW exactly is to resort to an algorithm of the column generation type. This approach was notably implemented by Desrochers, Desrosiers and Solomon [DES 92]. It relies on formulating the VRPTW in the form of set partitioning (see section 5.6.3) and proceeds in the following way. We define the master problem as being the set partitioning defined for a subset T of routes of T . At a given iteration, the linear relaxation of the master problem is solved. Then, given the values of the dual variables, a route, that is a column of negative reduced cost, is sought. Identifying such a column is performed by solving the subproblem which is, in this case, an elementary shortest path problem with capacity constraints and time windows. This is a special case of the elementary shortest path problem with resource constraints, which is an NP-hard problem [DRO 95]. A classical relaxation consists of considering the non-elementary version. Given that the costs of the arcs can be negative following their modification by the dual variables, the solution of the non-elementary shortest path problem under resource constraints can have cycles. Nevertheless, the capacity and time window constraints mean that the length of the path is bounded. Desrochers [DES 86], for example, proposed an algorithm based on dynamic programming. An improvement of such algorithms consists of avoiding 2-cyles, that is cycles of the form (vi , vj , vi ) [HOU 80]. Recently, Kohl et al. [KOH 99] proposed an improvement to this approach that consists of adding to the master problem constraints violated by the current fractional solution. The restrictions that they generate are k-paths, in other words global capacity constraints (see section 5.6.4.1). The difficulty in identifying such constraints coming notably from the presence of time window constraints led them to restrict themselves to the case where k = 2. If the solution of the linear relaxation of the master problem does not lead to obtaining an integer solution, a branch-and-bound procedure is triggered. Nevertheless, at each node of the tree, the master problem is solved following the procedure explained previously. One of the difficulties that arises with the definition of a separation is to determine on which variables the branching will be made. Here, branching on the variables of the master problem is not easy. Indeed, while imposing a route in a solution is simple, taking into account the fact that a specific route is not present is not easy in solving the subproblem. Desrochers, Desrosiers and Solomon [DES 92] proposed making the branching on the arcs of the graph G. We then impose on the one

Goods Transportation

147

hand that a given arc is present in the solution and on the other hand that it is absent. These two restrictions can easily be included in solving the subproblem. Evaluating algorithms for the VRPTW has been carried out on Solomon’s 87 test instances [INSb]. These can be divided into three classes of problems (R1, C1, RC1). Each class contains between eight and 12 instances of 25, 50 and 100 clients. For class R, clients are uniformly distributed, while for class C, they are divided into groups. The problems of class RC constitute a mixed category with regard to distribution. Problems in category 1 have very tight time windows and the capacity of the vehicles is 200, which leads to using from three to 20 vehicles. The approach of Kohl et al. [KOH 99] is without doubt one of the best. On the 87 instances, these researchers have solved 70 problems optimally in calculation times of at most 1,216 seconds on a 100 MHz machine. 5.7. Heuristic methods for the VRP As we have seen previously, the CVRP, the CVRPLC and the VRPTW are NP-hard problems and as yet researchers have proposed exact approaches that only enable us to solve instances of modest size (see section 5.6). When we consider more complex cases that involve multiple constraints, or when we must solve problems of greater size, heuristic approaches are necessary. Since the 1960s, many so-called classical heuristics, that is not based on metaheuristics, have been proposed by researchers. From the end of the 1980s, approaches based on metaheuristics joined this set of methods. In this section, we present an overview of the heuristic approaches proposed for the VRP. Today, classical heuristics are no longer competitive in terms of solution quality, or in terms of calculation time. Indeed, as we will see in section 5.7.2, the more recent adaptations of metaheuristics win on both these criteria. Nevertheless, classical heuristics remain topical from two points of view. Firstly, the quickest among them are used in methods based on metaheuristics either to provide one or several initial solutions or to reconstruct an admissible solution from a partial solution. Next, certain of the principles from which they were developed are at the heart of current work on developing better approaches based on metaheuristics. The overview that we present is partial and is based on choices motivated by the relevance of the methods and how recent they are. We refer the reader to the books by Toth and Vigo [TOT 02] and by Pirlot and Teghem [TEG 03] for a more complete review of older approaches. 5.7.1. Classical heuristics Classical heuristics can be divided into three classes: – constructive methods;

148

Combinatorial Optimization 3

– two-phase algorithms; – improvement procedures. We will describe a subset of methods from each of these classes. Our choice is essentially based on current usage in approaches based on metaheuristics. 5.7.1.1. Constructive methods The best-known of these algorithms is without doubt the savings method of Clarke and Wright [CLA 64]. Starting from an initial solution where each client is served on a route, it consists of calculating for every pair of vertices (vi , vj ) ∈ E, vi , vj ∈ V \{v0 } the savings eij made by going directly from vi to vj rather than going via the depot: eij = ci0 + c0j − cij

[5.95]

The savings being ordered in decreasing order, in the parallel version, with each iteration we proceed with the union of the two routes that correspond to the greatest economy and preserve the admissibility of the solution. In the sequential version, we consider a specific route that we try to extend. This heuristic was originally proposed for the CVRP and the CVRPLC. It was then extended to the different variants of the VRP that have been considered. Solomon proposed a version of it for the VRPTW [SOL 87]. The insertion method proposed by Mole and Jameson [MOL 76] involves two criteria when constructing the routes. The first is an insertion criterion of a vertex vk ∈ V \ {v0 } between two consecutive clients vi , vj ∈ V on a route: α(vi , vk , vj ) = cik + ckj − λcij

[5.96]

Depending on the value given to the parameter, λ, α(vi , vk , vj ) is interpreted differently. In the case where λ = 1, it corresponds to the extra cost generated by the detour by the vertex vk relative to a direct link. The second criterion is given by: β(vi , vk , vj ) = μc0k − α(vi , vk , vj )

[5.97]

If we fix the value of the parameter μ to 2, β(vi , vk , vj ) is interpreted as the gain generated by inserting the client vk between vi and vj relative to directly serving him from the depot. Mole and Jameson’s heuristic constructs the routes sequentially. Starting from the route constituted by the non-served vertex furthest from the depot,

Goods Transportation

149

this consists of calculating for each vertex not included on a route, the cost associated with its best insertion using the first criterion, then establishing the best vertex to insert using the second criterion. Following an insertion, the 3-Opt heuristic [LIN 65] is applied to improve the cost of the current route. Solomon [SOL 87] extended this type of approach, proposed for the CVRP and the CVRPLC, to the VRPTW. He notably redefined the criterion α(vi , vk , vj ) in such a way as to take into account the temporal shift created by inserting the vertex vk : α(vi , vk , vj ) = α1 (cik + ckj − λcij ) + α2 (tj (vk ) − tj ))

[5.98]

with α1 + α2 = 1, α1 , α2 0 and tj (vk ), tj being the arrival time of the vehicle at the vertex vj after and before inserting the vertex vk , respectively. As was said at the start of this section, none of the methods is competitive in terms of solution quality on test instances from the literature. consider the results obtained on a set of 14 test problems for the CVRP and the CVRPLC that include from 51 to 200 vertices proposed by Christofides, Mingozzi and Toth [CHR 79, INSa], for which only two optimal solutions are known [HAD 95, GOL 98]. The best implementation of the savings method combined with the 3-Opt heuristic [LIN 65] provides solutions 6.72% off the optimal solutions or the best known solutions [TOT 02]. For Mole and Jameson’s method, the recent implementation of Prins [PRI 04] gives an average difference of 10.76%. The calculation times are much reduced for these two approaches. The savings method thus provides a solution in 0.2 seconds on a SUN ULTRASPARC 10 station at 42 Mflops. The evaluation of the heuristics in this chapter for the VRPTW is considered relative to Solomon’s 56 test instances [INSb] that have 100 clients. Apart from the 29 problems of category 1 described above, we include 27 problems of category 2 divided into the classes (R2, C2, RC2) for which the capacity of the vehicles is taken up to 1,000 for R2 and RC2, and to 700 for C2. In his article, Solomon [SOL 87] explains that in heuristics the objective is first of all to minimize the number of routes, then their total cost. The adaptation of the savings method by Solomon [SOL 87] is not convincing and the best insertion method that he proposed generates 454 routes in total over the 56 instances. This must be compared with the 405 routes obtained by the best current method [BER 03]. 5.7.1.2. Two-phase methods Two-phase methods are divided into two classes of algorithms following the order in which the two phases are carried out: the partitioning then routing algorithms, and routing first then partitioning algorithms. In the first category are very well-known methods such as the sweep algorithm and petal algorithms.

150

Combinatorial Optimization 3

The sweep algorithm, developed by Gillett and Miller [GIL 74], relies on the hypothesis that each vertex of the graph is associated with polar coordinates defined by taking the depot as origin and a vertex chosen in any way. The vertices are then ordered by increasing angular coordinate. Starting from the vertex of the smallest non-assigned angular coordinate, the vertices are successively included in the current group while the constraints are satisfied. When one of the constraints is violated, we stop building the group and we pass on to elaborating the following group. The process is repeated until all the vertices are included in a group. The groups of vertices being formed, a TSP is solved for each of them. While the capacity constraints can easily be satisfied when including a vertex in a group, those relative to the length of the route or to the time windows require solution of a TSP at each insertion [SOL 87]. Fisher and Jaikumar [FIS 81] proposed a similar method which consists of solving a generalized assignment problem during the first phase then a TSP for each vehicle. In order to establish the cost of assigning a vertex to a vehicle, Fisher and Jaikumar associate a seed vertex with each vehicle, with the assignment cost becoming the insertion cost between the depot and this fictive vertex. Petal algorithms are derived from a modeling of the VRP in the form of a set partitioning problem (see section 5.6.3). These routines consist of generating a subset of a priori interesting routes (called petals) of T then solving the set partitioning model restricted to these routes. The best of the methods of this type for the CVRP and the CVRPLC is the 2-petals method proposed by Renaud, Boctor and Laporte [REN 96]. It consists of generating not only individual routes, but also blocks of two routes that either cross each other, or are included in each other. Among the routing first then partition algorithms, the approach proposed by Beasley [BEA 83] for the CVRP and the CVRPLC consists of first solving a TSP on V \ {v0 } then establishing an optimal partition of this tour. The latter is obtained by solving a shortest path problem in an acyclic graph. If we consider the CVRP and the CVRPLC, the sweep method implemented by Renaud, Boctor and Laporte [REN 96] produced, on the 14 test problems mentioned above, solutions whose value is on average 7.09% from the values of the optimal solutions or the best known solutions. This percentage is reduced to 2.38% for solutions produced by the 2-petals algorithm, which represents one of the best percentages for classical approaches. For these methods, the average calculation times are 1.76 and 3.48 seconds, respectively on a SUN ULTRASPARC 2 station at 4.2 Mflops. For the VRPTW, the adaptation of the sweep method by Solomon [SOL 87] provides 476 routes in total over the 56 test instances. 5.7.1.3. Improvement methods Two classes of improvement methods can be distinguished for the VRP. The first one includes methods that attempt to individually improve each of the routes. This

Goods Transportation

151

involves exact algorithms or heuristics for the TSP or the traveling salesman problem with time windows (TSPTW). Several classical heuristics for the TSP, such as algorithms of the k-opt type proposed by Lin [LIN 65], the Or-Opt method [OR 76], or even the GENIUS procedure [GEN 92] have been adapted to the TSPTW [GEN 98, RUS 77, SOL 88].

The second class includes heuristics for improving the current solution by modifying several routes simultaneously. They are typically based on the definition of an edge or arc exchange mechanism between routes. For the CVRP and the CVRPLC, Van Breedam [VAN 95] considered three types of modifications, which we come across in approaches based on metaheuristics: the first one consists of moving at most k consecutive clients from one route to another; the second one aims to exchange k consecutive clients from one route with consecutive clients from a second route; the third one combines these two operations by looking at which one generates the best improvement.

For the VRPTW, one type of modification that resembles the second modification was proposed for the VRPTW by Thompson and Psaraftis [THO 93]. Russell [RUS 95] proposed a parallel constructive approach starting from the minimum number of routes. His approach includes an improvement procedure that aims to exchange clients between two routes. To keep a neighborhood of reasonable size, it considers only the two best possible routes for each vertex. Cordone and Wolfler-Calvo [COR 01b] proposed a heuristic of the same type that consists of carrying out a local search from different initial solutions provided by Solomon’s insertion method [SOL 87]. An algorithm of the k-opt type with k=2, 3 is applied, followed by a procedure of the 5-exchange type that aims to remove a route by reinserting its vertices into the others. So that the search does not get stuck in a local optimum, a modification of the objective function is used. This consists of taking the total duration of the routes excluding waiting times as the objective.

For the CVRP and the CVRPLC, Van Breedam rounded the distances, which makes comparison impossible with the best published solutions for which the distances are real numbers. We can nevertheless indicate that the best strategy is the third strategy. The results are on average at 4.18% from the best solutions obtained in different numerical experiments. The corresponding calculation times vary between 3 and 421 seconds on a computer equipped with a 80386 processor. On the 56 instances of the VRPTW, Thompson and Psaraftis [THO 93] obtain 439 routes, Russell obtains [RUS 95] 424, and Cordone and Wolfler-Calvo [COR 01b] obtain 422. As we will see in section 5.7.2.2, the difference relative to many algorithms based on metaheuristics remains large.

152

Combinatorial Optimization 3

5.7.2. Metaheuristics Since the 1990s, the most effective heuristics for the VRP have been based on various metaheuristics. Many adaptations have been proposed [TEG 03, TOT 02]. We only discuss here those that seem to us to be the most effective today. We will distinguish the adaptations for the CVRP and the CVRPLC from those developed for the VRPTW. Nevertheless, for each problem, we will consider their different components by highlighting common points and relations relative to classical heuristics. 5.7.2.1. Metaheuristics for the CVRP and the CVRPLC 5.7.2.1.1. Methods based on Tabu search We will limit ourselves to the works of Taillard [TAI 93], Gendreau, Hertz and Laporte [GEN 94], de Rochat and Taillard [ROC 95], Rego and Roucairol [REG 96], Tarantilis and Kiranoudis [TAR 02], and Toth and Vigo [TOT 03]. Solutions space: in all the approaches considered, the solutions space S is extended. Indeed, S contains not only the admissible solutions for the initial problem, but also non-admissible solutions. In this way, Taillard [TAI 93] relaxes the assignment constraints of the clients to the routes, while Gendreau, Hertz and Laporte [GEN 94] relax the capacity and length constraints. In the first case, a fixed penalty term for each unvisited vertex is introduced into the objective function, while in the second case, the objective function is modified by introducing two terms associated with the violations of the capacity and length constraints. These terms are weighted by coefficients that dynamically vary throughout the search according to the violations generated. Such a principle is taken up in the other approaches considered here. To decrease the calculation time required, Toth and Vigo [TOT 03] proposed reducing the extended solutions space described above by excluding solutions judged to be a priori unpromising. After having observed that the edges included in the best known solutions had a clearly lower cost than the average cost of the edges in the graph, they suggested working on a reduced graph G = (V, E ), where E is the set of the edges adjacent to the depot and to those whose cost is less than a threshold value θ. The value of θ is obtained by calculating the product of a parameter β and the average cost of the edges in a solution generated by the savings method (see section 5.7.1.1). From then on, only the solutions defined on G are examined. Note that by varying the value of β, an intensification or diversification phase of the search can be triggered. Neighborhood exploration: [TAI 93, TAR 02, TOT 03] use the entire neighborhood obtained by the λ-exchange strategy proposed by Osman [OSM 93]. This consists of selecting a pair of routes p and q, then from each of them a subset of vertices, Sp and Sq , respectively, with |Sp | λ and |Sq | λ, and lastly replacing in p the vertices of Sp with those of Sq and in q those of Sq with those of Sp . With Sp or Sq possibly being empty, this type of exchange describes the transfer of vertices from one route to another as well as the exchange of vertices between two routes. Since the

Goods Transportation

153

size of the neighborhood increases rapidly, the value of λ is fixed to 1 in the different approaches. Furthermore, Taillard [TAI 93] only considers exchanges of vertices with |Sp | = |Sq | = 1. Gendreau, Hertz and Laporte [GEN 94] use a neighborhood structure based on the GENI procedure initially proposed for the TSP [GEN 92]. Given a current solution, a movement consists of moving a vertex v from one route into another one that is either empty or that contains one of the p closest neighbors of v. The insertion of v is a generalized insertion in the sense that it is made between two not necessarily consecutive vertices on the route. A local re-optimization of the route must therefore be carried out. Rego and Roucairol [REG 96] considered a neighborhood generated with the help of ejection chains. Such a chain corresponds to a series of movements that aim to move a vertex from one route to another, each vertex taking the place of another which is “ejected”. For a given client, the choice of the vertex whose place it takes is made by considering its h closest neighbors. In this way, ejections are made, which allow us to go from the current solution to a neighboring solution. The process ends by inserting the last ejected client between two others which minimize the cost of simple insertion. Tabu list: in all the approaches, the Tabu list is defined by forbidding the inverse movement of the movement made for a certain number of iterations. This number is chosen at random in a predefined interval. Intensification and diversification strategies: Taillard [TAI 93] proposed an intensification method based on a decomposition of the current solution into groups of routes that are close to each other. More exactly, the polar coordinates of the barycenter of each of the routes are calculated. Then, by traveling the routes according to increasing angular coordinates, the solution is partitioned into groups that contain approximately the same number of routes. An additional decomposition can be made by dividing each group of routes into concentric regions. The Tabu search algorithm is then applied to each of the groups. Taillard [TAI 93] and Gendreau, Hertz and Laporte [GEN 94] resorted to the same diversification strategy. This consists of establishing for each movement the frequency with which it is made, then penalizing its cost by a factor that depends on this frequency and the size of the neighborhood. Rochat and Taillard [ROC 95] proposed another strategy, known as adaptive memory, which allows us to carry out intensification and diversification phases of the search. This approach resembles constructing a solution of the VRP by solving a set partitioning problem. Adaptive memory is a set T of routes derived from good solutions from which routes are chosen in order to construct a new solution of good quality. The set T is first generated using Taillard’s algorithm [TAI 93]. Then, a new solution is constructed iteratively by randomly choosing routes in T according to a probability distribution that depends on the quality of the solutions to which they belong. Only the routes that include clients not yet served can be retained. If at the end of the construction process the resulting solution does not include certain clients, an admissible solution is constructed by creating new

154

Combinatorial Optimization 3

routes. This solution is then improved via the Tabu search procedure, with the set T being updated dynamically during the search. Tarantilis and Kiranoudis [TAR 02] proposed a variant of this approach which consists of defining T as a set of good sequences of vertices (bone) that come from quality solutions. The new solution is then constructed by including these sequences of vertices. These are selected on the basis of the number of vertices that make them up and their frequency of appearance in the best solutions visited. 5.7.2.1.2. Methods based on genetic algorithms Until very recently, no competitive approach based on genetic algorithms had been developed for the CVRP and the CVRPLC. The adaptations of Baker and Ayechew [BAK 03], and of Prins [PRI 04] fill this void. Coding a solution – solutions space: in [BAK 03], Baker and Ayechew proposed an adaptation of genetic algorithms for the VRP following an approach of the partition first then route type (see section 5.7.1.2). They use an assignment type solutions coding. This indicates for each vertex the vehicle to which it is assigned, with each vehicle almost constantly serving the same region. The initial population consists of solutions obtained with the help of the sweep heuristic and a variant of Fisher and Jaikumar’s method [FIS 81] in which the generalized assignment problem is solved heuristically. During the search, non-admissible solutions can be included in the current population. Prins [PRI 04] used a route first then partition type approach. This leads him to use a coding in the form of a cycle, each solution being represented by a tour that includes all the vertices. As in the approach proposed by Beasley [BEA 83], the optimal decomposition into routes is obtained by solving a shortest path problem in an acyclic graph. The initial population is obtained by considering the solutions generated by three classical heuristics, namely: the savings method, Mole and Jameson’s method, and the sweep method. During the search, only the cycles that correspond to admissible solutions of the VRP are included in the population. Operators: Baker and Ayechew used classical operators, namely a 2-point crossover and a mutation operator based on the exchange of two clients between two routes. At regular intervals, local search methods are applied to all the solutions of the population. These methods are 2-opt [LIN 65] and a local search based on a 1exchange strategy [OSM 93]. Each solution being a tour, Prins [PRI 04] chose a classical crossover operator for the TSP: the OX operator. Instead of applying a mutation operator, a local search based on a 2-exchange strategy [OSM 93] is made according to a certain probability. On the 14 test problems mentioned above, all these approaches are competitive if we consider the criterion relating to the difference relative to the optimal solutions or to the best known solutions. Indeed, while the 2-petals algorithm of Renaud, Boctor and Laporte [REN 96] provided solutions at 2.38% on average, Taillard’s adaptation

Goods Transportation

155

of the Tabu search [TAI 93] gives solutions at 0.05% on average, the method of Gendreau, Hertz and Laporte [GEN 94] at 0.86% for a single configuration and at 0.20% if we consider several of them, the algorithm of Rego and Roucairol [REG 96] at 0.55%, the adaptation of Tarantilis and Kiranoudis [TAR 02] at 0.23%, and of Toth and Vigo [TOT 03] at 0.61%. Both the genetic algorithms described also lead to quality solutions, since Baker and Ayechew’s algorithm [BAK 03] generates solutions whose values are at 0.50% on average from those of the optimal solutions or the best known solutions, while, for the method proposed by Prins [PRI 04], this percentage reduces to 0.08%. Even if the numerical experiments were carried out on different computers, we see a greater contrast in the behaviors if we look at the calculation times required to obtain these solutions. Here we complete the evaluation started by Prins, which consists of comparing the different methods when the number of MFlops of the machines is known, taking as reference the algorithm of Gendreau, Hertz and Laporte [GEN 94] with a standard configuration. If this method is at 1, the algorithm of Tarantilis and Kiranoudis [TAR 02] is at 0.58, that of Toth and Vigo [TOT 03] at 0.2, that of Baker and Ayechew [BAK 03] at 9.13, and that of Prins [PRI 04] is at 1.46. The same evaluation is unfortunately impossible for the other approaches. Even if these figures are looked at carefully, we observe that on both criteria, three approaches stand out: those of Tarantilis and Kiranoudis [TAR 02], Toth and Vigo [TOT 03] and Prins [PRI 04]. Note nevertheless that in terms of the number of best solutions found, the algorithms of Tarantilis and Kiranoudis [TAR 02], and Prins [PRI 04], with 9 and 10 best values identified respectively, clearly outdistance the approach of Toth and Vigo [TOT 03], which only obtains four of the best values. 5.7.2.2. Metaheuristics for the VRPTW 5.7.2.2.1. Methods based on Tabu search As previously, we restrict ourselves to a selection of works, namely those by Rochat and Taillard [ROC 95], by Taillard et al. [TAI 97], by Chiang and Russell [CHI 97], and by Cordeau, Laporte and Mercier [COR 01a]. For a complete overview, we refer the reader to the article by Bräysy and Gendreau [BRÄ 05] on approaches based on metaheuristics for the VRPTW. Solutions space: as for the CVRP and the CVRPLC, the solutions space S is extended to enable us to consider solutions that are admissible or that are not. In their approach, Taillard et al. [TAI 97] only relax the time window constraints. In the three other adaptations, the capacity, length and time window constraints are relaxed. Neighborhood exploration: Rochat and Taillard [ROC 95], as well as Cordeau, Laporte and Mercier [COR 01a], consider the neighborhood obtained by moving a vertex from one route to another by carrying out a simple insertion. Chiang and Russell [CHI 97] use the neighborhood obtained by the λ-exchange strategy [OSM 93]. Taillard et al. [TAI 97] had recourse to a more complex movement called cross-exchange which consists of exchanging two consecutive chains of vertices between two routes.

156

Combinatorial Optimization 3

Tabu list: as previously, the Tabu list is defined by forbidding the inverse movement of the movement carried out for a certain number of iterations. This number is fixed in Cordeau, Laporte and Mercier’s adaptation [COR 01a], chosen randomly from a predefined interval in those of Rochat and Taillard [ROC 95] and of Taillard et al. [TAI 97], or varies during the search Chiang and Russell’s algorithm [CHI 97]. More specifically, Chiang and Russell increase the length of the list when identical solutions are inspected during the search, or reduce its length when no admissible solution is identified. Intensification and diversification strategies: the intensification and diversification strategies described above in the context of the CVRP and the CVRPLC were adopted by the authors. In this way, Taillard et al. [TAI 97] apply an intensification strategy based on the decomposition of a solution in groups of routes to which the Tabu algorithm is applied. Taillard et al. [TAI 97] and Cordeau, Laporte and Mercier [COR 01a] use the execution frequency of the movements to generate a diversification of the search, while Rochat and Taillard [ROC 95] have recourse to the adaptive memory approach. Post-optimization: several authors, once the Tabu search is over, call upon a postoptimization method to improve the quality of the best solution obtained. In this way, Taillard et al. [TAI 97] and Cordeau, Laporte and Mercier in [COR 01a] apply a heuristic for the TSPTW to each of the routes. Rochat and Taillard [ROC 95] capitalize on the adaptive memory routes to obtain a new solution by solving a set partitioning problem. 5.7.2.2.2. Methods based on evolutionary algorithms While many methods based on genetic algorithms have been proposed for the VRPTW, the most recent work is related to the development of evolutionary algorithms. In these algorithms, we recall that there does not exist a coding of solutions but rather a population of solutions, on which genetic operators are applied, and which is maintained during the search. We concentrate in this section on certain of the most recent approaches that lead to very good quality solutions. These methods were suggested by Homberger and Gehring [HOM 99], Gehring and Homberger [GEH 02], Berger, Barkaoui and Bräysy [BER 03], and lastly Mester [MES 02]. As previously, for further details, we refer to the overview presented by Bräysy and Gendreau [BRÄ 05]. Solutions space: Homberger and Gehring [HOM 99, GEH 02] construct an initial population consisting of admissible solutions, using a modified version of the savings algorithm (see section 5.7.1.1). This variant consists of randomly choosing the pair of vertices that leads to the fusion of two routes. In their approach, Berger, Barkaoui and Bräysy [BER 03] consider two populations that evolve concurrently during the search. These populations contain solutions that are admissible or not. Their evolution

Goods Transportation

157

is conducted according to different objectives. The first one evolves in such a way as to minimize the total distance, while the second one evolves in such a way as to minimize the total cost of violations of the constraints. The initial populations are constructed using Liu and Shen’s insertion method [LIU 99]. Mester [MES 02] reduces the population to a single admissible solution which is generated from the previous solution only by mutation. The initial solution is constructed with the help of a heuristic based on the savings method (see section 5.7.1.1) and on Russell’s heuristic [RUS 95]. At regular intervals during the elaboration of the solution, a 1-exchange improvement procedure [OSM 93] is called. Operators: Homberger and Gehring [HOM 99] use classical operators, Or-opt [OR 76], 2-opt* [POT 95], 1-exchange [OSM 93], as operators that aim to reduce the total length of the routes. They also have recourse to an operator that consists of moving at most k consecutive clients from one route to another in order to empty one route and therefore to reduce the number of vehicles. This operator is applied according to one of the characteristics of the coding of the solution in [HOM 99]; it is used systematically in [GEH 02]. Berger, Barkaoui and Bräysy [BER 03] use operators based on one of Solomon’s insertion methods [SOL 87] and on one of Liu and Shen’s insertion methods [LIU 99] as crossover operators. The first operator constructs a new solution from a certain number of routes of one solution and from vertices close to them in the other solution. The second operator considers a solution with a fixed number of routes. The vertices for which the visiting time constraints are violated are removed as well as an additional set of vertices. These vertices are then reinserted into the solution. Their method includes five mutation operators. Four of these operators are relatively classical. Two operators proceed to exchanges of vertices between routes following the λ-exchange principle [OSM 93]. One operator aims to improve the solution by considering the vertices for which the time window constraint is not satisfied while the other one considers a pair of routes close to each other. One operator aims to reschedule the clients on one route while the other tries to eliminate the shortest route by reinserting the vertices visited on the others. The latter two operators use Solomon’s insertion method [SOL 87] and Liu and Shen’s insertion method [LIU 99]. The fifth operator is more original. This involves a search with a large neighborhood [SHA 98], which consists of removing from the solution a set of vertices that includes those for which the constraint tied to the time window is violated. These vertices are then inserted in the solution following a branching–bounding type strategy by controlling the size of the tree. Mester [MES 02] also uses a search with a large neighborhood, which consists of first removing a set of vertices from the routes then reinserting them with the help of the insertion procedure used for constructing the initial solution. The vertices are removed following three strategies: randomly, with regard to the distance to the vertex v0 , or even by choosing one vertex in each route. Hybridation: Gehring and Homberger [GEH 02] combine their evolutionary algorithm [HOM 99] with a Tabu search method. This approach consists of using the

158

Combinatorial Optimization 3

solution produced by the evolutionary algorithm as the initial solution of the Tabu search [HOM 99]. With each iteration, the neighborhood consists of solutions generated with the help of the operators mentioned above. 5.7.2.2.3. Other approaches Among the other approaches that have been proposed for the VRPTW, here we will describe the methods recently suggested by Bräysy, Hasle and Dullaert [BRÄ 04], and by Le Bouthillier and Crainic [LEB 05a, LEB 05b]. Bräysy, Hasle and Dullaert [BRÄ 04] proposed a local search method that consists of first constructing a population of solutions that have a small number of vehicles, then applying a local search method based on the crossover operator cross-exchange [TAI 97]. Lastly, the best solution obtained is improved with the help of a local search method with a threshold, which consists of accepting movement of a neighboring solution if the variation of the value of the objective function is less than a threshold value. This value is lowered during the search. The neighboring solutions of the current solution are obtained by applying either the Genicross operator, or the IOPT operator. The Genicross operator combines the GENI insertion method [GEN 92] and the cross-exchange operator [TAI 97]. It consists of considering all the possible exchanges of chains of consecutive vertices between two routes. As in GENI, inserting a segment into the heart of a route can be done between two non-consecutive vertices. IOPT is an operator of the cross-exchange type, which acts on one single route, unlike the latter one. Inverting the sense of travel of the chain of vertices moved is also considered. Le Bouthillier and Crainic [LEB 05a] proposed a cooperative approach following a central memory strategy [CRA 05a]. In such a strategy, several metaheuristics independently explore the solutions space and exchange the good solutions identified during the search (and possibly their context). Communications are made asynchronously through the intermediary of a central memory, which in this way constructs a population of elite solutions. The method proposed implements four metaheuristics: the adapted Tabu methods of Gendreau, Hertz and Laporte [GEN 94] and of Cordeau, Laporte and Mercier [COR 01a], as well as two evolutionary methods that differ in the crossover operator that is applied. In one case this concerns the OX operator, in the other the ER operator. The initial population is generated by classical construction heuristics (section 5.7.1). Each Tabu method chooses a solution from the elite population to start the search and before each diversification phase, this proceeding from the best solution between the imported solution and the best local solution. It returns the new local minima identified during the search to the population. The evolutionary metaheuristics population is also the elite population. The solutions returned by the metaheuristics are first used as initial solutions for post-optimization methods. Beyond the 2-Opt, 3-Opt and Or-Opt heuristics [LIN 65, OR 76], the authors resort to an ejection chain type strategy in order to eliminate a route while preserving the admissibility of the solution. The resulting solutions are introduced into the population. Le Bouthillier and Crainic [LEB 05b] presented a version of their algorithm which

Goods Transportation

159

allows the initialization of global phases of intensification and of diversification from arc templates that appear in the “good” and the “bad” solutions in the central memory. Evaluation of the algorithms is carried out on Solomon’s 56 test instances [INSb]. We recall that as it is presented by [SOL 87], the objective is above all to minimize the number of routes, then their total cost. If therefore we first consider the number of vehicles, the best solutions are those obtained with the approaches of Berger, Barkaoui and Bräysy [BER 03] and Le Bouthillier and Crainic [LEB 05b], as well as Bräysy [BRÄ 01] and Bent and Van Hentenryck [BEN 03], which generate a total of 405 routes for the 56 problems. The algorithms of Homberger and Gehring [HOM 99], Gehring and Homberger [GEH 02], Mester [MES 02], and Bräysy, Hasle and Dullaert [BRÄ 04] generate 406 routes. Cordeau, Laporte and Mercier [COR 01a] obtain 407 routes, Le Bouthillier and Crainic [LEB 05a] obtain 409, Taillard et al. [TAI 97] obtain 410, Chiang and Russell [CHI 97] obtain 411, and Rochat and Taillard [ROC 95] obtain 415. The total cost of the solutions of Bräysy [BRÄ 01] is 57,272, that of Le Bouthillier and Crainic [LEB 05b] is 57,360, that of Bent and Van Hentenryck [BEN 03] is 57,710, and that of Berger, Barkaoui and Bräysy [BER 03] is 57,952. Among the many methods that generate a set of 406 routes, Mester [MES 02] obtains a total cost of 57,219, while Bräysy, Hasle and Dullaert [BRÄ 04] have a total cost of 57,401, Gehring and Homberger [GEH 02] of 57,641 and Homberger and Gehring [HOM 99] of 57,876. Cordeau, Laporte and Mercier [COR 01a] obtain 57,556, Le Bouthillier and Crainic [LEB 05a] 57,574, Taillard et al. [TAI 97] 57,523, Chiang and Russell [CHI 97] 58,502, and Rochat and Taillard [ROC 95] 57,231. Comparing the calculation times is again tricky because the numerical experiments were carried out following different protocols on various machines. Bräysy, Hasle and Dullaert [BRÄ 04] nevertheless give a comparison where information is available by rescaling the times relative to a SUN SPARC 10 station. Thus, a time of 486 minutes is assigned to Berger, Barkaoui and Bräysy [BER 03], versus 1,106 minutes for Bräysy, Hasle and Dullaert [BRÄ 04], 1,458 minutes for Gehring and Homberger [GEH 02], 312 minutes for Homberger and Gehring [HOM 99], 1,240 minutes for Taillard et al. [TAI 97], and 138 minutes for Rochat and Taillard [ROC 95]. Le Bouthillier and Crainic [LEB 05a, LEB 05b] obtain linear accelerations with regard to the sequential times of the best methods. 5.7.3. The VRP in practice The problems studied in operations research, even if they come from real cases, are usually derived from simplifications of them. Thus the VRP as it is dealt with in the literature can be considered as an approximation of the problem with which transporters are confronted. This is principally due to two factors. Firstly, the managers of transport companies are very aware of the constraints linked to labor laws. Now, restrictions of this type are not often present in the extensions considered. Secondly,

160

Combinatorial Optimization 3

“classical” constraints such as capacity or time window constraints can be “flexible” constraints for the transporter, that is constraints that can be lifted on certain occasions, while in operations research approaches these constraints must be satisfied for the solution to be admissible. Let us take a simple example to illustrate this. The elementary constraint that is involved in most of the variants of the VRP is the constraint linked to the payload of the vehicle. This constraint, despite the apparent physical necessity of satisfying it, is a flexible constraint in many real cases. It will only be satisfied approximately if the transport manager judges, for example, that the weight of the goods has been overvalued or if the gain generated by its violation with regard to the optimized criterion is large, even if it means running the risk of being fined [ROC 94]. Therefore, not all the heuristics presented above can be adapted to solve real problems. Recently, Cordeau et al. [COR 02] made a critical analysis of the different methods in order to analyze which were the most promising from this perspective. They identified four criteria for evaluating heuristics: 1) the quality of the solutions produced in terms of value of the objective but also in terms of the number of solutions proposed and of robustness; 2) the calculation time; 3) the simplicity; and 4) the adaptibility. While the first two criteria are in general present in the analysis of the results, the second two are not always present in the design of the methods. These criteria are fundamental in developing approaches for solving real problems, therefore we can only hope that the heuristics proposed in the future will be designed with this in mind. 5.8. Conclusion Transport is at the heart of human society. We can affirm, without fear of being mistaken, that there is no human activity that does not require moving people or goods. Operations research offers methodologies that allow us to increase the efficiency and the quality, in terms of economy as much as of service, for and transport systems. On the other hand, the complexity of planning operations and processes and of managing goods transport systems presents great challenges and modeling and algorithmics opportunities that drive development of the discipline. In this chapter, we have concentrated on the presentation of a few problems and the major stakes in goods transport: facility location and load breakbulk points, service network design and fleet management for long-distance transport, and vehicle route designs. In each case, we presented some of the great challenges as well as the models and methods proposed to tackle them. The domain is still booming, fed by, on the one hand, evolution of the economic, technological, political and social environment of the transport industry and of logistics and, on the other hand, progress in computer science and operations research.

Goods Transportation

161

5.9. Appendix: metaheuristics Most of the problems presented in this chapter are hard. Approximate solution methods, in particular metaheuristics, therefore offer the only way that allows us to obtain “good” quality solutions with a “reasonable” calculation effort, for problems of realistic size. Most metaheuristics were used to solve formulations linked to transport problems, and more particularly vehicle routing problems. Nevertheless, two of them led to the most effective adaptations of the problems that we consider in this chapter. This concerns the Tabu search and evolutionary algorithms. 5.9.1. Tabu search The Tabu search method (TS) is a general heuristic improvement procedure which can be adapted for solving many combinatorial optimization problems. TS techniques proved to be particularly effective for obtaining very good solutions for different problems such as multimode network design with capacities, the traveling salesman problem (TSP) or the VRP. In this section we present the principal constituent elements of the Tabu search. A more complete description is presented in the books by Glover and Laguna [GLO 97], Teghem and Pirlot [TEG 03], and Dréo et al. [DRÉ 03]. Tabu search [GLO 86, GLO 89, GLO 90] is a metaheuristic in which a local search procedure is applied at each step of an iterative general search process. More specifically, let us consider the following optimization problem: min f (s) s∈S

[5.99]

Initiated from a solution s0 ∈ S obtained with the help of a heuristic procedure or chosen randomly from S, the Tabu search explores the solutions space S by moving from one solution to another. More exactly, at the iteration , a new solution s ∈ S is visited following a modification of the current solution s −1 ∈ S. Such a modification is called a movement. Considering all the admissible movements from the current solution s −1 , we define the neighborhood of s −1 , V(s −1 ), as the subset of S associated with the solutions that can be obtained by carrying out a movement. s ∈ V(s −1 ) is established as being one of the neighboring solutions that allows us to improve the value f (s −1 ) of the objective function the most. If the latter cannot be improved, s can for example be chosen as being a neighboring solution of s −1 which least deteriorates the value of f . In this way, TS techniques avoid the process being trapped in a local minimum. Nevertheless, movement restrictions must be introduced in order to attempt to avoid making a movement that leads to a region of the solutions space already visited. More exactly, the inverse movements of the last

162

Combinatorial Optimization 3

θ movements made are forbidden. They are stored in a structure called a Tabu list, which is updated with each iteration. θ represents the length of the list. Imposing a Tabu status on a movement can be too restrictive, notably when a Tabu movement leads the search to visit an a priori interesting region of S. Conditions, called aspiration conditions, allow us to state the circumstances in which a Tabu movement will be accepted. Lastly, the TS is stopped according to a stopping criterion which can be the number of iterations made, the number of iterations without improvement in the best value of the objective function, or even the value of the ratio between the value of the best solution and a lower bound on the optimal value. In summary, if, by s∗ , we refer to the best solution encountered during the search, the simple version of the Tabu metaheuristic can be described in this way: 1) initialize s∗ = s0 , = 0; 2) = + 1, establish the best solution s ∈ V (s −1 ) such that the associated movement is not Tabu or satisfies the aspiration conditions; 3) repeat Step 2) until the stopping criterion is satisfied. Several other elements enrich the method and improve its efficiency. Creating and updating memories that store information on the execution of the search and the solutions encountered, and their attributes, constitute a fundamental characteristic of the method. These memories allow us to implement Tabu restrictions based on more complex criteria, to vary the choice of the neighborhoods, and to apply intensification and diversification strategies of the search. Intensification consists of exploring in detail an a priori promising region of S where the solutions have certain properties in common. Its implementation most often resides in a reduction of the neighborhood V(s −1 ) of the current solution s −1 . Diversification is a complementary technique to intensification. Its objective is to get the search to inspect solutions of more diverse types. This can, for example, be carried out by increasing the initial solutions space S or by restarting the search from a new solution.

5.9.2. Evolutionary algorithms Evolutionary algorithms (EA) constitute another general improvement strategy which can be used for solving many combinatorial optimization problems. Recently, several approaches based on EA have enabled us to obtain excellent results on the VRP (see section 5.7.2). Below we propose a general presentation of EA and we refer the interested reader to the books by Davis et al. [DAV 99] and by Dréo et al. [DRÉ 03].

Goods Transportation

163

In the 1960s, researchers like Holland [HOL 75] wished to draw inspiration from biological mechanisms such as Mendel’s laws and the natural selection process described by Darwin to develop a general methodology that allows us to heuristically solve optimization problems. EAs are therefore based on the fundamental notion of evolution of a population of solutions of a problem. Let us consider the previous optimization problem [5.99]. Starting from a set P0 of solutions, called a population, obtained with the help of heuristic procedures or chosen at random from S, EA will aim to make this population P0 evolve to good quality solutions of [5.99]. More specifically, with the iteration , the selection principle is applied in order to retain only a subset of solutions P −1 of P −1 according to the associated values of the objective function. The simplest idea is to associate with each solution, from the values of the objective function, a probability selection, and to retain only a fixed number of solutions by choosing them randomly according to this probability distribution. Starting from P −1 , the new population P is formed by adding to P −1 solutions obtained by applying crossover operators that correspond to the exchange of genetic material and mutation operators which represent the source of genetic diversity. Note that the new population P can be made differently. We can, for example, include in P only solutions that are derived by applying the operators, or even retain only the best solutions obtained from them. Genetic algorithms constitute one of the classes of EAs. They rely on the fact that the solutions are coded beforehand in an adequate form to enable application of the genetic operators. In fact, the similarity between the genetic structure of a chromosome and the representation of a complex structure with the help of a binary vector was one of the motives that pushed researchers to draw inspiration from biology. The crossover operator aims to generate a new solution from coded representations of two solutions by retaining only a part of the code of each of the solutions. Since the resulting solution may be non-admissible, a repair operator can then be applied. If the solutions are coded in the form of binary vectors, a classical crossover operator, called the one point crossover operator, consists of randomly choosing an index i of components of the vector and then generating a new solution by copying the first i components of the first solution then the following ones of the second solution. The mutation operator aims to modify part of the coding of a solution to create a new one. As previously, it may be necessary to apply a repair operator. In the case of solutions coded as binary vectors, a classical mutation operator consists of choosing one of the components and fixing its value to the complementary value. In summary, a basic evolutionary algorithm can be described in this way: 1) create an initial population P0 , = 0; 2) = + 1; select a set of solutions P −1 of P −1 ; apply the crossover and mutation operators to form a new population P ; 3) repeat Step 2) until the stopping criterion is satisfied.

164

Combinatorial Optimization 3

Several strategies have been proposed for improving the efficiency of EAs. The most common are using local search methods that allow us to improve the population of the solutions obtained through crossover or by mutation, and hybridation with other metaheuristics, in particular the Tabu search. In this last case, we then talk about memetic algorithms. 5.10. Bibliography [ACH 03] ACHUTHAN N.R., C ACCETTA L., H ILL S.P., “An Improved Branch-and-Cut Algorithm for the Capacitated Vehicle Routing Problem”, Transportation Science, vol. 37, p. 153–169, 2003. [ADD 98] A DDINNOUR -H ELM S., V ENKATARAMANAN M.A., “Solution Approaches to Hub Location Problems”, Annals of Operations Research, vol. 78, p. 31–50, 1998. [AHU 93] A HUJA R.K., M AGNANTI T.L., O RLIN J.B., Network Flows – Theory, Algorithms, and Applications, Prentice-Hall, Englewood Cliffs, 1993. [AIK 85] A IKENS C.H., “Facility Location Models for Distribution Planning”, European Journal of Operational Research, vol. 22, p. 263–279, 1985. [ARM 02] A RMACOST A.P., BARNHART C., WARE K.A., “Composite Variable Formulations for Express Shipment Service Network Design”, Transportation Science, vol. 36, num. 1, p. 1–20, 2002. [ASS 80] A SSAD A.A., “Models for Rail Transportation”, Transportation Research A: Policy and Practice, vol. 14, p. 205–220, 1980. [AUG 95] AUGERAT P., Approche polyédrale du problème de tournées de véhicules, PhD thesis, Institut National Polytechnique de Grenoble, Grenoble, France, 1995. [AUG 98] AUGERAT P., B ELENGER J.M., B ENAVENT E., C ORBERAN A., NADDEF D., “Separating Capacity Constraints in the CVRP Using Tabu Search”, European Journal of Operational Research, vol. 106, p. 546–557, 1998. [AYK 90] AYKIN T., “On a Quadratic Integer Program for the Location of Interacting Hub Facilities”, European Journal of Operational Research, vol. 46, p. 409–411, 1990. [AYK 94] AYKIN T., “Lagrangian Relaxation Based Approaches to Capacitated Hub-andSpoke Network Design Problem”, European Journal of Operational Research, vol. 79, p. 501–523, 1994. [AYK 95a] AYKIN T., “Networking Policies for the Hub-and-Spoke Systems with Application to the Air Transportation System”, Transportation Science, vol. 29, p. 201–221, 1995. [AYK 95b] AYKIN T., “The Hub Location and Routing Problem”, European Journal of Operational Research, vol. 83, p. 200–219, 1995. [BAK 03] B AKER B.M., AYECHEW M.A., “A Genetic Algorithm for the Vehicle Routing Problem”, Computers & Operations Research, vol. 30, p. 787–800, 2003. [BAL 64] B ALINSKI M., Q UANDT R., “On an Integer Program for a Delivery Problem”, Operations Research, vol. 12, p. 300–304, 1964.

Goods Transportation

165

[BAL 97] BALAKRISHNAN A., M AGNANTI T.L., M IRCHANDANI P., “Network Design”, D ELL’A MICO M., M AFFIOLI F., M ARTELLO S., Eds., Annotated Bibliographies in Combinatorial Optimization, p. 311–334, John Wiley & Sons, New York, 1997. [BAR 96] BARNHART C., S CHNEUR R.R., “Network Design for Express Freight Service”, Operations Research, vol. 44, num. 6, p. 852–863, 1996. [BEA 83] B EASLEY J.E., “Route-first Cluster-second Methods for Vehicle Routing”, Omega, vol. 11, p. 403–408, 1983. [BEN 03] B ENT R., VAN H ENTENRYCK P., “A Two-Stage Hybrid Local Search for the Vehicle Routing Problem with Time Windows”, Transportation Science, 2003. [BER 03] B ERGER J., BARKAOUI M., B RÄYSY O., “A Route-Directed Hybrid Genetic Approach for the Vehicle Routing Problem with Time Windows”, INFOR, vol. 41, p. 179–194, 2003. [BOU 00] B OURBEAU B., G ENDRON B., C RAINIC , T.G., “Branch-and-Bound Parallelization Strategies Applied to a Depot Location and Container Fleet Management Problem”, Parallel Computing, vol. 26, num. 1, p. 27–46, 2000. [BRÄ 01] B RÄYSY O., “A Reactive Variable Neighborhood Search Algorithm for the Vehicle Routing Problem with Time Windows”, INFORMS Journal on Computing, 2001. [BRÄ 04] B RÄYSY O., H ASLE , G., D ULLAERT, W., “A Multi-Start Local Search Algorithm for the Vehicle Routing Problem with Time Windows”, European Journal of Operational Research, vol. 159, p. 586–605, 2004. [BRÄ 05] B RÄYSY O., G ENDREAU M., “Vehicle Routing Problem with Time Windows, Part II: Metaheuristics”, Transportation Science, 2005. [BRA 92] B RAKLOW J.W., G RAHAM W.W., H ASSLER S.M., P ECK K.E., P OWELL W.B., “Interactive Optimization Improves Service and Performance for Yellow Freight System”, Interfaces, vol. 22, num. 1, p. 147–172, 1992. [BUE 00] B UEDENBENDER K., G RÜNERT T., S EBASTIAN H.-J., “A Hybrid Tabu Search/Branch and Bound Algorithm for the Direct Flight Network Design Problem”, Transportation Science, vol. 34, num. 4, p. 364–380, 2000. [CAM 96] C AMPBELL J.F., “Hub Location and the p-Hub Median Problem”, Operations Research, vol. 44, num. 6, p. 923–935, 1996. [CAM 94] C AMPBELL J.F., “Integer Programming Formulations of Discrete Hub Location Problem”, European Journal of Operational Research, vol. 72, p. 387–405, 1994. [CAM 04] C AMPO DALL’O RTO L., C RAINIC T.G., L ÉAL J.E., P OWELL W.B., “The Singlenode Dynamic Service Scheduling and Dispatching Problem”, European Journal of Operational Research, 2004. [CHE 98] C HEUNG R.K., C HEN C.-Y., “A Two-Stage Stochastic Network Model and Solution Methods for the Dynamic Empty Container Allocation Problem”, Transportation Science, vol. 32, num. 2, p. 142–162, 1998. [CHI 97] C HIANG W.-C., RUSSELL R.A., “A Reactive Tabu Search Metaheuristic for the Vehicle Routing Problem with Time Windows”, INFORMS Journal on Computing, vol. 9, p. 417-430, 1997.

166

Combinatorial Optimization 3

[CHR 79] C HRISTOFIDES N., M INGOZZI A., T OTH P., “The Vehicle Routing Problem”, C HRISTOFIDES N., M INGOZZI A., T OTH P., S ANDI C., Eds., Combinatorial Optimization, p. 315–338, John Wiley and Sons, New York, 1979. [CHR 05] C HRISTIANSEN M., FAGERHOLT K., N YGREEN B., RONEN D., “Maritime Transportation”, B ARNHART C., L APORTE G., Eds., Transportation, of Handbooks in Operations Research and Management Science, North-Holland, Amsterdam, 2005. [CLA 64] C LARKE G., W RIGHT J.W., “Scheduling of Vehicles from a Central Depot to a Number of Delivery Points”, Operations Research, vol. 12, p. 568–581, 1964. [COR 98] C ORDEAU J.-F., T OTH P., V IGO D., “A Survey of Optimization Models for Train Routing and Scheduling”, Transportation Science, vol. 32, num. 4, p. 380–404, 1998. [COR 01a] C ORDEAU J.-F., L APORTE G., M ERCIER A., “A Unified Tabu Search Heuristic for Vehicle Routing Problems with Time Windows”, Journal of the Operational Research Society, vol. 52, p. 928–936, 2001. [COR 01b] C ORDONE R., W OLFLER -C ALVO R., “A Heuristic for Vehicle Routing Problem with Time Windows”, Journal of Heuristics, vol. 7, p. 107–129, 2001. [COR 02] C ORDEAU J.-F., G ENDREAU M., L APORTE G., P OTVIN J.-Y., S EMET F., “A Guide to Vehicle Routing Heuristics”, Journal of the Operational Research Society, vol. 53, p. 512–522, 2002. [CRA 84] C RAINIC T.G., F ERLAND J.-A., ROUSSEAU J.-M., “A Tactical Planning Model for Rail Freight Transportation”, Transportation Science, vol. 18, num. 2, p. 165–184, 1984. [CRA 86] C RAINIC T.G., ROUSSEAU J.-M., “Multicommodity, Multimode Freight Transportation: A General Modeling and Algorithmic Framework for the Service Network Design Problem”, Transportation Research B: Methodological, vol. 20, p. 225–242, 1986. [CRA 88a] C RAINIC T.G., “Rail Tactical Planning: Issues, Models and Tools”, B IANCO L., B ELLA A. L., Eds., Freight Transport Planning and Logistics, Springer-Verlag, Berlin, p. 463-509, 1988. [CRA 88b] C RAINIC T.G., ROY J., “O.R. Tools for Tactical Freight Transportation Planning”, European Journal of Operational Research, vol. 33, num. 3, p. 290–297, 1988. [CRA 89] C RAINIC T.G., D EJAX P.J., D ELORME L., “Models for Multimode Multicommodity Location Problems with Interdepot Balancing Requirements”, Annals of Operations Research, vol. 18, p. 279–302, 1989. [CRA 93a] C RAINIC T.G., D ELORME L., D EJAX P.J., “A Branch-and-Bound Method for Multicommodity Location with Balancing Requirements”, European Journal of Operational Research, vol. 65, num. 3, p. 368–382, 1993. [CRA 93b] C RAINIC T.G., G ENDREAU M., D EJAX P.J., “Dynamic Stochastic Models for the Allocation of Empty Containers”, Operations Research, vol. 43, p. 102–302, 1993. [CRA 93c] C RAINIC T.G., G ENDREAU M., S ORIANO P., T OULOUSE M., “A Tabu Search Procedure for Multicommodity Location/Allocation with Balancing Requirements”, Annals of Operations Research, vol. 41, p. 359–383, 1993.

Goods Transportation

167

[CRA 95a] C RAINIC T.G., D ELORME L., “Dual-Ascent Procedures for Multicommodity Location-Allocation Problems with Balancing Requirements”, Transportation Science, vol. 27, num. 2, p. 90–101, 1995. [CRA 95b] C RAINIC T.G., T OULOUSE M., G ENDREAU M., “Parallel Asynchronous Tabu Search for Multicommodity Location-Allocation with Balancing Requirements”, Annals of Operations Research, vol. 63, p. 277–299, 1995. [CRA 95c] C RAINIC T.G., T OULOUSE M., G ENDREAU M., “Synchronous Tabu Search Parallelization Strategies for Multicommodity Location-Allocation with Balancing Requirements”, OR Spektrum, vol. 17, num. 2/3, p. 113–123, 1995. [CRA 97a] C RAINIC T.G., L APORTE G., “Planning Models for Freight Transportation”, European Journal of Operational Research, vol. 97, num. 3, p. 409–438, 1997. [CRA 97b] C RAINIC T.G., T OULOUSE M., G ENDREAU M., “Towards a Taxonomy of Parallel Tabu Search Algorithms”, INFORMS Journal on Computing, vol. 9, num. 1, p. 61–72, 1997. [CRA 00] C RAINIC T.G., “Network Design in Freight Transportation”, European Journal of Operational Research, vol. 122, num. 2, p. 272–288, 2000. [CRA 03] C RAINIC T.G., “Long-Haul Freight Transportation”, H ALL R.W., Ed., Handbook of Transportation Science, p. 451–516, Kluwer Academic Publishers, Norwell, 2nd ed., 2003. [CRA 05a] C RAINIC T.G., “Parallel Computation, Co-operation, Tabu Search”, R EGO C., A LIDAEE B., Eds., Metaheuristic Optimization Via Memory and Evolution: Tabu Search and Scatter Search, p. 283–302, Kluwer Academic Publishers, Norwell, 2005. [CRA 05b] C RAINIC T.G., K IM K.H., “Intermodal Transportation”, BARNHART C., L A PORTE , G., Eds., Transportation, of Handbooks in Operations Research and Management Science, North-Holland, Amsterdam, 2005. [DAN 59] DANTZIG G.B., R AMSER J.H., “The Truck Dispatching Problem”, Management Science, vol. 6, p. 80–91, 1959. [DAS 95] DASKIN M.S., Network and Discrete Location. Models, Algorithms, and Applications, John Wiley & Sons, New York, 1995. [DAS 03] DASKIN M.S., OWEN S.H., “Location Models in Transportation”, H ALL R.W., Ed., Handbook of Transportation Science, p. 321–371, Kluwer Academic Publishers, Norwell, 2th ed., 2003. [DAV 99] DAVIS D.L., D E J ONG K., VOSE M.D., W HITLEY L.D., Evolutionary Algorithms, Springer, New York, 1999. [DEJ 87] D EJAX P.J., C RAINIC T.G., “A Review of Empty Flows and Fleet Management Models in Freight Transportation”, Transportation Science, vol. 21, num. 4, p. 227–247, 1987. [DEL 88] D ELORME L., ROY J., ROUSSEAU J.-M., “Motor-Carrier Operation Planning Models: A State of the Art”, B IANCO L., B ELLA A. L., Eds., Freight Transport Planning and Logistics, Springer-Verlag, Berlin, p. 510–545, 1988.

168

Combinatorial Optimization 3

[DES 86] D ESROCHERS M., La fabrication d’horaires de travail pour les conducteurs d’autobus par une méthode de génération de colonnes, Publication 470, Centre de Recherche sur les Transports, University of Montreal, Canada, 1986. [DES 92] D ESROCHERS M., D ESROSIERS J., S OLOMON M.M., “A New Optimization Algorithm for the Vehicle Routing Problem with Time Windows”, Operations Research, vol. 40, p. 342–354, 1992. [DRÉ 03] D RÉO J., P ÉTROWSKI , A., S IARRY P., TAILLARD ÉD ., Métaheuristiques pour l’Optimisation Difficile, Eyrolles, Paris, 2003. [DRE 95] D REZNER Z., Ed., Facility Location. A Survey of Applications and Methods, Springer-Verlag, New York, 1995. [DRO 95] D ROR M., “A Note on the Complexity of the Shortest Path Models for Column Generation in VRPTW”, Operations Research, vol. 42, p. 977–978, 1995. [EQU 97] E QUI L., G ALLO G., M ARZIALE S., W EINTRAUB A., “A Combined Transportation and Scheduling Problem”, European Journal of Operational Research, vol. 97, num. 1, p. 94–104, 1997. [ERL 78] E RLENKOTTER D., “A Dual-Based Procedure for Uncapacitated Facility Location”, Operations Research, vol. 26, p. 992–1009, 1978. [ERN 96] E RNST A.T., K RISHNAMOORTHY, M., “Efficient Algorithms for the Uncapacitated Single Allocation p-Hub Median Problem”, Location Science, vol. 4, num. 3, p. 139–154, 1996. [FAR 91] FARVOLDEN J.M., P OWELL W.B., A Dynamic Network Model for Less-ThanTruckload Motor Carrier Operations, Working Paper num. 90-05, Department of Industrial Engineering, University of Toronto, Toronto, ON, Canada, 1991. [FAR 94] FARVOLDEN J.M., P OWELL W.B., “Subgradient Methods for the Service Network Design Problem”, Transportation Science, vol. 28, num. 3, p. 256–272, 1994. [FIS 81] F ISHER M.L., JAIKUMAR R., “A Generalized Assignment Heuristic for the Vehicle Routing”, Networks, vol. 11, num. 1, p. 109–124, 1981. [FRA 56] F RANCK M., W OLFE P., “An Algorithm for Quadratic Programming”, Naval Research Logistics Quarterly, vol. 3, p. 95–110, 1956. [GEH 02] G EHRING H., H OMBERGER J, “Parallelization of a Two-Phase Metaheuristic for Routing Problems with Time Windows”, Journal of Heuristics, vol. 8, p. 251–276, 2002. [GEN 92] G ENDREAU M., H ERTZ A., L APORTE G., “New Insertion and Postoptimization Procedures for the Traveling Salesman Problem”, Operations Research, vol. 40, num. 6, p. 1086–1094, 1992. [GEN 94] G ENDREAU M., H ERTZ A., L APORTE G., “A Tabu Search Heuristic for the Vehicle Routing Problem”, Management Science, vol. 40, p. 1276–1290, 1994. [GEN 95] G ENDRON B., C RAINIC T.G., “A Branch-and-Bound Algorithm for Depot Location and Container Fleet Management”, Location Science, vol. 3, num. 1, p. 39–53, 1995.

Goods Transportation

169

[GEN 97] G ENDRON B., C RAINIC T.G., “A Parallel Branch-and-Bound Algorithm for Multicommodity Location with Balancing Requirements”, Computers & Operations Research, vol. 24, num. 9, p. 829–847, 1997. [GEN 98] G ENDREAU M., H ERTZ A., L APORTE G., S TAN M., “A Generalized Insertion Heuristic for the Traveling Salesman Problem with Time Windows”, Operations Research, vol. 46, num. 3, p. 330–335, 1998. [GEN 99] G ENDRON B., P OTVIN J.-Y., S ORIANO P., “Tabu Search with Exact Neighbor Evaluation for Multicommodity Location with Balancing Requirements”, INFOR, vol. 37, num. 3, p. 255–270, 1999. [GEN 03a] G ENDRON B., P OTVIN J.-Y., S ORIANO P., “A Parallel Hybrid Heuristic for the Multicommodity Capacitated Location Problem with Balancing Requirements”, Parallel Computing, vol. 29, p. 591–606, 2003. [GEN 03b] G ENDRON B., P OTVIN J.-Y., S ORIANO P., “A Tabu Search with Slope Scaling for the Multicommodity Capacitated Location Problem with Balancing Requirements”, Annals of Operations Research, vol. 122, p. 193–217, 2003. [GHA 03] G HAMLOUCHE I., C RAINIC T.G., G ENDREAU M., “Cycle-based Neighbourhoods for Fixed-Charge Capacitated Multicommodity Network Design”, Operations Research, vol. 51, num. 4, p. 655–667, 2003. [GHA 04] G HAMLOUCHE I., C RAINIC T.G., G ENDREAU M., “Path Relinking, Cycle-based Neighbourhoods and Capacitated Multicommodity Network Design”, Annals of Operations Research, vol. 131, p. 109–133, 2004. [GIL 74] G ILLETT B., M ILLER L., “A Heuristic Algorithm for the Vehicle Dispatch Problem”, Operations Research, vol. 22, p. 340–349, 1974. [GLO 86] G LOVER F., “Future Paths for Integer Programming and Links to Artificial Intelligence”, Computers & Operations Research, vol. 1, num. 3, p. 533–549, 1986. [GLO 89] G LOVER F., “Tabu Search – Part I”, ORSA Journal on Computing, vol. 1, num. 3, p. 190–206, 1989. [GLO 90] G LOVER F., “Tabu Search – Part II”, ORSA Journal on Computing, vol. 2, num. 1, p. 4–32, 1990. [GLO 97] G LOVER F., L AGUNA M., Tabu Search, Kluwer Academic Publishers, Norwell, MA, 1997. [GOD 02a] G ODFREY G.A., P OWELL W.B., “An Adaptive Dynamic Programming Algorithm for Dynamic Fleet Management I: Single Period Travel Times”, Transportation Science, vol. 36, num. 1, p. 21–39, 2002. [GOD 02b] G ODFREY G.A., P OWELL W.B., “An Adaptive Dynamic Programming Algorithm for Dynamic Fleet Management II: Multiperiod Travel Times”, Transportation Science, vol. 36, num. 1, p. 40–54, 2002. [GOL 98] G OLDEN B.L., WASIL E.A., K ELLY J.P., C HAO I.M., “Metaheuristics in Vehicle Routing”, C RAINIC T., L APORTE G., Eds., Fleet Management and Logistics, p. 33–56, Kluwer Academic Publishers, Boston, 1998.

170

Combinatorial Optimization 3

[GRÜ 99] G RÜNERT T., S EBASTIAN H.-J., T HÄERIGEN M., “The Design of a Letter-Mail Transportation Network by Intelligent Techniques”, S PRAGUE R., Ed., Proceedings Hawaii International Conference on System Sciences 32, 1999. [GRÜ 00] G RÜNERT T., S EBASTIAN H.-J., “Planning Models for Long-haul Operations of Postal and Express Shipment Companies”, European Journal of Operational Research, vol. 122, p. 289–309, 2000. [HAD 95] H ADJICONSTANTINOU E., C HRISTOFIDES N., M INGOZZI A., “A New Exact Algorithm for the Vehicle Routing Problem Based on q-paths and k-shortest Paths Relaxations”, Annals of Operations Research, vol. 61, p. 21–43, 1995. [HAG 89] H AGHANI A.E., “Formulation and Solution of Combined Train Routing and Makeup, and Empty Car Distribution Model”, Transportation Research B: Methodological, vol. 23, num. 6, p. 433–452, 1989. [HOL 75] H OLLAND J.H., Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975. [HOM 99] H OMBERGER J., G EHRING H., “Two Evolutionary Metaheuristics for the Vehicle Routing Problem with Time Windows”, INFOR, vol. 37, p. 297–318, 1999. [HOU 80] H OUCK D.J., P ICARD J.-C., Q UEYRANNE M., V EMUGANT R.R., “The Traveling Salesman as a Constrained Shortest Path Problem: Theory and Computational Experience”, Operations Research, vol. 17, p. 93–109, 1980. [INSa] Instances de Christofides, vrpinfo.html.

Mingozzi and Toth, http://mscmga.ms.ic.ac.uk/jeb/orlib/

[INSb] Instances de Solomon, http://web.cba.neu.edu/ msolomon/problems.htm. [INSc] Instances de PTVC exact, http://www.branchandcut.org. [JAI 96] JAILLET P., S ONG G., Y U G., “Airline Network Design and Hub Location Problems”, Location Science, vol. 4, num. 3, p. 195–212, 1996. [JOR 83] J ORDAN W.C., T URNQUIST M.A., “A Stochastic Dynamic Network Model for Railroad Car Distribution”, Transportation Science, vol. 17, p. 123–145, 1983. [JOZ 04] J OZEFOWIEZ N., Modélisation et résolution approchée de problèmes de tournées multi-objectifs, PhD thesis, Lille University of Science and Technology, France, 2004. [KIM 99] K IM D., BARNHART C., WARE K., R EINHARDT G., “Multimodal Express Package Delivery: A Service Network Design Application”, Transportation Science, vol. 33, num. 4, p. 391–407, 1999. [KLI 91] K LINCEWICZ J.G., “Heuristics for the p-Hub Location Problem”, European Journal of Operational Research, vol. 53, p. 25–37, 1991. [KLI 92] K LINCEWICZ J.G., “Avoiding Local Optima in the p-Hub Location Problem Using Tabu Search and GRASP”, Annals of Operations Research, vol. 40, p. 283–302, 1992. [KLI 96] K LINCEWICZ J.G., “Dual Algorithm for the Uncapacitated Hub Location Problem”, Location Science, vol. 4, num. 3, p. 173–184, 1996.

Goods Transportation

171

[KOH 99] KOHL N., D ESROSIERS J., M ADSEN O.B.G., S OLOMON M.M., S OUMIS F., “2Path Cuts for the Vehicle Routing Problem with Time Windows”, Transportation Science, vol. 33, p. 101–116, 1999. [KUB 93] K UBY M.J., G RAY R.G., “The Hub Network Design Problem with Stopovers and Feeders: The Case of Federal Express”, Transportation Research A: Policy and Practice, vol. 27, num. 1, p. 1–12, 1993. [LAB 95] L ABBÉ M., P EETERS D., T HISSE J.-F., “Location on Networks”, BALL M., M AG NANTI T.L., M ONMA C.L., N EMHAUSER G.L., Eds., Network Routing, vol. 8 of Handbooks in Operations Research and Management Science, p. 551–624, North-Holland, Amsterdam, 1995. [LAB 97] L ABBÉ M., L OUVEAUX F.V., “Location Problems”, D ELL’A MICO M., M AFFIOLI F., M ARTELLO S., Eds., Annotated Bibliographies in Combinatorial Optimization, p. 261– 281, John Wiley & Sons, New York, 1997. [LAP 85] L APORTE G., N OBERT Y., D ESROCHERS M., “Optimal Routing Under Capacity and Distance Restrictions”, Operations Research, vol. 33, p. 1050–1073, 1985. [LAP 87] L APORTE G., N OBERT Y., “Exact Algorithm for the Vehicle Routing Problem”, Annals of Discrete Mathematics, vol. 31, p. 147–184, 1987. [LEB 05a] L E B OUTHILLIER A., C RAINIC T.G., “A Cooperative Parallel Meta-Heuristic for the Vehicle Routing Problem with Time Windows”, Computers & Operations Research, vol. 32, num. 7, p. 1685–1708, 2005. [LEB 05b] L E B OUTHILLIER A., C RAINIC T.G., K ROPF P., “A Guided Cooperative Cooperative Search”, IEEE Intelligent Systems, 2005. [LED 67] L EDDON C.D., W RATHALL E., “Scheduling Empty Freight Car Fleets on the Louisville and Nashville Railroad”, Second International Symposium on the Use of Cybernetics on the Railways, p. 1–6, 1967. [LEN 81] L ENSTRA J.K., R INNOOY K AN A.H.G., “Complexity of Vehicle Routing and Scheduling Problems”, Networks, vol. 11, p. 221–227, 1981. [LIN 65] L IN S., “Computer Solutions of the Traveling Salesman Problem”, Bell System Technical Journal, vol. 44, p. 2245–2269, 1965. [LIU 99] L IU F.H., S HEN S.Y., “A Route-Neighborhood-based Metaheuristic for Vehicle Routing Problem with Time Windows”, European Journal of Operational Research, vol. 118, p. 485–504, 1999. [LYS 04] LYSGAARD J., L ETCHFORD A.N., E GLESE R.W., “A New Branch-and-cut Algorithm for the Capacitated Vehicle Routing Problem”, Mathematical Programming, vol. 100, p. 423–445, 2004. [MAG 84] M AGNANTI T.L., W ONG R.T., “Network Design and Transportation Planning: Models and Algorithms”, Transportation Science, vol. 18, num. 1, p. 1–55, 1984. [MES 02] M ESTER D., An evolutionary strategies algorithm for large scale vehicle routing problem with capacitate and time windows restrictions, Report, Working Paper, Institute of Evolution, University of Haifa, Israel, 2002.

172

Combinatorial Optimization 3

[MIN 89] M INOUX M., “Network Synthesis and Optimum Network Design Problems: Models, Solution Methods and Applications”, Networks, vol. 19, p. 313–360, 1989. [MIR 90] M IRCHANDANI P.S., F RANCIS R.L., EDS ., Discrete Location Theory, John Wiley & Sons, New York, 1990. [MIS 72] M ISRA S., “Linear Programming of Empty Wagon Disposition”, Rail International, vol. 3, p. 151–158, 1972. [MOL 76] M OLE R.H., JAMESO S.R., “A Sequential Route-building Algorithm Employing a Generalized Savings Criterion”, Operational Research Quarterly, vol. 27, p. 503–511, 1976. [NAD 93] NADDEF D., R INALDI G., “The Graphical Relaxation: A New Framework for the Symmetric Traveling Salesman Polytope”, Mathematical Programming, vol. 58, p. 53–88, 1993. [NAD 02a] NADDEF D., T HIENEL S., “Efficient Separation Routines for the Symmetric Traveling Salesman Problem I: General Tools and Comb Separation”, Mathematical Programming, vol. 92, p. 237–255, 2002. [NAD 02b] NADDE D., T HIENEL , S., “Efficient Separation Routines for the Symmetric Traveling Salesman Problem II: Separating Multi Handle Inequalities”, Mathematical Programming, vol. 92, p. 257–285, 2002. [NEM 88] N EMHAUSER G.L., W OLSEY L.A., Integer and Combinatorial Optimization, John Wiley and Sons, New York, 1988. [O’K 87] O’K ELLY M.E., “A Quadratic Integer Program for the Location of Interacting Hub Facilities”, European Journal of Operational Research, vol. 32, p. 393–404, 1987. [O’K 92a] O’K ELLY M.E., “A Clustering Approach to the Planar Hub Location Problem”, Annals of Operations Research, vol. 40, p. 339–353, 1992. [O’K 92b] O’K ELLY M.E., “Hub Facilities Location with Fixed Costs”, Papers in Regional Science, vol. 71, p. 292–306, 1992. [O’K 95] O’K ELLY M.E., S KORIN -K APOV D, S KORIN -K APOV J, “Lower Bounds for the Hub Location Problem”, Management Science, vol. 41, p. 713–721, 1995. [O’K 96] O’K ELLY M.E., B RYAN D., S KORIN -K APOV D, S KORIN -K APOV J, “Hub Network Design with Single and Multiple Allocation: A Computational Study”, Location Science, vol. 4, num. 3, p. 125–138, 1996. [OR 76] O R I., Traveling salesman-type combinatorial problems and their relation to the logistics of regional blood banking, PhD thesis, Northwestern University, Evanston, United States, 1976. [OSM 93] O SMAN I.H., “Metastrategy simulated annealing and tabu search for the vehicle routing problem”, Annals of Operations Research, vol. 41, p. 421–451, 1993. [PIR 96] P IRKUL H., JAYARAMAN V., “Production, Transportation, and Distribution Planning in a Multi-Commodity Tri-Echelon System”, Transportation Science, vol. 30, num. 4, p. 291–302, 1996.

Goods Transportation

173

[PIR 98] P IRKUL H., JAYARAMAN V., “A Multi-Commodity, Multi-Plant, Capacitated Facility Location Problem: Formulation and Efficient Heuristic Solution”, Computers & Operations Research, vol. 25, num. 10, p. 869–878, 1998. [POT 95] P OTVIN J.-Y., ROUSSEAU J.-M., “An Exchange Heuristic for Routing Problems with Time Windows”, Journal of the Operational Research Society, vol. 46, p. 1433–1446, 1995. [POW 83] P OWELL W.B., S HEFFI Y., “The Load-Planning Problem of Motor Carriers: Problem Description and a Proposed Solution Approach”, Transportation Research A: Policy and Practice, vol. 17, num. 6, p. 471–480, 1983. [POW 86a] P OWELL W.B., “A Local Improvement Heuristic for the Design of Less-thanTruckload Motor Carrier Networks”, Transportation Science, vol. 20, num. 4, p. 246–357, 1986. [POW 86b] P OWELL W.B., S HEFFI Y., “Interactive Optimization for Motor Carrier Load Planning”, Journal of Business Logistics, vol. 7, num. 2, p. 64–90, 1986. [POW 88] P OWELL W.B., “A Comparative Review of Alternative Algorithms for the Dynamic Vehicle Allocation Problem”, B.L. G OLDEN , A.A. A SSAD, Eds., Vehicle Routing: Methods and Studies, p. 249–292, North-Holland, Amsterdam, 1988. [POW 89] P OWELL W.B., S HEFFI Y., “Design and Implementation of an Interactive Optimization System for the Network Design in the Motor Carrier Industry”, Operations Research, vol. 37, num. 1, p. 12–29, 1989. [POW 95a] P OWELL W.B., C ARVALHO T.A., G ODFREY G.A., S IMAÕ H.P., “Dynamic Fleet Management as a Logistics Queueing Network”, Annals of Operations Research, vol. 61, p. 165–188, 1995. [POW 95b] P OWELL W.B., JAILLET P., O DONI A., “Stochastic and Dynamic Networks and Routing”, BALL M., M AGNANTI T.L., M ONMA C.L., N EMHAUSER G.L., Eds., Network Routing, vol. 8 of Handbooks in Operations Research and Management Science, p. 141– 295, North-Holland, Amsterdam, 1995. [POW 97] P OWELL W.B., C ARVALHO T.A., “Dynamic Control of Multicommodity Fleet Management Problems”, European Journal of Operations Research, vol. 98, p. 522–541, 1997. [POW 98a] P OWELL W.B., C ARVALHO T.A., “Dynamic Control of Logistics Queueing Networks for Large-Scale Fleet Management”, Transportation Science, vol. 32, num. 2, p. 90– 109, 1998. [POW 98b] P OWELL W.B., C ARVALHO T.A., “Real-Time Optimization of Containers and Flatcars for Intermodal Operations”, Transportation Science, vol. 32, num. 2, p. 110–126, 1998. [POW 03] P OWELL W.B., T OPALOGLU H., “Fleet Management”, WALLACE S., Z IEMBA W., Eds., Applications of Stochastic Programming, Math Programming Society – SIAM Series on Optimization, SIAM, 2003. [POW 04a] P OWELL W.B., “Dynamic Models of Transportation Operations”, G RAVES S., T OK T.A.G., Eds., Supply Chain Management, vol. 11 of Handbooks in Operations Research and Management Science, p. 677–756, North-Holland, Amsterdam, 2004.

174

Combinatorial Optimization 3

[POW 04b] P OWELL W.B., T OPALOGLU H., “Stochastic Programming in Transportation and Logistics”, RUSZCZYNSKI A., S HAPIRO A., Eds., Stochastic Programming, vol. 10 of Handbooks in Operations Research and Management Science, p. 555–635, North-Holland, Amsterdam, 2004. [POW 05] P OWELL W.B., B OUZAÏENE -AYARI B., S IMAÕ H.P., “Dynamic Models for Freight Transportation”, BARNHART C., L APORTE G., Eds., Transportation, Handbooks in Operations Research and Management Science, North-Holland, Amsterdam, 2005. [PRI 04] P RINS C., “A Simple and Effective Evolutionary Algorithm for the Vehicle Routing Problem”, Computers & Operations Research, vol. 31, p. 1985–2002, 2004. [RAL 03] R ALPHS T.K., KOPMAN L., P ULLEYBLANK W.R., T ROTTER L.E., “On the Capacitated Vehicle Routing Problem”, Mathematical Programming, vol. 94, p. 343–359, 2003. [REG 96] R EGO C., ROUCAIROL C., “A Parallel Tabu Search Algorithm Using Ejection Chains for the VRP”, O SMAN I., K ELLY J., Eds., Meta-Heuristics: Theory & Applications, Kluwer Academic Publishers, Norwell, p. 253–295, 1996. [REN 96] R ENAUD J., B OCTOR F.F., G ILBERT L., “An Improved Petal Heuristic for the Vehicle Routing Problem”, Journal of the Operational Research Society, vol. 47, p. 1156–1167, 1996. [ROC 94] ROCHAT Y., S EMET F., “A Tabu Search Approach for Delivering Pet Food and Flour in Switzerland”, Journal of the Operational Research Society, vol. 45, p. 1233–1246, 1994. [ROC 95] ROCHAT Y., TAILLARD E.D., “Probabilistic Diversification and Intensification in Local Search for Vehicle Routing”, Journal of Heuristics, vol. 1, num. 1, p. 147–167, 1995. [ROY 84] ROY J., Un modèle de planification globale pour le transport routier des marchandises, Thèse de doctorat, Ecole des Hautes Etudes Commerciales, University of Montreal, Montreal, Canada, 1984. [ROY 89] ROY J., D ELORME L., “NETPLAN: A Network Optimization Model for Tactical Planning in the Less-than-Truckload Motor-Carrier Industry”, INFOR, vol. 27, num. 1, p. 22–35, 1989. [ROY 92] ROY J., C RAINIC T.G., “Improving Intercity Freight Routing with a Tactical Planning Model”, Interfaces, vol. 22, num. 3, p. 31–44, 1992. [RUS 77] RUSSELL R.A., “An Effective Heuristic for the m-Tour Traveling Salesman Problem with some Side Conditions”, Operations Research, vol. 25, p. 517–524, 1977. [RUS 95] RUSSELL R.A., “Hybrid Heuristics for the Vehicle Routing Problem with Time Windows”, Transportation Science, vol. 29, p. 156–166, 1995. [SAL 89] S ALKIN H.M., M ATHUR K., Foundations of Integer Programming, North-Holland, Amsterdam, 1989. [SHA 98] S HAW P., “Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems”, M AHER M., P UGET J.-F., Eds., Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, p. 417–431, Springer-Verlag, New York, 1998.

Goods Transportation

175

[SKO 94] S KORIN -K APOV D., S KORIN -K APOV J., “On Tabu Search for the Location of Interacting Hub Facilities”, European Journal of Operational Research, vol. 73, p. 502–509, 1994. [SKO 96] S KORIN -K APOV D., S KORIN -K APOV J., O’K ELLY M.E., “Tight Linear Programming relaxation of Uncapacitated p-Hub Median Problems”, European Journal of Operational Research, vol. 94, p. 582–593, 1996. [SMI 96] S MITH K., K RISHNAMOORTHY M., PALANISWAMI M., “Neural Versus Traditional Approaches to the Location of Interacting Hub Facilities”, Location Science, vol. 4, num. 3, p. 155-171, 1996. [SOL 87] S OLOMON M.M., “Time Window Constrained Routing and Scheduling Problems”, Operations Research, vol. 35, p. 254–265, 1987. [SOL 88] S OLOMON M.M., BAKER E., S CHAFFER J., “Vehicle Routing and Scheduling with Time Windows: Efficient Implementations of Solution Improvement Procedures”, Vehicle Routing: Methods and Studies, p. 85–106, North-Holland, 1988. [TAI 93] TAILLARD E.D., “Parallel Iterative Search Methods for Vehicle Routing Problems”, Networks, vol. 23, p. 661–673, 1993. [TAI 97] TAILLARD E.D., B ADEAU P., G ENDREAU M., G UERTIN F., P OTVIN J.-Y., “A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows”, Transportation Science, vol. 31, num. 2, p. 170–186, 1997. [TAR 02] TARANTILIS C.D., K IRANOUDIS C.T., “Bone Route: An Adaptive Memory-based Method for Effective Fleet Management”, Annals of Operations Research, vol. 115, p. 227– 241, 2002. [TEG 03] T EGHEM J., P IRLOT M., Résolution de Problèmes de RO par les Métaheuristiques, Hermès, Paris, 2003. [THO 93] T HOMPSON P., P SARAFTIS H., “Cyclic Transfer Algorithms for Multivehicle Routing and Scheduling Problems”, Operations Research, vol. 41, p. 935–946, 1993. [TOT 02] T OTH P., V IGO D., EDS ., The Vehicle Routing Problem, vol. 9 of SIAM Monographs on Discrete Mathematics and Applications, SIAM, 2002. [TOT 03] T OTH P., V IGO D., “The Granular Tabu Search and its Application to the Vehicle Routing Problem”, INFORMS Journal on Computing, vol. 15, p. 333–348, 2003. [VAN 95] VAN B REEDAM A., “Improvement Heuristics for the Vehicle Routing Problem Based on Simulated Annealing”, European Journal of Operational Research, vol. 86, p. 480–490, 1995. [WHI 68] W HITE W.W., A Program for Empty Freight Car Allocation, Report num. 360D.29.002, IBM Contributed Program Library, IBM Corporation, Program Information Department, Hawthorne, NY, 1968. [WHI 69] W HITE W.W., B OMBERAULT A.M., “A Network Algorithm for Empty Freight Car Allocation”, IBM Systems Journal, vol. 8, num. 2, p. 147–171, 1969. [WHI 72] W HITE W.W, “Dynamic Transshipment Networks: An Algorithm and its Application to the Distribution of Empty Containers”, Networks, vol. 2, num. 3, p. 211–236, 1972.

Chapter 6

Optimization Models for Transportation Systems Planning

6.1. Introduction Quantitative approaches to transportation planning propose models that predict the demand for transferring passengers or goods in a given region, based on the socioeconomic characteristics of the population, on the industrial profile of the region, and on the levels of service between the origin and the destination provided by the transport infrastructure and services. The aim of descriptive trip demand models is to predict at what moment the trips start, the destinations, the modes used and the routes taken. The theory and implementation of transportation demand planning models are weighty subjects, especially with regard to passenger trips in an urban region or zone. Applications to goods transfer planning problems are more recent and are strongly based on the results of work carried out for passenger transportation. In all cases, a large variety of econometric and optimization models and methods are used to formulate and calibrate models with the help of survey data. The transport planning process uses descriptive models in order to compare future scenarios with a reference scenario with the aim of obtaining directions regarding better solutions to adopt. Optimization models have played a large role, since the 1970s, in the development of demand estimation models, in the choice of mode and route models, and in the development of efficient algorithms for obtaining numerical solutions. In this chapter,

Chapter written by Teodor Gabriel C RAINIC and Michael F LORIAN.

178

Combinatorial Optimization 3

four categories of optimization models will be presented: spatial interaction models (or trip demand distribution models), network balancing models (trip assignment models, transit route choice models) and multimodal multiproduct goods transport network planning models. These models take the form of static network or variational inequality optimization problems, even if, in fact, all traffic phenomena are temporal. A given time must be considered for which the trip demand has been quantified. To get from this to a prediction of the flows between the origin and the destination on the links (paths) of the network, a network model is used to represent the transport infrastructure and service offered. Spatial interaction models are used to establish origin–destination demand matrices. Network balancing models are used to model the route choice on congested networks, while transit route choice models study the frequency of the service offered on public transport lines. These models are the subject of the next four sections. 6.2. Spatial interaction models Let us consider a transport network that only allows one type of traffic flow (vehicles or passengers) on the links. The nodes n ∈ N represent the origins, the destinations and the intersections of the links. The links a ∈ A ⊆ N × N represent the transport infrastructure or services. If trips that start at the origin r ∈ R ⊆ N are represented by Or , and if trips that go towards the destinations s ∈ S ⊆ N are represented by Ds ,, the question raised is that of finding trs (or tp , where p = (r, s)), given the time and the cost of the trips urs . The classical model, which is used to find the origin–destination matrix trs , is known as the entropy model. The conservation of the flow at the origins and at the destinations implies that: trs = Or , r ∈ R [6.1] s∈S

and: trs = Ds , s ∈ S

[6.2]

r∈R

Of course, the demand for trips is non-negative: trs

0, r ∈ R, s ∈ S

[6.3]

In the absence of additional information, we work on the principle that the origin– destination matrix is the most likely, from which we derive the objective function: Maximize −

trs ln trs r

s

Transportation Planning Optimization

179

which depends on [6.1]-[6.3]. The objective is the interpretation of the maximization of the entropy. The formalism comes from information theory (see [JAY 57a, JAY 57b]). The model was introduced into transport analysis and regional analysis by Wilson [WIL 67, WIL 70] for cases where there is a priori information about the matrix, for example t0rs , ∀(r, s). Kullback [KUL 59] and Snickars and Weibull [SNI 90] proposed using the function: max −

trs ln r

s

trs t0rs

[6.4]

In order to characterize the dispersion of the trips, a constraint is added to the total trip time, where C is an observed total trip time: trs urs = C r

[6.5]

s

from which we get the objective function: min

trs (ln trs + θurs ) r

[6.6]

s

θ can be seen as the dual variable associated with constraint [6.5]. It is obvious that, by applying the Karush–Kuhn–Tucker conditions, the solution of [6.6], which depends on [6.1]–[6.3], will be of the form: trs = exp(αr + βs − 1) exp(−θurs ), ∀(r, s) = Ar Bs exp(−θurs )

[6.7]

where αr and βs are the dual variables associated with the flow conservation constraints. Thanks to the convention trs ln trs = 0, when trs = 0, it is possible to obtain solutions to this class of problems by applying a primal convex programming algorithm. This problem has the property that the primal variables can be expressed as a function of the dual variables, which we will now show. The Lagrangian dual problem presented in [6.6], which depends on [6.1]–[6.2], is expressed as follows: D(α, β, t)

=

max min t

α,β

+

trs (ln trs + θurs ) r

[6.8]

s

αr (Or − r

trs + s

βs (Ds − s

trs )

[6.9]

r

By using [6.7] to replace the dual variables trs , we obtain, by simplifying: D(α, β)

= max α,β

αr Or + r



βs D s s

exp(αr + βs − 1 − θurs ) r

s

[6.10]

180

Combinatorial Optimization 3

This property allows the elaboration of an effective solution procedure, known as the balancing method, which is a dual ascent method for one variable at a time. Let tlrs , αlr , βsl be the solution at an iteration l. We then obtain βsl+1 , which maximizes D(α1r , βsl+1 , βsl , s =s ), by canceling the partial derivative of the objective function with regard to βs : δD(βsl+1 ) = Ds − δβs

r

exp(−θurs + βsl+1 + αlr − 1) = 0

[6.11]

which has the solution: exp(βsl+1 ) = Ds /

r

exp(−θurs + αlr − 1)

[6.12]

By multiplying and dividing the right-hand side of equation [6.12] by βsl , we obtain: Ds exp(βsl ) tlrs

exp(βsl+1 ) =

[6.13]

r

The ratio (Ds / α tlrs ) is referred to as the balancing factor at the iteration l. Since the same unidimensional maximization can be used for all αr and βs , we obtain the primal-dual method, also called the balancing method, described below: Step 1 (initialization) l = 0, t0rs = exp(−θurs ) ∀(r, s) A0r = 1, ∀r; Bs0 = 1, ∀s Step 2 for l = 1, 2, ... (a) Al+1 = r

Or l tlrs Ar

l+ 1

∀r; trs 2 =

s

Ds

(b) Bsl+1 = r

l+ 1 trs 2

Or l tlrs trs ,

∀s

Ds

l+ 1

s

Bsl ∀s; tl+1 rs = r

l+ 1 trs 2

trs 2 , ∀s.

The algorithm stops when Al+1 − Alr and Bsl+1 − Bsl . Observe that r Ar = ln αr and that the difference between two successive values of dual variables is (αl+1 − αlr ) = ln(Or / tlrs ). r s

This method goes back to at least 1937, the date at which Kruithof [KRU 37] used it to predict the distribution of telephone communications. Demins and Stephan [DEM 40] discovered this method autonomously and applied it to a cross-classification problem in statistics with the aim of simplifying the least-squares adjustment. This model has other interesting properties. If urs < ∞ and θ > 0 then trs > 0, ∀(r, s) and non-negativity constraints [6.3] are not required. Here is the explanation

Transportation Planning Optimization

181

for this: if trs is equal to zero, then, from [6.7], either αr or βs = −∞, which implies that trs = 0 or trs = 0, which would violate [6.1] or [6.2]. s

t

Another interesting variant of this model arises when both constraints [6.1] and [6.2] are replaced with inequalities. For example, when: trs

Or , ∀r

[6.14]

s

replaces [6.1], the solution is found by modifying the balancing method by replacing in the calculation of the balancing factor in step 2(a)

Or tlrs

s

with min 1,

Or tlrs

.

s

This variant of the model was studied by Jefferson and Scott [JEF 79]. Lamond and Stewart [LAM 81] showed that the balancing method and its variants can be considered as a special case of Bregman’s non-orthogonal projection method [BRE 67], which is used to solve certain convex programming problems. Variants of the balancing method were examined by Robillard and Stewart [ROB 74], Evans and Kirby [EVA 74], and Andersson [AND 81]. The article by Erlander, Nguyen and Stewart [ERL 79] is devoted to an exhaustive description of the entropy model and its variants. 6.3. Traffic assignment models and methods Traffic assignment models were designed to describe the traffic flows formed by the users of a transport network, such as an urban road network. They can also be adapted to serve as models for air, rail and other networks. We assume that certain attributes of the network are known and that the trip demand is defined by an origin– destination demand matrix, as described in section 6.2, or by the demand functions. In this section, the most important traffic assignment models are described and some elementary algorithms are proposed for solving them. Proofs of the results proposed, analysis of the convergence of the algorithms, and a detailed exposition of the other models are proposed in, for example, Sheffi [SHE 85], Patricksson [PAT 93], and Florian and Hearn [FLO 95]. To simplify the notation, we consider a transport network model that has one single type of vehicle flow on the directed links of the network. The nodes i, i ∈ N represent the origins, destinations and intersections; the arcs a, a ∈ A represent the transport links. The origin–destination demands (O–D) generate flows on the links va , a ∈ A; the cost of the trip on a link is provided by a user cost function sa (v), where v is the vector (va )a∈A of the flows on all the links of the network. The cost functions model the times and delays on the links or various costs such as tolls and fuel consumption,

182

Combinatorial Optimization 3

considered to be non-negative. Let P be the set of O–D pairs, Kp , p ∈ P, the set of directed paths that link the pair p, and K the set of all the paths. The transport demand tp for the pair p uses directed paths and the flows hk on the paths obey the flow conservation and non-negativity constraints: hk = tp ∀p ∈ P

[6.15]

k∈Kp

hk

0

∀k ∈ K

[6.16]

The flows on the links are given by: va =

δak hk ∀a ∈ A

[6.17]

p∈P k∈Kp

where δak = 1 if the link belongs to the path k, and is equal to zero otherwise. Let us define Δ = (δak ) as being the arc-path incidence matrix |A| × |K| such that v = Δh, where h is the vector (hk )k∈K of the flows on the paths for all the O–D pairs. The cost sk (= sk (h)) of each path k is expressed by: sk =

δak sa (v) = a∈A

δak sa (Δh), ∀k ∈ Kp , p ∈ P

[6.18]

a∈A

and up (= up (h)) is, by definition, the cost of the least cost path for the O–D pair p: up = min sk , ∀p ∈ P k∈Kp

[6.19]

For each p ∈ P, either we obtain the trip demand tp of a fixed O–D demand matrix, in which case tp = tp , or it is provided by the demand function tp (u), where u is the vector of the values of the least cost trips, (up )p∈P , for all the O–D pairs of the network: tp = tp (u) ∀p ∈ P [6.20] 6.3.1. System optimization and user optimization models The traffic assignment models based on “system optimization” assume that the trips on the network follow paths in such a way that use of the network is done in the “common interest”. If the demands tp are fixed, the objective is to satisfy a normative principle according to which the average cost (or time) of the trips must be minimized. Since the total demand is a constant, this involves the equivalent of minimizing the total cost on the system. The system optimization model with fixed demand is presented as follows: Minimize sa (v)va [6.21] a∈A

Transportation Planning Optimization

183

under constraints [6.16] and [6.17] and tp = tp . If, however, the trip demand is elastic, that is dictated by demand functions [6.20], the system optimization model tries to maximize the net economic advantages for the network users. The economic principles established allow us to know that the advantage for the users, for any O–D pair p ∈ P, is obtained by calculating the area under the demand curve tp (u). We assume that this function has an inverse function t wp (tp ) = up . The economic advantage can therefore be expressed as 0 p wp (y)dy. Consequently, in this case, the system optimization model is described as follows: tp

Maximize

0

p

wp (y)dy −

sa (v)va

[6.22]

a∈A

under constraints [6.15], [6.16], [6.17] and [6.20]. The problems encountered in system optimization models also appear in user optimization models, which try to describe the distribution of users over the network with more precision, in the knowledge that it is impossible for a user to improve his trip costs on his own. Consequently, the descriptive models of the traffic flows assume that the users are in Wardrop equilibrium [WAR 52], a special case of Nash equilibrium. The problem is described as follows: let there be h∗ and u∗ in such a way as to satisfy the following conditions: (sk (h∗ ) − u∗p )h∗k = 0

∀k ∈ Kp , p ∈ P

[6.23]

sk (h∗ ) − u∗p

∀k ∈ Kp , p ∈ P

[6.24]

0

h∗k − tp = 0

∀p ∈ P

[6.25]

0

[6.26]

k∈Kp

h∗

0, u∗

where tp = tp is used when the demand is fixed and t = t(u∗ ) is used when the demand is elastic. The flows of equilibrium over the links, v ∗ , can be calculated from the flows on the paths h∗ by applying [6.17]. The first two conditions work so that, for every p ∈ P, only the least cost paths are used. The third condition establishes a ratio between the total of the flows on the paths and the total demand, taking into account minimum costs on the paths. This general wording of the problem is known as the network balancing model. This model is used in many applications such as electrical networks, water supply networks and spatial price balancing problems. Florian and Hearn [FLO 95] provide examples of the applications cited. They also summarize the results of the research projects of many authors, showing in this way that mathematical analysis of the network balancing model can be facilitated by reformulating it either as a non-linear complementarity problem, or as a fixed point problem, or even as a variational inequality problem.

184

Combinatorial Optimization 3

However, reformulations of the network balancing problem used in transport planning are optimization problems. The principal hypotheses predict that the cost and demand functions can be separated, that is that they have the form sa (v) = sa (va ) and tp (u) = tp (up ). In other terms, the cost on a link depends only on the flow on the link, and the demand for the O–D pair p is a function only of the minimum trip time for this O–D pair. We consider, furthermore, that the cost functions are convex and that the demand functions are strictly monotonic. By taking into account these conditions, the user elastic demand optimization problem can be formulated as the convex program: va

min a∈A

0

tp

sa (x)dx − p∈P

0

wp (y)dy

[6.27]

taking into account [6.15], [6.16], [6.17] and [6.20]. When the demand is fixed, and taking into account [6.15], [6.16], [6.17] and tp = tp , the problem on the user side becomes: va

min a∈A

0

sa (x)dx

[6.28]

We observe that the solutions to these problems are equivalent to what was proposed in [6.23]–[6.26] for fixed demand and elastic demand. This situation derives directly from the Karush–Kuhn–Tucker conditions of both problems. The link between the conditions of the network balancing model and the system optimization models is also reflected in their Karush–Kuhn–Tucker conditions. Nothing is more simple than to verify that they have the same form, the terms sk (h∗ ) being calculated from marginal costs on the links, sa (va∗ ) + sa (va∗ )va∗ . The significant link between them is therefore that the solution to the system optimization model is in equilibrium with regard to the marginal costs, while the user optimization model is in equilibrium with regard to the average costs. 6.3.2. Algorithms for traffic assignment for the user optimization model Three basic methods are presented in this section: two for the user optimization model with fixed demand and one for the user optimization model with elastic demand. Since the optimization models (user and system) are the same except for the terms of the objective functions that contain the cost functions on the links, algorithms designed for these two models can be used for the equivalent system optimization models. The principal modification that must be made is in the derivatives of the objective functions, which have an incidence on the costs of the shortest paths. In the “user” models we obtain these from sa (va ), but in the “system” model, we obtain them from sa (va ) + sa (va )va . This adjustment corresponds to the observation made previously concerning the Karush–Kuhn–Tucker conditions of the models.

Transportation Planning Optimization

185

6.3.2.1. Cyclic decomposition of the O–D with path balancing The “user” models account for the flows and the costs on the paths for each O–D pair. The most intuitive solution is therefore found for the flows on the paths with exterior decomposition per O–D pair. This approach, identical to the Gauss–Seidel approach (or relaxation), is also known as cyclic decomposition, since one single “user assignment” problem is solved for each O–D pair during a cycle of the algorithm, and the flows for the other O–D pairs remain fixed. The general cyclic strategy is presented below: Step 0. Let there be a set of initial solutions p = 0, p = 0. Step 1. If p = |P |, the total number of O–D pairs, STOP ; Otherwise state p = pmod |P | + 1 and continue; Step 2. If the current solution is optimal for the subproblem p (6.29–6.33) then p = p + 1 and return to step 1; Otherwise, solve the subproblem p, update the flows, do p = 0 and return to step 1. Here is a description of the subproblem when it is applied to the “user” problem with fixed demand: P va +v a

min a∈A

0

sa (x)dx

[6.29]

taking into account: h k = tp

[6.30]

k∈Kp

hk where:

0,

∀k ∈ Kp

va =

δak hk

[6.31] [6.32]

p=p k∈Kp

and:

vap =

δak hk ,

∀a ∈ A

[6.33]

k∈Kp

The path balancing algorithms used to solve [6.29]–[6.33] are run in the space of the flows on the paths and propose solutions where all the paths have the same cost. The most simple of these algorithms finds the shortest path and the longest path, and passes the flows from one to the other to equalize the costs. Let Kp+ = {k ∈ Kp | hk > 0}, the set of paths that have positive flows; the path balancing algorithm is presented as follows:

186

Combinatorial Optimization 3

Step 0. Let there be an initial solution vap ; sa = sa (vap + v a ) and initial Kp+ . Step 1. Calculate the costs of the paths used at present: sk , k ∈ Kp+ . Find k1 in such a way that sk1 = min+ {sk } and k2 in such a way that sk2 = max+ {sk }. If (sk2 − sk1 )

k∈Kp

, go to step 4, otherwise go to step 2.

k∈Kp

Step 2. Redistribute the flow from the path k2 on the path k1 until it is reduced to zero or the costs on the two paths are equal. Step 3. Taking into account the new flows on the paths hk1 and hk2 , update the flows on the links vap , the costs on the links sa and the costs on the paths sk . Step 4. Calculate the shortest path k¯ with the cost sk = min {sk }; if s¯k < min+ {sk } k∈Kp

k∈Kp

¯ return then the path k¯ is added to the set of the paths conserved, Kp+ = Kp+ ∪ k, to step 1; otherwise STOP. The algorithm presented above is only one of the possible path balancing systems. For example, the adaptation, for the subproblem, of the reduced gradient or projected gradient algorithms entails a balancing step on all the paths k, k ∈ Kp+ . Moreover, it is not necessary to solve each of the subproblems optimally; one or two of the balancing steps can be executed for each of the O–D pairs. This algorithm suits the “user” problem with fixed demand when the number of paths used for an O–D pair is more or less small, as in an air or rail network, and when the number of O–D pairs is also more or less small. In many road network models, the paths and the flows require increasingly sizable storage resources. For this reason, the methods described below are more used since they run in the flow space on the links. 6.3.2.2. Linear approximation method The linear approximation method proposes one of the most simple algorithms for minimizing a convex function under linear constraints. Adapting this algorithm for solving the system optimization model and the user optimization model produces methods that only require the calculation of the shortest paths and the unidimensional minimization of a convex function. We will first inspect the adaptation for the user optimization problem with fixed demand. Taking a feasible solution as starting point, the method produces a feasible descent direction by providing the solution to a subproblem that we obtain by linearizing the objective function. Next, an improved solution comes from the line segment between the current solution and the solution of the subproblem. Let S(v) be the objective function. The linearized approximation of this function at an intermediate iteration l, when the current solution is v l , is expressed as: S(v l ) + ∇S(v l )(y − v l )

[6.34]

Transportation Planning Optimization

187

Since S(v l ) and ∇S(v l )v l are constants, the linearized subproblem that must be solved reduces to: min sa (val )δak hk [6.35] p∈P k∈Kp a∈A

under the constraints:

hk = t¯p

∀p ∈ P

[6.36]

k∈Kp

hk

0

∀k ∈ K

[6.37]

By changing the summing order in [6.35] and by using [6.18], we obtain: slk hk

min

[6.38]

p∈P k∈Kp

Since the terms of the objective function [6.38] can be separated per O–D pair p, we obtain the solution of the linearized subproblem by calculating the shortest paths for each of the O–D pairs p and assigning the demands t¯p to the links on the paths. Such an allocation or assignment is known as an all or nothing assignment, which produces the vector of flow on the arc: yal =

δak hlk

∀a ∈ A

[6.39]

dla = (yal − val )

∀a ∈ A

[6.40]

k∈K

and the direction of descent:

An iteration of the linear approximation algorithm is made by carrying out a linear search between v l and y l . This involves a problem with only one variable: min S(v l + λdl )

0 λ 1

[6.41]

Adapting the linear approximation method produces the following algorithm: Step 0. Find an initial solution v l ; sl = s(v l ); l = 1. Step 1. Make an all or nothing assignment taking into account current costs on the arc s(v l ) to obtain the flow vector on the arc y l ; let dl = (y l − v l ). Step 2. Verify whether a pre-established stopping criterion has been satisfied. If yes, stop; otherwise go to step 3. Step 3. Find the optimal size of step λl by finding the solution to [6.41].

188

Combinatorial Optimization 3

Step 4. Update the flows on the arc v l+1 = v l + λl dl and the costs on the arc sl+1 = s(v l+1 ); establish l = l + 1 and go back to step 1. The algorithm offers many advantages for solving the symmetric network balancing model with fixed demand. The paths used to calculate the direction of the descent in a given iteration are produced as needed and are not necessarily conserved in successive iterations. The resources required for storage are therefore modest and do not increase according to the number of iterations. For each iteration, only the flows v l and the costs on the links sl are conserved, as well as the data on the network links. Since S(v) is a convex function and ∇S(v) = s(v), for every iteration we have: S(v ∗ )

S(v l ) + s(v l )(y l − v l )

[6.42]

In this way, the best attainable lower bound up to iteration l is: BLB = max S(v l ) + s v l (y l − v l ) i=1...l

[6.43]

and therefore a natural stopping criterion arises when the relative error: S(v l ) − BLB S(v l )

[6.44]

is smaller than a pre-established parameter. Note that this algorithm proposes an intuitive interpretation according to which users modify their route choice according to congestion. This algorithm is therefore close to the heuristic algorithms that have been proposed and used to solve this problem. On the other hand, the principal disadvantage of the linear approximation method is that it sometimes produces a slow convergence close to the optimal solution because its asymptotic convergence ratio is arithmetic. Because of this situation, many variants of this algorithm have been developed which attempt to improve its convergence ratio. Two of the algorithms that best achieved this are based on Partan’s method and on simplicial decomposition: they are both examined in the overall study made by Florian and Hearn [FLO 95]. The user optimization problem with variable demand can be solved using a partial linear approximation method which carries out a linearization on only a few variables of the objective function. Given the solution (v l , tl ) at the iteration l, the aim of the subproblem is to find (y l , z l ) so that a linear search may be carried out both on the flow on the link and on the O–D demand. In the present case, it is natural to linearize z only the cost functions of the arc. Let W (z) = p 0 p wp (x)dx, the subproblem that derives from this at iteration l is: sa (val )δak hk − W (z)

Minimize p∈P k∈K a∈A

[6.45]

Transportation Planning Optimization

under constraints:

hk − z p = 0

∀p ∈ P

189

[6.46]

k∈Kp

hk

0

∀k ∈ K, zp

0

∀p ∈ P

[6.47] ulp , p

To find the solution to this subproblem, it must first be established that ∈ P, represents the costs of the shortest paths based on the current costs on the links s(v l ); then [6.45] must be simplified using [6.46] and [6.47] in order to obtain: (ulp zp − Wp (zp ))

Minimize

[6.48]

p∈P

taking into account:

zp

0

∀p ∈ P

[6.49] zpl

From the optimality conditions of the subproblem, the are established analytically as follows: zp (ulp ) if tp (ulp ) 0 zpl = [6.50] 0 otherwise The linear search between (v l , tl ) and (y l , z l ) follows. The convergence criteria for the partial linear approximation method can be based on the best lower bound or on the maximal number of iterations. In particular, the lower bound provided by the partial linear approximation for the user optimization problem with variable demand is: BLB = max S(v l ) + s(v l )(y l − v l ) − W (tl ) − w(tl )(z l − tl ) l

[6.51]

6.3.3. The user problem as variational inequality The success of optimization algorithms in solving applications of the network balancing model with separable demand and cost functions motivated researchers to find formulations for the general network balancing model, a model where separation is not a condition stated in advance. As mentioned previously, fixed point and non-linear complementarity formulations have also been developed. However, the advantage for general application models relates above all to the formulation of the problem as a variational inequality (VI). In this section, we will present certain results obtained for the user problem with fixed demand. Extensions to the elastic demand problem can be found in the references, see among others Florian and Hearn [FLO 95]. The basic theoretical result stipulates that v ∗ provides the solution to the fixed demand problem for the network balancing model if and only if it allows us to find the solution to the following VI problem: sa (v ∗ )(va − va∗ ) a∈A

0

[6.52]

190

Combinatorial Optimization 3

for every (v, t), such that: hk = t¯p ,

∀p ∈ P

[6.53]

k∈Kp

hk

0,

va =

∀k ∈ K

δak hk ,

[6.54]

∀a ∈ A

[6.55]

k∈K

We call this model the user VI model. To simplify the description of the two algorithms below, we compress the notation by defining Θ as being the set of feasible flows according to the flow vector on the arc v: find v ∗ in Θ in such a way that: s(v ∗ )(v − v ∗ ) where: Θ=

⎧ ⎨ ⎩

v : va =

0,

δak hk , k∈K

k∈Kp

∀v ∈ Θ

[6.56]

⎫ ⎬ hk = t¯p , ∀p ∈ P, a ∈ A ⎭

6.3.3.1. Projection method for FD-UVI A widespread method for solving this model is based on successive projections in the flow space on the links Θ. Note that another solution consists of cyclic O–D decomposition (method described previously) with the use of a projection method for solving the subproblem that derives from it for each O–D pair in the flow space on the paths. Let Q be a defined positive symmetric matrix, and let v¯, v¯ ∈ Θ be a feasible flow. A new cost function sˆ(v) is defined on Θ as follows:

where:

sˆ(v) = Qv + c

[6.57]

c = ρs(¯ v ) − Q¯ v

[6.58]

and ρ is a positive constant. Choosing appropriate values of ρ will be studied below. Since sˆ(v) is linear and has a Jacobian symmetric, the solution vˆ of: sˆ(ˆ v )(v − v)

0

∀v ∈ Θ

[6.59]

is provided by solving a symmetrical network balancing model, obtained by using one of the algorithms from the previous section. Inequality [6.59] is identical to: (Q¯ v = ρs(¯ v ) − Q¯ v )(v − v¯)

0

∀v ∈ Θ

[6.60]

Transportation Planning Optimization

191

which defines the application Mρ on Θ, where v¯ is integrated into vˆ, the unique solution of [6.60]. This means that each fixed point on Mρ is the solution of [6.56]. To confirm this, let v¯ be a fixed point, that is Mρ (¯ v ) = v¯. By establishing vˆ = v¯ in [6.60], it follows that ρs(¯ v )(v − v¯) 0 ∀v ∈ Θ; by dividing by ρ > 0, we see that, indeed, v¯ is the solution of [6.56]. The algorithm that derives from this constitutes a projection method since vˆ is the projection of the point v¯ − ρQ−1 s(¯ v ) on the set Θ, where the projection is defined with regard to the norm Q, that is v = ProjQ,Θ (¯ v − ρQ−1 s(¯ v )). We therefore obtain the following projection algorithm: Step 0. Find an initial solution v l . Let s(v l ) = Qv l + c, l = 1. Step 1. Calculate v l+1 as PROJQ,Θ (v l − pQ−1 s(v l )) or, equivalently, solve: Minimize (v − v l )ˆ s(v l ) +

1 (v − v l )Q(v − v l ) subject to v ∈ Θ 2ρ

Step 2. If v l+1 − v l , STOP. Otherwise, let l = l + 1; sˆ(sl+1 ) = Qv l+1 + c and return to step 1. The convergence of the algorithm means that s must be continuously derivable and strongly monotonic, that is: (s(v1 ) − s(v2 ))(v1 − v2 )

α |v1 − v2 |2

∀v1 , v2 ∈ Θ,

[6.61]

where α > 0 is the modulus of a strong monotony, as long as ρ is sufficiently small. This technical condition could turn out to be hard to verify in practice since ρ depends both on α and the eigenvalues (more on Θ) of the matrix ∇s(v)Q−1 ∇s(v). 6.3.3.2. Simplicial decomposition for FD-UVI The success of the linear approximation method for separable models with fixed demand of large size comes from the fact that it runs in the flow space on the links and it passes alternately from calculating the shortest paths to linear searches. Many modifications are needed to generalize the method for use with FD-UVI. First of all, in the absence of an objective function, an auxiliary function must be used to produce the costs for calculating the shortest paths and for monitoring the method’s progress. Next, the simple linear searches must be replaced by solving the VI subproblems on simplices. The auxiliary function G is called the offset function. It is defined as follows: for every v˜ ∈ Θ: v )(˜ G(˜ v ) = max s(˜ v − v) v∈Θ

192

Combinatorial Optimization 3

Note that G(˜ v ) 0 for every v˜ ∈ Θ. Moreover, if v˜ does not calculate the value of [6.56], G(˜ v ) > 0, and G(˜ v ) = 0 if and only if v˜ = v ∗ , the optimal solution. Finding the value of [6.56] is equivalent to finding a v ∗ that calculates the value of: min G(˜ v)

[6.62]

v ˜∈Θ

We can rewrite this equation as follows: min max {s(˜ v )(˜ v − v)} v ˆ∈Θ

[6.63]

v∈Θ

where, for each v˜, the interior maximization problem is equivalent to the linear programming (shortest path) subproblem of the linear approximation method. In the context of assigning balance to the traffic, G(ˆ v ) proposes an important interpretation which allows us to deduce [6.62] intuitively. To do this, let us note that: G(v) = s(˜ v )˜ v + max −s(˜ v )v v∈Θ

= s(v)v − min s(˜ v )v

[6.65]

v∈Θ

=

u ˜p t¯p

sa (˜ va )˜ va − a∈A

[6.64]

[6.66]

p∈P

where u ˜p = up (˜ v ) corresponds, by Definition [6.19], to the shortest path, given v˜, for the O–D pair p. The first term of the expression in [6.66] represents the total cost of the system and the second term represents the total cost of the system if every demand is supplied on the shortest paths, taking into account v˜. Manifestly, both these terms are equal if and only if v˜ = v ∗ , the optimal flow vector of the users. The simplicial decomposition algorithm is written as follows: Step 0. Let Θ be a set which initially contains one single extreme point of Θ. Let us ¯ l = ∞ and l = 1. Let { l } be a strictly decreasing consider given δ > 0. Fix G positive monotonic sequence which converges towards zero. Step 1. Find v l in the convex hull of (Θl ) such that s(v l )(v − v l ) l for each v in the convex hull of (Θl ). Let Dl be the set of elements of Θl of zero weight in the expression of v l as a convex combination of the extreme points of Θl . Step 2. Solve:

Minimize s(v l )y subject to y ∈ Θ

Denote the solution of the linear program psr by y l . If G(v l ) = s(v l )(v l − y l ) = 0, STOP. Otherwise:

Transportation Planning Optimization

193

¯ l − δ, let Θl+1 = Θl ∪ y l , G ¯ l − δ, let Θl+1 = (Θl − Dl ) ∪ y l . ii) if G(v l ) < G

i) if G(v l )

¯ l+1 = min G ¯ l , G(v l ) . Fix l = 1 + 1 and go to step 1. Let G Note that step 1 has a “relaxed” variational inequality, that is an approximate solution is sufficient. All methods can be used, but usually a projection method is used because the domain is a simplex. Step 2 presents the usual calculation of the shortest paths, ¯ l was as in the linear approximation method. Since G(v l ) is not monotonic, G introduced to obtain a monotonic decreasing sequence, which allows us to prove the convergence of the method.

6.4. Transit route choice models Transit route choice models or transit assignment models have as their objective the description of the flows over a public transport lines network where the timetable is fixed. What distinguishes them from the traffic assignment models and methods in section 6.3 is waiting: public transport users must wait for the first vehicle (bus) on the chosen line. Furthermore, getting to the stop implies a waiting period: the time taken to walk to the stop, the changes (if there are any), and the time spent in the vehicle. The exposition that follows is drawn from work carried out by Spiess and Florian [SPI 81]. Let us consider a public transport network which contains a set of nodes, public transport lines (each one defined by an ordered list of nodes where getting on and off is allowed), and walking links (each one defined by two nodes). The times associated with the walking links and the segments of the public transport lines are constant. The distribution of the interval between vehicles arriving is known for each of the lines that serves the nodes that are encountered on the itinerary of a public transport line. Consequently, it is possible to calculate the combined time of the predicted arrival time of the first vehicle and for all the subsets of lines linked to a node, as well as the probability that one of the lines will arrive first. Before formulating the mathematical model which corresponds to selection from the choice of public transport lines, it must be mentioned that a walking link can be replaced (theoretically) by a public transport line of a link that has a waiting time of zero (infinite frequency). Moreover, we assume that the underlying network is strongly connected. The objective is to minimize the (statistically) expected waiting and journey times, or the expected generalized total cost if the waiting times and the journey times have different weightings (that is waiting is more disagreeable than being inside a vehicle).

194

Combinatorial Optimization 3

The network is made up of four types of arcs: waiting arcs (no journey time), onboard arcs (no waiting), descent arcs (no journey time, no waiting) and walking arcs (no journey time, no waiting). Consequently, a segment of a public transport line is an arc served by a vehicle at given intervals, and the public transport user waits for the link to be served by a vehicle. The arcs that will be integrated into a solution of the model are denoted by A¯ ⊆ A, where A represents the set of arcs and N represents the set of nodes. ¯ The trip Therefore, the solution for a destination s is the subgraph bs = (N , A). demand from the nodes i, i ∈ N to the destination s is denoted by g¯i . Among the links ¯ at each node i, i ∈ N , a user gets on to the first vehicle included in the solution A, + ¯ ¯+ that serves one or other of the lines in A¯+ i (A = ∪i Ai ). The set Ai corresponds to the lines that will be chosen by the user to form the route (or the routes) between i and s, in one solution of the model. At each stop i, it is appropriate to refer to the set A¯+ i as being a set of attractive lines. Let W (A¯+ i ) be the waiting time predicted for the arrival of the first vehicle that serves one or the other of the links a ∈ A¯+ i , denoted as the combined waiting time of ¯+ ) be the probability that the link a will be the first line the links a ∈ A¯+ . Let P ( A a i i served among the links A¯+ i . If an exponential distribution of the interval between the arrivals is admitted then: 1 W (A+ [6.67] i )= fa ¯+ a∈A i

and:

fa

P (A+ i )= a

¯+ ∈A i

fa

, a ∈ A¯+ i

[6.68]

where fa is the frequency of the link (line) a. Since A¯ is not known a priori, the unique destination model is formulated with the help of binary variables xa , a ∈ A:

xa =

0 if a ∈ / A¯ 1 if a ∈ A¯

The optimization model can therefore be formulated as follows: Minimize

sa va + a∈A

i∈I

Vi fa xa

a∈A+ i

[6.69]

Transportation Planning Optimization

195

under the constraints: xa fa , a ∈ A+ i , i∈ N fa , xa

va = a

[6.70]

∈A+ i

Vi =

va + t¯i , i ∈ N

[6.71]

0, i ∈ N

[6.72]

a∈A− i

Vi

xa ∈ {0, 1}, a ∈ A

[6.73]

where sa represents the cost of the trips on the link a, and Vi represents the total volume at the node i. At first sight, the problem in [6.69]–[6.73] is a non-linear integer optimization problem. Fortunately, the problem can be simplified by transforming it into a linear programming problem, thanks to the following observations. It is possible to replace [6.72] by the non-negativity constraints of the volumes of the link va 0, a ∈ A, since va = Vi , i ∈ N . By integrating new variables wi , which represent the a∈A+ i

Vi

total waiting time for all the trips to the node i, wi =

+ a∈A i

the equivalent problem: Minimize

sa va + a∈A

taking into account:

va = t¯i ,

va −

i ∈ N , we obtain

[6.74]

i∈N

a ∈ A+ i ,i ∈ N

va = xa fa wi, a∈A+ i

wi

fa xa ,

i∈N

[6.75] [6.76]

a∈A− i

va

0,

a∈A

[6.77]

Objective function [6.74] is now linear and the 0–1 variables are only used in constraints [6.75], which are the only non-linear constraints. The constraints can be relaxed by replacing [6.75] with: va fa wi , a ∈ A+ i ,

i∈N

[6.78]

which produces linear programming problem [6.74], [6.78], [6.76] and [6.77]. It is possible to show, using the properties of the extreme points that we find in the solutions of the linear programming model, that this problem is equivalent to [6.74]–[6.77]. The dual problem of the last linear program is: t¯i ui

Maximize i∈N

[6.79]

196

Combinatorial Optimization 3

subject to: u j + s a + μa

ui , a ∈ A

fa μa = 1, i ∈ N

[6.80] [6.81]

a∈A+ i

μa

0, a ∈ A

[6.82]

where ui , uj are the dual variables which correspond to [6.76] and μa are the dual variables which correspond to [6.75]. Let (v ∗ , w∗ ) and (u∗ , μ∗ ) be the optimal solutions of the dual and primal problems. The weak complementary offset conditions are:

and:

(va∗ − fa wi∗ )μ∗a = 0, a ∈ A+ i , i ∈N

[6.83]

(u∗i + sa + μ∗a − u∗i )va∗ = 0, a ∈ A

[6.84]

In the primal and dual formulations, the transit route choice model is similar to the shortest path choice model. This corresponds to the shortest path problem when the wait is zero on all the network links; therefore fa → ∞ and wi → 0. The algorithm which provides the solution to the transit route choice model is very similar to the label fixing algorithm used to calculate the shortest paths. The algorithm comprises two parts. In the first pass, we calculate, going from the destination nodes to the origins, the arcs over which there is a flow, A¯∗ , and we calculate the predicted trip times u∗i from each node i, i ∈ N to the destination nodes. In the second pass, going from the origins to the destinations, the demand is assigned to the arcs a, a ∈ A¯∗ . We write the transit route choice algorithm as follows (the convention 0 ∞ = 1 is used), where the auxiliary variables fi , i ∈ N contain the combined frequencies of all the links chosen at the node i: First part: Find A¯∗ . Step 1.1. (Initialization) ui ← ∞, i ∈ N − {s} ; us ← 0 fi ← 0, i ∈ N ; S ← A; A¯ ← ∅. Step 1.2. (Choose next link) If S = ∅, STOP; otherwise find a = (i, j) ∈ S such that u j + sa

uj + sa ; a = (i , j ) ∈ S. ← S − {a}

Transportation Planning Optimization

Step 1.3. (Update the labels of the nodes). If ui ui ←

197

u i + sa ,

fi ui + fa (uj + sa ) fi + fa

fi ← fi + fa ; A¯ = A¯ + {a} Go to step 1.2. Second part: Assign the demand to A¯∗ . Step 2.1. (Initialization) Vi ← t¯i , i ∈ N . Step 2.2. (Load) For each link a ∈ A in decreasing order of (uj + sa ), do: If a ∈ A¯ then va ←

fa fi Vi

and Vj ← Vj + va ;

Otherwise, va ← 0. Using the primal and dual formulations of the transit route choice model, it is possible to prove that the algorithm finds the solution of [6.74], [6.78], [6.76] and [6.77]. The algorithm is applied to all the destinations, tour by tour. It is possible to apply the algorithm to a non-linear version of the problem, where the trip times on the links are not constant, but rather continuous functions sa (va ), a ∈ A of the flows on the arc va . The resulting model can be solved using an adaptation of the linear approximation algorithm. To find out more, please consult Spiess [SPI 84] and Spiess and Florian [SPI 81]. 6.5. Strategic planning of multimodal systems The models and methods presented in this section have a wide scope: they are applied to strategic planning problems on an international, national and regional scale, where the transportation of several products using the networks and services of several transporters are considered simultaneously. The main questions concern the evolution of a given transport system and its response to the various transformations of its environment: the evolution of the “local” or international socio-economic environments which result in modifications of the schemes and production, consumption and trade volumes; changes to policies and to the existing laws and the institution of new regulations (for example, taxes linked to the environment in certain European countries); modifications to the existing infrastructure; fluctuations in the prices of energy; changes to working conditions; merging of transporters; the arrival of new technologies, and so on. These stakes are often an integral part of cost–benefit analyses and comparative studies on alternative solutions in terms of policies and investment. Planning and regulations bodies at the various levels of government particularly look at

198

Combinatorial Optimization 3

these questions, for the same reasons as international financial institutions. These questions also arouse great interest in private companies, notably companies involved in financing transport infrastructures or companies who plan and operate goods distribution using several modes of transport. A “complete” strategic planning methodology represents the fundamental elements of a transport system – demand, supply, performance measures and decision criteria – and their interactions. It provides the volumes of flow by product and transport mode, as well as the associated performance measures, defined on a representation of a transport system network. It aims to produce a sufficiently precise simulation of the overall behavior of the system to offer a fair representation of the current situation and to serve as an adequate analysis tool for a wide range of scenarios. It must include models that can be solved and duce easily accessible results. Because this approach has wide implications, it is unrealistic to think that one single formulation or procedure, mathematical or otherwise, can encompass all the relevant elements, take into consideration all the important stakes, and achieve all the objectives. Consequently, the planning methodology presents itself as a set of models and procedures. Beyond data handling tools (for example collection, fusion, updating, validation, etc.) and results analysis capacities (for example cost–benefits, environmental effects, energy consumption policies, etc.), the main elements of this methodology are: 1) modeling the supply, which represents the modes of transport, infrastructure, transporters, services and lines; vehicles and convoys; terminals and intermodal facilities; capacities and congestion; measures and criteria in terms of economy, service and performance; 2) modeling the demand, which defines the products; identifies the producers, senders and intermediaries; represents the production and consumption in each zone, volumes to be transported from zone to zone (region to region), as well as the choices of transport mode; this part also deals with the relations of the demand and the choice of mode with regard to the performance of economy policies and the performance of the transport system; 3) assigning multiproduct flows (from the demand model) to the multimodal network (the representation of the supply). This procedure simulates the overall behavior of the transport system and its results serve as a basis for strategic analyses and planning activities. Consequently, the assignment methodology must be both precise in its reproduction of real situations and sufficiently general to produce solid analyses based on provisional data. Predicting multiproduct freight flows on a multimodal network is an important component of transport science and this has raised a lot of interest over the last few years. Nevertheless, perhaps because of the difficulties and complexities inherent in such problems, we note that the study of freight transportation at the national or regional

Transportation Planning Optimization

199

scale has not yet reached its full maturity, compared to passenger transport, for which the prediction of the flows of cars and public transport has been widely studied and several research results have been put into practice [CAS 01, FLO 95]. In what follows, we give a reminder of the most frequently used methods for goods transport planning and briefly review the references which relate to it.

6.5.1. Demand Modeling demand consists of presenting an image of the economic activities of a country: production, consumption, goods import and export. Designed for planning purposes, it results in a series of matrices of the specific demand for a product (or for a group of products), which indicate the volumes to be transported from one region or zone to another. This process is often rounded off by modeling the mode choice, which specifies, for each product and origin–destination combination, over which set of infrastructure or transport services the demand can be moved. A certain number of countries have developed input/output models of their economy, which serve to establish the basic production and attraction of their products ([CAS 01, ISA 51] and included references). To use an input/output model, it is necessary to break down the input and output parameters by region, then to further break them down according to the zonal subdivision of the national planning model. This process is complex and it is normally carried out in an analysis and calculation context which is not necessarily incorporated into the one used for representing the supply and the calculation of flows by product. When an input/output model is not available, we proceed to the initial establishment of the origin–destination matrices using the national statistics on production, consumption, and imports and exports, which we combine with sector-based studies meant to fill in missing or unreliable information. This process can turn out to be fastidious since data coming from several sources, gathered using different geographical subdivisions or non-compatible product definitions, must be consolidated. The results of the breakdown of input/output models or of occasional estimation procedures are initially used to calculate the origin–destination matrices for each product, but without any subdivision by mode. A second class of amply studied models for predicting inter-regional product flows is formed by the spatial balancing model and its variants [FRI 83, HAR 86a, HAR 86b, HAR 87]; see also [FLO 95, NAG 99] and section 6.2). This class of models simultaneously establishes the flow between producing and consuming regions, as well as the selling and buying prices that satisfy the spatial balancing conditions. In other words, a spatial balance is attained as long as, for all the pairs of supply and demand regions that present a positive flow of goods, the unit price of the supply added to the unit transport cost is equal to the unit demand price; the sum is larger than this price for all the pairs of regions without exchanges. We generally use a simple network

200

Combinatorial Optimization 3

(bipartite graph) to represent the transport system. These models are in a large measure based on the supply and demand functions of the producers and the consumers, respectively, which are rarely available and quite difficult to calibrate. There are relatively few applications of this class of models for establishing the demand per product. The rare applications referred to in the literature relate to specific products which are particularly important such as crude oil, coal or dairy products.

6.5.2. Mode choice The definition of the mode choice can be quite general, for example it may correspond to oil transportation by ship and by pipeline, or it may be extremely specific and indicate the particular multimodal path for a product, a sender or a given origin– destination pair, or even be somewhere between the two. The level of detail of the modal specification does not need to be the same for all the interzonal products or flows. The specification of the mode choice for a given product can be inferred from historical data and sender studies or it can be derived from a formal description and modeling work [WIN 83]. Random use models, which were developed and widely used for analyzing and planning people transportation systems, have also been proposed for goods transport [CAS 01], but their use in real applications is rare. This phenomenon is perhaps attributable to the large number of paths that must be generated and stored explicitly, as well as the difficulty of carrying out this task for provisional data. For aggregations, we specify the mode choices for particularly large flows of products by explicitly recording the principal logistics chains used between the pairs of macroregions.

6.5.3. Representing transport supply and assigning demand Once we have created modal origin–destination matrices, in whatever way, the next step consists of assigning them to the (supply) network model using an itinerary choice mechanism. The results of such an assignment model – product flows and performance measures – constitute a part of the input parameters for modeling and analyzing demand and cost-benefit. The assignment mechanism can be based on a more extensive application of random use models to the predefined path choice on a multimodal network or on network optimization models. It is interesting to note that the attributes of the predefined paths are determined by the state of the network at their generation time and are not influenced by the results of the assignment. In this way, congestion conditions are very difficult to represent. Furthermore, the use and choice models must be calibrated and all the paths must be generated for each scenario, which is quite hard to do when we use provisional data.

Transportation Planning Optimization

201

Network optimization models (see section 6.3) are generally considered to be more appropriate for this type of planning problem. These formulations allow the prediction of multiproduct flows on a multimodal network which represents the transport facilities with an adequate level of detail for a country or a region, while being relatively abstract. Transport service demand is exogenous and can have as its origin an input/output model or a spatial balancing model, if there is one available, or even other sources like observed demand or adjustment of previously observed demand. The choice of the subsets of permitted modes for each product is exogenous and intermodal supplies are allowed. Within the specified mode choice, the optimization (assignment) engine establishes the best multimodal paths for each product and origin– destination pair (taking into account specified performance measures for the network). These models can also be integrated into econometric demand models. Emphasis is placed on an adequate representation of the network and its various modes of transport, the corresponding intermodal transfer operations, the various criteria used to determine goods transport, interactions and competition relative to the limited resources illustrated by the representation of the effects of congestion, and estimation of traffic distribution over the associated transport system that we use for comparative studies or for discrete time multiperiod analyses. Studies in the 1970s used quite simple network representations (for example, see [JON 77, SHA 79]). Several studies also tried to extend spatial balancing models to include more refined network representations and to take into consideration the effects of congestion and the interactions between senders and transporters. Friesz, Gottfried and Morlok [FRI 86] present a sequential model which uses two network representations: separate detailed networks for each transporter and a global network considered from the point of view of the sender. On each transporter network, goods are transported at least total cost. On the network considered from the point of view of the sender, we use traffic user balancing principles to determine the transporters that the senders choose to move their traffic. This approach allows us to obtain fairly good results in the study of products logistics when a very limited number of senders and transporters interact and strongly determine the behavior of the system. The coal market between the public electricity services in the United States and their providers in exporting countries is a typical example of this. Friesz and Harker [FRI 85], Harker and Friesz [HAR 86a, HAR 86b], Harker [HAR 87, HAR 88], Hurley and Petersen [HUR 94], and Fernández, de Cea and Soto [FER 03] presented more elaborate formulations. This research lead has not, however, yet produced practical planning models and tools, principally because the formulations become too vast and complex when we apply them to realistic situations. Methodologies that have produced planning tools that have been successfully put into practice use sophisticated network and transport service representations and simulate the overall behavior of the system with the help of network optimization models [CRA 90a, CRA 90b, CRA 94, CRA 99, CRA 02, GUÉ 90, JOU 96]. The modeling context that we present is based on the works of Guélat, Florian and Crainic [GUÉ 90].

202

Combinatorial Optimization 3

The formulation does not consider senders and transporters as separate actors in the decisions taken regarding sending of the goods. The appropriate level of aggregation for strategic planning of the freight flows gives rise to origins and destinations that correspond to relatively vast geographical zones, and with the specification of supply and demand that represents, for each of the products considered, the total volumes generated by all the individual senders. Furthermore, in strategic studies on goods transportation, demand is often established from data sources (national statistics on freight flow, input/output economic models) which allow us to establish the mode used, but which do not contain any information on the individual senders. We therefore presume that the behavior of the sender is reflected in the origin–destination product matrices and the corresponding mode choice specification. The modeling context is that of a multimodal network, constituted of modes, nodes, links and intermodal transfers, over which multiple products must be transported by specific vehicles and convoys between given origin and destination points. Here, a mode is a means of transport which has its own characteristics, such as the type of vehicle and the capacity, as well as its specific cost measures. Depending on the range and the level of detail of the strategic study, a mode can represent a transporter or a portion of its network that corresponds to a particular transport service, to an aggregation of several transporter networks or to specific transport infrastructures such as highway or port networks. The network consists of nodes N , links A, modes M and transfers T , which represent all the possible physical trips on the available infrastructure. To reproduce the modal transport characteristics, a link A is defined in the form of a triplet (i, m, j), where i ∈ N is the origin node, j ∈ N is the destination node, and m ∈ M is the mode assigned on the arc. Parallel links are used to represent situations where there is more than one mode available for transporting the goods between two adjacent nodes. This representation as a network allows us to establish the flow of goods by mode easily, as well as the various cost functions (for example operating costs, delays, energy consumption, emissions, noise, risks, etc.) per product and per mode. To model intermodal supplies, mode transfers at certain nodes of the network must be taken into account and the associated costs and delays calculated. The intermodal transfers t ∈ T to a node of the network are modeled in the form of trips assigned from link to link and, consequently, from mode to mode. A path in this network then consists of a sequence of directed links of a mode, a possible transfer to another mode, a sequence of directed links of a second mode, and so on. Consequently, a transfer belongs to a path if both arcs that define it belong to the path. This representation as a network takes into account the restriction of flows of certain products to subsets of modes (for example the mineral iron can only be sent by rail or by ship) in order to reproduce particular decisions for mode choice or the restrictions that arise in goods transport networks and trans-shipment facilities operation.

Transportation Planning Optimization

203

By product we mean any goods or any passengers (or collection of similar products) that generate a flow of links. Each product p ∈ P transported over a multimodal network is sent from certain origins o ∈ N to certain destinations d ∈ N of the network. Demand for each product for all the origin–destination pairs is exogenous and is specified by a set of O–D matrices. The mode choice for each product is itself also exogenous and we show this by defining for each O–D matrix a subset of modes assigned to the transport of the corresponding demand. Let g m(p) be a demand matrix associated with the product p ∈ P, where m(p) ⊆ M is the subset of modes that can be used to transport this particular portion of the product p. The flows of the product p ∈ P over the multimodal network are the decision variables of the model. The flows over the links a ∈ A are represented by vap and the flows over the transfers t ∈ T are referred to by vtp ; v represents the vector of all the product flows. The cost functions are associated with the network links and transfers. For the product p, the respective average cost functions spa (v) and spt (v) depend on the volume of goods transported. Therefore, the total cost of the product p on the arc a is spa (v)vap and it corresponds to spt (v)vtp on transfer t. The total cost over the multimodal network is the function F , which will be minimized over the set of flow volumes over the links and transfers that satisfy the conservation and non-negativity constraints of the flows: spt (v)vtp

spa (v)vap +

F = p∈P

a∈A

[6.85]

t∈T

m(p)

Let Lod , which represents the set of paths which, for product p, go from the origin o to the destination d using only the modes in m(p). The “path” formulation of the flow conservation equations is therefore: m(p)

hl = god

o, d ∈ N , p ∈ P, m(p) ⊆ M

[6.86]

m(p)

l∈Lod

m(p)

where hl is the flow over the path l ∈ Lod . These constraints state that the total flow transported over all the paths that can be used to transport the product p must be equal to the demand for this product. The non-negativity constraints are: hl

0,

m(p)

l ∈ Lod , o, d ∈ N , p ∈ P, m(p) ⊆ M

[6.87]

The relationship between the flows on the arcs and the flows on the paths is: vap =

δal hl , a ∈ A, p ∈ P l∈Lp

where Lp is the set of all the paths that can be used by the product p, and δal = 1 if a ∈ l (and 0, otherwise) is the indicating function which identifies the arcs of a particular

204

Combinatorial Optimization 3

path. In the same way, the flows over the transfers are vtp = l∈Lp δtl hl , t ∈ T , p ∈ P, where δal = 1 if t ∈ l (and 0, otherwise). The multiproduct multimodal assignment model therefore consists of minimizing [6.85], subject to constraints [6.86] and [6.87]. This is a system optimization model and the optimality principle guarantees that in the final flow distribution, for each product, demand matrix and origin–destination pair, all the paths that present positive flows will have the same marginal cost (less than on the other paths). The algorithm developed for this problem uses natural decomposition by product and results in a procedure of the Gauss–Seidel type, which allows us to solve large-scale problems in reasonable calculation times [GUÉ 90]; section 6.3.2.2. This network model enables a detailed representation of the infrastructure, the facilities and the services, as well as simultaneous assignment of multiple products on multiple modes. The traffic of vehicles and convoys over the network links (and the transfers) is determined from the assigned product flows and it is used to evaluate the congestion conditions and to calculate the costs. The capacities are considered using congestion or penalty functions. In this way, the model shows the competition between the products relative to the capacity of the available services, a characteristic of great relevance when we consider alternative scenarios for increasing the capacity of the network. This accounts for the specification and the combination of a great variety of performance measures and assignment criteria, including functions of the optimization type when the nature of a particular product requires it. Furthermore, the model is sufficiently flexible to represent the infrastructure of one single transporter. 6.6. Conclusion We have presented several optimization models that are frequently used in transport planning exercises, for passengers as well as for goods. We have seen, in particular, the spatial interaction model, variants of the network balancing model, and a transit route choice model. The solution algorithms associated with each of these categories of model have also been mentioned. This presentation illustrates the richness of the applications of operations research to the transport planning domain. 6.7. Bibliography [AND 81] A NDERSSON P.A., “On the convergence of iterative methods for the distribution balancing problem”, Transportation Research B: Methodological, vol. 15B, p. 173-217, 1981. [BRE 67] B REGMAN L.M., “The relaxation method for finding the common point of convex sets and its application to the solution of problems in convex programming”, URSS Computational Mathematics and Mathematical Physics, vol. 7, p. 200–217, 1967. [CAS 01] C ASCETTA E., Transportation Systems Engineering: Theory and Methods, Kluwer Academic Publishers, Dordrecht, 2001.

Transportation Planning Optimization

205

[CRA 90a] C RAINIC T.G., F LORIAN M., G UÉLAT J., S PIESS H., “Strategic planning of freight transportation: STAN, an interactive-graphic system”, Transportation Research Record, vol. 1283, p. 97–124, 1990. [CRA 90b] C RAINIC T.G., F LORIAN M., L ÉAL J.-E., “A model for the strategic planning of national freight transportation by rail”, Transportation Science, vol. 24, num. 1, p. 1–24, 1990. [CRA 94] C RAINIC T.G., F LORIAN M., L ARIN D., “STAN: New Developments”, A L S. K HADE , R. B ROWN, Eds., Proceedings of the Annual Meeting of the Western Decision Sciences Institute, School of Business Administration, California State University, Stanislaus, p. 493–498, 1994. [CRA 99] C RAINIC T.G., D UFOUR G., F LORIAN M., L ARIN D., “Path analysis in STAN”, C. Z OPOUNIDIS, D. D ESPOTIS, Eds., Proceedings of the International Conference of the Decision Sciences Institute, New Technologies Publications, Athens, Greece, p. 2060-2064, 1999. [CRA 02] C RAINIC T.G., D UFOUR G., F LORIAN M., L ARIN D., “Path recovery/reconstruction and applications in nonlinear multimodal multicommodity networks”, G ENDREAU M., M ARCOTTE P., Eds., Transportation and Network Analysis: Current Trends Miscellanea in Honor of Michael Florian, p. 2060–2064, Kluwer Academic Publishers, Norwell, 2002. [DEM 40] D EMINS W.E., S TEPHAN F.F., “On a least squares adjustment of a sampled frequency table when the expected marginal totals are known”, Annals of Mathematical Statistics, vol. 11, p. 427–444, 1940. [ERL 79] E RLANDER S., N GUYEN S., S TEWART N., “On the calibration of the combined distribution-assignment model”, Transportation Research B: Methodologica, vol. 13, p. 259-267, 1979. [EVA 74] E VANS S.P., K IRBY H.R., “A three-dimensional Furness procedure for calibrating gravity models”, Transportation Research, vol. 8, p. 105–122, 1974. [FER 03] F ERNÁNDEZ J.E., DE C EA C H . J., S OTO O., A. “A multi-modal supply-demand equilibrium model for predicting intercity freight flows”, Transportation Research B: Methodological, vol. 37, p. 615–640, 2003. [FLO 95] F LORIAN M., H EARN D., “Network equilibrium models and algorithms”, BALL M., M AGNANTI T.L., M ONMA C.L., N EMHAUSER G.L., Eds., Network Routing, vol. 8 of Handbooks in Operations Research and Management Science, p. 485–550, North-Holland, Amsterdam, 1995. [FRI 83] F RIESZ T.L., T OBIN R.L., H ARKER P.T., “Predictive intercity freight network models”, Transportation Research A: Policy and Practice, vol. 17, p. 409–417, 1983. [FRI 85] F RIESZ T.L., H ARKER P.T., “Freight network equilibrium: a review of the state of the art”, A.F. DAUGHETY, Ed., Analytical Studies in Transport Economics, Chapter 7, Cambridge University Press, Cambridge, 1985. [FRI 86] F RIESZ T.L., G OTTFRIED J.A., M ORLOK E.K., “A sequential shipper-carrier network model for predicting freight flows”, Transportation Science, vol. 20, p. 80–91, 1986.

206

Combinatorial Optimization 3

[GUÉ 90] G UÉLAT J., F LORIAN M., C RAINIC T.G., “A multimode multiproduct network assignment model for strategic planning of freight flows”, Transportation Science, vol. 24, num. 1, p. 25–39, 1990. [HAR 86a] H ARKER P.T., F RIESZ T.L., “Prediction of intercity freight flows I: theory”, Transportation Research B: Methodological, vol. 20, num. 2, p. 139–153, 1986. [HAR 86b] H ARKER P.T., F RIESZ T.L., “Prediction of intercity freight flows II: mathematical formulations”, Transportation Research B: Methodological, vol. 20, num. 2, p. 155–174, 1986. [HAR 87] H ARKER P.T., Predicting Intercity Freight Flows, VNU Science Press, Utrech, 1987. [HAR 88] H ARKER P.T., “Issues and models for planning and regulating freight transportation systems”, B IANCO L., B ELLA A. L., Eds., Freight Transport Planning and Logistics, Springer-Verlag, Berlin, p. 374–408, 1988. [HUR 94] H URLEY W.J., P ETERSEN E.R., “Nonlinear tariffs and freight network equilibrium”, Transportation Science, vol. 28, num. 3, p. 236–245, 1994. [ISA 51] I SARD W., “Interregional and regional input-output analysis: a model of a spaceeconomy”, The Review of Economics and Statistics, vol. 33, p. 318–328, 1951. [JAY 57a] JAYNES E., “Information theory and statistical mechanics”, vol. 106, p. 171–190, 1957.

Physical Review,

[JAY 57b] JAYNES E., “Information theory and statistical mechanics”, vol. 106, p. 620–630, 1957.

Physical Review,

[JEF 79] J EFFERSON T.R., S COTT C.H., “The analysis of entropy models with equality and inequality constraints”, Transportation Research, vol. 13B, p. 123–132, 1979. [JON 77] J ONES P.S., S HARP G.P., “Multi-mode intercity freight transportation planning for underdeveloped regions”, Proceedings of the Meeting of the Transportation Research Forum, p. 523–531, 1977. [JOU 96] J OURQUIN B., B EUTHE M., “Transportation policy analysis with a geographic information system: the virtual network of freight transportation in Europe”, Transportation Research C: Emerging Technologies, vol. 4, num. 6, p. 359–371, 1996. [KRU 37] K RUITHOF J., “Calculation of telephone traffic”, De Ingenier, vol. 52, p. E15–E25, 1937 (in Flemish). [KUL 59] K ULLBACK S., Information Theory and Statistics, Wiley, New York, 1959. [LAM 81] L AMOND B., S TEWART N.F., “Bregman’s balancing method”, Transportation Research, vol. 15B, p. 239–248, 1981. [NAG 99] NAGURNEY A., Network Economics: A Variational Inequality Approach, Kluwer Academic Publishers, Boston, 2nd ed., 1999. [PAT 93] PATRICKSSON P., The Traffic Assignment Problem: Models and Methods, VNU Science Press, Utrecht, 1993. [ROB 74] ROBILLARD P,, S TEWART N.F., “Iterative numerical methods for trip distribution problems”, Transportation Research, vol. 8, p. 575–582, 1974.

Transportation Planning Optimization

207

[SHA 79] S HARP G.P., “A multi-commodity, intermodal transportation model”, Proceedings of the Meeting of the Transportation Research Forum, p. 399–407, 1979. [SHE 85] S HEFFI Y., Urban Transportatin Networks. Equilibrium Analysis with Mathematical Programming, Prentice-Hall, Englewood Cliffs, 1985. [SNI 90] S NICKARS F., W EIBULL J.W., “A minimum information principle, theory and practice”, Regional Science and Urban Economics, vol. 7, p. 137–168, 1990. [SPI 81] S PIESS H., F LORIAN M., “Optimal strategies: a new assignment model for transit networks”, Transportation Research B: Methodologica, vol. 23, p. 83–102, 1981. [SPI 84] S PIESS H., Contributions à la théorie et aux outils de planification des réseaux de transports urbains, PhD thesis, University of Montreal, Canada, 1984. [WAR 52] WARDROP J.G., “Some theoretical aspects of road traffic research”, Proceedings Institution of Civil Engineers, Part II, p. 325–378, 1952. [WIL 67] W ILSON A.G., “A statistical theory of spatial distribution models”, Transportation Research, vol. 1, p. 253–269, 1967. [WIL 70] W ILSON A.G., Entropy in Urban and Regional Modelling, Pion, London, 1970. [WIN 83] W INSTON C., “The demand for freight transportation: models and applications”, Transportation Research A: Policy and Practice, vol. 17, p. 419–427, 1983.

Chapter 7

A Model for the Design of a Minimum-cost Telecommunications Network

7.1. Introduction This chapter is the fruit of a collaboration between the LAMSADE laboratory and Bouygues Télécom with the goal of solving problems linked to interconnecting their mobile telephone network and the France Télécom network. The project was initiated by Bouygues Télécom’s Research and Development department to meet the specific needs identified by its operations entities. Two problems arise in the design of telecommunications networks: firstly, what network should be constructed to satisfy a given traffic demand (least-cost feasible network design problem); then, how should the various traffics be routed in the existing network (routing or minimum cost multiflow problem). These two questions, independent of course, correspond to two types of financial concerns: the costs of constructing the lines on the one hand, whose form we cannot predict, and the costs of traffic flow over a line on the other hand, generally considered as (possibly piecewise) linear functions of the traffic. These two problems are known for their resolution difficulty: in their general formulation, they have been shown to be NP-hard. The complexity of these two subproblems and their place at the heart of the global problem leads us to imagine the difficulty of the latter. Note that, furthermore, constructing networks lays down requirements in terms of robustness and security, aspects that are not taken into consideration in the scope of this work. The only criterion considered

Chapter written by Marc D EMANGE , Cécile M URAT , Vangelis Th. PASCHOS and Sophie T OULOUSE .

210

Combinatorial Optimization 3

in this study for optimizing the network to be constructed will therefore be the cost, or rather a sum of costs of totally different kinds. Thus the only type of constraints that we will have will be that of coherence between capacities, traffic and demand. To our knowledge no algorithm exists that simultaneously decides the capacities and the routes on the type of network that we are going to consider. We find, under other hypotheses, a few similar works, for example Dahl and Stoer [DAH 98], but most of the studies proposed in this domain only deal with one problem at a time. For a state of the art overview, refer to Kennington [KEN 78], Minoux [MIN 89] or Ahuja et al. [AHU 93]. 7.2. Minimum cost network construction In this section, we will try to throw some light on the following three points: first of all the nature of the difficulty of a global solution, then the legitimacy of such a solution despite these difficulties, and lastly the way in which we propose to circumvent (at least partially) these difficulties. 7.2.1. The difficulties of solving jointly or globally 7.2.1.1. Preliminaries: a few telecommunications fundamentals A telecommunications network is constituted of nodes and links between these nodes. It can be naturally represented by a graph whose vertices are its nodes and whose edges are its links. Links and nodes allow traffic demand to be routed, which is expressed between two nodes. The stated problem therefore comes down to deciding what capacities to install on which links, and which paths to use for distributing the traffic. Since different technologies can be considered jointly, we will really be working on a multigraph, even although, for simplicity, we will talk about a graph. There is not only, therefore, one edge between two vertices, but as many as there are technologies considered for linking these two vertices. The plurality of the types of equipment considered is thus a part of the complexity in size of the problem by multiplying the number of edges of the graph by as many as there are technologies. Not all the nodes of a network carry out the same function: some, the switches, allow traffic to be routed, while others, called transmission points, simply let traffic pass. Traffic demand always takes place from one switch to another. The links are considered between nodes of every type and of every possible technology. Traffic consists of calls which flow over the links. Traffic is sent out by one switch and received by another. We can see the telecommunications network as a set of channels between switches: traffic sent on one channel cannot be rerouted, whatever

Design of a Telecommunications Network

211

transmission points it encounters on its path. We call these channels beams and define them as being a directed transmission capacity that links two switches and that traverses possible transmission points on its path. In this way, a beam allows traffic to be transported from its initial switch to its terminal switch by a specific path. For example, between two switches A and B, among others, we can have one beam for traffic from A towards B called outgoing traffic, and one beam for traffic from B towards A called incoming traffic. A beam that supports both traffic directions simultaneously (incoming and outgoing) is called mixed. To go from one point to another, traffic must follow a series of beams: this is what we call a path. The same traffic demand can thus be sent on different paths. We will see later that introducing the notion of beams is made necessary by the presence of transmission points and, to a lesser degree, the hypothesis of segregation of the components of the links (which induces the separation of outgoing and incoming traffic). 7.2.1.2. Difficulties: integrity and strong non-linearity 7.2.1.2.1. Objective function part The costs of telecommunications equipment show two major disadvantages: their irregularity (in the sense that they do not show any one particular good property) and their diversity (due to the coexistence of various technologies). Mathematical expressions of these costs are therefore not only often unattractive (concave, piecewise affine, dependent on a set of links), but are also strongly heterogenous, notably with regard to variation scales. We do not formulate any hypotheses on the form of equipment costs for two reasons: firstly, the lack of uniformity of these costs, due to the joint use of several technologies, must be taken into account; secondly, as we explain below, these costs, despite their irregularity, do not constitute the greatest difficulty in a global solution. 7.2.1.2.2. Decision variables part We call the function which allows us to determine the capacity of a beam from the quantities of traffic that cross it the dimensioning law. In the stated problem, we must decide on link capacities and quantities of traffic over paths: these are our decision variables. Traffic is expressed in erlang (number of seconds of traffic per second), capacity in MIC. A MIC is a set of 32 circuits of which two are reserved for sending certain signals: 30 circuits therefore remain which are intended for routing traffic. Erlang’s law expresses the fact that we cannot successfully route 30 calls on a MIC because of a certain failure rate (rejected calls). We suppose that a MIC allows the simultaneous routing of a constant number of calls (when in reality this depends on the total capacity of the beam, since Erlang’s law is

212

Combinatorial Optimization 3

not linear). In fact, the number of MICs required for the flow of traffic over a beam will be an integer part of this traffic (exactly the upper integer part of a linear function of the traffic). Since one link can be used by different beams, its capacity is shared in the capacities of the beams that cross it. The capacity of a link will therefore be a sum of the integer parts of a linear function of the traffic: the relation between our two types of decision variables singularly lacks linearity. 7.2.1.2.3. Restrictions Note that two simplifying hypotheses have been formulated: the traffic variables belong to R, and the rate of the dimensioning law is constant. This second hypothesis, much more than the first one, is both necessary for expressing a reasonable model and, unfortunately, prejudicial to the validity of the results. 7.2.2. Why tackle the global problem? Very simply because this is the problem that was given to us, and this because of the very special context in which our intervention is located: interconnection. This actually did not concern the construction of an entire network, but rather connecting that of Bouygues Télécom with that of France Télécom. The connections offered by the latter operator made trade-offs between the costs of traffic flow and the equipment costs crucial: from this point, we cannot tackle routing and link construction separately. 7.2.3. How to circumvent these difficulties 7.2.3.1. Separating the problems We have seen previously how the non-linear dependence of its decision variables made solving the global problem difficult. Now, multiflow problems have been widely studied, and, although they remain hard to tackle in their general formulation, certain families of multiflows can now be solved effectively; this is notably true in the case of linear constraints and costs [FRA 73]. So, we propose extracting a routing problem from the global problem and working on a network with fixed capacities. The strategy that we propose therefore consists, starting from a feasible network (heuristic construction specific to the problem), of alternately minimizing both types of cost by determining an optimum routing on a given network, then by changing capacities locally after studying sensitivity on this routing. 7.2.3.2. From transmission to switching To extract an easily solvable multiflow problem, we require a linear expression of the capacity constraints for traffic: this can only be done by considering the capacities of the beams rather than those of the links. Thus we will no longer work on a network

Design of a Telecommunications Network

213

of links, but rather on a set of beams, changing the set of decision variables for the choice of the capacities. In this way we end up with a multigraph whose vertices are only switches and whose edges are the beams: the transmission points no longer appear. This transformation has a cost: that of the increase in size of the problem from the multiplication of the number of its decision variables. 7.2.3.3. Size of the multiflow problem relative to beams Having n vertices, of which nc are switches and nt are transmission points, and one single type of technology for creating the lines, we assume that all the links, beams and paths that can be generated from these vertices can be considered. Let k be the maximum number of intermediate vertices allowed on a path; if m, p and q refer to the numbers of links, beams and paths then for nc and nt , such that min{nt , n − 2} k, we obtain: n m = ≈ n2 2 p

=

nc (nc − 1)

q

= nc (nc − 1)

k

Ani t

≈ n3+k

An−2 i

≈ n5+k

i=0 k

i=0

where A refers to the number of arrangements. The size of the problem is therefore increased by a polynomial factor nk+1 . If the length of the paths is not limited, the number of capacity variables on the beams graph becomes an exponential order in O(nn+3 ): nt

p = nc (nc − 1) i=0

Ani t ≈ n2 × n × nn = nn+3 .

7.3. Mathematical model, general context 7.3.1. Hypotheses 7.3.1.1. The costs The costs of the various types of equipment are assumed to be increasing functions of the capacities and the routing costs are assumed to be linear functions of the traffic over the paths. 7.3.1.2. Dimensioning The dimensioning law of a beam of capacity c expressed in MIC according to a traffic tr expressed in erlang is presumed to be of the form c = τ ∗ tr with

214

Combinatorial Optimization 3

constant τ 1. This artificial hypothesis will allow us to express a linear multiflows problem. 7.3.1.3. Constraints We do not give any requirement other than that of sufficient capacity for routing demands. 7.3.1.4. Distribution of traffic Initially, no restriction is made concerning the number of paths to use for passing traffic demands through: one single traffic demand can be divided up over as many paths as we want. Here again the hypothesis is artificial, but the linear interpretation of the effective limitation of the number of paths would involve introducing bivalent variables and many constraints. This is, however, an operational requirement to be taken into account, a posteriori if we have not been able to do this a priori. 7.3.2. The original problem The notations introduced in section 7.2.3.3 will be used throughout this section. As input we have r demands to route, represented by the vector d. Let us denote by α and γ the links equipment cost function and the routing on the paths costs vector, respectively; let us refer by c and y to the capacity vectors of the links and traffic over the paths; lastly, let us represent by C the demand/paths incidence matrix, and by β the links/paths incidence function. The mathematical network design problem (P) is then expressed in the form: ⎧ min ZP = α(c) + γ · y ⎪ ⎪ ⎪ y,c ⎧ ⎪ ⎪ ⎪ ⎪ C.y d (1) ⎪ ⎪ ⎪ ⎨ ⎪ ⎨ c (2) β(y) s.t. (P) ⎪ c ∈ Nm (i) ⎪ ⎪ ⎩ ⎪ ⎪ y ∈ Rq (ii) ⎪ ⎪ ⎪ ⎪ (1) : traffic routing constraints ⎪ ⎪ ⎩ (2) : (non-linear) traffic/links capacity constraints 7.3.3. Solution principle The solution that we propose is based on the beams network: the original problem must therefore first be expressed as a function of the capacity variables over the beams.

1.

: x → x refers to the upper integer part.

Design of a Telecommunications Network

215

This step must allow a linear multiflow problem to emerge, which we then isolate. Since our solution consists of linking the routing and capacity choices by a sensitivity analysis, we lastly express, at the center of one single objective, the equipment and routing costs as a function only of the capacity variables over the beams. 7.3.3.1. The beams network Working on the beams network and not the links one, we must rewrite the previous problem by expressing the constraints linked to the traffic relative to the beams. Let x be the beams capacity vector and let A and B be the links/beams and beams/paths incidence matrices, respectively; the following problem (Q) is equivalent to problem (P):

(Q)

⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

min

ZQ = α(c) + γ · y ⎧ ⎪ d (1) ⎪ C.y ⎪ ⎪ B.y x (2.1) ⎪ ⎪ ⎨ A.x c (2.2) s.t. m ⎪ c ∈ N (i) ⎪ ⎪ p ⎪ ⎪ x ∈ N (iii) ⎪ ⎩ y ∈ Rq (ii) (2.1) : traffic/beams capacity constraints (2.2) : beams/links capacity constraints y,x,c

7.3.3.2. Reduction of the problem Let us now reduce the expression of problem (Q) by removing the links capacity variables: for every optimal solution (y ∗ , x∗ , c∗ ) of (Q), the solution (y ∗ , x∗ , A.x∗ ) is not only feasible but also optimal due to the increase in α. In this way, the following problem (R) is equivalent to (Q) from the optimality point of view:

(R)

⎧ min ⎪ ⎪ y,x ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

s.t.

ZR = α (A.x) + γ · y ⎧ ⎪ C.y d (1) ⎪ ⎨ B.y x (2.1) p ⎪ x ∈ N (iii) ⎪ ⎩ y ∈ Rq (ii)

Observe that the equivalence of problems (Q) and (R) remains valid in the presence of upper capacity constraints on the links of the type c c¯: (y, x, c) feasible =⇒ (A.x

c and c

c¯) =⇒ A.x

c¯.

A similar rationale further allows us to establish the equivalence of the two problems for the case of upper capacity constraints on the vertices.

216

Combinatorial Optimization 3

7.3.3.3. The multiflow problem From the global problem (R) we extract the following multiflow or routing problem M(x) associated with a vector x of capacities on the beams: ⎧ min ZM(x) = γ · y ⎪ ⎪ ⎪ ⎧ ⎨ y ⎨ C.y d ⎪ s.t. B.y x ⎪ ⎪ ⎩ ⎩ y ∈ Rq

(M(x))

(1) (2.1) (ii)

M(x) is, for every vector x, a linear program in real variables. 7.3.3.4. Global solution Let y ∗ be the function which associates with a given distribution x of the capacities over the beams an optimal routing y ∗ (x) of M(x); our approach to solving (R) leads to solving the problem: (Π)

min x

s.t.

ZΠ = γ · y ∗ (x) + α (A.x) x ∈ Np

(iii)

(Π) is a minimization problem in integer variables with an objective function that a priori does not have any good properties. It is actually this problem (Π) that we will seek to solve.

7.4. Proposed algorithm The modeling that led us to the program (Π) is only one step of the solution: we have only separated from (P) its known, easy aspects, and linked the decision variables linearly. The general algorithm that we propose here is no more than a direct implementation of this modeling. Note nevertheless that solving problem (Π) in turn deserves to be the subject of an in-depth study, depending on the possible properties of the case being dealt with. Coming back to the general case, we are on the beams network: a solution S of the global problem is then a couple (x, y), where x refers to a solution in capacities (the network) and y to a feasible routing on this network. The cost Z(S) of a solution S will therefore be the sum of the construction costs of the network and the cost of a routing on this network, that is Z(S) = α(A.x) + γ · y. Solving the global problem by solving (Π) consists of establishing the best distribution of the capacities over the beams x in such a way as to minimize the objective ZΠ (x) = α(A.x) + γ · y ∗ (x): we now work only with solutions S of the type (x, y ∗ (x)).

Design of a Telecommunications Network

217

7.4.1. A bit of sensitivity in an NP-hard world The choice for solving problem (Π) comes down to jointly considering the capacity and traffic variables using a sensitivity study, more exactly of the dual costs of an optimum routing on a fixed capacity network. Starting from an initial network x0 , the algorithm establishes an optimal routing y ∗ (x0 ); it then checks for which beams it would be advantageous to increase the capacity, and to what degree, according to the equipment costs incurred and the possible gain generated in terms of routing costs (dual cost associated with the capacity constraint of the beam). If such a beam appears, the change in capacity is made, leading to a new network x1 on which an optimal routing y ∗ (x1 ) is established, and so on. 7.4.2. The initial solution Our solution method causes the solution to evolve in small successive steps, thus with a good chance of leading us to a local optimum neighboring the initial solution: the final solution proposed by the algorithm appears to be strongly dependent on the latter. Whatever the problem, its modeling, the solution considered in the integer number optimization domain, it is always very important to start from a good solution, since this influences the part of the set of possibilities which will be explored. Now, one positive aspect of our problem is that it is fairly easy to construct a feasible network: it is therefore worth spending a little time on it. We will not expand on this construction because it does not constitute the topic of this chapter; we will simply mention two points. The first one reflects a desire for fairness when taking the different types of costs into consideration: our strategy consists of constructing a physical path demand by demand, minimizing equipment costs as a priority. The second one reflects a desire for diversification: we proposed various options to direct the construction of this initial solution towards typical network features. 7.4.3. Step-by-step exploration 7.4.3.1. The idea Once the initial network has been constructed, the solution consists of carrying out local improvements by modifying only a few MICs on a few links in light of the dual costs given by optimally solving the multiflow. Two local modification strategies are used: one consists of adding a small amount of capacity on a beam (this allows us to distance ourselves a bit from the current solution), while the other one simultaneously adds and removes a few MICs over a couple of beams (this is where the improvements are expected). Each of these two strategies is applied in series, with the first one serving to prepare favorable ground for the second (due notably to step-by-step costs). In this way, our method alternates series of additions and series of exchanges, which we will call a cycle.

218

Combinatorial Optimization 3

7.4.3.2. Details of a cycle The addition of MICs is not intended to improve the solution directly but rather to increase the evolution possibilities of the network. So, inside each cycle we will limit the application of this strategy to a maximum number P 1 of iterations before proceeding to the exchange phase. Furthermore, each addition will put the same fixed number M 1 of MICs on a beam. A beam on which one addition has been made in the course of a cycle which did not generate an improvement is definitively forbidden for adding capacity. It is during the exchange phase that the layout of the network will really be able to evolve. This is why the second strategy is applied for as long as possible. Each exchange will put on one beam and withdraw from another the same fixed number M 2 of MICs. A couple of beams which, after exchange, would result in a non-feasible network would be forbidden any exchanges for the duration of the cycle. One cycle consists therefore of adding P 1 times then exchanging for as long as possible, with an algorithm to repeat this cycle for as long as modification permissions allow it, or until a stopping parameter is saturated (maximum number of iterations, minimum rate of improvement, allotted execution time, etc.). The sequence of these cycles, detailed below, is illustrated in Figure 7.1. 7.4.3.2.1. First strategy While P 1 has not been attained, and allowed beams remain for adding capacity, we grant M 1 additional MICs to a beam. The chosen beam is the one which minimizes Cmi + M 1 ∗ λi , where Cmi represents the equipment cost associated with adding M 1 MICs on the beam of index i, and λi the dual cost associated with the constraint relative to this beam, that is the marginal gain in terms of routing cost generated by the addition of one MIC on the beam of index i. 7.4.3.2.2. Second strategy As long as couples of beams are allowed, we exchange M 2 MICs between two beams. The couple of beams chosen is the one that minimizes Cm(i,j) , where Cm(i,j) represents the equipment cost associated with the joint addition of M 2 MICs on the beam of index i and removal of M 2 MICs on the beam of index j operations. If the solution obtained by this exchange is not feasible (for traffic demands), the MIC exchange on the chosen couple will be forbidden throughout the cycle. 7.4.3.2.3. Evaluation At the end of the increase/exchange cycle, the solution is evaluated to compare it with the last best solution retained. To do this we must make the capacity minimal, while removing all MICs not used by the current optimal routing before comparing the cost of the solution obtained in this way with that of the last best solution retained: the

Design of a Telecommunications Network

Figure 7.1. Step-by-step exploration: detail of one iteration

219

220

Combinatorial Optimization 3

new current solution will be the solution of least cost. If the cycle has not generated any improvement, adding capacity on the beams whose capacity had been increased in the first step is then definitively forbidden. 7.4.3.3. Global management of the exploration The local evolution cycle is repeated for as long as possible, or, more exactly, while an improvement can be considered, which seems difficult to assess a priori. The local evolution parameters M 1 and M 2 are fixed but we could consider a grading of the amplitude of the modifications made on the network by progressively reducing them (large changes at the start of the exploration may be preferable with regard to being able to improve on a good initial situation). It is nonetheless awkward to propose a good quality strategy here because the behavior of such a type of algorithm is strongly dependent on the technical characteristics of the stated problem.

7.5. Critical points In this section we discuss both the operational difficulties encountered (how to go further in what we have already done) and natural deficiencies (which we have not been able to solve).

7.5.1. Parametric difficulties The right parameters to get out of the local physical optimum, i.e. from a distribution of the locally good beams capacities, while remaining reasonable with regards to the exploration, are very hard to adjust. Questions notably arise as to the nature of the modifications (additions, removals, exchanges), the cost parameters to be taken into account (equipment and/or routing costs), or quantitative parameters (number of MICs per beam, number of beams, number of successive changes of the same type). An important difficulty arises from the coexistence of different technologies, which gives rise to a large heterogeneity in the costs (the differences in scales make the comparison of the costs between two types of equipment very awkward). Another, essential in the context of this solution, is that of the relative valuation of the equipment and routing costs. In view of all this, we must take the time to think algorithmically and, above all, experimentally.

Design of a Telecommunications Network

221

7.5.2. Realities not taken into account 7.5.2.1. Traffic dispersion We think in particular about the limitation of the number of paths by demand, which is a reality in telecommunications, but which our model does not integrate because of non-linearity. No problem of excess appears during the tests carried out in the context of our application, but nothing allows us to conclude a natural good performance of the routings: to dissuade ourselves from this it is sufficient to imagine a critical configuration where one demand remains to be routed that it would be possible to disperse, call by call, over various paths. 7.5.2.2. Distorted dimensioning Another strong reality is the non-linearity of the dimensioning law: if we assume the contrary, we distort the accuracy and, worse, the feasibility of the solutions obtained. As an illustration, let us consider 10 beams of 1 MIC and 1 beam of 10 MICs: with our hypothesis, the two solutions allow the routing of the same number 10 ∗ 1/τ of communications, but in reality, according to the Erlang law, the first configuration routes 200 calls (20 per MIC) as opposed to 270 (27 per MIC) for the second! Nevertheless, we allow ourselves to give this hypothesis, in the opinion that on the one hand it is economically advantageous to create large links in general, and in the knowledge, on the other hand, that the Erlang law (effective measure of traffic) tends to level out when the capacity increases. Despite everything, this is a problem to be taken into consideration, if only during creation (costs discrimination), when evaluating the solution. 7.5.3. Complexity in size of the problem The aim of this section is to show how great the complexity of the general case is through the presentation of a special favorable case. 7.5.3.1. When beams and edges coincide While the use of mixed beams that allow the joint routing of both directions of traffic is allowed, there is no longer any need to distinguish one beam for each direction of traffic (dimensioning is made on the sum of the incoming and outgoing traffic), which limits the increase in the size of the problem. Even further, if all the nodes are switches then links and beams can coincide. In this case, assuming that the routing costs can be expressed as a linear function of the traffic over the links (which is generally the case), the traffic over the links would replace the traffic over the paths as decision variables for routing demand. Let γ and y be the cost and traffic vectors, respectively, per link per demand, and C and B the demand/traffic and link/traffic

222

Combinatorial Optimization 3

incidence matrices; a new expression of the original problem (P ) could be: ⎧ ⎪ min ZP = α (c) + γ · y ⎪ ⎪ ⎪ y ,c ⎪ ⎧ ⎪ ⎨ C’.y d (1) ⎪ ⎪ ⎨ (P ) B’. y c (2) ⎪ ⎪ s.t. ⎪ m ⎪ ⎪ c ∈ N (i) ⎪ ⎪ ⎪ ⎩ ⎩ y ∈ Rq (ii) (P ) is an integer linear program of reasonable size: with the disappearance of the capacity variables on the beams and the expression of the traffic according to the links instead of the paths, the number of variables again becomes polynomial in the number of vertices. But we can still reduce the expression (P ). Let dim and DIM be the dimensioning functions defined as follows: dim :

R→N

DIM : R

m

→N

tr → τ ∗ tr m

y → c = DIM y

ci = dim

(P ) reduces to a classical flow problem (Π ): ⎧ ⎪ ZΠ = (α ◦ DIM ) y ⎪ ⎨ min y (Π ) C.y d (1) ⎪ ⎪ ⎩ s.t. y ∈ Rm (ii)

B .y

i

i = 1, ..., m

+γ ·y

The difficulty of solving (Π ) will essentially depend on the component α ◦ DIM of the cost function. Note, however, that even under these favorable auspices, this still involves problems that are very hard to solve. As an illustration let us cite the large subfamily of multiflow problems with stepwise cost functions (see [MIN 99] and [MIN 97]). 7.5.3.2. Size of the multiflow problem relative to the edges We still denote by n, nc , m and r the numbers of vertices, switches, links and demands, respectively. Let q be the number of variables of traffic on the edges, we have: r = nc × (nc − 1) ≈ n2 n m = ≈ n2 2 i.e. q

r ∗ m ≈ n4 (q = r ∗ m if each demand can cross each edge).

The number of variables for the multiflow problem expressed relative to the edges is therefore polynomial in O(n4 ).

Design of a Telecommunications Network

223

7.6. Conclusion Various questions are still open but what is needed, above all, are experiments. We cannot present any currently because of data confidentiality. Because of this, we would be interested in real pertinent datasets for our model. We think, however, that this work, despite the deficiencies and the lack of experiments, shows certain advantages, of which the essential one is to set a precedent in the subject: let us give it its value as an example. Our goal is above all that of presenting a framework for thought, rather than a solution, since solutions must very likely be strongly linked to the reality specific to the problem being tackled. Our pitfalls will at least have allowed us, at different levels of precision, to open paths for thought for meeting the current needs in telecommunications. The operational advantage of this work could be its generality, which provides it with great potential for being adapted: we must work quickly in a highly developing world; nothing is a given in telecommunications. The model itself offers a means of solution whatever the technologies (which implies the associated costs) used, and alternating the optimizations in terms of traffic and capacities allows a certain flexibility in the type of constraints to be considered. In conclusion, let us observe that separation of feasible network/routing is not just down to the researcher, but also to the operations people: switching and transmission are dealt with by separate entities in telecommunications companies. By proposing a global solution, we have therefore set up the first bridge between these two aspects of the same reality.

7.7. Bibliography [AHU 93] R.K. A HUJA , T. M AGNATI, and J. O RLIN. Network Flows: Theory, Algorithms and Application. Prentice Hall, 1993. [DAH 98] G. DAHL and M. S TOER. “A cutting plane algorithm for multicommodity survivable network design problems”. INFORMS Journal on Computing, 10(1), 1–11, 1998. [FRA 73] L. F RATTA , M. G ERLA and L. K LEINROCK. “The flow-deviation method: an approach to store-and-forward communication network design”. Network, 3, 97–133, 1973. [MIN 99] V. G ABREL , A. K NIPPEL and M. M INOUX. “Exact solution of multicommodity network optimization problems with general step cost functions”. Operations Research Letters, 15–23, 1999.

224

Combinatorial Optimization 3

[MIN 97] V. G ABREL and M. M INOUX. “Lp relaxations better than convexification for multicommodity network optimization problems with step increasing cost functions”. Acta Mathematica Vietnamica, 22(1), 123–145, 1997. [KEN 78] J.L. K ENNINGTON. “A survey of linear cost multicommodity network flows”. Operations Research, 26, 209–236, 1978. [MIN 89] M. M INOUX. “Network synthesis and optimum design network problems: Models, solution methods and applications”. Networks, 19, 313–360, 1989.

Chapter 8

Parallel Combinatorial Optimization

8.1. Impact of parallelism in combinatorial optimization The progress made in the parallelism domain (architectures, systems, languages, execution environments and algorithms) over the last decade has brought about real advances in combinatorial optimization at the start of the 21st century. The recent media “storm” following the solving of several hard instances of famous problems like the traveling salesman or quadratic assignment is proof of this.

Chapter written by Van-Dat C UNG, Bertrand L E C UN and Catherine ROUCAIROL .

226

Combinatorial Optimization 3

of about 100 machines. In 2000, the Anstreicher team of Brixius, Goux and Linderoth [ANS 02] solved for the first time the instance Nugent30 of the QAP on a platform of 2510 machines with an average of around 700 active machines. More recently, Ferris, Pataki and Schmieta in 2001 [FER 01] successfully took on Seymour’s problem on the same platform as Anstreicher et al. with a total of 883 machines. While the optimal solution of these problems was obtained for the first time thanks to parallelism, proving its direct interest here, it is not always the same with other applications. Honest analysis of the results shows that these performances are also due to some characteristics of the problems studied: the lower and upper bounds are well known and the divide-and-conquer type tree search is equivalent to a “brute force” type exploration. In section 8.3 we characterize the impact of parallelism in exact solution methods of the tree search type. The different parallelization strategies will be explained and we will show that surlinear and sublinear accelerations can be obtained for different applications that belong to the combinatorial optimization domain. We will present a library for assisting the development of branch-and-bound type applications, named BOB/BOB++, developed since 1994 by our OPALE team from the PRiSM at Versailles. Metaheuristics have proved their worth when the problem to be treated is too large or too difficult to think about an exact method. Since their high time consumption is directly linked to the quality of the solution found (a very good solution, for example close to the value of the optimal solution), metaheuristics are very often parallelized. We will extract the fundamental characteristics of the different parallelizations proposed in the literature and we will draw up a simple and practical classification based on the notion of walks or journeys in the solutions graph. We then show all the advantages that parallelization can bring, a better, but also more robust, solution in less time, and we illustrate this with a parallel scatter search for quadratic assignments. Lastly, in section 8.4, we will see how to best take advantage of the computational power offered by a grid-type platform (network of heterogenous machines that mixes workstations and parallel machines). 8.2. Parallel metaheuristics The great number of metaheuristics multiplied by their hybridization possibilities makes it an extremely prolific domain with an extensive literature. This is the reason why we first give, as other authors have done before us [CRA 98, CRA 02b, CRA 02a, PRE 99, VOS 93, VER 96], a classification of parallel metaheuristics to help researchers make good choices with regard to their parallelization and an illustrative example derived from an experiment carried out in the context of solving the

Parallel Combinatorial Optimization

227

quadratic assignment problem. For more details on parallel metaheuristics, refer to the article “Strategies for the parallel implementation of metaheuristics” written in the context of a CNRS-CNPq cooperation (Brazilian CNRS) and published in Annals of Operations Research at the start of 2002 [CUN 02], and to the chapter “Implémentations parallèles des métaheuristiques” from the book Résolution de Problème de RO par les Métaheuristiques [CUN 03]. The main aim of parallelizing a metaheuristic is to solve a large problem more quickly. But, in the context of metaheuristics, parallelism opens other equally interesting possibilities: – directly testing different values of the parameters at the same time, which enables us to obtain more robust algorithms; and – exploring the solution in parallel, and therefore more exhaustively, enabling us to obtain solutions that are, if not of better quality, then at least of “better proven” quality. Classical criteria such as acceleration (ratio of the time of the best sequential algorithm to the time of the parallel algorithm) or effectiveness (the acceleration on the number of processors used) are not well suited as performance measures in the metaheuristics domain. Explorations carried out sequentially and in parallel can indeed be different. Furthermore, solutions of different quality or even structure can be found. This is the reason why authors have proposed comparing the quality of solutions with fixed execution times, or comparing execution times with fixed solution quality. 8.2.1. Notion of walks The theorem of Verhoven and Aarts 1995 [VER 95] is instructive in this context. T HEOREM 8.1.– (Independent walks theory) If Qp (t) is the probability of not finding a solution that exceeds the optimum of in t units of time with p independent walks, and if: Q1 (t) = e−t/λ with λ ∈ R+ where Q1 is the complementary distribution function of a negative exponential distribution then: Qp (t) = Q1 (pt) In other words, the acceleration can be linear if the probability of finding a suboptimal solution in t units of time is in the form of Q1 (t). An extension of this theorem can be found in [CUN 02]. The term walk here refers to the passage from solution to solution of a metaheuristic and in this way characterizes its path in the solutions space. This space becomes a

228

Combinatorial Optimization 3

graph from the definition of the neighborhoods of each method: if x is a solution and y a solution that belongs to the neighborhood of x, (x, y) is an arc of this graph. Several researchers have studied the distribution of the probability of finding a suboptimal solution to find out to which problems this theorem could be applied in practice. This is apparently the case for the Tabu search in quadratic assignments [BAT 92, TAI 91], simulated annealing for the same problem [DOD 90], or the Steiner tree [OSB 91]. 8.2.2. Classification of parallel metaheuristics In the parallelization of metaheuristics, we mainly distinguish the parallelization of one single walk and that of multiple walks. We only consider generic parallelizations, more exactly those that do not depend on a specific application like that of evaluating a solution (see Figure 8.1). With a single walk, it is interesting to parallelize the management of the neighborhood in the case of a local search, or of the population in the case of an evolutionary method (that is a neighborhood model). If the same neighborhood is conserved (or the same population respectively) with regard to the sequential method, the aim of parallelization becomes the acceleration of the sequential walk using a quicker exploration of the neighborhood (or the population respectively). On the other hand, if a larger neighborhood (or a population respectively) or even several neighborhoods are used in parallel, the walk can become more efficient because it is better guided. Nevertheless, this is about exploiting a fine granularity parallelism (duration of the task before synchronization), which requires a lot of communications between the parallel tasks for their synchronization. It is therefore appropriate to choose only this type of parallelization in the following cases: – we have a material platform which allows rapid communications; – we have to deal with extremely complex neighborhoods or cost variation calculations. Note that for complex combinatorial optimization problems that have hard constraints, certain authors choose to decompose the problem in order to process parts of solutions in parallel. The complete solution is then recomposed at each step. We also class this type of parallelization in this single walk category. With multiple walks, it is appropriate to distinguish the case where walks are independent from the case where they are cooperative. It is this category that has seen the most implementations in the literature in the last decade. Independent walks are simple to implement; they have good potential accelerations, are robust if different parameters are used, and do not generate any redundant

Parallel Combinatorial Optimization

229

Figure 8.1. The different types of parallelizations

work if the solutions space is partitioned. On the other hand, this parallelization is certainly “slightly simplistic” inasmuch as it is reproducible with a sequential algorithm of the “multi-start” type (we restart the algorithm successively from different initial solutions). No walk may benefit from the experience of the others. Nevertheless, this type of parallelization can serve as a basic example for comparison with the other types.

Cooperative walks are harder to implement following the definition of data that are exchangeable between the walks, but they are potentially much more interesting in terms of “convergence speed” (number of iterations to obtain a good solution) and in terms of solutions quality. The data exchanged can be, for example: – the values of the parameters for robustness; – the value of the solutions to induce possible (local) diversifications for walks that are situated in mediocre regions of the solutions space (no solution that gives good values to the optimization criterion); – the structure of the good solutions to intensify the search around these solutions; – the frequencies of the (long-term memory) movements and/or the Tabu list that allows global diversifications if these data are shared.

This type of parallelization includes the island model of evolutionary algorithms where the evolution of a subpopulation is seen as a walk.

230

Combinatorial Optimization 3

The major difficulty for cooperative walks lies in the choice of the information to exchange, how it circulates, and the frequency of the exchanges. Answering all these questions comes down to defining a communication strategy. Although for a given machine and a given problem a given strategy seems to give good results, it will not necessarily be effective if we change machines or problems. All these parameters therefore make the implementation of parallel metaheuristics difficult. This is why, with regard to exact methods, programming environments have been and are still being developed, which, for an implementation of problem solving, allow the easy changing of types of parallelization.

8.2.3. An illustrative example: scatter search for the quadratic assignment or QAP After the famous traveling salesman problem [REI ] (TSP), the quadratic assignment problem [BUR 91] (QAP) is without doubt the second flagship test problem in the combinatorial optimization domain if we judge by the very large number of publications and the two challenges organized by the Discrete Mathematics and Theoretical Computer Science research center (DIMACS) in 1994 [PAR 94] and by IEEE in 1997 [CUN 97b]. Introduced for the first time by Koopmans and Beckmann in 1957 [KOO 57] as an economics problem, the problem consists of locating n facilities on n sites in such a way as to minimize the transport costs of goods between the facilities (Figure 8.2).

Figure 8.2. Assigning n facilities to n sites

Parallel Combinatorial Optimization

231

These authors formulated the problem as follows: n

n

n

n

min

n

n

fik djl xij xkl + i=1 j=1 k=1 l=1

cij xij

[8.1]

i=1 j=1

n

s.c.

xij = 1, ∀j ∈ {1, .., n} (one facility per site)

[8.2]

xij = 1, ∀i ∈ {1, .., n} (one site per utility)

[8.3]

i=1 n j=1

∀i, j ∈ {1, .., n}, xij ∈ {0, 1},

[8.4]

where fik expresses the total cost of the goods flows to be transferred between the facilities i and k for one unit of distance traveled, djl is the distance between the sites j and l, and cij is the fixed construction cost of the facility i on the site j. The size of the solutions space is n! for an instance of n facilities and n sites. As well as having an −approximate solution, this problem has been shown to be NP-complete [SAH 76]. Beyond the typical, even “academic”, aspect of this problem, it has an applied aspect: locating hospital services, locating integrated circuits in VLSI design, locating flight instruments in airplane cockpits, designing ergonomic keyboards to minimize finger movements, etc., and this list is far from being exhaustive [BUR 91]. Very many heuristics have been tested on this problem (simulated annealing, Tabu, genetic algorithms, ant systems, GRASP1, etc.) and the best known results have been classified (see QAPLIB [BUR 91]). Nevertheless, for several instances of large size, optimal solutions have not yet been found. A difference remains between the lower and upper bounds of the optimal value solution for these instances. It was therefore necessary to propose something innovative, and certainly more sophisticated than existing algorithms to be able to hope to equal results from then. We therefore proposed a method introduced by Glover in 1977 [GLO 77], scatter search (IEEE International Conference on Evolutionary Computation 1997 [CUN 97b], MIC 1997 [CUN 97a], EURO XVI in 1998 [CUN 98], ROADEF early 1999 [CUN 99a]). “Scatter search” assimilates the notion of solution of a combinatorial optimization problem with that of points in space. It is therefore based on the constitution of a

1. Greedy randomized search procedure.

232

Combinatorial Optimization 3

set of reference points, if possible the most scattered possible in the points space, but nevertheless sufficiently representative of this space. Then, from an elite subset of points, a new point is constructed by calculating in general a convex combination of these points. Note that Glover also proposed the path relinking technique as a possible construction of the new point. An operator is then applied to this new point to improve it. The point obtained then replaces the worst of the points in the reference set. The points used for the convex combination are then put offside for a certain period. This process is iterated until a certain number of iterations has been reached or all the points have become identical. Figure 8.3 schematizes the behavior of this method in the solutions space.

(a)

|RS| NN

IRef

NI ND

I TS1

NN

NI ND

I TS1

IScS NN

I TS1

NI ND

I TS1

I TS2 I TS2

I TS2 I TS2

I TS2 I TS2

(b)

Figure 8.3. Scatter search: (a) the solutions space; and (b) and execution phases

In the context of the QAP, we construct a reference set by applying a circular permutation on a simple initial solution of QAP (assignment identity {1, 2, .., n}) in order to obtain a set of size 2n. Nevertheless, we make sure that this permutation did not construct symmetric solutions. Proceeding in this way, all the possible assignments are found for the solutions in the reference set. Since the circular permutation ensures

Parallel Combinatorial Optimization

that solutions are at a Euclidean distance of is well covered thanks to this scattering.

233

√ 2n from each other, the solutions space

For the convex combination operator, a subset E of 2 to 5 elite solutions Xi (the best in terms of quality) is used to construct a new solution X. If X is not feasible, a heuristics in O(n2 ) is applied in order to find a solution X close to X, even if it is possible to find the solution “the” closest to X by solving a linear assignment in O(n3 ). We set up an adaptive memory mechanism in this operator for the diversification which is made: 1) by giving Tabu status to the elite solutions; and 2) by introducing a small percentage of assignments that are little used in the solutions found up to then. The improving operator is a Tabu search of which one movement consists of exchanging two facilities i1 and i2 assigned to two sites k1 and k2 , respectively. The inverse movement that assigns i2 on k2 and i1 on k1 is considered as Tabu. Figure 8.3b summarizes the different execution phases of this algorithm: – |RS| is the size and the number of iterations to generate the reference set; – IScS is the number of global iterations of the scatter search divided into a succession of normal phases NN , of intensification NI and diversification ND ; – IT S1 is the number of iterations of the Tabu search, and IT S2 is the number of iterations of the Tabu search during the intensification and diversification phases. For parallelization, two types have been studied: one with independent walks (H1) and the other with cooperative walks with two communication strategies. These choices were guided by the use of a network of PC type workstations interconnected by an Ethernet 10 Mbits PVM network as the software execution platform. The communication costs are too high to choose a fine grain parallelization. One of the two communication strategies elaborated consists, for the walk which finds a good local solution, of broadcasting it to all the other walks (H2) one-to-all. These insert it into their reference set if the solution received is better than the worst solution of the local reference set, otherwise they reject it. The second strategy only broadcasts its best local solution to another randomly chosen walk (H3). Tables 8.1 , 8.2 and 8.3 present experimental results for three problems from the QAPLIB (sko56, tail00a and tho150). We used the following parameters for the parallelizations:

– three processors, one per walk, because above this analyzing results would become difficult; – a reference set of size 2n, whatever the number of processors used; – the number of iterations of the local search is less in parallel (generally half as many as sequentially);

234

Combinatorial Optimization 3

Best of QAPLIB Sequential (30 exec.) nb. of best/30 34458 34458 10 (33.33%) Best of H1 (10 exec.) nb. of best/10 34458 07 (70%) it.avg. 218 it.min. 40 it.max. 1140 Best of H3 (10 exec.) nb. of best/10 34458 10 (100%) it.avg. 230 it.min. 30 it.max. 710 Table 8.1. Over ten parallel executions of

Best of QAPLIB 21125314

Solutions H3 (Diff., it., rank/sequential) 21152616 (0.129%, 170, 3) 21154734 (0.139%, 470, 3) 21182786 (0.272%, 430, 12) 21184682 (0.281%, 810, 12) 21191716 (0.314%, 190, 12)

5 best in seq. (Diff., it.) 21133392 (0.038%, 1960) 21146176 (0.099%, 2100) 21160418 (0.166%, 1650) 21162658 (0.177%, 1710) 21163412 (0.180%, 690)

Table 8.2. Over five parallel executions of

Best of QAPLIB

Solutions H3 (Diff., it., rank/sequential) 8133484 (2000) 8134912 (0.018%, 180, 3) 8135230 (0.022%, 320, 3) 8135524 (0.025%, 830, 3) 8136730 (0.040%, 640, 4) 8136854 (0.041%, 900, 4)

5 best in seq. (Diff., it.) 8133864 (0.005%, >=1000) 8134406 (0.011%, >=1000) 8136378 (0.036%, >=1000) 8138156 (0.057%, >=1000) 8138160 (0.058%, >=1000)

Table 8.3. Over five parallel executions of

– different parameters for each walk: at least one for intensification, one for diversification, and another “in the middle” of the other two. These parameters have been established by executions made sequentially.

For tail00a and tho150, due to the fairly long execution times, we have only done five executions for each of the two instances.

Parallel Combinatorial Optimization

235

We can draw the following observations from this: – Although the best solutions sequentially were not systematically attained, the quality of the solutions found is very close to that of the solutions found sequentially. – The number of iterations of the scatter search used is less. – The number of iterations for the local search is also less, at most 500 iterations against 600–2000 iterations sequentially. We have not presented the results of the H1 and H2 parallelizations because they are clearly not as good as H3. For H1, this result is relatively expected, since this concerns sequential executions with fewer iterations than in parallel. While for H2, convergence is too quick due to the one-to-all broadcast strategy. Unfortunately, this convergence is made to the detriment of the quality of the solutions because the diversity of the reference sets of the different walks decreases very quickly. This study shows that parallel metaheuristics can indeed have good convergence and robustness properties, as long as care is taken to keep a good diversification in the search. It is also a little disappointing to have to deploy so many parameters (about 15 per walk) and so much sophistication – a metaheuristic is in itself complex to implement – to achieve solutions of equivalent quality, albeit in less time. Nevertheless, with regard to the QAP, althoug parallelism has not allowed us to achieve better solutions, as we hoped initially, this “failure” must be nuanced in the sense that the QAPLIB results are the best obtained in a decade and that, in some ways, these results have been obtained with “several independent walks” by several research teams throughout the world, and with a clearly larger number of iterations than those that we have used! 8.3. Parallelizing tree exploration in exact methods 8.3.1. Return to two success stories The size of (NP-complete) combinatorial optimization problems that can be solved exactly has greatly progressed in these recent years. Recent solvings of a quadratic assignment problem (QAP, Nugent 30, Anstreicher et al. [ANS 01a, ANS 02]) with 900 variables or of an instance of the traveling salesman problem (usa13509 and d15112, Applegate et al. [APP 98]) with 13,509 American towns and with 15,112 German towns, respectively, are the best illustrations of this. Of course, the increase in computational power of the processors plays a large part in this. However, it is also in great part thanks to the use of parallelization that these

236

Combinatorial Optimization 3

results have been obtained. In the case of the TSP, a network of workstations and mainly systems tools (POSIX threads and sockets) has been used; it was by using a grid on a network of more than a thousand machines (that mix clusters of stations and supercomputers) using tools such as MW (Master-Worker) from Argonne National Laboratory (ANL) that includes Condor from the University of Wisconsin and PVM (Parallel Virtual Machine) from Oak Ridge National Laboratory that the results were attained in the case of the QAP. Although the instance usa13509 of the TSP required, for its exact solution, only a tree exploration of 9539 vertices on a network of 48 stations (DEC Alpha, Pentium II, Pentium Pro, UltraSparc) with an equivalent sequential time of one DEC AlphaServer 4100-400 Mhz estimated at around 10 years, solution of the instance Nugent 30 of the QAP is itself much more spectacular from the point of view of parallelism, and has been much more widely reported in the media. It undeniably constituted the success story of summer 2000! This solution required a tree exploration of 11,892,208,412 vertices on a network of 2510 machines composed of PCs, Suns and SGI Origine2000s divided between two national laboratories (Argonne, NCSA) and five American universities (Wisconsin, Georgia Tech, New Mexico, Colombia, North Western), and the Italian highperformance computation network INFN. The calculation time was 597,872 seconds, or about 7 days. Reduced to the equivalent sequential time of one HP-C3000, this time is 218,823,577 seconds, or about 7 years! Nonetheless, these results pose a reproductibility problem: currently no other team in the world has been able to reproduce these two achievements. The size of the tree explored and lack of efficient tools (a good lower bound in the case of the QAP and a branch-and-cut-and-price type parallel program in the case of the TSP) require a long mobilization (one week!) of computational power that is not within the reach of many researchers. Beyond the interest of being able to reproduce it, it is important to understand the design of algorithms that are effective both in terms of optimization with the best possible bounds, and in terms of parallelism capable of exploiting all the power of grids of machines. We will discuss this latter point, initially recalling the fundamentals of branch-and-X (B&X) type algorithms and their different implementation forms. Then, secondly, we will present the different possible levels of parallelization of such algorithms as well as their deployment, in the BOB++ library, with regard to parallel programming models with or without shared memory. Lastly, the constraints specific to grids of machines will be considered.

Parallel Combinatorial Optimization

237

8.3.2. B&X model and data structures The exact solution methods used for combinatorial optimization problems are based on tree explorations called branch-and-X (where X corresponds to bound, cut, or price). The basis of these methods consists of implicitly enumerating subsets of solutions 2E (vertices of the tree) of the solutions space E in order to end up with feasible solutions that satisfy all the constraints of the problem (leaves of the tree). E This enumeration is carried out with the help of a generation operator Γ: 2E → 22 E and a search strategy S: 22 → 2E of depth, breadth, best or random type. The triplet (E, Γ, S) partially defines a search process of the B&X type. Pruning techniques (the X in B&X) are then introduced to reduce the size of the trees explored. They can be 1) bound, which corresponds to an estimation of the value of the best solution from the branch explored via an evaluation function f : 2E → R+ ∪ {+∞}; 2) cuts or more exactly additional constraints on the feasible domain based on polyhedral analyses; or 3) prices provided by “column generation” techniques. These techniques, which come from operations research, have evolved greatly over the last few years. For example, for bounds, there are several possible types of relaxation: continuous relaxation, Lagrangian relaxation, relaxation by semidefinite (SDP) or convex quadratic programming (this last is the one that is used for solving QAP-Nugent 30). These techniques, at the price of a higher calculation time, give evaluations that are closer and closer to the optimal solutions. In this way, while solving instance usa13509 of the TSP only required 9539 vertices to be explored in total, each vertex required on average 9 hours of calculation! From an algorithmic point of view, a branch-and-bound can be written as follows: void Procedure_BB(xO) { /** xO: a vertex from the tree **/ /** Minimization, retrieve an upper bound **/ ub = g(xO);

/** Create a data structure h that contains xO **/ h = MakeHeap(xO); while (h != NULL) { /** Choose the best vertex to explore **/ x = DeleteMin(&h); for (each child vertex y of x) { /** generation op. **/ /** Update the upper bound and try to prune **/ if (y is a feasible solution) && (g(y) < ub) { ub = g(y); DeleteGreater(ub, &h);

238

Combinatorial Optimization 3

/** Insert new vertices **/ if (y is not a solution) &&

(f(y)

< ub)

Insert(y, &h); } /* end if */ } /* end while */ } /* end BB */

Implementing such an algorithm generally involves using a data structure of the priority queue type, which allows us to manage the order of vertices exploration. Note that it is possible, in the case of a depth-first search, to make recursive calls instead of generating a priority queue in the form of a heap. Moreover, algorithms from the same family, such as dynamic programming and A* type algorithms, can also be implemented in the same way as a result of using additional data structures (for example a CLOSED queue in the A* algorithm). 8.3.3. Different levels of parallelism There are three possible levels of parallelization; we will show the advantages and disadvantages of each level. The first level consists of parallelizing the evaluation function f . This parallelization is often combined with parallelization of the data because the evaluation is mainly an intensive fine-grained numerical calculation. Let us cite as an example the calculation of the simplex algorithm for linear programs. It is a priori possible to apply all the techniques acquired in high-performance computation. Nevertheless, this parallelization encounters two major disadvantages: 1) the evaluation algorithms are very dependent on the application and therefore lack genericity; and 2) although evaluation is quick (this is often the case), the additional cost generated by the parallelization quickly becomes a handicap. Nevertheless, new bounds based on polyhedral cuts (cut) and/or column generation (price), or even based on convex or positive quadratic programming (semi-definite positive) are extremely greedy in computation power. They therefore become natural candidates for this type of parallelization. The second is tree search parallelization, which comes down to parallelizing the while loop of the algorithm in section 8.3.2. The advantage of this method is double.

On the one hand, this parallelization is completely independent of the application and is therefore generic, since only the generation operator depends on the application; and, on the other hand, it enables fairly easy control over the calculation granularity through the size of the subtrees to be explored. However, this method may not be of interest if the number of vertices to be explored is small. In this case, the potential of

Parallel Combinatorial Optimization

239

parallelization is greatly reduced. Note that it is also possible to parallelize the for loop of the generation operator f. Nevertheless, since this latter is very quick to calculate and depends on the application, it is generally sequential in parallel programs.

Lastly, the third parallelization strategy consists of dividing up the interval of values between the lower and upper bounds of the solutions of a problem and subjecting each subinterval to a parallel calculation process. This method also has the advantage of being generic. Nevertheless, it has the problem of additional exploration costs; the processes may explore an identical subset of vertices in parallel. So it is important to have a good load-balancing algorithm in order to give a part of the trees being explored to the processes that have become inactive. Most of the work carried out during the last decade choose the parallelization of the tree search for its generic character. The ability to vary the calculation granularity (size of the trees explored) makes this parallelization more attractive for grids of machines that are strongly heterogenous, asynchronous and dynamic. Indeed, the parallelization of tree searches is based on the general principle of “divide to parallelize”. From an initial “parent” vertex, we recursively generate independent “child” vertices whose exploration can be ordered according to a priority. As soon as the children of the first level of the tree have been generated, we can assign them to a different process for a parallel search. Note that each vertex potentially represents the exploration of a subtree and the “divide to parallelize” principle can be applied again. The genericity of this type of parallelization stems from this naturally, since only the generation of child vertices depends on the applications. On the other hand, the parallelizations of evaluation techniques are less generic. Since the latter are often based on a numerical method, although the data-parallelism is well adapted, it is only applicable to one type of relaxation. Because of the strong synchronism, it is extremely difficult to exploit it using a grid of machines. Let us point out, moreover, that, to our knowledge, no work exists that includes both types of parallelization. 8.3.4. Critical tree and anomalies It was shown in the work of Mans and Roucairol [MAN 96] that when the upper bound is fixed to the optimal value, which can be obtained by a metaheuristic for example, then with identical branching strategies, only the so-called critical tree is searched, and this is the case whatever the search strategy used (best or depth-first). This critical tree is composed of vertices that have evaluations which are less than or equal to the value of the optimal solution. Under these conditions, the parallel search consists simply of exploring the critical tree with several processes. The more the number of vertices explored is balanced

240

Combinatorial Optimization 3

between the processes, the shorter the exploration time. So this is about sharing as efficiently as possible, according to the architecture of the machines used, a constant quantity of work. Adhesion to the consistency of the sequential search can be completely relaxed without there being any acceleration anomaly. This is why many works systematically use an upper bound equal to the optimal value plus one unit in order to guarantee the value of the optimal solution. The good behavior of most parallel algorithms for the QAP is explained in this way. Many works [BRU 96, CLA 97, CUN 00b, DEN 96, MAN 95] prior to those of [ANS 01a, ANS 02] obtained quasi-linear accelerations in relation to the number of processors used with algorithms of a relatively centralized type and of large granularity. On the other hand, in problems such as, for example, that of frequency assignment, if the value of the bound is far from the optimal value at the start, we are confronted with acceleration anomalies. This comes from the fact that it is very difficult to explore vertices in parallel in the same order as sequentially. Vertices whose evaluation is situated between the optimal value and the upper bound of the moment can be explored by the parallel algorithm and not by the sequential algorithm, and vice versa. According to whether the parallel algorithm explores more or fewer vertices that have these evalutations, sub- or sur-linear accelerations are obtained, respectively. We will try to explain this in section 8.3.5.

8.3.5. Parallel algorithms and granularity A large variety of strategies exist that allow us to divide the set of the subproblems to be explored between the different processors. One of the first strategies aims to attempt to reduce the risk of search anomalies as much as possible. This leads to definition of a distribution strategy, where processors communicate intensively in order to adhere to the sequential order. This therefore defines a parallel algorithm with fine granularity, that is only one processor carries out the exploration of very few nodes between each communication. The granularity is therefore defined as the number of vertices explored between each communication or, more exactly, this is about the ratio between the total time used to generate and evaluate the vertices and the total communication time. This is consistent with the classical definition of granularity Tcalculation /Tcommunication . Adjusting the granularity can therefore be done by increasing the calculation time between each communication, which thus comes down to increasing the size of the subtrees to be explored by one process (desired depth of the subtrees) between each communication.

Parallel Combinatorial Optimization

241

A fine granularity, even if it limits the additional search cost, tends therefore to generate a large additional communication cost, especially if a machine that has a slow network is used. On the other hand, while a large granularity reduces the additional communication cost to its most simple expression, it leads to the risk of additional communication costs. In this case, care must be taken to ensure that all the processors constantly have work. Therefore, for a given type of problem, the right granularity must be found that allows us to minimize the sum of the additional search and communication costs. This is the classical compromise between additional communication costs and additional calculation costs. This explains our implementations in what follows with regard to the choice of an algorithm said to be centralized or distributed. In both cases, however, we have exploited as the best possible parallel programming models, execution mediums as well as target machines in order to reduce the communication times to the minimum. In this way, on a machine with shared memory, it is possible to choose an algorithm that is centralized via a global priority queue with a fine granularity to adhere as well as possible to the sequential search, while with a machine with distributed memory, this choice would be too costly in erms of communication. Choosing an algorithm distributed via a set of local priority queues with a larger granularity is then more judicious, even at the price of a larger additional calculation cost. Note that when the upper bound is fixed to the optimal value, it is possible to completely relax the consistency without any additional calculation cost with regard to the sequential search. In this case, therefore, it is appropriate to adopt a large granularity, whether the algorithm is centralized or distributed. This concurs with the experimental results cited in section 8.3.3. 8.3.6. The BOB++ library The OPALE team from the PRiSM laboratory has, since 1995, made available to the scientific community via the web at http://www.prism.uvsq.fr/ blec/Research/BOBO/, an open source library, called BOB, which has evolved into BOB++, to support developing programs that use B&X type search methods. The use of C++ makes the library much more flexible for the introduction of new algorithms and their hybridizations through encapsulation and template mechanisms. This library has the twin objectives of allowing the combinatorial optimization community to implement their applications without concerning themselves with the

242

Combinatorial Optimization 3

architecture of the machines and to take advantage of the benefits of parallelism; and offering a test bench to the parallelism community, made up of effective algorithms from combinatorial optimization. To fulfill this double objective, the library is based on the notion of global priority queues which allow the methods of parallelizing tree searches to be rendered transparent with regard to the applications and vice versa. On MPS type machines (multiprocessor servers that have a shared memory), these global priority queues are data structures with concurrent synchronous or asynchronous access. In practic, several light processes of the POSIX thread type, for example, can access the same data structures, and coherence is ensured by the primitives of mutual exclusion (locks, semaphores, etc.). The major difficulty here is maintaining the coherence of the data while ensuring maximal concurrent access between the processes. On a parallel machine with distributed memory or a cluster of stations, the global priority queue is divided into local priority queues, each one distributed over a processor or a station with completely local access. The data structures are identical to those used sequentially. The major problem is that of balancing or sharing loads between the processors/stations. During the exploration, processors can become inactive due to a lack of vertices to be explored. It is therefore appropriate in this case to dynamically balance the vertices between the priority queues. There are principally two possible techniques for implementing these distributed global priority queues: 1) by passing messages like PVM/MPI, PM2, data exchange is made explicitly by the sending and receiving primitives, or by remote procedure calls (like LRPC of PM2); 2) by distributed recursive calls like PM2, Athapascan-1 or Charm++/Converse, each vertex generated is immediately either sent by a remote procedure call (which can be recursive) on another processor for a parallel treatment, or processed locally using the same procedure but sequentially.

The advantage of technique 2 with regard to 1 is total transparency at the programming level. With the data exchanges becoming implicit via the parameters of the calls, parallel programs are then very close, even identivcal, to sequential ones. However, this transparency comes at the price of implementing a global scheduler capable on the one hand of assigning the various calls to the inactive processors, and on the other hand of adhering to the search strategies chosen by the user. Typically, the schedule can be modified by the applications data such as the priority of the vertices to be explored.

Parallel Combinatorial Optimization

243

8.3.7. B&X on grids of machines Machine grids is a recent term that refers to the assembling of a large set of computation media distributed throughout the world in order to satisfy the needs of scientific applications of large size. They possess four principal characteristics: 1) the large number of machines put into play (which can reach several tens of thousands); 2) the size of the interconnection network (sometimes transcontinental); 3) the heterogeneity (architectures, operating systems, processors, memory sizes, networks, etc.); 4) the variable availability (for example machines can be added and removed at any moment during calculation) of the resources. The first two characteristics are known and are now well-mastered for classical parallel or massively parallel machines, and PVM, for example, has for a long time provided a viable solution to the heterogeneity problem. The variable availability problem, however, has long been neglected in most work. The variable availability of computation resources poses two major problems: that of the auto-adaptability of applications to the execution environment, and that of fault tolerance in the broad sense (temporary shutdown for system updating, random shutdown due to unexpected restarting, or definitive shutdown of machines). Note that one consequence of these characteristics is that the degree of parallelism is necessarily of large granularity. Two programming environments, MW+Condor+PVM (ANL/University of Wisconsin) and MARS+PM2.1.6 (University of Lille 1, El-Ghazali Talbi), propose similar solutions for auto-adaptability and fault tolerance of applications. The programming model adopted is that of coordinator/worker (or client/server). The coordinator manages a pool of independent tasks, possibly with priorities, that it distributes to the workers, taking into account their availability. These then return their results to the coordinator once their task is finished. The major disadvantage of this model is the bottleneck at the coordinator level if there is much communication between coordinator/workers. Communication can be due, for example, to numerous synchronizations between coordinator and workers or to too small a task granularity. It can seem paradoxical to adopt centralized programming models when a machine grid is massively parallel, but this model also has advantages beacause of its centralism: 1) simplicity of implementation; 2) a load-balancing strategy that is simple to manage at the coordinator level; 3) the addition or loss of a worker is processed only at the coordinator level (which is not always easily achievable if everything is distributed);

244

Combinatorial Optimization 3

4) a good fault tolerance, inasmuch as only the coordinator data need to be backed up (checkpointing): in the case of the failure of a worker, it is sufficient to redistribute the task to another one. This model can therefore be very efficient: 1) if it is possible to vary the granularity of the tasks; 2) if little data is exchanged between the coordinator and the workers; 3) if little synchronization is required between the workers (the tasks are independent). Now, it so happens that the tree search for solving the QAP satisfies these three conditions perfectly: 1) It is absolutely possible to vary the granularity of a task by fixing the size of the subtrees explored, before or during execution. 2) The only information exchanged between the coordinator and the workers is the vertices of the tree and the bound associated with the best solution found up that point, exchanges that are made at the start and at the end of the task. 3) Each worker has only to explore its subtree independently of the others. Furthermore, in the case of the QAP, the tree search starts with the best solution found by metaheuristics, and this is often optimal for instances of size less than 100. Therefore, only a minimal tree is searched. We can observe in this respect that we have obtained an optimal solution of Nugent 30 in less than one minute of calculation with a metaheuristic like scatter search on a PC Celeron-400 Mhz. It is true that, in this case, the optimality of the solution has not been proven. Nevertheless, many works [BRU 96, CLA 97, CUN 00b, DEN 96, MAN 95] prior to those of [ANS 01a, ANS 02] obtained equivalent efficiency (quasi-linear accelerations with regard to the number of processors used) with algorithms of the same type, which really shows good adaptivity of the QAP to a parallel environment or machine grid. Below we present the results that we have obtained for a best-first B&B (Hahn bound with the CRLP level 1 formulation) on a dedicated platform of four PC Celeron 433 Mhz with 128 Mb of memory interconnected by an Ethernet 10 Mbits/s network. The solver program was implemented with the BOB/BOB++ library and the parallel execution platform Charm++/Converse from the university of Illinois UrbanaChampain (UIUC) proposed by Kalé et al. [KAL 96, KAL 99]. We observe close to linear accelerations for the four processors used, some surlinear. Following this positive study on a small platform, we have ported the program to

Parallel Combinatorial Optimization

245

Instances Sequential times (s) Parallel times (s) Accelerations Nugent15 45.12 12.04 3.75 Nugent16 291.23 77.69 3.75 Nugent16a 535.03 127.27 4.20 Nugent16b 148.19 40.99 3.62 Nugent17 2389.23 653.73 3.65 Nugent18 12939.31 3110.17 4.16 Hadley16 684.52 145.99 4.69 Hadley18 7406.30 1604.66 4.62 Table 8.4. QAP of medium size on four PC Celeron 433 Mhz

a larger platform, the icluster at the IMAG2, composed of 216 PCs, each one with a Pentium III at 733 Mhz with 256 Mb of memory. Table 8.5 gives the results that we obtained on the icluster for instances of larger size (Nugent20-24, Roucairol20). Only 100 of the 216 PCs were used for these tests. Instances

#nds. BA

Roucairol20 Nugent20 Nugent22 Nugent24

56082781 1040308 1225892 31865440

#nds. HGH/HHJGR 2090862 724289 10768366 11674950

#nds. BOB Parallel times (sec.) 7182373 3211 2367954 609 3830711 888 11099696 3978

Table 8.5. QAP of large size on 100 PC Pentium III 733 Mhz

Comparisons are only given on the number of vertices evaluated by the best current parallel (grid of heterogenous machines, [ANS 01a]), and sequential (SUN UltraSparc 10 [HAH 98a, HAH 01]) algorithms, the execution platforms not being the same. Since we used a bound based on the same techniques as Hahn et al., it is normal that, in terms of the number of vertices, our results are close to those of Hahn et al. A slight difference is found essentially in a better quality lower bound obtained by Hahn et al., notably on Roucairol20 and Nugent20. However, compared to the results of Brixius and Anstreicher, if we explore more vertices for simpler instances Nugent20 and Nugent22, we clearly obtain inferior results on the more difficult instances Roucairol20 and Nugent24.

2. See the web site

246

Combinatorial Optimization 3

In terms of time, it is remarkable to have solved Nugent20 in barely 10 minutes, while another experiment that we carried out on six UltraSparc 1 at 143 Mhz required 16.96 hours of calculation! Currently, the barrier that stops us tackling problems of larger size such as Nugent30 is the memory size of each PC limited to 256 Mb for a best-first search. These results show well that the parallelization of the tree search is really efficient at solving large problems. Nevertheless, in tree searches where the three conditions expressed previously are not used together, we observe unfavorable anomalies. The time of the parallel program can even sometimes be clearly greater than the time for a good sequential program and the acceleration is therefore less than one! In the TSP prgram of Applegate et al., it is clear that it is hard to vary the granularity of the tasks (condition 1), since each vertex of the instance usa13509 requires an evaluation time of about 33,060 seconds on the DEC AlphaServer, and very few vertices are explored in total. Without parallelizing the evaluation function, it is difficult to balance the loads on the processors, which causes an acceleration anomaly phenomenon. This is also observed in solving the vertex cover problem with a relaxation using semi-definite programming [CUN 99b], where each vertex requires an evaluation time that borders on 20 minutes for problems of size 100. In another application, the 2D guillotine cut [CUN 00a], constructing the plate configurations during the tree search requires saving all those previously constructed in the memory. A coordinator/worker type parallelization would generate too much configuration communication between the coordinator and the workers. Conditions 2) and 3) expressed previously are therefore clearly not satisfied. We can, moreover, note that the various distributed type solutions attempted up until now [NIC 98, TSC 95] on this application have unfortunately given results that are clearly worse than a good sequential program: of the order of one second sequentially against 7 seconds in parallel with 30 processors in the best case! We have therefore proved that while parallelization techniques for machine grid calculation have shown themselves to be very effective on a classical branch-andbound and on the well-mastered QAP, they are not always generalizable to all combinatorial optimization problems. Indeed, certain effective sequential branch-andbound algorithms use either sophisticated techniques such as positive semi-definite programming (SDP) to improve the quality of the bounds, or data structures other than the open queue, which are not easy to parallelize. In one case, parallelizing only the tree search gives poor accelerations because of the imbalance in the calculation loads; and in the other case, the results of parallelizations reported in the literature

Parallel Combinatorial Optimization

247

are worse than those obtained sequentially. The challenge of exact solving therefore remains in the parallel optimization domain! The work currently being conducted by the OPALE teams of the PRiSM, P3 and O2 of the ID-IMAG in the context of the ACI-GRID DOC-G project aims, on the one hand, to develop an efficient BOB++/Athapascan-1 library for exactly solving combinatorial optimization problems on grids of machines, and, on the other hand, to evaluate the impact of using grids of machines for these irregular applications. 8.4. Conclusion The advantage of parallelism lies firstly in a reduction in calculation time, which allows us to tackle problems of larger size than can be tackled sequentially. While having a PC with one processor at 1 Ghz and 1 Gb of RAM has become normal, the QAP requires, with a so-called lifting bound technique, more than 6 Gb of RAM for a problem of size 30 and a time for finding the optimal solution estimated at 7 years on one workstation equipped with a processor equivalent to a Pentium III at 1 Ghz! In elaborating a metaheuristic to find a good solution, parallelism will lead to a better exploration of the solutions space (more thorough than sequentially) and a more robust algorithm if, confronted with a hard tuning of too many parameters, a strategy and a set of different parameters are consigned to each processor. In the context of exact methods, when the search interval (difference between the best solution found and the lower bound in the case of a minimization) is large and will cause the construction of a large tree, parallelism will compensate for this phenomenon by accelerating the tree search and can visit fewer vertices (favorable anomalies) than sequentially. Access to parallel machines has become easier: many regional computation centers, the possibility of networking several machines locally (cluster), or geographically distributed over different places (grid). Nonetheless, efficient operation of parallel machines requires a certain knowledge. While many development and execution platforms can be used, few yet exist in the combinatorial optimization domain. Let us cite two current projects in this context: – RNTL e-Toile, involving many industrial (CEA, EDF, CS-SI, SUN) and academic (CNRS, INRIA, ENS-Lyon, University of Versailles) partners: on-line algorithms for resource allocation in order to optimize the execution of applications on a grid of machines; – ACI-GRID DOC-G (LIFL Lille, ID-Imag Grenoble, complete libraries of parallel solution methods, the approximate one PARADISEO (LIFL), the other, exact one, BOB++ (PRiSM) with approximate–exact hybridization possibilities.

248

Combinatorial Optimization 3

8.5. Bibliography [ANS 01a] A NSTREICHER K.M., B RIXIUS N.W., “A new bound for the quadratic assignment problem based on convex quadratic programming”, Mathematical Programming, vol. 80, p. 341–357, 2001. [ANS 01b] A NSTREICHER K.M., B RIXIUS N.W., “Solving quadratic assignment problems using convex quadratic programming relaxations”, Optimization Methods and Software, vol. 16, p. 49–68, 2001. [ANS 02] A NSTREICHER K.M., B RIXIUS N.W., G OUX J.-P., L INDEROTH J., “Solving large quadratic assignment problems on computational grids”, Mathematical Programming, vol. 91, num. 3, p. 563–588, 2002. [APP 98] A PPLEGATE D., B IXBY R., C HVÁTAL V., C OOK W., “On the solution of the traveling salesman problems”, Documenta Mathematica, vol. Extra volume ICM, num. III, p. 645–656, 1998. [BAT 92] BATTITI R., T ECCHIOLLI G., “Parallel biased search for combinatorial optimization: genetic algorithms and Tabu”, Microprocessors and Microsystems, vol. 16, p. 351– 367, 1992. [BRU 96] B RUENGGER A., C LAUSEN J., M ARZETTA A., P ERREGAARD M., Joining Forces in Solving Large-Scale Quadratic Assignment Problems in Parallel, Report, DIKU, University of Copenhagen, 1996. [BUR 91] B URKARD R.E., Ç ELA E., K ARISCH S.E., R ENDL F., “QAPLIB – A quadratic assignment problem library”, Available at the address www.opt.math.tu-graz.ac.at/qaplib, 1991, First published in European Journal of Operational Research, vol. 55, p. 115–119, 1991. [CLA 97] C LAUSEN J., P ERREGAARD M., “Solving large quadratic assignment problems in parallel”, Computational Optimization and Applications, vol. 8, p. 111–128, 1997. [CON] TSP sites at the Universities of Rice amd Princeton: www.keck.caam.rice.edu/tsp/ or www.math.princeton.edu/tsp/.

Concorde Program,

[CRA 98] C RAINIC T.G., T OULOUSE M., “Parallel metaheuristics”, C RAINIC T.G., L A PORTE G., Eds., Fleet Management and Logistics, p. 205–251, Kluwer Academic Publishers, Norwell, 1998. [CRA 02a] C RAINIC T.G., Adaptive Memory and Eolution: Tabu Search and Scatter Search, Chapter “Parallel computation, co-operation, Tabu search”, Kluwer Academic Publishers, Norwell, 2002. [CRA 02b] C RAINIC T.G., T OULOUSE M., State-of-the-Art Handbook in Metaheuristics, Chapter “Parallel strategies for meta-heuristics”, p. 475–514, Kluwer Academic Publishers, Norwell, 2002. [CUN 97a] C UNG V.-D., M AUTOR T., M ICHELON P., TAVARES A., “Improving the efficiency of scatter search”, Metaheuristics International Conference, MIC’97, INRIA Sophia-Antipolis, INRIA, July 1997.

Parallel Combinatorial Optimization

249

[CUN 97b] C UNG V.-D., M AUTOR T., M ICHELON P., TAVARES A., “A Scatter search based approach for the quadratic assignment problem”, B AECK T., M ICHALEWICZ Z., YAO X., Eds., Proceedings of IEEE-ICEC’97, IEEE International Conference on Evolutionary Computation, IEEE Neural Networks Council and the Evolutionary Programming Society, p. 165–170, April 1997. [CUN 98] C UNG V.-D., M AUTOR T., M ICHELON P., “Different parallelizations of the scatter search method”, European Conference on Operational Research, Université Libre de Bruxelles, Belgium, July 1998. [CUN 99a] C UNG V.-D., M AUTOR T., M ICHELON P., “Impacts du parallélisme sur la recherche dispersée”, Congrès Français de Recherche Opérationelle et Aide à la Décision ROADEF, January 1999. [CUN 99b] C UNG V.-D., M AUTOR T., ROUCAIROL C., “A parallel branch-and-bound algorithm using a semidefinite programming relaxation for the vertex-cover problem”, ECCO XII meeting of the European Chapter of Combinatorial Optimization, Laboratoire d’Informatique de Marseille, Faculté des Sciences de Luminy, France, 1999. [CUN 00a] C UNG V.-D., H IFI M., L E C UN B., “Constrained two-dimensional cutting stock problems - a best-first branch-and-bound algorithm”, International Transactions in Operational Research (ITOR), vol. 7, num. 3, p. 185–210, 2000. [CUN 00b] C UNG V.-D., L E C UN B., “Multithreaded branch-and-bound tree searches”, Workshop on Parallel Computing for Irregular Applications, in Conjunction with HPCA-6, IRIT, Toulouse, France, p. 30–34, January 2000. [CUN 02] C UNG V.-D., M ARTINS S.L., R IBEIRO C.C., ROUCAIROL C., Essays and Surveys in Metaheuristics, Chapter “Strategies for the parallel implementation of metaheuristics”, p. 263-308, Kluwer Academic Publishers, Norwell, 2002. [CUN 03] C UNG V.-D., ROUCAIROL C., Résolution de problème de RO par les Métaheuristiques, Chapter “Implémentations parallèles des métaheuristiques”, Traité IC2, Série informatique et Système d’information, Hermès, Paris, 2003. [DEN 96] D ENNEULIN Y., L E CUN B., M AUTOR T., M ÉHAUT J.-F., “Distributed branch and bound algorithms for large quadratic assignment problems”, Computer Science Technical Section on Computer Science and Operations Research, 1996. [DOD 90] D ODD N., “Slow annealing versus multiple fast annealing runs – an empirical investigation”, Parallel Computing, vol. 16, p. 269–272, 1990. [FER 01] F ERRIS M.C., PATAKI G., S CHMIETA S., “Solving the Seymour problem”, OPTIMA - Mathematical Programming Society Newsletter, vol. 66, October 2001. [GLO 77] G LOVER F., “Heuristic for integer programming using surrogate constraints”, Decision Sciences, vol. 8, p. 156–166, 1977. [HAH 98a] H AHN P.M., G RANT T., “Lower bounds for the quadratic assignment problem based upon a dual formulation”, Operations Research, vol. 46, p. 912–942, 1998. [HAH 98b] H AHN P.M., G RANT T., H ALL N., “A branch-and-bound algorithm for the quadratic assignment problem based on the Hungarian method”, European Journal of Operational Research, vol. 108, p. 629–640, 1998.

250

Combinatorial Optimization 3

[HAH 01] H AHN P., H IGHTOWER W.L., J OHNSON T.A., G UIGNARD -S PIELBERG M., ROU CAIROL C., “Tree elaboration strategies in branch and bound algorithms for solving the quadratic assignment problem”, Yugoslavian Journal of Operational Research, vol. 11, num. 1, 2001. [KAL 96] K ALE L.V., K RISHNAN S., Parallel Programming using C++, Chapter “Charm++: Parallel Programming with Message-Driven Objects”, p. 175-213, MIT Press, 1996, Parallel Programming Laboratory, Department of Computer Science, University of Illinois at Urbana-Champaign. [KAL 99] K ALE L., B RUNNER R., P HILLIPS J., VARADARAJAN K., “Application performance of a Linux cluster using converse”, Proceedings of 3rd Workshop on Runtime Systems for Parallel Programming, Rolim et al. (Eds.), Lecture Notes in Computer Science 1586, IPPS/SPDP, Springer, p. 483–495, 1999. [KOO 57] KOOPMANS T.C., B ECKMANN M.J., “Assignment problems and the location of economic activities”, Econometrica, vol. 25, p. 53–76, 1957. [MAN 95] M ANS B., M AUTOR T., ROUCAIROL C., “A parallel depth first search branch and bound algorithm for the quadratic assignment problem”, EJOR European Journal of Operational Research, vol. 81, num. 3, p. 617–628, 1995. [MAN 96] M ANS B., ROUCAIROL C., “Performances of parallel branch and bound algorithms with best-first search”, Discrete Applied Mathematics, vol. 66, num. 1, p. 57–76, April 1996. [NIC 98] N ICKLAS L.D., ATKINS R.W., S ETIA S.K., WANG P.Y., “The design and implementation of a parallel solution to cutting stock problem”, Concurrency: Practice and Experience, vol. 10, October 1998. [OSB 91] O SBORNE L., G ILLETT B., “A comparison of two simulated annealing algorithms applied to the directed Steiner problem on networks”, ORSA Journal on Computing, vol. 3, p. 213–225, 1991. [PAR 94] PARDALOS P.M., W OLKOWICZ H., Eds., Quadratic Assignment and Related Problems, vol. 16 of DIMACS Series on Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, 1994. [PRE 99] P REUX P., TALBI E.-G., “Towards hybrid evolutionary algorithms”, International Transactions in Operational Research, vol. 6, num. 6, p. 557–570, October 1999. [REI ] R EINELT G., “TSPLIB – la librairie officielle du problème du voyageur de commerce”, Available at the address www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ or www.crpc.rice.edu/softlib/tsplib/. [SAH 76] S AHNI S., G ONZALEZ T., “P-complete approximation problems”, Journal of the ACM, vol. 23, p. 555–565, 1976. [TAI 91] TAILLARD E.D., “Robust Taboo search for the quadratic assignment problem”, Parallel Computing, vol. 17, p. 443–455, 1991. [TSC 95] T SCHÖKE S., H OLTHÖFER N., “A new parallel approach to the constrained twodimensional cutting stock problem”, Proceedings of the Second International Workshop on Parallel Algorithms for Irregularly Structured Problems, num. 980LNCS, Spinger-Verlag, p. 768–776, 1995.

Parallel Combinatorial Optimization

251

[VER 95] V ERHOVEN M. G.A., A ARTS E. H.L., “Parallel local search”, Journal of Heuristics, vol. 1, p. 43–65, 1995. [VER 96] V ERHOEVEN M., Parallel Local Search, PhD thesis, Eindhoven University of Technology, The Netherlands, 1996. [VOS 93] VOSS S., Tabu Search: Applications and Prospects, Chapter “Network optimization problems”, p. 333–353, World Scientific, 1993.

Chapter 9

Network Design Problems: Fundamental Methods

9.1. Introduction Network design problems have taken on particular importance in operations research over the last 20 years. The main reason for this is the evolution undergone by the world of telecommunications and, to a lesser degree, by those of transport and production systems. The tendency to open up to competition between the different operators (of infrastructure or services) has led operators to become more concerned about optimizing their decisions in terms of infrastructure and operations modes, and to seek tools that allow them to better identify their share of the market. The expansion and integration movement of tools and communication modes has created new requirements in terms of modeling, and has provoked the emergence of more and more complex decision models. The increasing power of tools for acquiring and storing information (sensors, mobile transmission devices, databases, distributed systems, etc.) at present enables the structuring of the information systems associated with the monitoring of distributed activities, which makes it possible to supply these models with relevant data (measures of demand, costs, quality of service, etc.). It is not easy to define the exact outline of a network optimization or design problem: for design proposals, see for example [AHU 95] and [CHAN 93] (focusing on telecommunications), [CHR 81] (focusing on connectivity constraints), [DIO 79], [FER 94], [MAG 78], [STE 74] and [FLO 84] (focusing on transport), [JOH 98], Chapter written by Alain QUILLIOT.

254

Combinatorial Optimization 3

[KEN 80], [MAC 91], [MIN 89] and [PAR 98]. Formally, such a problem is an optimization problem in which part of the unknown object is a graph or a network that has a certain number of characteristics (arc length, arc or vertex capacities, location of the vertices or arcs in time or space, access tariffs, etc.). When formulated in this way, almost every combinatorial optimization problem (matching, stable set, traveling salesman, etc.) can be seen as a network optimization problem. In fact, we mainly use this term when the underlying application explicitly involves finding the characteristics of one or more infrastructure networks (telecommunications, transport, production, etc.) on which different classes of objects (vehicles, messages, products, etc.) will be required to travel according to access demand forecasts. The characteristics of this search can involve dimensions and capacities of communication channels, junctions or switching points, their positions inside a given geography, their dates of accessibility, and the tariffs of accessibility that are associated with them. These networks can be superimposed following several levels of virtuality or reality: in this way we can distinguish virtual networks carried by the same physical network in the case of telecommunications or the networks associated with the routes and timetables of various classes of vehicles on the same urban public transport service borne on the same public road network. The criteria that we seek to satisfy then combine considerations of costs, of the quantitative level of demand satisfaction, and of the quality of service provided (rate of loss of messages, transfer times, probabilities of congestion, etc.). In the case of telecommunication or transportation systems, a number of problems are formulated in such a way that an underlying support topology (the nodes and the links which are likely to serve as a medium for communication channels) being already known, we are required to simultaneously deal with routing and capacitating according to the following formalism: Sample problem CFA: capacited flow assignment. {Find, on an initial network G = (X,E), that defines a support topology, an infrastructure vector z ≥ 0 ∈ Z and a multicommodity flow vector f = (fi, i in I) ≥ 0 such that: - C1(z) (structural constraints on z, which can be discrete or real and constrained due to security considerations; we will be able, for example, to require of z that it allows a certain type of message to be transferred by at least two arc disjoint paths); - For every arc e in E, ze ≥ f*e or f* returns an aggregate vector (more often than not the sum) constructed from the components of the multiflow f; - Each component fi of the multiflow f transfers a certain average demand Mi from a set of origin vertices Oi to a set of destination vertices Di;

Network Design Problems: Fundamentals

255

Zmin = U(z) (installation cost) + V(z,f) (operations cost tied to y) + W(z,f) (measure of service failures associated with y)} In most cases, the function U is concave (reducing costs), while the function W tends to bring together the loss rates or the delays caused by excessive overloading of the network: it is because of this that, in the telecommunications case, we often consider it plausible that the network behaves likes a queuing network (Jackson) of type M/M/1 and we use the Kleinrock delay function, for example [KLE 72, KLE 75]: W(z,f) = Σu f*u/(zu – f*u) The need to take into account, at the heart of the models, sufficiently precise quality of service criteria (QoS) is becoming a priority for operators: this results in the appearance in these models of performance functions W(x,f) which are more complex than Kleinrock’s function, and of structure constraints C1(z), which express a need for robustness and survivability [AND 01, BAL 98, BEN 00, CHR 81, GOUV 95, GRO 95, GRO 90, MAH 94]. Taking into account variations in traffic over time can lead to the introduction of the notion of timing the network, which will induce a separation of the basic problem into subproblems associated with different periods, or indexing the basic vertices of the network over time in the same network model, said to be dynamic or timed [ARO 89, CHAR 96, GAR 98, MIN 87, YAG 73]. Taking into account the superimposition of real and virtual networks (multiservice heterogenous networks in the telecommunications case), leads, on the one hand, to breaking down the unknown object z into layers, and, on the other hand, to imposing a wider definition of the notion of path or routing [BAL 98, CON 93, ENA 99, GIR 93, JAU 98, LEB 81, REB 00, SCH 77]. Considering a fixed z comes down to focusing on the routing problems [ASH 98, BALL 95, BEN1 01, COR 98, ECO 91, GAV 89, ORD 93, OUO 00]. Assuming that the support topology G = (X,E) or its location inside a given geography are not completely known comes down to introducing the location problem [CHA 96, CHA 99, CHO 94, COO 63, DRE 95, DRE 98, EIS 93, GEN 93, JAI 97, KHU 72]. Introducing the pricing problems means introducing a price vector p, indexed on the same set of indices as the multiflow f, and, depending on the approach [ARR 75, BIR 76, CAO 02, COC 93, CUR 85, DAF 82, GIB 99, GRA 92, LA 99, LED 93, MAK 95, TAM 91]: – imposing stability constraints on p that express the fact that no competing operator is likely to seize a part of the traffic represented by f by putting his own

256

Combinatorial Optimization 3

infrastructure into place: cooperative games with core or non-cooperative games with Nash equilibria models; – imposing a profit maximization criterion on p in the case when demand is considered elastic to the prices; – considering p as a traffic regulation element and respecting the traffic equilibrium which derives from least-cost (or maximum utility) strategies implemented by the users. Problems stated in this way moreover have the following characteristics: – They are of large size, and, in certain cases, badly conditioned, and they often induce degeneration phenomena. – They often allow several local optima. – They readily lend themselves to types of decomposition due to their hierarchical structure, to the possibility of breaking the network G down into geographical zones, or to the possibility of structuring the multicommodity flow object f according to a classification of the users. – It is sometimes useful, in order to reduce the size of the problem, to substitute the management of an aggregated flow object f* for that of the object f, which leads to the introduction of cut constraints that characterize the convex hull of the values f* that are compatible with a given origin/destination matrix. – Explicitly formatting the structure constraints C1(z) can be very complex, and cause the manipulation of specific cut constraints. Processing these problems leads, moreover, to dealing with several questions: – that of acquiring and modeling the input data of the models [LEE 95, KLE 72, ASH 98, BER 87]. These data can be very complex because they involve both observing the system as it exists at the instant considered and its full-term behavior in the case of a reconfiguration: measures of performance and reliability, elasticity of demand with regard to prices or quality levels, estimation of costs. Acquiring these data requires the prior existence of an information system specific to the system which is sufficiently well structured, and the implementation of adequate datamining, simulation and real-time control techniques. Of course, estimating the levels of approximation associated with these data influences the algorithmic performance levels that it may be fit to look for, for processing these models. – that of how to use the results induced by the algorithmic processing of these models [MAK 98, DRE 98, CUR 85, CAM 02]. These are intended to be models for decision-making assistance, and because of this it is important to identify the way in which they will actually be included at the heart of a decision process. In many

Network Design Problems: Fundamentals

257

cases, this will involve generating long-term scenarios, and accompanying this with studies made in parallel on the technical and financial side, but, in other cases, it will really mean proposing reorganization conditions or investment choices. In the latter cases, it will be advisable to acquire appropriate tools for the a priori evaluation of such a decision and of its degree of acceptance by its environment. This set of considerations means that, despite the existence of a large community working on these network optimization problems for 20 years, many difficulties remain, as much at the level of the mathematical foundations as at the practical level, while the models themselves are in constant mutation, because of both technical and economic evolutions. At the method level, approaches adopted for numerically and algorithmically processing these problems, and which will therefore be the subject of the next part of this chapter, are extremely diverse, and cover the basics of the range of operations research algorithmics. We mainly distinguish: – heuristic methods (local search and stochastic or evolutionist variants), which are principally involved in solving location and topology search problems [AHU 01, CHA 96, CRA 00, GAR 98, PEA 74]; – methods derived from continuous optimization (proximal methods, Lagrangian decomposition, subgradient techniques, Benders master/slave decomposition etc.), which are related to dimensioning and routing problems as a priority [BAL 89, BER 83, CHI 94, CHI-1 94, DEM 89, GAL 79, GOF 97, MAH 98]; – methods based on exploiting the formalism of fractional, integer or mixed linear programming, as the universal formalism at the heart of the complexity class NP-time [BARN 95, BENC 97], among which we will distinguish notably: - branch and cut methods based on notions of polyhedral representation [BAR 95, BIE 96, CHO 94, DAH 94, GRO 92, GRO 90, MAH 94]; - methods associated with flow and multiflow models [AHU 93, ASS 78, CRA 01, GOL 89, GOUV 95, LEB 73, NAG 88]; - methods derived from the formalism of game theory (cooperative and noncooperative), which principally concern pricing problems [BRU 79, CAO 02, LA 99, LED 93, YAM 96]. With regard to applications, they principally concern telecommunications [CAM 02, CHAN 93, CHAR 96, COC 93, GAV 91, GER 77, GIR 93, JAU 98, KAT 96, LEB 99, MAH 01, REB 00] and transport [ASS 80, BALI 61, BERT 98, CON 93, COR 98, DAS 89, DEJ 87, FLO 84, HEL 98, JAI 97, LED 98, MARI 96, VIJ 93] (also see Chapter 1 of this book) but also, to a lesser degree, the management of energy production systems, and of industrial production systems, as well as the

258

Combinatorial Optimization 3

design of electronic circuits [AHU 95, DEV 96, DOM 68, DRE 95, EDG 78, KHU 72, MAR 97, NAK 81, NOR 87, PER 84, PERC 87, SCO 96]. 9.2. The main mathematical and algorithmic tools for network design 9.2.1. Decomposition in linear programming and polyhedra Network design problems most often involve fairly large systems, including both real (fractional) and discrete variables. This results in frequent recourse to the set of tools and methods from continuous optimization and linear programming, and, for the development phases, to fractional, integer or mixed linear programming libraries: CPLEX, XPRESS, OSL, etc. We shall assume here that the basics of linear programming and continuous optimization are known (simplex algorithms and variants, duality, interior point methods, conditioning and degeneration problems, descent methods in convex optimization with or without constraints, etc.; see for example [LAS 70]). We will simply restate the principle of some decomposition methods and of management of large systems particularly appropriate to the specific structure of network optimization problems. For more information, see Volume 1, Chapter 5. Benders decomposition This method [BEN 62, BENC 97, GEO 72, MAH 01] corresponds to a so-called master/slave decomposition of an optimization problem and is particularly appropriate for network design problems, which are often related to the simultaneous search for a master infrastructure object, and a slave routing object. More precisely, we assume that we have to deal with an optimization problem that appears in the form: Sample problem P0: {Compute an object z in a space Z, and a vector y ≥ 0; in Rn, such that: C(z) where C is a set of constraints; Ay ≤ b(z), where A is a matrix of fixed constraints and b a bound vector that depends on z; and which maximizes a quantity F(z) + d.y, where d is a vector of Rn }. We suppose that, a current object zo being given, we are able to solve the subproblem restricted to y, which amounts to a fractional linear program. From this we deduce primal y(zo) and dual t(zo) solutions of this linear program. By applying duality, we see that the optimal solution z of our problem must necessarily be such that:

Network Design Problems: Fundamentals

259

F(z)+ t(zo). b(z) ≥ F(zo) + t(zo). b(zo), this inequality being strict in the case when zo is not itself an optimal solution of P0. From this we deduce a general solution scheme which appears as follows (A0): Initialize zo; Not Stop ; C* = { C(z)}; While Not Stop do Compute the primal y(zo) and dual t(zo) solutions of the linear program deduced from P0 by fixing z to zo; Insert a (Benders Cut) constraint in C*: F(z)+ t(zo). b(z) ≥ F(zo) + t(zo). b(zo) + ε, where ε is a small well chosen number; Modify zo in such a way that it satisfies the set of the constraints of C*; If this modification is impossible then Stop; Update Stop; Lagrangian decomposition Methods based on Lagrangian decomposition or related schemes (decomposition by prices or resources [DAS 89, GEO 74]) are also particularly well fitted to network design problems. Indeed, they usually derive from a decomposition of the global problem into subproblems, which are related to the behavior of a family of network users, and which are linked together by so-called matching constraints. Relaxing these constraints then allows these subproblems to be separated. More exactly, let us assume that we are dealing with a problem of the form: Sample problem P1: {Find an object z inside a domain Z such that: C(z); For every i in I, Bi(z) ≥ 0; that minimizes a quantity F(z) }. Let us denote by V1 the optimal value of P1. The Lagrangian operator associated with the relaxation of For every i in I, Bi(z)≥ 0 is written: L(z,t) = F(z) – Σ i in I ti.Bi(z) where the coefficients ti, i in I, are positive or zero real numbers. The relaxed problem P1(t) associated with a given vector t = (ti, i ∈ I) is as follows: P1(t): {Compute z in Z, such that C(z), which minimizes L(z,t) }

260

Combinatorial Optimization 3

We can denote its optimal value by V1(t). We can then check that: – in all cases, V1(t) ≥ V1; – if the problem P1 is convex, Z = Rn, the domain defined by C is convex, and the functions F and −Bi are convex), then Inf t ≥ 0 V1(t) = V1. We deduce from this, under the hypothesis that the relaxed problem P1(t) turns out to be easier to deal with than the problem P1, the following algorithmic scheme (A1): Initialize t; Not Stop; V := - Infinity ; z := Undefined; While Not Stop do Solve the Problem P1(t) and compute the value V1(t) as well as the associated solution z(t); If V1(t) substantially improves V then V := V1(t); Replace t with the projection on R+n of t - PAS. (Bi(z), i ∈I), where PAS is a well chosen positive and small number; Else Stop; Project z(t) on the domain defined by the constraints of the problem P1. Comment: the last instruction of the algorithm (A1) can cause problems. It can occur, and this will be the case notably for linear programs, that the property Inf t ≥ 0 V1(t) = V1 does not allow us to guarantee that the object z(t) obtained at the end of the above process is feasible for the problem (P1), even when this problem is convex. Column generation So-called column generation methods [JAU 98, MIN 89, BARN 95] (also see Chapter 1 of this book), which principally concern problems modeled in the form of linear programs with a very large number of variables, are also fairly often involved in dealing with network design problems. Indeed, the networks to be constructed often appear as collections of paths, circuits or specific configurations, and from that moment it becomes natural to want to represent them as vectors indexed on the set of these possible configurations. The context of a column generation method is that of a linear program: Sample problem P2: {A.x ≤ b; x ≥ 0; c.x = Zmax }

Network Design Problems: Fundamentals

261

in which the unknown vector x is indexed on a very large set ensemble I. This indexing set generally refers to a set of particular configurations specific to a system, and, as much the matrix A as the vector c are then defined implicitly. In order to solve such a problem, we abandon explaining the whole of A and c and we work on a small subset J of I, by applying the following algorithmic scheme (A2): Initialize the set J (of reduced size); Not Stop; While Not Stop do Solve the problem P2 with the additional constraint: xi = 0 for every i in I – J; Let t be the dual solution of this problem and x its primal solution; Find i in I-J such that we have t.Ai < ci where Ai denotes the column i of A; (I1) If i exists then Insert i in J Else Stop (current x is then the solution of the problem P2). The instruction (I1) above, which solves the new subproblem of the generated column, expresses the use which is made of the duality in order to test whether the current solution x of the program P2, considered by restricting ourselves to the columns of J, is an optimal solution of P2. Its implementation generally comes down to finding a certain path or circuit of a graph, which has properties that can make the induced subproblem fairly complex. The practical advantage of this approach comes from the fact that the above scheme (A2) converges fairly quickly, despite the degeneration problems which we fairly often encounter. Dantzig–Wolfe decomposition This concerns a decomposition process [AHU 93, LAS 70], which is applied to the treatment of fractional linear programs which can be separated into several (a fairly large number of) independent subproblems linked among themselves by a small number of matching constraints. The problems to which it is applied have the following form: Sample problem (P3): {Find vectors z1..zp ≥ 0, in vector spaces of finite dimensions H1...Hp, that satisfy: A1.z1 ≤ b;...; Ap.zp ≤ bp; (A1...Ap are constraint matrices, which we assume to define bounded polyhedra) C1.z1 + ...+ Cp.zp ≤ C; (so-called matching constraints) that maximize a quantity d1.z1 + ...+ dp.zp } The idea consists of tackling these problems using column generation, by substituting, for each index i = 1,…,p, the variable vector zi with a vector yi indexed on the vertices of the polyhedron Πi defined by the constraints: {zi ≥ 0, Ai.zi ≤ bi}.

262

Combinatorial Optimization 3

Each vector yi is therefore a barycentric combination vector of vertices of the polyhedron Πi, and the problem (P3), rewritten with the new variables yi, appears in the form: {Find p barycentric combination vectors y1...yp, such that: C*1.y1 + ...+ C*p.yp ≤ C; (rewriting of the matching constraints) that maximizes a quantity d*1.y1 +…+ d*p.yp }. The associated process is then the column generation process seen before, for which we notice that each solving of the subproblem of the incoming column reduces to the solution of a specific linear program concerning one of the polyhedra {zi ≥ 0, Ai.zi ≤ bi }. Proximal decomposition The notion of proximal decomposition [CHI 94, MAH 98, SPI 85] concerns problems of the form: Sample problem (P4): {Find (x,y) in A*A⊥ such that y ∈ T(x)} where A is a vector subspace of Rn, A⊥ its orthogonal, and T a monotonic maximal operator, that is a multiform function of Rn in P(Rn ) = set of the closed parts of Rn, such that for every x, y in Rn, and every couple y, y' in T(x)*T(x'), the scalar product (y–x).(y –x ) is ≥ 0, and is maximal for the inclusion order with this property. A proximal decomposition of a vector z of Rn for the operator T is a pair (u,v) such that: z = u + v and v ∈ T(u). Such a proximal decomposition is unique and can be expressed in the form: u = (Id + T) -1(z); v = (I+T -1) -1(z). A so-called proximal decomposition algorithm is derived from it (A4): Initialize (x, y) in A*A⊥; Not Stop; While Not Stop do u := (Id + T) -1(x + y); v := x + y – u; If (u,v) ∈ A*A⊥ then Stop Else x := Projection of u on A; y := Projection of v on A; If the problem (P4) to be solved is related to the minimization, on a given subspace A, of a convex function f(x), that is on an operator T defined as being the subdifferentiation operator of f, the algorithm (A4) is rewritten:

Network Design Problems: Fundamentals

263

Initialize (x, y) in A*A⊥, Λ > 0, σ ∈ ]0,2[; Not Stop; While Not Stop do u := Argminu ||(f(u) + 1/2Λ. ( u – (x+Λy) || 2; v := (x + Λ.y – u) / Λ; If (u,v) ∈ A*A⊥ then Stop Else x := σ.(Projection of u on A) + (1-σ). x; y := σ .(Projection of v on A⊥ ) + (1-σ). y; The two parameters Λ and σ are scale parameters, intended to accelerate the convergence of the process. The proximal decomposition method, which can be seen as a method that combines regularization and relaxation, is more general than the Dantzig–Wolfe method described earlier. It is particularly well suited to non-linear routing problems, as long as they naturally separate into a family of independent problems linked between themselves by a matching constraint. Polyhedra and facets The tools associated with what we generally call polyhedral methods [DAH 94, GRO 90, MAH 05] are useful in network design for dealing with specific structure constraints which can be imposed on the infrastructure object that we seek to establish (the constraints C1(z) imposed on the master object z if we refer to the CFA model mentioned in the introduction). Let us recall that the polyhedron Π(S) defined by a family S of objects of Rn is the convex hull of S. The dimension Dim(S) of Π(S) is the cardinality of a subfamily of S composed of affinely independent objects, the objects of S then being seen as affine points of Rn. A valid inequality for Π(S) is an affine inequality satisfied by each element of S. A facet of Π(S) is a valid inequality I for which we can find Dim(S) – 1 affinely independent elements of S which make this inequality I tight, that is to say reduced to an equality. By extension, if C is a constraint set defined on Rn, the polyhedron defined by C is the polyhedron defined by the set of the objects z of Rn which are such that C(z) is true, and we then talk of facets induced by this constraint C. We compute the dimension of this polyhedron and we check that an inequality defines a facet of it by directly applying the above definitions. We check that a family I* of facets defines the polyhedron defined by C, by proving that every solution of the system I* can be written as a convex combination of a family of objects that satisfies C. One of the best known examples of polyhedral representation of a problem derives from the so called matching problem, and, in fact, also refers, from a historical point of view, to the emergence of polyhedral approaches for solving

264

Combinatorial Optimization 3

combinatorial optimization problems. Given a non-directed graph G = (X,E), a matching can be expressed as an integer vector z ≥ 0, indexed over the set of edges E, which satisfies the following constraints: for every vertex x in X, Σ e incident to x ze ≤ 1 The associated polyhedron, called the matching polyhedron, turns out to be the set of the vectors z ≥ 0 of Rm, where m is the number of edges in E, such that: for every vertex x in X, Σ e incident to x zx ≤ 1 [9.1] for every elementary cycle γ of odd length 2k + 1 (k ≥ 1), Σ e ∈ γ ze ≤ k [9.2] The dimension of this polyhedron is equal to the number of edges m of the polyhedron. We prove that each of the constraints [9.2] above constitutes a facet of the matching polyhedron by noting that it is possible to make correspond to every elementary cycle γ of length 2k + 1, 2k + 1 matchings with k independent edges, and that it suffices to complete certain of these matchings by adding an edge that does not belong to γ to obtain a family of m linearly independent matchings that tighten the inequality considered. In order to prove that the set of inequalities [9.1] and [9.2] really does completely define the matching polyhedron, we consider a vector z ≥ 0 of Rm, that satisfies inequalities [9.1] and [9.2], and we check that there exists a matching z* such that those among the inequalities [9.1] and [9.2] which are tight for z are also tight for z*. Knowing the polyhedron Π = { Ij(z), j ∈ J} defined by the set of the constraints of a combinatorial optimization problem of the form: Sample problem P5: {Find an object z of Rn such that C(z), which maximizes a linear quantity c.z} allows a programmer to solve it with the help of the following scheme, called cut generation (A5): Initialize a sub-family K of the family J; Not Stop; While Not Stop do Process the linear program ΠK {Find an object z of Rn such that Ij(z), for j ∈ K that maximizes a linear quantity c.z}; If the object obtained z satisfies C(z) then Stop Else Find (Separation Sub-Problem) j in J-K such that the inequality Ij(z) is not satisfied.

Network Design Problems: Fundamentals

265

In practice, the possibility of completely characterizing the polyhedron Π corresponds to the property for the associated problem P5 of being time polynomial and therefore to the existence of an ad-hoc solution algorithm. In most cases, we have to restrict ourselves to the identification of classes of facets for this polyhedron, associated with separation subproblems which can themselves be complex. The algorithms which derive from the use of this partial knowledge of Π are called branch-and-cut algorithms [CHA 05, MAH 05]: they proceed through tree enumerations of the set of feasible solutions of P5, with filtering of this enumeration using the optimal value of the linear program ΠK and the insertion of the cuts Ij(z). 9.2.2. Flows and multiflows Let G = (X,E) be a network or a directed graph. X is the set of the vertices and E the set of the arcs of G. A flow of G, with values in the vector K space F, where K is the basic body of F, is an F-vector f, indexed over E, and such that for every vertex x in X, we have: Σ e out of x fe = Σ e into x fe

[9.3]

In many cases, F = K = real numbers, rational fractions, Z, Z/pZ, etc., and we then talk about a simple flow. If F is of finite dimension, we talk about a multiflow. It can happen that F is a space of functions defined from a space-time to a numerical space, or even that F is a space of random variables. By extension, we still talk about flow when a fixed quantity dx in F is associated with every vertex x of X, and when each relation E3 is written: Σ e out of x fe = Σ e into x fe + dx

[9.4]

We say that f transfers a quantity d from x to y, x, y ∈ X, if we have (E3) for every vertex z different from x and y and if we have: Σ e out of x fe = Σ e into x fe + d Σ e out of y fe = Σ e into y fe – d

[9.5]

In the rest of this chapter we will consider that F is of the form Kn, with K = Z, Q or R, and we will talk about flow or multiflow depending on whether n is equal to 1

266

Combinatorial Optimization 3

or greater than 1. The flow or multicommodity flow space defined on the directed graph G is then itself a vector space on K. If Γ is an elementary cycle of the graph G, with an orientation, the flow cycle fΓ associated with Γ is defined as equaling 0 off the arcs of Γ, 1 on the arcs of Γ whose orientation coincides with that of Γ, and –1 on the other arcs of Γ. Every flow vector f defined on G can then be decomposed (representation by cycles of the flow) into a linear combination of flows cycles. By extension, we will say that if Γ is a path that links an origin x to a destination y in G then the flow path fΓ vector associated with Γ is defined as equaling 0 off the arcs of Γ, 1 on the arcs of Γ whose orientation coincides with that of Γ, and –1 on the other arcs of Γ. Every flow vector f that transfers a quantity d = 1 from x to y can then be decomposed into a convex combination of flow paths (of origin x and destination y) . We then talk about representation by paths of the flow f. If f = (f(i), i in I) is a multiflow of which each component flow is denoted by f(i), i in I, we will denote by Sum(f) the aggregated flow defined for every arc e of E by: Sum(f)e = Σ i in I f(i)e The minimum cost flow problem The simplest problem with regard to flow models is the problem called minimum cost flow [AHU 93, FOR 62, MINI 78]. {We assume that each arc e of the network G has a lower capacity Mine, an upper capacity Maxe and a cost Ce; Compute a flow f, defined on G with a value of K = Z, Q or R, such that: * f is compatible with the capacity vectors Min = (Mine, e in E) and Max = (Maxe, e in E), that is such that for every e, we have Mine ≤ fe ≤ Maxe; * the linear Cost C.f = Σ e in E fe.Ce of f is minimal.} This problem, which is polynomial in time, can be formulated in the form of a linear program: {Find a vector f indexed over E, such that: * Min ≤ f ≤ Max; (capacity constraints) * M(G).f = 0; (flows constraints) * C.f = Zmin}

Network Design Problems: Fundamentals

267

where M(G) is the arcs/vertices incidence matrix of G, which is a totally unimodular (all its subdeterminants are equal to 0, 1 or –1) matrix in {0, 1, –1}. It is solved, independently of whether we are working with integer (K = Z) or fractional numbers (K = Q), starting from an initial flow f compatible with the capacities, by applying the following loop (A-Flow-Min): While Not Stop do Find in G a γ improving cycle, that is such that: For every arc e of γ oriented like γ (we then set e ∈ γ+), fe < Maxe; For every arc e of γ oriented like γ (we then set e ∈ γ−), fe > Mine; Σ e ∈ γ+ Ce - Σ e ∈ γ− Ce < 0; If γ does not exist then Stop else set f := f + p.fγ, where p = Inf ( Inf e ∈ γ+ Maxe - fe, Inf e ∈ γ− - Mine + fe ); The above search for improving cycle γ comes down to finding a negative circuit in an auxiliary network, which is constructed from G and f by: – conserving each arc e such that fe < Maxe, and assigning it the quantity Ce as length; – creating for each arc e = [x,y], such that fe > Mine, an arc e−1 = [y,x], that has a length −Ce . Finding such a negative circuit is then carried out by applying the general shortest paths calculation algorithm in a directed graph [OUO1 00, MIN 75, GOL 89]. In the special case where the cost vector C is zero everywhere apart from on a target arc eo = [yo, xo], for which Ceo = −1, we then talk about the maximum flow problem between xo and yo. We handle the problem by restricting ourselves, inside the (A-Flow-Min) loop, to finding improving cycles that contain the arc eo, that is particular paths that go from xo to yo. The minimum cost flow problem can now be generalized in several ways: – Capacities (or costs) are introduced on the vertices: for each vertex x in X, we constrain the incoming flow on x to being within a certain prefixed interval I. We then come back to the standard problem by splitting each vertex x into an arc [x , x ], and by imposing the value of flow borne by this arc to be within I.

268

Combinatorial Optimization 3

– The cost C(f) to be minimized is a convex function of f [MIN 81, MIN 89, OUO 00]. The problem formulated in this way becomes a convex optimization problem. The loop (A-Flow-Min) can be reused (projected gradient algorithm [BER 83]) by replacing at each step the fixed cost Ce with the partial derivation of the convex function C with regard to e, and by calculating the step p according to an adapted formula. – The cost C(f) is concave [MIN 89, BAL 89]. The problem then becomes NPcomplete. Nevertheless we verify that its solution can be chosen as belonging to the polyhedron defined by the flow constraints and the capacity constraints. It must therefore be possible to reach it, from a flow starting from f, by carrying out a series of transformations of the type f := f + p.fγ, where γ is a well chosen cycle, and where p is calculated according to the formula: p = Inf ( Inf e ∈

γ+

Maxe - fe, Inf e ∈

γ−

- Mine + fe );

[9.6]

We deduce local improvement and stochastic control solution heuristics from this, which involves the previously described local transformation procedure, in which finding the cycle γ is conditional on the definition of an auxiliary cost deduced from the gradient values of the function C. – The flow f is subject to a family Λ = { A.f ≤ b} of additional linear constraints, which are likely to increase incrementally (thus accompanying a cuts generation process). Several approaches are then possible, which all take advantage of an efficient solution model of the minimal cost flow problem: - Using a representation by circuits of the flow f, and reducing to a linear program in which only the capacity constraints and the constraints from the family Λ remain. This can be done either by precomputing a base of cycles for the network G = (X,E), in the knowledge that the cardinality of such a base will be equal to ⏐ E⏐ – ⏐X⏐ + 1, or by constructing the cycles that must appear in the expression of f one after the other following a column generation process. The latter approach noticeably reduces the size of the linear programs to process, but it forces us to solve a series of auxiliary incoming column search subproblems which are the minimum cost flow problems associated with the constraints {Min ≤ f ≤ Max}. - Carrying out a Lagrangian relaxation of the constraints from the family Λ. The subproblems related to the optimization of the Lagrangian L(f,t), taking into account the flow constraints on f, are then minimum cost flow problems associated with the constraints {Min ≤ f ≤ Max}. Throughout this process, the current object f will constantly hold itself inside the set of the vertices of the polyhedron defined by the flow and capacity constraints. The latter point will sometimes make the computation of the final effective solution f difficult, even when we often have a good approximation of the optimal value of the problem.

Network Design Problems: Fundamentals

269

- Applying a column generation process by considering, as in the case of the Dantzig–Wolfe decomposition, that the unknown flow f is written as the barycentric combination of the vertices of the polyhedron defined by the flow and capacity constraints. Each step of the process then induces the resolution of a linear program that expresses the constraints of Λ as well as the fact that the coefficients object of the search are barycentric coefficients, and from an incoming column search subproblem which is a minimum cost flow problem associated with the constraints {Min ≤ f ≤ Max}. The minimal cost multiflow problem We again consider a network G = (X,E), two capacity vectors Min and Max, indexed over E, and a family OD of couples of origin/destination vertices of X. A positive quantity Do,d corresponds to each couple (o,d) in OD. The problem to be solved, which can be considered as one of the fundamental multiflow problems, is formulated as follows [AHU 93, ASS 78, LEB 99, OUO 00]: Sample Min-Cost-Multiflow Problem: {Find a positive multiflow f = (f (o,d)e, e ∈ E, ( o,d)∈ OD), with values in K = Z, Q or R, such that: - each flow f(o,d) transfers the quantity Do,d from o to d (demand constraints); - for each arc e in E, Mine ≤ Σ od, ∈ OD fe (o,d) ≤ Maxe (capacity constraints); which minimizes a quantity Cost C(f) = Σ e ∈ E Ce (f e (o,d)) . } In the case where K = Q (or R), and when the function C is linear, this problem is a linear program. Solving it in practice is nevertheless complicated because of the presence of degeneration effects, the large size of the set OD, and the fact that the optimality with regard to each of the subproblems induced by fixing all the flows f(o,d) apart from one, does not guarantee local optimality. The most appropriate approach is then that which consists of applying the Dantzig--Wolfe Decomposition scheme. We then consider each flow f(o,d) as a barycentric combination of vertices of the polyhedron of the positive flows that transfer the quantity Do,d from o to d, that is as a combination Σ γ xγ. fγ of flows associated with paths from o to d, such that the coefficients xγ are ≥ 0 and equal to the sum of Do,d. Solving the incoming column subproblems then comes down to shortest paths problems in a directed graph.

270

Combinatorial Optimization 3

In the case where K = Q (or R), when the function C is convex and when there are no capacity constraints, the problem is simplified by the fact that the optimality with regard to each of the subproblems induced by fixing all the flows f(o,d) apart from one, guarantees local optimality. This leads to consideration as the criterion of optimality the fact that the routes followed by the flow f (o,d) between o and d are shortest paths for the costs defined, for each arc e in E, by the partial derivation of the function Ce with regard to the variables fe(o,d), e ∈ E, bearing the values of the flow f(o,d) on the arcs of G. We deduce from this a simple algorithm called flow deviation, which proceeds as follows (A-Flow-Dev): Initialize f; Not Stop; While Not Stop do Compute a couple o,d and a path γ from o to d such that: - the value of f(o, d)e is > 0 for each arc e of γ; - the path γ is not a shortest path for the costs associated with the partial derivations of C with regard to the variables fe(o, d), e ∈ E; If o,d and γ do not exist then Stop Else replace f(o,d) with f(o, d) – δ.fγ, where δ is a wellchosen small positive quantity and where fγ is the flowpath defined by γ; Update Stop (Stopping test). It is also possible to relax the flow constraints and to resort to proximal algorithms. In the case where K = Q (or R), when the function C is concave and when no capacity constraints exist, we may observe (minimization of a concave function on a bounded polyhedron) that the solution of the problem can be chosen from within the set of the vertices of the constraints polyhedron, that is such that each of the flows is in fact a monopath flow, which can be written f(o,d) = Do,d. fγ, where γ = γ(o,d) is a path from o to d. We deduce from this algorithms which are global optimization heuristics, based on the use of a local transformation mechanism that consists of modifying, for a given o,d couple, the current path γ(o,d). In the case where K = Q (or R), when the function C is convex and when capacity constraints exist, the problem, although complex and large, remains a convex optimization problem. Various approaches can then be considered: – resorting to a process that operates using a Lagrangian relaxation of the capacity matching constraints (algorithmic scheme A1), the subproblems concerning

Network Design Problems: Fundamentals

271

the optimization of the Lagrangian L(f,t) then being processed by applying the AFlow-Dev scheme of flow deviation presented above; – resorting to interior point approaches [CHI 94]; – resorting to an adaptation of the Dantzig–Wolfe decomposition method: at each step, the master problem is then processed as a classical convex optimization problem with constraints. As for the incoming column problem, it is defined, for each couple (o,d), as a problem related to the search of shortest paths for costs derived from the calculation of the derivations of the functions Ce; – resorting to an aggregation and cuts method. We reformulate the problem in the following Multiflow-Agreg form [BEND 01]: {Find a positive flow F = (f e, e ∈ E), with a value in Q or R, such that: - F is decomposable according to the demand family {OD, D}, that is F can be written as a sum Σ (o,d) ∈ OD f(o,d), where each f(o,d) is a positive or zero flow which transfers the quantity Do,d from o to d (decomposability constraint); - for each arc e in E, Mine ≤ Fe ≤ Maxe (capacity constraints); which minimizes a quantity Cost C(F) = Σ e ∈ E Ce (Fe ) . } This approach aims to reduce the size of the unknown multiflow f by substituting its aggregated flow F for it, and through the introduction of the decomposability according to demand (OD, D) constraint. This decomposability constraint is nonetheless not easy to manage, and, in fact, we do not know how to provide a complete characterization of it in terms of linear constraints. Nevertheless, we easily observe that it implies that the following inequalities, called metric constraints or cuts, are satisfied: for every partition of X into two non-empty subsets A,B, the sum of the flow values F calculated for the arcs that go from A to B must be greater than or equal to the sum of demand Do,d calculated for all the couples o,d such that o∈A and d∈ B. There are potentially many such metric cuts, which only constitute a sufficient condition for the decomposability of F, and which can only therefore be managed implicitly (cut generation). Their use then induces the following algorithmic scheme (A-Multiflow-Agreg): Initialize f and F at the same time; Not Stop; MC := Set of the Explicit Metric Cuts = 0; While Not Stop do

272

Combinatorial Optimization 3

Process Multiflow-Agreg by replacing the decomposability constraint with only satisfying the MC constraints; If there exists a metric cut Φ that is not satisfied by F then insert Φ into MC else Stop; (I2) Compute f in such a way it minimizes the error between F and the aggregated flow of f. This approach is of course only heuristic, since the flow F, which will be deduced from the execution of the main loop of this algorithm, will not necessarily be decomposable. Processing the instruction (I2), which involves the search for the metric cut Φ, will be done by applying a local improvement heuristic procedure. In the case where K is in fact the set of the relative integers, then the problem changes its nature significantly. It is then NP-complete and tackling it must be considered with the help of heuristics. This case will be looked at again in the chapter of this book devoted to applications. 9.2.3. Queuing network If we refer to the CFA model presented in section 9.1, and in fact to most network design models, it is important to keep in mind that the multiflow object that features in it usually represents average flows that correspond to the traffic of dynamic objects: messages, vehicles, audio signals, videos, manufactured products, etc. Thus, related optimization models are tactical or strategic ones, associated with an average behavior of the system observed over a fairly long period. Propositions of scenarios likely to emerge from the numerical processing of such a model must in all cases be validated and, conversely, the dynamic analysis of the considered system should be able to provide the quality or service failures quantities W(z,f) in the CFA model. In most cases, this system will then be modeled as a queuing network, which will allow it to be simulated by QNAP2 or SIMAN software, as well as allowing the application of certain analytical formulas for obtaining timing, loss rate, congestion measuress, etc. [ASH 98, KLE 72, KLE 75, REB 00, SCH 77]. A special case for measuring these congestion rates in the case of telecommunications networks (telephone or by packets), is that of the Kleinrock delay function. This is an approximation of the sum of the average delay and transmission times on each arc of the network. It is obtained by assuming that the incoming traffic to the network (demand) follows a Poisson distribution, that the length of the messages follows an exponential distribution, and that the arrivals as well as the service times at the different nodes are independent. Each queue is therefore a queue M/M/1 (Poisson process, exponential distribution, 1 server) and

Network Design Problems: Fundamentals

273

the average delay on each arc is, to the nearest coefficient of proportionality, in the form: fe/ (ze – fe), where fe is the global mass of flow over the arc e and ze is the capacity of this arc. Kleinrock’s approximation, although very practical inasmuch as it involves a convex function W(z,f), nevertheless is not suitable for all situations, and one of the current tendencies is to try to introduce at the heart of models, sometimes with the help of learning techniques, measures of quality of service (QoS) which are as close as possible to real situations. 9.2.4. Game theory models These are the tools used most frequently [ARR 75, BON 63, BER 57, NAS 51, OWE 82] when pricing is involved. It is appropriate to distinguish two very distinct points of view, which are those of cooperative games and non-cooperative games. Cooperative games A cooperative game is a couple J = (X,V) where X is a finite set and V is a cost function which associates, with every game A of X, a number V(X) in such a way that: – V(φ ) = 0; – V is increasing: if A ⊂ B then V(A) ≤ V(B). We say that J is subadditive if, for every couple A,B of games of X, such that A ∩ B = φ, we have that V(A ∪ B) ≤ V(A)+ V(B). The core of J is then the set CO(J) of the Price vectors p = (px, x ∈ X) such that: – Σ x ∈ X px = V(X); – for every game A of X, Σ x ∈ A px ≤ V(A); Pricing seen through a cooperative game model corresponds to an imputation (and therefore decision) process of the costs on the behalf of a master operator. Let us assume, for example, that X is a set of products put onto the market by a producer P1. A quantity V(A) then represents the cost associated with a competing operator putting onto the market only products from the subset A. A system of prices which is proposed by P1 over the set of the products of X is then in the core if it is not

274

Combinatorial Optimization 3

possible, for a competing operator P2, to propose more advantageous prices than those of P1 by restricting himself to the products in A. Non-cooperative games Non-cooperative games models (see Volume 2, Chapter 4), see pricing as resulting from a natural process, which makes competing operators confronted with elastic price demands adjust their own prices and production levels. The approach here is therefore less a decision-oriented scheme than a description-oriented approach. An economic system interpreted as a non-cooperative game then appears as a set of n producers P1…Pn, who each have a decision space Λi composed of couples (pi, zi, i ∈ I), where pi represents a price vector and zi a production vector, indexed over a family of products K. Each decision system λ = {λi = (pi, zi), i ∈ I}, which reflects the global positioning of the set of the producers, corresponds to a satisfied demand vector D(λ) = (Di(λ), i ∈ I). A Nash equilibrium for the non-cooperative game defined in this way is then a vector λ such that for every i in I and every couple λ*i in Λi, we have: pi. Di(λ) – Ci(zi) ≥ p*i. Di(λ1..λ∗i...λn) – Ci(z*i) where Ci is the cost function associated with the producer Pi. Such an equilibrium therefore corresponds to a situation such that none of the producers can modify his decision without seeing his profit deteriorate. Fixed Point theory (see [SMA 74], [BER 57]), allows us to see that, in the case where the functions Ci and Di, as well as the decision domains Λi satisfy certain regularity hypotheses, then such an equilibrium must exist. Mixed models: pricing in the Ramsay–Boiteux sense For practical reasons, related to the difficulty which exists in obtaining the data involved in a cooperative or non-cooperative game model, these models are simpler, based on implementing direct formulas, which are used most often in the pricing process. The so-called Ramsay–Boiteux model thus considers a given operator, likely to manufacture goods among a finite set of goods I. They assume that the cost of one manufacturer d = (di, i in I) is a quantity C(d) and that the demand induced by a pricing system p = (pi, i in I) is a function D(p) of p. Pricing in the Ramsey– Boiteux sense is then obtained by assigning prices to the different services as an inverse function of their elasticity to the prices.

Network Design Problems: Fundamentals

275

9.3. Models and problems We will not devote ourselves here to an exhaustive enumeration of the various applications of the tools and methods of network design. Instead, we will restrict ourselves to introducing a few examples, which correspond to separate fields of application, and which involve the use of different tools. 9.3.1. Location problems A location problem corresponds to the process of embedding a network whose topology is known into a given geography, which can be represented discretely (a graph or mesh) or continuously (part of a space Rn, more often than not R2). In practice, this involves placing the nodes of the network on such a discrete or continuous domain. These nodes can be, according to the application context, receivers (mobile telecommunications network), interface devices between the local loops and the backbone of a telecommunications network, warehouses or distribution sites associated with the logistics network of an industrial group, machines in flexible workshop, or groups of basic components in a VLSI circuit. Let us consider two relatively simple examples. Locating the network access device We consider a simple graph G = (X,E), representing a discretized space. The adjacency relation E expresses a notion of neighborhood, and each edge e in E has a distance d(e). We assume that each vertex x in X has a demand coefficient D(x). 9.3.2. Steiner trees and variants The Steiner problem [HWA 92] is defined as the search, in a simple graph G = (X,E) whose edges are endowed with length coefficients, for a subfamily of edges F of E, which allows the connection between all the vertices of a certain subfamily A of X to be ensured, and which is such that the sum of the lengths of the edges of F is minimal. An interpretation is easily obtained by considering that G is a graph that represents an infrastructure likely to support the installation of telecommunications cables, that the vertices of A represent sites that we wish to interconnect at the core of the same local or proprietary network, and that the fixed cost of each connection is proportional to the length of its support edge.

276

Combinatorial Optimization 3

This problem can be formalized as follows: STEINER1 Problem: { Input: the graph G = (X,E), the length function d which associates d(e) with e in E, the family of vertices A; Variables: an integer vector z = (ze, e in E) ≥ 0; Constraints: the set of the arcs e such that ze is non-zero and induces a partial subgraph of G which is a tree that contains all the vertices of A; (C1) Objective: Minimize the quantity Σ e in E ze. d(e).} In the case where A = X, this problem is simply the minimum weight tree problem, almost linearly solvable, but in general it is NP-hard. Polyhedral approach processing This problem and those that derive from it, that is which involve connectivity constraints imposed on families of arcs or of edges that represent a communications infrastructure, are typically among those which are best fitted to a polyhedral approach [CHO 94, HWA 92, MAH 94]. The structure of the polyhedron defined by the constraints of the above problem is not known. Nevertheless certain facets are known: – if B ⊂ X is such that A ∩ B and A ∩ (X-B) are both not empty, then the constraint: Σ [x,y] ∈ E/ x ∈ B, y ∉ B z[x,y] ≥ 1 is a facet of this polyhedron; – by extension, if B1…Bk ⊂ X form a partition of X such that Bi ∩ A is not empty for every i = 1...k and such that the graph obtained by merging the elements of each block Bi, i = 1..k, is an elementary cycle, then the constraint: Σ [x,y] ∈ E/ x,y ∈ 2 different blocks Bi z[x,y] ≥ k – 1 is a facet of this polyhedron. If an integer vector z, with values in {0,1}, satisfies the first of this family of constraints then it is easy to verify that it satisfies the constraints (C1). Knowing these facets then allows the implementation of a branch/cut procedure which works according to the following recursive scheme:

Network Design Problems: Fundamentals

277

P is a set of active facets of the polyhedron defined by the constraints of the Steiner tree problem and constitutes a global variable external to the recursive function TREE; Function TREE(V: Number; Imposed, Forbidden: List(edges)): Couple(Number, List(edges)); Minimize (Linear Program) the quantity Σe in E ze. d(e), while satisfying the constraints defined by: P ∪ { for every e in Imposed, ze = 1; For every e in Forbidden, ze = 0}; Let W be the induced optimal value and z* the associated solution; If W ≥ V then TREE := (+ ∝, 0) Else If z* is integer then TREE := (z*, W) Else Generate (if possible) facets of the polyhedron of the Steiner tree which are violated by z* and insert these facets into P; Choose e in E, such that z*e is not integer; (z',W') := TREE(V, Imposed + {e}, Forbidden); (z",W") := TREE(Min(V, W'), Imposed, Forbidden + {e}); If W" < W' then TREE := (z", W") Else TREE := (z',W'). This scheme has the advantage of being easily adapted to the case of problems that contain harder constraints than the constraints (C1) above. Thus, it becomes possible to require that the set of the arcs e such that ze is non-zero induces a partial subgraph of G which ensures the connection of two vertices of A by at least two edge-disjoint paths (C2). In such an outlook, we observe that if B ⊂ X is such that A ∩ B and A ∩ (X-B) are both not empty, then the inequality Σ [x,y] ∈ E/ x ∈ B, y ∉ B z[x,y] ≥ 2 is a facet of the polyhedron associated with the constraint (C2). Conversely, if a vector z with values in {0,1] satisfies each of these constraints, then it satisfies (C2). Processing using heuristics Such a processing [AHU 01]) will be justified under the hypothesis that we wish to carry out a fast software development and that we are not in a position to be able to use the linear programming mechanism. The key to such an approach lies in the capacity of the programmer to define one or more local transformation procedures which operate on the space of the objects that satisfy the constraints (C1), (or (C2) if we are looking at an extension of the problem of the type mentioned above). Let us assume that we restrict ourselves to the tree constraints (C1).

278

Combinatorial Optimization 3

An initial approach to making such a local transformation procedure appear then consists of considering a fixed integer number k, and stating that two trees F and F are neighbors if F can be obtained from F by isolating a certain subtree U of F, which does not contain any vertex of A and whose diameter does not exceed k, and by replacing it with a subtree U of diameter at most equal to k that has exactly the same leaves as F. The subtree U having been chosen, calculating U can equate to solving the same Steiner problem for a small subgraph of G. Another possible approach derives from the fact that the Steiner problem becomes simple (the minimal weight tree problem) if we know the set of the vertices which support the tree that we must construct. This tree F can therefore be considered as being entirely determined by its set S of support vertices, and the neighborhood relations which derive from it are then particularly simple: for example S and S ⊂ X can then be considered as neighbors if the cardinality of their symmetric difference does not exceed a given number k (with k taking a small value: 1–4). We observe that these procedures no longer apply if we replace the constraints (C1) with the constraints (C2). In fact, here we find ourselves faced with an example where designing a simple heuristic based on a local transformation scheme is itself more complex than resorting to methods that use the more sophisticated formalisms of integer linear programming. Processing with the help of a flow and a multiflow model This approach [BAL 94, GOUV 95] comes down to expressing the connectivity constraints imposed on the family of edges F with the help of auxiliary variables reflecting the possibility of connecting the points of A among themselves via edges of F. For this, we assume that G is a symmetric directed graph (if an arc exists from a vertex x to a vertex y then the return arc also exists). Expressing the constraint (C1) can then be done by choosing a specific vertex xo from A and by formulating the problem as follows: STEINER2 Problem: {Variables: an integer vector z = (ze, e in E) ≥ 0; a fractional vector f = (fe, e in E) ≥ 0; Constraints: - f is a flow that transfers 1/k units of flow from xo to each of the vertices of A – xo, where k is the cardinality of A – { xo }; (the outgoing flow of xo is therefore equal to 1); - for each arc e, we have: fe ≤ ze;

Network Design Problems: Fundamentals

279

Goal: Minimize the quantity Σ e in E ze. d(e) }. Expressing the constraint (C2) is more complicated and requires the introduction of an auxiliary (multiflow) family f* = { f(x,y), x ≠ y ∈ A}, of flow vectors, indexed on the couples of vertices of A, and by reformulating the problem as follows: STEINER3 Problem: {Variables: an integer vector z = (ze, e in E) ≥ 0; a multiflow vector f* = { f(x,y), x # y ∈ A} ≥ 0, defined as below on the network G*; Constraints: - for each pair x,y in A*A, x ≠ y, g(x,y) transfers 2 units of flow from x to y and is such that, for each arc ε in G, we have: f(x,yε ≤ 1; for each cut x,y in A*A, x ≠ y, and each arc e = [u,v] of G, we have: f(x,y)e ≤ ze; Goal: Minimize the quantity Σ e in E ze. d(e) }. The models defined in this way, known as coupled flows and multiflows, will be the subject of a more in-depth investigation in Chapter 10, section 10.4. While complex, and posing particular problems because of their size, they have the advantage of allowing the extension of the stated problem to performance criteria that do not exclusively the vector z (the family of edges or of arcs F), but also involve the transfer times (lengths) induced by the different routings defined by the flow f (first model, constraint (C1)) or by the multiflow f* (second model, constraint (C2)). This increase in the expressive power of models enables us, for example, to show the Steiner tree problem as a special case of the following multiflow problem, which has applications in telecommunications: STEINER-EXTENDED Problem: {On the network G = (X, E), we consider two types of vertices, primary (P) and secondary (S). We assume that the vertex xo is primary. We consider two types of links which can be installed on the arcs of G, the primary links (P) and the secondary links (S). We then seek to calculate a multiflow f = (f(x), x ∈ X) and two primary and secondary infrastructure vectors z and y, indexed over E, with integer values such that: - f(x) transfers a quantity of flow 1 from the vertex xo to the vertex x; - for every primary vertex x and every arc e, we have f(x)e ≤ ye; - for every secondary vertex x and every arc e, we have f(x)e ≤ ze + ye;

280

Combinatorial Optimization 3

-

f, y and z minimize a cost c.z + d.y where c and d are the cost vectors associated with the primary and secondary links, respectively.}

9.4. The STEINER-EXTENDED problem On networks randomly generated from points of the plane, we obtain [BAL 94], on an IBM 4881, from a linear formulation and a dual ascent method coupled with a projection technique (heuristic): Primaries

Nodes

Edges

50

100

500

Distribution CPU time (s) EP

11

Error 0.21

50

100

500

EN

6

0.15

50

100

500

RP

6

0.06

50

100

500

RN

5

0.09

80

200

1,000

EP

56

0.08

80

200

1,000

EN

66

0.48

80

200

1,000

RP

2710

0.89

80

200

1,000

RN

274

0.68

300

400

2,000

EP

842

0.01

300

400

2,000

EN

685

0.01

300

400

2,000

RP

307

0.02

300

400

2,000

RN

1286

0.01

The following table provides us with an evaluation of the impact of the value of the proportionality coefficient which exists between the primary costs and the secondary costs, for networks that have 200 primary nodes, 500 nodes and 5000 edges. P/S ratio 2 4 10

Error 0.6 0.9 0.7

CPU time (s) 2719 1303 1272

Explanation: the symbols R and E refer to the distribution of the costs of the edges, which can be randomly generated by emulating the Euclidean distance (E). The symbols P and N refer to the fact that the costs associated with the primary and secondary links are proportional (P) or not (N).

Network Design Problems: Fundamentals

281

Comment: Note that the above gaps are very small, despite the fact that the problems are large. In fact, the fractional relaxation of the Steiner problem provides values which are in most cases integral values or equal to ½, and therefore very good approximations of the optimal value. When the network has m edges and n vertices, the linear formulation involves 2m integer (infrastructure) variables and nm fractional (multiflots) variables. This property of fractional relaxation means that we never need more than one CPU hour to process 4000 integer variables and 800,000 fractional variables. 9.5. Conclusion Network design problems refer back to fairly diverse application domains and potentially involve a very large array of software techniques and tools. Mainly motivated initially by concerns related to telecommunications, these Network design problems now arise in other domains, involving transportation and production systems, and extend their focus to pricing. It is nevertheless important to note that the models involved, which are more often of a strategic than a tactical nature, involve quantities (costs, demand, quality of service coefficients, etc.) whose acquisition and evaluation cause real difficulties. An evolution of these models, currently used prospectively, toward more operationality, presupposes progress in the field of information and data acquisition tools, and a move of these information systems towards greater integration, as well as their coupling with powerful simulation and datamining tools. 9.6 Bibliography [AHU 01] AHUJA R.K., ORLIN J.B., SHARMA D., “Multiexchange neighbourhood structures for the capacitated minimum spanning tree problem”, Math. Programming 91, p 71--97, 2001. [AHU 95] AHUJA R.K., MAGNANTI T.L., ORLIN J.B., REDDY M.R., “Applications of network optimization”, Chapter 1 of Network Models, Handbook of Operation Research and Management Science 7, p 1--83, 1995. [AHU 93] AHUJA R.K., MAGNANTI T.L., ORLIN J.B., Network Flows: Theory, Algorithms and Applications, Prentice hall, Englewood Cliffs, N.J, 1993. [AND 01] ANFRADE R., LISSER A., PLATEAU G., MACULAN N., “Simulation of the integer capacity planning under uncertain demand problem in telecommunication networks”, Proceedings EUROSIM 2001, DELFT, 2001.

282

Combinatorial Optimization 3

[ARO 89] ARON,SON J.E., “A survey on dynamic network flows”, Annals of Operations Research 20, p 1–66, 1989. [ARR 75] ARROW K.J., Choix Collectifs et Préférences Individuelles, Calmann-Levy, 1975. [ASH 98] ASHOK K., Estimation and prediction of time dependent origin-destination flows, PhD Thesis, MIT, 1998. [BALL 95] BALL M.O., MAGNANTI T.L., MONNA C.L., NEMHAUSER G.L., “Network routing”, Handbook in Operation Research Vol 8, North Holland Amsterdam, 1995. [BAR 95] BARAHONA F., “Network design using cut inequalities”, SIAM Journ on Optimization 6, p 822–837, 1995. [BARN 95] BARNHART C., HANE C.A., JOHNSON D.F., SIGISMONDI G., “A column generation and partitioning approach for multicommodity flow problems”, Telecommunication Systems 3, p 239–258, 1995. [BEN 00] BEN AMEUR W., “Constrained length connectivity and survivable networks”, Networks 36, 1, 2000. [BEN1 01] BEN AMEUR W., MICHEL N., GOURDIN E., LIAU B., “Routing strategies for IP networks”, Telektronik 2/3, p 145–158, 2001. [BENC 97] BENCHAKROUN A., FERLAND J., GASCON V., “Benders decomposition for network design problems with underlying tree structure”, Investigacion operativa 6, p 165–180, 1997. [BEND 01] BENDALI F., MAILFERT J., QUILLIOT A., “Flots entiers et multiflots fractionnaires couplés par une contrainte de capacité”, Investigacion Operativa, 9, 30 pages, 2001. [BEN 62] BENDERSZ J.F, “Partitionning procedures for solving mixed variable programming problems”, Num. Math. 4, p 238–252, 1962. [BER 57] BERGE C., Théorie des Jeux à n Personne”, Gauthier-Villars, Paris, Memorial Sciences Maths, 138, 1957. [BER 83] BERTSEKAS D.P, GAFNI E.M., “Projected Newton Methods and optimization of multicommodity flows”, IEEE Trans. Automat. Contr. AC-28, p 1090–1096, 1983. [BIE 96] BIENSTOCK D., UNLUK O., “Capacited network design: polyhedral structure and computation”, INFORMS Journal of Computing 8, p 243–259, 1996. [BIR 76] BIRD C.G., “On cost allocation on a spanning tree: a game theoretical approach”, Networks 6, p 335–350, 1976. [BOF 79] BOFFEY T., “Solving for optimal network problem”, EJOR 3, p 386–393, 1979. [BON 63] BONDAREVA O.N., “Applications of linear programming methods to the theory of cooperative games”, Problemy Kibernetica 10, p 119–139, 1963. [BRU 79] BRUYNEL G., “Computation of the nucleolus of a game by means of minimal balanced sets”, Operat. Res. Verfahren 34, p 35–51, 1979.

Network Design Problems: Fundamentals

283

[CAO 02] CAO X., SHEN H.X, MILITO R., Wirth P., “Internet pricing with a game theoretical approach: concepts and examples.”, IEEE/ACM Transactions on Networking 10, 2, p 208–215, 2002. [CHAN 93] CHANG S.GT., GAVISH B., “Telecommunication network topological design and capacity expansion: formulations and algorithms”, Telecommunication Systems 1, –p 99131, (1993). [CHA 96] CHARDAIRE P., COSTA M.C., SUTTER A., “Solving the dynamic facility location problem”, Networks 28, p 117–124, (1996). [CHA 99] CHARDAIRE P., LUTTON J.L., SUTTTER A., “Upper and lower bounds for the two level simple plant location problem”, Annals of Operation Research 86, p 117–140, 1999. [CHAR 96] CHARDAIRE P., “Multihour design of computer backbone networks”, Telecommunication Systems 6, p 347–365, 1996. [CHI 94] CHIFFLET J., LISSER A., TOLLA P., “Interior point methods for multicommodity netflow problems”, Perquisa Operacional 15, p. 1, 1994. [CHI-1 94] CHIFFLET J., MAHEY P., REYNIER V., “Proximal decomposition for multi commodity flows problems with convex costs”, Telecom. Syst. 3, p 1–10, 1994. [CHO 94] CHOPRA S., RAO M., “The Steiner tree problem I: formulations, composition and extension of facets”, Math. Programming 64, p 209–229, 1994. [CHR 81] CHRISTOPHIDES L., WHITLOCK C.A., “Network synthesis with connectivity constraint: a survey”, Operations Research, p 705–723, 1981. [COC 93] COCCHI R., ZHENKER S., ESTRIN D., ZHANG L., “Pricing in computer networks: motivation, formulation, and example”, IEEE/ACM Transactions on Networking 1, p. 614–627, 1993. [CON 93] CONSTANTIN I., L’optimisation des fréquences d’un réseau de transport en commun, Rapport CRT 881 (PhD Thesis, Dir. M. Florian), University of Montreal, 1993. [COO 63] COOPER L., “Location allocation problems”, Operations Research 11, p 33–1343, 1963. [COR 98] CORDEAU J.P., TOTH P., VOGO D., “A survey of optimization models for train routing and scheduling”, Transportation Science 32, p 380–404, 1998. [CRA 00] CRAINIC T., GENDREAU M., FARVOLDEN J.M., “A simplex based tabu search method for capacitated network design”, INFORMS Journal on Computing 12, p 223–236, 2000. [CRA 01] CRAINIC T., FRANGIONI A., GENDRON B., “Bundle based relaxation methods for multicommodity capacitated fixed charge network design”, Discrete Applied Math. 112, p 73–99, 2001. [CUR 85] CURIEN N., “Cost allocation and pricing policy: the case of French telecommunications”; in Cost Allocation : Methods, Principles, Applications, Ed H.P. Young, Chapter 9, Elsevier Sciences, p 167–178, 1985.

284

Combinatorial Optimization 3

[DAF 82] DAFERMOS S., “The general multimodal network equilibrium problem with elastic demands”, Network 12, p 57–72, 1982. [DAG 77] DAGANZO C., “On the traffic assignment problem with flow dependent costs-II”, Transportation Research 11, p 439–441, 1977. [DAH 94] DAHL G., STOER M., “A polyhedral approach to multicommodity survivable network design”, Numerisch Mathematik 68, p 149–167, 1994. [DAS 89] DASKIN M.S., PANAYATOPOULOS M.D., “A lagrangean relaxation approach to assigning aircraft to routes in hub and spoke networks”, Transportation Science 23-2, p 91–99, 1989. [DEM 89] DEMBO R.M., MULVEY J.M., ZENIOS S.A, “Large scale non linear network models and their applications”, Operations Research 37-3, p 353–372, 1989. [DIO 79] DIONNE A., FLORIAN M., “Exact and approximate algorithms for optimal network design”, Networks 9, p 37–59, 1979. [DRE 88] DREYFUS C., SIARRY P., “La Méthode du Recuit Simulé”, IDEST PARIS, 1988. [DRE 95] DREZNER S., Facility Location: A Survey of Applications and Methods, SpringerVerlag, 1995. [ECO 91] ECONOMIDES A., SILVESTER J., “Multiobjective routing in integrated service networks: a game theory approach”, Proc IEEE INFOCOM 91, p 1220–1227, 1991. [EIS 93] EISELT H.A., LAPORTE G., THISSE J.F., “Competitive location models: a framework and bibliography”, Transportation Sciences 27, p 44–54, 1993. [ENA 99] ENAMORADO J.C., Gomes T., Ramos A., “Multiarea regional interconnection planning under uncertainty”, In Proceedings 13 th Power Systems Computing Conference, 1999. [EKE 74] EKELAND I., La Théorie des Jeux et ses Applications à l’Economie Mathématique, Presses Universitaires de France, 1974. [FER 94] FERREIRA FILHO V.,, GALVAO J., “A survey of computer network design problems”, Investigacion Operativa 4, p 183–211, 1994. [FLO 84] FLORIAN M., “An introduction to network models used in transportation planning”, in M. Florian Ed, Transp. Plan. Models, North Holland, Amsterdam, p 137–152, 1984. [FOR 62] FORD R.L., FULKERSON D.R., Flows in Networks, Princeton University Press, 1962. [GAL 83] GALLO G., “Lower planes for the network design problem”, Networks 13, p 411– 426, 1983. [GAL 79] GALLO G., SODINI C., “Concave cost optimization on networks”, EJOR, p 23–9249, 1979. [GAR 98] GARCIA B.L, MAHEY P., LEBALNC L., “Iterative improvement methods for a multiperiod network design problem”, EJOR 110, p 150–165, 1998. [GA 79] GAREY M., JOHNSSON D., Computers and Intractability, W. Freeman and Co, 1979.

Network Design Problems: Fundamentals

285

[GAV 89] GAVISH B., NEUMAN I., “Routing in a network with unreliable components”, IEEE Trans on Communications 40, p 1248–1258, 1992. [GAV 91] BAVISH B., “Topological design of telecommunication networks: local access design methods”, Annals of Operation Research 33, p 17–71, 1991. [GEN 93] GENDREAU M., LAPORTE G, MESA J.A., Locating rapid transit lines: decision criteria and methodology, Report CRT 907, University of Montreal, 1993. [GEO 74] GEOFFRION A., “Lagrangean relaxation and its uses in integer programming”, Math. Prog. Study 2, p 82–114, 1974. [GEO 72] GEOFFRION A., “Generalized Benders decomposition”, Journal of Optimization Theory and Applications 10, p 237–260, 1972. [GIB 99] GIBBENS R.P., KELLY F.P., “Resource pricing and the evolution of congestion control”, Automatica 35, 12, p 1969–1985, 1999. [GIR 93] GIRARD A. LIAU B., “Dimensioning of adaptatively routed networks”, IEE/ACM Transactions on Networking 1–4, p 460–468, 1993. [GLO 89] GLOVER F., “Tabu Search I”, ORSA Journal of Computing 1–3, p 190–206, 1989. [GOF 97] GOFFIN J.L., GONDZION J., SARKISSIAN R., VIAL J.P.., “Solving non linear multicommodity flow problems by the analytic center cutting plane method”, Math. Prog. 76, p 131–154, 1997. [GOL 89] GOLDBERG A., TARJAN R., “Finding minimum cost circulation by cancelling negative cycles”, JACM 36 (4), p 873–886, 1989. [GOUV 95] GOUVEIA L., “Multicommodity flow models for spanning trees with hop constraints”, EJOR 95, p 178–190, 1995. [GRA 92] GRANOT D., GRANOT F., “On some network flow games”, Math. Operations Research 17, p 792–841, 1992. [GRA 84] GRANOT D., HUBERMAN G., “On the core and nucleolus of minimum spanning tree games”, Math. Programming 29, p 323–347, 1984. [GRO 92] GROTCHEL M., MONNA C.L, STOER M., “Computational results with a cutting plane algorithm for designing communication networks with low connectivity constraints”, Operations Research 40, p 309–330, 1992. [GRO 81] GROTSCHEL M., LOVACZ M., SCHRIJVER A., “The ellipsoid method and its consequences in combinatorial optimization”, Combinatorica 1, p 70–89, 1981. [GRO 95] GROTCHEL M., MONNA C.L, STOER M., “Design of survivable networks”, In Network Models, p 617–672, North-holland, Amsterdam, 1995. [GRO 90] GROTCHEL M., MONNA C.L, “Integer polyhedra arising from certain network design problems with connectivity constraints”, SIAM Disc Math. 3, p 502–524, 1990.

286

Combinatorial Optimization 3

[HOA 82] HOANG H., “Topological optimization of networks: a non linear mixed model employing generalized Benders decomposition”, IEEE Trans on Automatic Control AC27, p 164–169, 1982. [HOS 87] HOSSEIN P.A, BERTSEKAS D.P., TSENG P., “ Relaxation methods for network problems with convex arc costs”, S.I.A.M Journ. on Control and Optimization 5, 25, p 121–91243, 1987. [HWA 92). HWANG F.K, RICHARDS D.S, WINTER P., The Steiner Tree Problem, North Holland, 1992. [JAI 97] JAILLET P., SONG G., YU G., “Airline network design and hub location problems”, Location Science 4-3, p 195–212, 1997. [JAU 98] JAUMARD B., MARCOTTE O., MEYER M., “Mathematical models and exact methods for channel assignment in cellular networks”, In B. Sanso, P. Soriano, Eds, Telecommunications Network Planning, Kluwer, 1998. [JOC 66] JOCKSH H., “The shortest route problem with constraints”, Journal of Math. Analysis and Applications 14, p 191–197, 1966. [JOH 78] JOHNSON D., LENSTRA J., RINNOY KAN A., “The complexity of the Network Design Problem”, Networks 8, p 279–285, 1978. [JON 93] JONES K.L, LUSTIG I.J, FARVOLDEN J.M., POWEL W.B., “Multicommodity network flows : the impact of formulation on decomposition”, Math. Prog. 62, p 95–117, 1993. [KAL 82] KALAI E., ZEMEL E., “Totally balanced games and games of flows”, Math. Operat. Research 7, p 476–478, 1982. [KAT 96] KATZELA I., NAGHSINEH M., “Channel assignment schemes for cellular mobile telecommunication systems: a comprehensive survey”, IEEE Personnal Communications, p 10–30, 1996. [KEN 80] KENNINGTON J.L, HELGASON R.V, Algorithms for Network Programming, Wiley, 1980. [KHU 72] KHUMALALA B.M., “Warehouse location problem efficient branch and bound algorithm”, Management Sciences B 18, p 718–731, 1972. [KLE 72] KLEINROCK L., Communications, Nets, Stochastic Messages Flow and Delay, Dover, 1972. [KLE75] KLEINROCK L., “Queuing Systems: Volume 1, Theory”, Wiley, 1975. [LA 99] LA R.J, ANANTHARAM V., “Network pricing using game theoretic approach”, In Proc 38 th IEEE Conf Decision and Control, vol. 4, p 4002–4007, 1999 . [LAS 70] LASDON L.S., Optimization Theory for Large Systems, MacMillan, 1970. [LEB 73] LEBLANC L., Mathematical programming models for large scale network equilibrium and network design problems, PhD thesis, NorthWestern University Evanston, 1973.

Network Design Problems: Fundamentals

287

[LEB 75] LEBALNC L., “An algorithm for discrete network design”, Trans. Sci. 9, p 28–3287, 1975. [LEB 81] LEBLANC L., FARHANGIAN K., “Efficient algorithms for solving elastic demand traffic assignment problems and mode split assignment problems”, Transp. Sci. 15, p 30– 6317, 1981. [LED 93] LEDERER P.J., “A competitive network design problem with pricing”, Transportation Sciences 27, p 25–38, 1993. [LEB 99] LEBLANC L., CHIFFLET J., MAHEY P., “Packet routing in telecommunication networks with path and flow restrictions”, INFORMS Journal of Computing 11, 2, 1999. [MAC 91] MACGREGOR J., WINTER P., “Topological Network Design”, Annals of Operation Research 33, 1991. [MAG 78] MAGNANTI T.L., GOLDEN B.L., “Transportation planning: network models and their implementation”, in A.C. HAX ed:., Studies in Operation Management, p 465–518, 1978. [MAG 93] MAGNANTI T.L., MIRCHANDANI P., “Shortest paths, single origin-destination network design, and associated polyhedra”, Networks 23, 2, p 103–121, 1993. [MAH 98] MAHEY P., OUOUROU. A., LEBLANC L., CHIFFLET J., “A new proximal decomposition algorithm for routing in telecommunication networks”, Networks 31, p 227–238, 1998. [MAH 01] MAHEY P., BENSHAKROUN A., BOYER F, “Capacity and flow assignment of data networks by generalized Benders decomposition”, Journal of Global Optimization 20, p 173–193, 2001. [MAH 94] MAHJOUB A.R., “Two edge connected spanning subgraphs and polyhedra”, Mathematical Programming 64, p 199–208, 1994. [MAH 05] MAHJOUB A.R., “Méthodes polyédrales”, Paschos, V.Th., Ed., Optimisation Combinatoire : Concepts Fondamentaux, chapter 8, Hermes, Paris, 2005. [MAK 95] MACKNIGHT L.W., BAILEY J.P., Internet Economics, MIT PRESS, Cambridge, 1995. [MAU 99] MAUBLANC J., PEYRTON D., QUILLIOT A., “Multiple routing strategies in a labelled graph”, Investigacion Operativa 7, 3, p 101–133, 2001. [MINI 78] MINIEKA E., Optimization Algorithms for Networks and Graphs, Marcel Dekker Inc., 1978. [MIN 87] MINOUX, M., “Network synthesis and dynamic network optimization”; In Martello S., Laporte G., Minoux M., Ribeiro C., Eds., Surveys in Combinatorial Optimization, Chapter 9, p 283–324, North Holland, 1987. [MIN 89] MINOUX M., “Network synthesis and optimum network design problems: models, solution methods and application”, Networks 19, p 313–360, 1989.

288

Combinatorial Optimization 3

[MIN 81] MINOUX M., “Optimum synthesis of a network with non simultaneous multicommodity flow requirements”, P. Hansen ed., Studies on graphs and Discrete Programming, Annals of Disc. Math. 11, North Holland, p 269–277, 1981. [MIN 75] MINOUX M., “Plus courts chemins Télécommunications 30, p 383–394, 1975.

avec

contraintes”,

Annales

des

[NAG 88] NAGAMOCHI H., Studies on multicommodity flows in directed networks, Eng. Doc. Thesis, Kyoto University, 1988. [NAS 51] NASH J., “Non cooperative games”, Ann. of Math. 54, p 286–295, 1951. [ORD 93] ORDA A., ROM R., SHIMKIN N., “Competitive routing in multiuser communication networks”, IEEE/ACM Trans Networking 1, p 510–521, 1993. [OUO 00] OUOROU A., MAHEY P., VIAL J.P., “A survey of algorithms for convex multicommodity flow problems”, Management Science 46, 1, p 126–147, 2000. [OUO1 00] OUOROU A., “A minimum mean cycle cancelling method for non linear multicommodity flow problems”, EJOR 121, p 532–548, 2000. [OWE 82] OWEN G., Game Theory, Academic Press, 1982. [PAR 98] PARDALOS P.M., DU D.Z., “Network design: connectivity and facility location”, DIMACS Series 40, N.Y, American Math. Society, 1998. [PEA 86] PEARL J., Heuristics, Prentice Hall, 1986. [PEA 74] PEARMAN A.D., “Heuristic approaches to network optimization”, Optimization 1, p 37–49, 1974. [QUI 85] QUILLIOT A., “A retraction problem in graph theory”, Disc. Math. 54, p 61–71, 1985. [REB 00] REBAI R., Optimisation de réseaux de télécommunications avec sécurisation, Thesis, Paris-Dauphine, 2000. [SCH 77] SCHWARTZ M., Computer Communication Network Design and Analysis, Prentice Hall, 1977. [SHA 71] SHAPLEY L.S., “Cores of convex games”, Int. J .Game Theory 1, p 11–26, 1971. [SMA 74] SMART D.R., “Fixed point theorems”, Cambridge Tracts in Mathematics 66, 1974. [SPI 85] SPINGARN J.E., “Applications of the method of partial inverse to convex programming decomposition”, Math. Programming 32, p 199–223, 1985. [STE 74] STEENBRINK P.A., Optimization of Transport Networks, Wiley, 1974. [STE 69] STEIGLITZ K., WEINER P., KLEITMAN D.J., “The design of minimum cost survivable networks”, IEEE Trans and Circuits Theory 16, p 455–460, 1969. [TAM 91] TAMIR A., “On the core of network synthesis games”, Math. Programming 50, p 123–135, 1991.

Network Design Problems: Fundamentals

289

[TSE 90] TSENG P., “Dual ascent methods for problems with strictly convex costs and linear constraints : a unified approach”, SIAM Journal on Control and Optimization 28, p 214– 242, 1990. [WON 80] WONG R.T., “Worst case analysis of network design problem heuristics”, SIAM J. Alg. Disc. Meth. 1, p 51–63, 1980. [YAG 73] YAGED B., “Minimum cost routing for dynamic network models”, Networks 3, p 315–331, 1973. [YAM 96] YAMAOKA K., SAKAI Y., “A packet routing method based on game theory”, Trans Inst Electronics, Information and Communication Engineers B-I, J79B-I, p 73–79, 1996.

Chapter 10

Network Design Problems: Models and Applications

10.1. Introduction In Chapter 9, we introduced the conceptual basis of network design problems, and we illustrated this with the help of a generic model: Sample problem CFA: capacitated flow assignment. {Find, on an initial network G = (X,E), which defines a support topology, an infrastructure vector z ≥ 0 ∈ Z and a multiflow f = (fi, i in I) ≥ 0 such that: – C1(z) (structural constraints on z, which can be discrete or real and constrained for security reasons; we could for example require of z that it allows the transit of a certain type of message by at least two arc disjoint paths). – For every arc e in E, ze ≥ f*e or f* returns an aggregate vector (more often than not the sum) constructed from the components of the multiflow f – Each component fi of the multiflow f transfers a certain average demand Mi from a set of origin vertices Oi to a set of destination vertices Di. Zmin = U(z) (installation cost) + V(z,f) (operational cost linked to y) + W(z,f) (measure of service failure associated with y) is the smallest possible.} We then proposed a taxonomy of network design problems, based on the fact that: Chapter written by Alain QUILLIOT.

292

Combinatorial Optimization 3

– the importance taken by the quality of service (QoS) leads us to introduce performance functions W(x,f) that are more and more complex; – taking into account the variations in traffic over time leads to the introduction of dynamic or timed networks [ARO 89, CHAR 96, YAG 73]; – introducing real and virtual networks leads to generalization of the notion of paths or routing [BAL 98, CON 93, GIR 93, JAU 98, REB 00]; – considering z as being fixed means dealing with a routing problem [ASH 98, BALL 95, BN1 01, COR 98, ECO 91, GAV 89, ORD 93, OUO 00]; – assuming that the support topology G = (X,E) or its location inside a given geography are not entirely known means handling location problems [CHA 99, CHO 94, COO 63, DRE 95, DRE 98, EIS 93, JAI 97, KHU 72]; – considering a price vector p, indexed as the multiflow f, as part of the unknown object, means dealing with pricing [CAO 02, COC 93, CUR 85, MAK 98]. The problems given in this way have the following characteristics: – they are large, and often allow several local optima; – they are often naturally decomposable; – explicitly formatting the structure constraints C1(z) can be very complex, and requires handling specific cut constraints. Their processing and the use of this processing in an operations outlook furthermore leads us to ask several questions: – that of acquiring and modeling the input data of the models [LEE 95, KLE 72, ASH 98, BER 87]. These data can be very complex because they are related to both the state of this system as it exists at a given instant considered and its behavior over time if it is modified: performance and reliability measures, elasticity of demand with regard to the prices or to levels of quality, estimation of costs. Acquiring these data assumes that an information system already exists, specific to the system, which is sufficiently well structured, and the implementation of adequate datamining, simulation and real-time control techniques. The estimation of the levels of approximation associated with these data obviously affects the level of algorithmic performance that it is appropriate to aim for. – that of how to use the results induced by algorithmically processing these models [MAK 98, DRE 98, CUR 85, CAM 02]. These are intended to be decisionmaking assistance models, and because of this we must identify the way in which they will actually be included at the heart of the decision process. In many cases, this will involve generating long-term scenarios, and accompanying this with studies made in parallel on the technical and financial sides, but in other cases it will mean

Network Design Problems: Models

293

proposing reorganization schemes. In the second case, it will be necessary to acquire appropriate tools for the a priori evaluation of such a decision and of its degree of acceptance by its environment. At the level of the methods applicable to these problems, we principally distinguish: – heuristic methods [AHU 01, CRA 00]; – methods derived from continuous optimization [MAH 98]; – methods based on fractional, integer or mixed linear programming: branch and cut [BIE 96, CHO 94, GRO 90, MAHJ 94], flows and multiflows [CRA 01, GOUV 95, LEB 73, NAG 88]; – methods derived from game theory [CAO 02]. Applications are mainly related to telecommunications [CAM 02, CHAN 93, CHAR 96, COC 93, GAV 91, GER 77, GIR 93, JAU 98, KAT 96, LEB 99, MAH 01, REB 00] and transport [ASS 80, BALI 61, BERT 98, CON 93, COR 98, DAS 89, DEJ 87, FLO 84, HEL 98, JAI 97, LED 98, MARI 96, VIJ 93] (see also Chapter 1 of this book) but also, to a lesser degree, the management of energy production systems, that of the production systems, as well as the design of electronic circuits [AHU 95, DEV 96], DOM 68, DRE 95, EDG 78, KHU 72, MAR 97, NAK 81, NOR 87, PER 84, PERC 87, SCO 96]. We are going to look at applications of network design. We will present simplified examples concerning transport, production and telecommunications, and describe numerical experiments. 10.2. Models and location problems A location problem corresponds to the process of embedding a network whose topology is known into a given geography, which can be represented as a discrete object (a graph or mesh) or as a continuous one (part of a space Rn, more often than not R2). In practice, this involves locating the nodes of the network on such a discrete or continuous domain. These nodes may be, depending on the context, receivers (mobile telecommunications network), interface devices between the local loops and the backbone of a telecommunications network, warehouses or distribution sites associated with the logistics network of an industrial group, machines in a flexible workshop, or groups of basic components inside some VLSI circuit. Let us consider two relatively simple examples.

294

Combinatorial Optimization 3

10.2.1. Locating the network access device We consider a simple graph G = (X,E), representative of a discrete space. The adjacency relation E expresses a notion of neighborhood, and every edge e in E has a distance d(e). We assume that every vertex x in X is provided with a group of clients, who demand a quantity Dx of network access. Lastly, we assume that we have a family M of device types, and that a cost Cost(x,m) and a capacity Cap(m) corresponds to each device of type m ∈ M. The aim of the problem is then to locate access devices on the vertices of G, and to connect the clients on these devices, in such a way that: – a client is connected to a device located in his neighborhood; – the capacities of the devices are compatible with demand; – the induced costs, sum of the installation costs Cost(x,m) and connection costs proportional to the length of the connections, are minimal. Modeling this problem as an integer linear program is as follows [CHA 99, DRE 98, EIS 93, GAV 91]: Problem LOC1: {Variables: zx,m, x ∈ X, m ∈ M, with values in Z, that fix the number of devices of type m placed on the vertex x; f c,x,m, c ∈ X, x ∈ X such that [e,x] ∈ E, m ∈ M, with values in {0,1}, whose significance is that the demand which is issued from the client vertex c is likely to be addressed by the devices of type m which are located in x. Constraints: For every c in X, Σ x, m f c,x,m = 1; For every x in X, m in M, Σ c Dc. f c,x,m ≤ z x,m. Cap(m); Goal: Minimize Σ x,m Cost(x,m).z x,m + A. Σ x,c,m f c,x,m. d(c,x), where A is a coefficient of scale}. Methods The problem formulated in this way is NP-complete and it is therefore better to process it through heuristics, partly since the measure of the quantities Cost(x,m) and Dc, crucial in this model, can only be approximate.

Network Design Problems: Models

295

We can observe that: – knowing the variables zx,m, that is the location and the types of devices used, and relaxing the integrity constraints on the variables fc,x,m, reduces the problem on f to a flow problem; – knowing a priori groups of clients who will be connected to the same vertices by the same type of machine separates the problem into a family of subproblems of location of one single vertex in the graph; – knowing, for each vertex x, clients who will be connected to the vertex x, separates the problem into a family of knapsack problems. Several approaches can then be considered, with the aim of a global treatment: – An approach based on a relaxation of the integrality constraint that carries f, then applying a Benders decomposition to the relaxed problem, with the flow problem that carries f constituting the slave problem. We will disrupt each flow subproblem induced in this way in such a way that each capacity zx,m.Cap(m) is nonzero, in order to extract dual quantities that are significant in terms of subgradient direction. Once this scheme has been applied, we correct the effects of the relaxation using heuristic projection. – A heuristic approach using local transformations designed by considering that, taking into account the previous observations, the problem is solved once we know the partition P of the set of the clients defined by: two clients c and c' are Pequivalent if they are attached to the same vertex x. The related algorithmic scheme A-LOC1 will have the following form: Initialize P; Not Stop; While Not Stop do Compute, for each component p of P, the vertex x to which the client elements of p and the associated devices will be attached; Evaluate the induced result and store of this result if it improves on the current result; Test and possibly apply a local transformation operator to P; Update Stop; This will rely on local transformation operators which operate on the space of the partitions of the client vertex set by: – merging two components p1 and p2 from the partition P; – splitting one component p of P into two pieces p1 and p2; – considering two components p1 and p2 of r and transferring to p2 a part q of p1.

296

Combinatorial Optimization 3

10.2.2. Locating machines and activities at the core of a production space Here we consider a production space at the core of which various products will be manufactured or processed with the help of machines [DRE 95, COO 63, MIR 90]. We denote by M the set of types of machines used, and we assume that for each type m in M, we have N(m) machines of type m. Knowing the ranges of manufacture, average demand and loss rates means that we consider as known, for every couple m,m' in M, the average flows Fm,m' of materials or information which must transit from the set of machines of type m to the set of machines of type m'. To simplify, we assume here that these flows are measured according to a single unit measure (which is not generally the case: an assembly process, for example, takes objects of different types in order to manufacture a new more complex one, and knowing the weight of a set of such grouped objects does not allow us to identify a flow). We also assume that we know, for every type of machine m, the incoming or outgoing flow capacity Cap(m) that a machine of type m is likely to support per unit of time. We now wish to locate the machines that we have available in the core of a space E, in such a way as to: – satisfy various distance and security constraints; – minimize the costs inherent in the transfer of objects inside E; – satisfy the capacity constraints inherent in the machines and the potential locations. A model for this problem is then obtained by discretizing E (carving the space up into zones) by providing the discretized space E with a distance d, and by considering that each vertex x (or point) of E has a housing capacity T(x) and that a housing measure p(m) corresponds to each type of machine m in M. We denote by S the set of the machines that we have available. Our problem is formulated as follows: Problem LOC2: {Variables: – for each machine s in S, of type m(s), the vertex x(s) on which this machine will be positioned; – for each couple of machines s,s', the flow fs,s' measures the quantity of product which transits per unit of time from s to s'; Constraints: – for each couple m,m' of types of machines, Σ s/ m(s) = m, s'/ m(s') = m' fs,s' = Fm,m'; – for every machine s of type m, Σ s' fs,s' ≤ Cap(m); (2)

Network Design Problems: Models

297

– for every couple of machines s, s', d(x(s), x'(s')) ≥ L(m,m') = distance between two machines of types m and m'; – for every vertex x, Σ s/ x(s) = x p(m(s)) ≤ T(x); Goal: Minimize the sum of the transfer costs: Σ s, s' fs,s'. d(x(s), x'(s')).} Comment: the distance d is used here in the same way to quantify the distance constraints and to measure the transfer costs or times. This involves a simplification, which may be abusive. In fact, we are often led to differentiate proximity measures corresponding to these different notions. Methods The location problem formulated in this way shows similarities to graph coloring and frequency assignment problems [BOR 98, JAU 98, KAT 96], while including a “routing” component. A mixed linear formulation is obtained fairly easily by introducing ({0,1}) decision variables zs,x whose signification is zs,x = 1 if and only if the machine s is located on the vertex x. Such a formulation nevertheless contains a large number of variables and constraints. Taking into account the strong level of approximation with which the model is necessarily tainted, it is better to proceed heuristically, by applying an A-LOC2 scheme of the following type: Initialize the location object x* = (x(s), s in S); Not Stop; While Not Stop do Solve the linear program that concerns the flow object f = (fs,s', s and s' in S), obtained by considering that x* is fixed; Modify x* in such a way that the quantity Σ s,s' fs,s'.d(x(s),x'(s')) decreases; Update Stop; The local operators which are likely to be applied to the object x* may correspond: – to the moving of all or a part of the machines borne by a vertex x in the direction of a neighbor x'; – to an exchange, for two vertices x and x', of certain of the machines borne by x and x', respectively; (location subproblem on two vertices); – to the repositioning, for a given type of machine, of the set of the machines that correspond to this type on the vertices of X, with the other machines remaining fixed; (this returns us, in the case where no transfer takes place between two machines of the same type, to a generalized matching problem in a bipartite graph).

298

Combinatorial Optimization 3

10.3. Routing models for telecommunications The routing problem [BALL 95, BEN 01, ECO 91, GAV 89, LEB 99, MAH 98, ORD 93, OUO 00] arises with a fixed communication infrastructure. It aims to develop rules for managing the traffic over the network, in a way that minimizes transfer times and loss rates. For a given period, for which the traffic follows the same probability distribution, this therefore involves giving, for each type of message T and each origin/destination concerned by T, the path or paths which will be followed by a message of type T from o to d. The relevance of a formulation depends strongly on the technologies on which we are working, and more specifically on what happens at the nodes level: possible fragmentation of the messages into pieces transferred along different paths, a single path for each couple o/d, distinction between real path and virtual path, real time constraints linked to the impossibility of delaying certain messages, etc. One classical formulation, adapted for packet transmission networks, involves a network G = (X,E), whose arcs have capacities. These arcs represent transmission links or nodes (routers, hub, etc.). They are the image of the basic physical network through an adapted transformation. The unknown object is then a multiflow f = (f(k), k ∈ K), where K indexes a family OD of couples (ok, dk) of origin/destination vertices, with each one bearing an average traffic demand Dk. The problem is then formalized in the following way: Problem PACKET-ROUTING: {Input: the network G = (X,E), the set K and the family OD, the demand vector D = (Dk, k ∈ K), the capacity vector C = (Ce, e ∈ E), the cost functions Φe, e ∈ E; Unknown object: the multiflow f = (f(k), k ∈ K) ≥ 0; Constraints: – for every arc e in E, Σ k ∈ K f(k)e ≤ Ce; – each flow f(k) transfers the demand Dk from an origin ok to a destination dk; Goal: Minimize the quantity Σ e ∈ E ΦCe (Σ k ∈ K f(k)e )}. This model is very suitable for the touting problem on packet switching networks, which allow branching and delay, that is the pieces of the same message follow different paths and are delayed. The cost function Φe which is the most frequently used is then the convex function of Kleinrock: ΦCe (h) = f/(Ce – h ), which measures the average delay due to the congestion effect induced on the arc e of capacity Ce by the traffic h. This

Network Design Problems: Models

299

function can be replaced by a linear cost, with each capacity constraint then being “hardened” in the form Σ k ∈ K f(k)e ≤ p.Ce, p being a coefficient between 0.5 and 0.7. This model is a deterministic model, based on the notion of an average. Certain additional constraints can be taken into account: – Hop constraints: the length of the different paths followed by the messages can be limited by a number A (in most cases we have A = 3, 4 or 5). In this case, we use an arc/path formulation which expresses each flow f(k) as a linear combination of the flows associated with paths that link the origin ok to the destination dk. – Distinct path constraints: these limit the number of distinct paths used for the same flow f(k) (number of branchings), with the same consequence. – Capacity constraints: it is sufficient to split each node in such a way as to cause a fictive arc to appear to return to the standard case. – Priority constraints: this type of constraint is hard to model. We can, however, proceed here again by hardening the capacity constraints in the form (example of 2 levels of priority): - sum of the rapid flows transiting over the arc e ≤ qe.Ce, where qe is a coefficient smaller than 1; - sum of all the flows transiting over the arc e ≤ Ce. Then we linearize the objective function according to: Σ e ∈ E (W/Ce) (Σ k ∈ K, k has priority f(k)e ) + (w/Ce) (Σ k ∈ K, k does not have priority f(k)e), where W and w are priority and non-priority weighting coefficients. The methods that can be used are then typically those presented in Chapter 9, which is dedicated to fundamentals: use of libraries (CPLEX, OSL, etc.) in the linear case (taking care with regard to degeneration effects), Lagrangian decomposition, column generation and Dantzig–Wolfe decomposition, proximal decomposition, flow deviation method, etc. 10.3.1. Numerical tests We go back to the PACKET-ROUTING problem. The tests are taken from [MAH 98], [OUO 00] and [LEB 99]. They are performed here using the flow deviation algorithm, which can be adapted equally well to the linear case and the

300

Combinatorial Optimization 3

convex case (in the case where ΦCe is the Kleinrock function), as well as (last battery of tests) a proximal decomposition algorithm. The networks involved are derived from real networks, managed by Telecommunications operators. The representations of the multiflows used here are of the arc/paths type. Notably, incorporating additional constraints (hop, priorities, node constraints, etc.) is tested. We obtain (tests carried out on the VAX solver): Convex model with Kleinrock function and hop constraints Example Nodes/arcs/K

Hop-limit

1 2 3 4 5 6 7 8 9

None 5 4 None 5 4 None 5 4

106/912/11130 106/912/11130 106/912/11130 21/68/420 21/68/420 21/68/420 19/68/30 19/68/30 19/68/30

Value-Opt-B

CPU(s)

177.4 177.4 179.2 53.7 53.8 61.4 23.6 23.6 23.7

50 993 736 1.0 0.4 0.2 1.0 0.4

Linear model with priority constraints. Example 1 4

CPU time (s) 127 17

Deviations-number 75 1495

The following tests, carried out on a SUN SPARC 10/30 station, allow us to compare the performances of a proximal decomposition method (Prox) with those of a flow deviation method (FD): Example

CPU-Prox

106/904/4452 22.08 106/904/6678 33.74 106/904/11130 76.93

IterationProx 4 6 24

CPU-FD 73.5 146.2 355.8

Deviations (nodes/arcs/K) 50 91 219

Comment: Here we manage almost exactly, and in a reasonable time, problems which are fractional linear problems or convex optimization problems, of large size. The tests carried out do not allow us to discern a tendency in terms of timecomplexity of these algorithms with regards to the parameters of the problem which

Network Design Problems: Models

301

are the numbers of vertices, arcs and origin/destination couples. We observe that introducing hop or priority constraints has little effect on the behavior of the algorithms in the above examples. On the tests presented here, the behavior of the proximal algorithm is better than that of the classical flow deviation algorithm. 10.4. The design or dimensioning problem in telecommunications The network dimensioning problem [AND 01, BENC 97, BIE 96, CHAN 93, CRA 00, CRA 01, FER 94, GAL 83, MAG 93, MAH 01] comes as a master problem for the routing problem, by replacing the pre-existing capacities Ce by unknown ones z = (ze,i, e ∈ E, i ∈ I) with values in {0,1}, whose semantics are: ze,i will be equal to 1 if and only if we decide to install a connection of type i on the arc e, with the set I denoting a set of types of connections, each one with its own technical characteristics. The exact formulation of the problem depends on the technologies, and tends to resemble the following bilevel model: Problem CFA-DESIGN: Input: the network G = (X,E), the families K and OD, the demand vector D = (Dk, k ∈ K), a capacity vector C = (Ce,i, e ∈ E, i ∈ I), cost functions Φe,i e ∈ E, i ∈ I, fixed costs (Qe,i, e ∈ E, i ∈ I), a coefficient of scale λ; Unknown object: The vector f = (f(k)e,i, k ∈ K, e ∈ E, i ∈ I) ≥ 0, which provides the quantity f(k)e,i of traffic transferred from ok to dk transiting with the help of a connection of type i; The vector z = (ze,i, e ∈ E, i ∈ I) with values in {0,1}; Constraints: For every k in K, the vector f*(k) = (Σ i ∈ I f(k)e,i, e ∈ E) is the flow which transfers the demand Dk from the origin ok to the destination dk; For every arc e, Σ i ∈ I ze,i ≤ 1 (if we intend to locate several connections on the same arc, we just need to split the arcs). For every arc e in E, Σ k ∈ K f(k)e,i ≤ ze,i.Ce,i (coupling constraint); Goal: Minimize Σ e ∈ E, i ∈ I ( Qe,i. ze,i + λ. Φe,i (Σ k ∈ K f(k)e,i )}. Taking into account reliability constraints [BAL 98, BEN 00, CHR 81] will translate the need of the implemented infrastructure to “survive” localized failures. They are expressed more often than not by lower limits on the connectivity of the graph described by the various connections put into place. For example, we may wish, for every origin/destination couple l = (ok, dk) taken from a certain family L of OD, to link ok to dk with at least n(l) edge disjoint paths of which all the arcs bear connections of quality at least equal to a standard i(I). This constraint is mathematically formulated as follows:

302

Combinatorial Optimization 3

For subset A of x, which contains ok and does not contain dk, Σ 1 ≤ i ≤ i(l) Σ e/ ok ∈ A, dk ∉ A z e,i ≥ n(l) and must be managed implicitly, through cut generation. The most commonly used methods are Master/Slave decompositions of the Benders type, or combinations of a scheme of relaxation of the coupling constraint (Lagrangian relaxation) or the integrity constraint and a cut construction mechanism involving the integer vector z. 10.4.1. Numerical tests Here we consider the mixed linear variant of the CFA-DESIGN problem, defined by the fact that one single type of connection is considered (Card(I) = 1), that the vector z, which expresses the number of connections placed on each link, takes positive integer values, and that the objective function to be minimized is linear both in z and f. We then test [CRA 00, CRA 01], on a SUN Sparc Ultra station using CPLEX, various procedures derived from linear programming: W: relaxation of the integrity constraints on z and the coupling constraints; S: relaxation of the integrity constraints on z; F: Lagrangian relaxation of the coupling constraints; RD: Lagrangian relaxation of the coupling constraints, followed by the application of a heuristic projection mechanism; BB: exact result obtained using Branch and Bound; as well as TS, a Tabu search heuristic [CRA 00]. We obtain, from a theoretical point of view W ≤ S = F ≤ BB ≤ RD. From a practical point of view, implementing these methods is complicated by large degeneration phenomena. On relatively difficult examples (high fixed costs and tight coupling constraints), we obtain (each problem is identified by its number of nodes, arcs and origin/destination couples; each method corresponds to the percentage of the value that it induces relative to the optimum, as well as the CPU time which was used):

Network Design Problems: Models

Problem 25, 100, 10

W 65% 1s 25, 100, 30 75% 1s 100, 400, 10 50% 1

S 87% 2 96% 10 71% 63

F 87% 1 96% 5 71% 6

RD 116% 2 116% 4 170% 8

BB 100 111 100% 2541 100% 6189

20, 300, 200 74% 5

93% 3925

93% 67

300% 40

100% 117% 100,220 8110

Problem W 30, 520, 100 78% 4 30, 700, 100 85% 4 30, 700, 400 1.09 120

S 95% 2553 95% 1157 Failure

F 94% 57 95% 72 1.27 301

RD 211% 59 180% 95 3.44 190

BB 100% 56,998 100% 26,575 Failure

303

TS 104% 152 102% 471 105% 499

TS 109% 17599 104% 11537 1.50 88310

Comment: here we observe quite good behavior of the relaxation of the integrity constraint, which does not necessarily correspond to the majority of cases. In fact, it can arise that the integrity constraint refers to the necessity for the different multiflows f(k), k ∈ K to group together along common paths, in the way that the passengers of a transport system group themselves to share a vehicle. Relaxing the integrity constraint then comes down to each user following his own way, which can induce a significant degradation in the result. We also see that it is difficult to obtain an exact result when the number of integer variables (here the number of arcs) appreciably exceeds 100, with the number of nodes or even of origin/destination couples being concerned to a lesser extent. We note, with regard to the previous tests which used ad-hoc algorithms to manage routing problems, difficulties in making the CPLEX library work on examples of large size. Finally, we note fairly poor behavior of the procedure constructed around the relaxation of the coupling constraint and good behavior of the local improvement heuristic proposed by the authors. In order to illustrate the difficulty that there can be in extrapolating test results, as well as the observation made about the relaxation of the integrity constraint, we may consider the following problem, close to the previous one, and for which the behavior of various linear models has also been tested [BIE 96]: Problem CFA-DESIGNA: {Input: a set of nodes X, a coefficients matrix Dx,y, x ≠ y in X, an integer number p;

304

Combinatorial Optimization 3

Output: we seek a vector z = (zx,y, x ≠ y in X), with values in {0,1}, representing links which are going to be installed on the set of vertices X, as well as a multiflow f = (f(x,y) ≥ 0, x ≠ y in X), such that each flow f(x,y) transfers a quantity of flux Dx,y from x to y. Constraints: for every x in X, Σ y z x,y = Σ y z y,x = p; For every couple x,y, x ≠ y, Σ x1,y1 f(x1,y1)y,x ≤ M. z y,x, where M is a sufficiently large number; Goal: Minimize the quantity Sup x,y Σ x1,y1 f(x1,y1)y,x} For this very difficult problem, the relaxation of the integrity constraints, as well as various aggregations of origin–destinations couples procedures and various cut generation procedures, have been tested. On a SUN SPARC2 station, using the CPLEX 2.0 library, we obtain, for p = 2 and Card(X) = 8: RELAX: simple relaxation of the integrity constraint; RELAX-AGREG: relaxation of the integrity constraint + grouping of certain origin/destination couples; RELAX/CUT: relaxation of the integrity constraint + insertion of specific cuts on the constraints specific to the vector z; RELAX-AGREG/CUT: relaxation of the integrity constraint + insertion of specific cuts on the constraints specific to the vector z + grouping of certain origin/destination couples; Test 1 RELAX RELAX-AGREG RELAX/CUT RELAX-AGREG/CUT

CPU (s) 286.7 4.4 216.3 16.8

Gap (%) 25.5 16.1 93.7 93.4

CPU time 268.2 5 188.5 14.7

Gap (%) 26.4 17.9 91.9 91.1

Test 2 RELAX RELAX-AGREG RELAX/CUT RELAX-AGREG/CUT

Network Design Problems: Models

305

Test 3 RELAX RELAX-AGREG RELAX/COUPE RELAX-AGREG/COUPE

CPU time 297.8 6.2 286.2 21.1

Gap (%) 30.8 27.3 93.5 85.

Apart from the very poor behavior of the relaxation of the integrity constraint, we notice here the importance which can be vested in introducing suitably adapted cuts. Let us end by providing tests relative to the implementation of the Benders decomposition method to the CFA-DESIGN problem. These tests were carried out [MAH 01] on a SUN SPARC 10 station, based on solving the master problem in integer numbers with the help of the CPLEX library, and on solving the slave routing problem with the help of the proximal algorithm tested earlier. We obtain, for networks of 10 nodes, 30 arcs, 78 origin/destination couples and four types of connections (stop at the optimum): Value of λ

Time

Cost

Iterations

CPU

Cuts

1 2 6 10 14 18

7.5 7.5 5.6 5.2 5.06 5.06

947.4 947.4 953.5 956.5 959.7 959.7

5 5 8 24 47 72

3.9 13.9 36.3 243.9 1367.2 2935.7

22 22 25 41 89

These general tests show good behavior for the method for problems that involve 120 integer variables. Additional tests, which aim to evaluate the impact on the efficiency of the method of the number of types of connections (networks of 25 nodes, 62 arcs, 298 O/D couples, coefficient λ = 1) provide (the number of integer variables here is equal to the product of the number of nodes by the number of connection types, which means that this number of connections necessarily has a considerable impact on the behavior of the method):

306

Combinatorial Optimization 3

Connection number 1 2 3

Iterations

CPU time

Cuts

23 24 76

41.1 225.9 24549.7

198 208 260

Confirmation of the tendency recorded in this way, a test that aims to evaluate the relative weight of the master (integer problem) and slave (fractional multiflow) problems and the impact on the effectiveness of the method of the number of arcs and of the weight of the master problem, (network of 10 nodes, four types of connections, 78 O/D couples, coefficient λ = 1) provides: Arcs 18 30 48 72 90

Iterations

CPU-Time

4 5 22 25 26

1.56 14.4 1261.3 8729.5 24,418.3

Master-weight (relative to the global time) 85.3 98.2 99.8 99.9 99.9

10.5. Coupled flows and multiflows for transport and production We will start by presenting here, in the same way as for student problems, two examples of models, derived and simplified from real applications, which will allow us to explain exactly the way in which the notion of time can be taken into account within network design models, through the notion of dynamic network [ARO 89, BEND 01, NAK 81, POW 97b, YAG 73]. Then in section 10.5.1 we will study in more detail the methods which can be applied to the general coupled flows and multiflow problems which derive from them, which will allow us to better illustrate the way in which the general concepts discussed in section 10.5.1 are likely to be applicable to real problems. Modeling a routing problem with the help of a dynamic network On a directed graph H = (Z,U), which represents an urban network, we consider specific vertices y1, y2,…,ym that correspond to the location of production sites (places of work). With each vertex x ∈ Z, and each site yk, a fixed quantity dx,yk,tj of users to be transferred from x to yk, before the time tj, j ∈ Jk, is associated. The duration of the transfer must not exceed a threshold Tx,yk. We wish to organize a system of shuttles which, for a minimum cost, will provide these transfers. We assume that: – Every vehicle route starts and finishes at a single depot vertex.

Network Design Problems: Models

307

– Every vehicle corresponds to a unique capacity, and the unit of measure chosen for the user flows is such that this capacity is equal to 1 and that the quantities dx,yk,tj are fractional. – The cost of the system depends linearly on the number of vehicles involved and the durations of the routes. – The user transfers are made by a combination of journeys in vehicles and journeys by foot. Each arc e of H is therefore associated with a duration lp(e), by foot, and a duration lυ(e), by vehicle. This problem is modeled using a dynamic network which includes the time constraints on the routes. We consider a discrete unit of time δ and an integer N, such that the period that corresponds to the set of the transfers is situated between the instants 0 and Nδ. For each arc e of H, we set: l*p(e) = ⎡lp(e)/δ⎤; l*v(e) = ⎡ lv(e)/δ⎤; t*j = ⎡tj/δ⎤; With any vertex x of Z, we associate (N + 1) copies of x, indexed from 0 to N, which represent the state of x at the instants 0, δ,…,Nδ. We add two vertices U (users) and D (depots), intended for writing Kirschoff’s laws, and we set: X = {xr, x ∈ X, r ∈ 0,…,N} ∪ {U,D}. Over the set of vertices X, we define: – arcs [xr, xr + 1] for x ∈ Z and r ∈ 0,…, N – 1 (we consider in fact two copies of these arcs, one labeled shuttle, the other pedestrian); – shuttle arcs [D,Depotr] and [Depotr,D], r ∈ 0,…,N; – pedestrian arcs [U,xr], x ∈ Z – {y1, y2,…,ym}, r ∈ 0,…,N and [yk,r,U], k ∈ 1…m, r ∈ 0…N; – shuttle arcs [xr, zr +l *v(e)], for e = [x,z] ∈ U and for r = 1…m such that 0 ≤ r ≤ N – l*v(e); – pedestrian arcs [xr, zr + l*p(e)], for e = [x,z] ∈ U and r such that 0 ≤ r ≤ N – l*p(e); The set of the shuttle arcs is denoted by A. On G = (X, E) constructed in this way, we then seek an integer flow F ≥ 0 that represents the journeys of the shuttles, and a multiflow f = {f(k,j), k = 1…m, j in Jk} ≥ 0, such that: – F is zero on the pedestrian arcs; – f(k,j) is equal to the demand dx,yk,tj on the arc [U, xw*(x,k,j)], where w*(x,k,j) = ⎡(tj – Tx,yk)/δ⎤; – f(k,j) is canceled out on the arcs whose extremity is indexed after the time t*j;

308

Combinatorial Optimization 3

– Sum (f)e = Σk,j f(k,j)e ≤ capacity.Fe, for every shuttle arc e of E and which minimizes a quantity L.F = Σ(e in A) Le.Fe, where each Le equals: – lv(e) if e is of the form [xr, zr + l*v(e)]; – a constant µ if e is of the form [xr, xr + 1]; – a constant α if e is an arc of type [D, Depotr]; – 0 otherwise. This model allows the implicit expression of the time constraints and the synchronization constraints, linked to the case where the same user resorts to several vehicles. The reconstitution of a system of routes derives directly from knowing the flow F. However, the approximation caused by replacing lv(e) and lp(e) by δ.l*v(e) and δ.l*p(e), respectively, each time, produces, in the case where δ is fairly large, relatively slow routes. In the opposite case, the size of the problem becomes noticeably larger than that of the original problem. Modeling a production system Here we consider a workshop for which we must plan the cyclic activity over n + 1 periods separated by interperiods for manufacturing goods b1, b2, …, bm. We assume that: – The demand in goods bk at the end of the period i is di,k. – The storage cost of one unit of bk is αk. – The storage capacity over the set of goods for an interperiod is β. The total production capacity of the workshop is c. This can be increased to a level d at the price of hiring a specific machine at a cost γ per period. The setting up and dismantling activities of this machine must be carried out in the interperiods with the costs of γ1 and γ2, respectively, The cost of manufacturing one unit of product bk is δk. The workshop activities (management of stock, production, the machine, etc.) must be planned in such a way as to minimize costs while satisfying demand. For this we use the dynamic network constructed as follows: – for every period i = 0, …, n, we create two vertices xi,yi (start and end of period), to which we add three vertices mach, com, prod; – on the set X of vertices constructed in this way, we create:

Network Design Problems: Models

309

- for each i = 0, …, n, the arcs [yi, com], [prod, xi] and [xi, yi]; - for each i = 0, …, n, an arc [yi, xi+1] (because of the cyclic nature, the addition is taken modulo n + 1); - for each i = 0, …, n, an arc [mach, yi] and an arc (xi, mach]; - a return arc [com, prod]. On this network G = (X, E), we search for a mult-commodity flow f = {f(k), k = 1…m} ≥ 0 and for a flow F in {0,1} such that: – F is zero on every arc of which one of the extremities is com or prod; – f is zero on every arc of which one of the extremities is mach; – f(k) is equal to di,k for every arc [yi, com]; – for every arc e of the form [yi, xi+1], Sum(f)e ≤ β; – for every arc e of the form (xi, yi), Sum(f)e ≤ ce + Fe.(de - ce) and that minimizes the quantity: γ1. Σi F[mach,yi] + γ2. Σi F[xi, mach] + γ. Σi F[xi,yi] + Σi,k (δk.f(k)[xi,yi] + αk.f(k)[yi,xi+1]). Remark: The storage constraint is about f. We can also verify that the cases where the production costs vary according to whether or not we use the additional machine and where production can be parallelized, are modeled in the same way. We see that the two problems presented in this way fit into a common model: Problem COUPLED-FLOW-MULTIFLOW {Input: A network (directed graph) G = (X,E), and, on this network: – a support subset A of E; – an indexing set K; – an integer capacity vector MAX = (MAXe, e in E); – we denote by E∞ the set of the arcs e of E such that MAXe = +∞; – two families Cmin and Cmax of capacity vectors Cmin(k) = ( Cmin(k)e, e in E) ≥ 0 and Cmax(k) = (Cmax(k)e, e in E) ≥0, indexed over K; – a positive cost vector c = (ce, e in E); – a family p of positive cost vectors p(k) = (p(k)e, e in E), indexed over K. Unknown object: an integer “vehicle” flow F ≥ 0, and a fractional “user” multiflow f = {f(k), k ∈ K} ≥ 0, defined on G, such that: – for every k in K, Cmin(k) ≤ f(k) ≤ Cmax(k) (We will denote this constraint by: Cmin ≤ f ≤ Cmax);

310

Combinatorial Optimization 3

– F ≤ MAX; – Sum(f) = Σ k in K f(k) ≤ F; Goal: Minimize the quantity c.F + p.f = Σ f(k)e.p(k)e}.

e in E

ce.Fe + Σ Σ

k in K, e in E

10.5.1. Analysis of the COUPLED-FLOW-MULTIFLOW (CFM) problem THEOREM 10.1.– If ⎪K⎪=1 then the CFM problem is NP-hard. It is sufficient to check that CFM contains in this case the problem of the existence of a Hamiltonian circuit in a network. MSD scheme using master–slave type decomposition (Benders) We assume here that CFM allows a feasible solution. Let (F,f) be such a solution, chosen such that F is an optimal solution of the restricted problem CFMf. Then we may associate with (F, f) an optimal solution (μ = (μx, x in X),α = (αe, e in E) ≥ 0,λ = (λe, e in A) ≥ 0) of the dual DUf of CFMf. Improving the couple (F,f) means modifying f in such a way that it remains compatible with the families Cmin and Cmax and it allows the reduction of the quantity: λ.⎡Sum(f)⎤ + p.f – α.MAX

[10.1]

The converse statement is of course false. This observation leads us to introduce the following CFM-aux problem: Problem CFM-aux(λ λ) {Given the vector λ, = (λe, e in A) ≥ 0 find a multiflow f ≥ 0, compatible with Cmin and Cmax, that minimizes the quantity: λ.⎡f ⎤+ p. f} This CFM-aux problem can be dealt with heuristically with the help of a generalized improving cycle, which prolongs that used in the minimum cost flow algorithm. The following algorithmic scheme then follows for processing CFM, which has the particularity of being the Benders scheme, applied in a non-classical way here, that is to say making the multiflow f the master object: MSD algorithmic scheme (master/slave decomposition) Initialize (F,f), feasible for the CFM problem; Not Stop; While ¬ Stop do Solve CFMf and extract the associated dual component λ; Find k ∈ K, a cycle γ of G, and the smallest significant step t > 0 such that adding to f(k) the flow-cycle ϕγ defined by γ, maintains

Network Design Problems: Models

311

the compatibility of f(k) with its bounds and reduces the quantity λ.⎡Sum(f)⎤ + p.f; If γ, t, k does not exist then Stop else Replace f(k) with f(k) + t.ϕΓ; Update Stop again in case of degradation or prolonged stagnation of the quantity [10.1]; DRCOUP scheme of processing CFM using Lagrangian relaxation of the coupling constraint Relaxing the coupling constraint means introducing a Lagrange vector λ ≥ 0, indexed over A, and stating: Problem CFM-Coupλ: { λ is a Lagrange vector, ≥ 0, indexed over E and zero on the arcs of A; Compute an integer flow vector F ≥ 0 and a multiflow f = {f(k), k in K} ≥ 0, compatible with their capacities, that minimize the quantity c.F + p.f – λ. (F – ⎡Sum(f)⎤ )}. We denote by Bλ the optimal value of CFM-Coupλ and we state: B = Sup(0 ≤ λ) Bλ. The CFM-Coupλ problem splits into an instance of the CFM-aux(λ λ) problem, and a minimum cost integer flow problem. We can restrict ourselves to the values of λ such that Bλ > −∞, that is such that no negative circuits exist for the costs c − λ in the partial network G∞ = (X, E∞). Computing B can then be carried out according to the following scheme: Initialization of λ; Not Stop; While Not Stop do Solve the component in F of CFM-Coupλ; let Fλ be the solution obtained; Solve the component in f of CFM-Coupλ; let fλ be the solution; Update Stop; If Not Stop then Compute a quantity Step; λ := Sup (0, λ − Step. ( Fλ - ⎡Sum(fλ )⎤ )A;

312

Combinatorial Optimization 3

In all cases, the following general solution procedure for CFM is derived: Phase 1: Computation of B; Phase 2: Extraction by projection of a solution of CFM: Let λo be such that Bλo can be taken as an approximation of B; Let fo be the solution of the component in f of the CFM-Coupλ problem; Solve the CFMfo problem; let Fo be the solution obtained; Take the couple (Fo,fo) as an approximate solution of the CFM problem. Example Let Kn be the complete network constructed on the set Xn with n vertices, and let c be a cost vector defined on the arcs of Kn that satisfies the triangular inequality. We assume that A is the set of all the arcs of Kn, that K is the set of all the couples of vertices of Gn, that the costs p(k) are zero and that the capacities MAX, Cmin and Cmax are infinite, zero and infinite, respectively. Lastly, we assume that each component f(x,y), x,y in Xn of the multiflow f transfers a quantity 1/n2 of flow from x to y. Under these conditions: − V is the length for c of a shortest route of the traveling salesman in Kn: - B = optimal value of CFM; - V* is only equal to the average value of the cost of an arc. It is at last possible to deal with CFM using Lagrangian relaxation of the flow constraint on F, to define a value D = Supμ Dμ, where Dμ is the optimal value of a relaxed CFM-Flotμ problem, and to end up with a processing scheme DRFLOT. We then obtain: THEOREM 10.2.– We still have B ≥ V* and D ≥ V*. Besides, if MAX = + ∞, then B = D. Proof. For every vector λ ≥ 0, indexed over A, let us denote by Vλ the optimal value of the program CFM*-Coupλ obtained from CFM* using Lagrangian relaxation of the coupling constraint of CFM*. We know (duality theory in linear programming) that V = Supλ ≥0 Vλ. From the inequality Vλ ≤ Bλ, we deduce V ≤ B. The same reasoning allows us to obtain V ≤ D. Let us now assume MAX = + ∞. In this case, B = Sup λ ≥ 0 Bλ is also written: B = Sup Π such that Π.M(G) ≤ c Inf f such that Cmin ≤ f ≤ Cmax (p.f + (c-Π.M(G)A. ⎡Sum(f)A ⎤ ).

Network Design Problems: Models

313

We also have: D = Supμ such that c-μM ≥ 0 Inf f ≥ 0 compatible with Cmin, Cmax ((c-μM)A. ⎡Sum(f)A ⎤ + p.f ) We then see that B and D coincide. THEOREM 10.3. – The cases where the three schemes V = B = D are the same are the cases where one of the three solution schemes MSD, DRCOUP, DRFLOT produces an optimal result. Aggregated management of the multicommodity flow vector Here we assume, classically, that each component f(k) of the multiflow f expresses the transfer of a quantity of flow Dk from an origin vertex ok to a destination vertex dk, and that the cost vector p(k) is independent of k. The multiflow f is therefore intended to transfer the demand D = {Dk, k in K}, according to the origins/destination family OD = {(ok, dk), k in K} and the associated CFM problem is renamed CFM-AMOD. This is often useful to introduce the single path or non-fork hypothesis, which requires every component f(k) of f to be a flow path, and which is motivated by the following result: THEOREM 10.4. – Let us assume that G is strongly connected. We can then find an optimal solution (F*,f*) of CFM-AMOD such that at most Card(E) − Card(X) +1 components of f are not flow paths. Proof. Let us consider an optimal solution (F*, f*) of the CFM-AMOD problem and let us assume that N components of f*, numbered f*(1)…f*(N), are not flow paths, with N > Card(E) − Card(X) + 1. Let us also assume that F* and f* have been chosen in such a way that N is minimal and that for this value N, the sum U = Σ n = 1..N Un is minimal, Un being the number of arcs e of G such that f(n)e ≠ 0. Then there exists, for each i = 1…N, an elementary cycle γn formed of arcs in Un, and the flows cycles φγn, n = 1…N, associated with these cycles are linearly dependent. Let us assume that it is possible to write Σn = 1..N tn.φγn = 0, where the coefficients tn are all zero, and let us consider a number λ ≥ 0. We can then replace, for every n = 1…N, f(n) with f(n) + λ.tn.φγn. Doing this, we do not change the value of the flow Sum(f). It is then sufficient to choose λ as large as possible and such that each flow f(n) remains ≥ 0, to deduce a contradiction on the minimality of N and of the quantity U. Introducing an aggregation scheme is then carried out by stating that a flow g ≥ 0 defined on G is decomposable with regard to the couple (OD, D), if there exists a

314

Combinatorial Optimization 3

multiflow f = {f(k), k in K} ≥ 0, which is of transfer from D to OD, and such that Sum(f) = g. We then rewrite the CFM-AMOD problem as: {Find an integer flow F ≥ 0, and a flow g ≥ 0, decomposable with regard to the couple (OD, D), such that FA ≥ gA that minimize the quantity c.F + p.g}. The solution scheme that derives from this can then be the MSD Benders decomposition scheme, completed with a heuristic management of the decomposability constraint of the flow g, with the help of the metric cuts, defined for every subset Z of X, by: Σ e out of Z ge ≥ Σ k in OD(Z) Dk with OD(Z) = {k ∈ K such that ok ∈ Z and dk ∈ X − Z}. We obtain: MSD-Agregated algorithmic scheme Initialize (F,g), feasible for the CFM-AMOD problem; Initialize a family S of metric cuts; Not Stop; While ¬ Stop do Solve CFM-AMODg and calculate the associated dual vector λ; Find k ∈ K, a cycle γ of G, and the smallest significant step t > 0 such that the addition to g of the product of k and the flow cycle ϕγ defined by γ maintains the compatibility of g with its bounds and with the constraints of S and reduces the quantity λ.⎡g⎤ + p.g; If γ,t,k do not exist then Stop else Replace g with g + t.ϕΓ; If g is not decomposable with regard to the couple (OD,D) then Find metric cuts violated by g and insert these cuts into S; Adjust g in such a way that it remains decomposable; Update Stop again in case of degradation or prolonged stagnation of the quantity [10.1]; 10.6. A mixed network pricing model The model that we are going to present here [BEND 00], which concerns network pricing, extends the notion of cooperative games in such a way as to allow us to take the notion of elasticity of demand of prices and quality of service into account.

Network Design Problems: Models

315

Cooperative games with elastic demands Let us assume that for each goods or service proposed by a producer P1, the demand dx induced on the goods x depends on the unit price vector p = (py, y ∈ X) for these goods. Let us also assume that the demand vector d = (dy, y ∈ X), which derives from this, incurs in turn a production cost C(d). A stable system of prices p will be such that no alternative producer P2 can attract a part of P1’s market by restricting himself to a specific subset of services and proposing prices more advantageous than those proposed by P1. From this we extend the notion of cooperative games by defining an instance of a cooperative game with elastic demand as being a 3-uple G = (X,C,D) such that: − X is a finite set of services or of clients; − C is an increasing and continuous cost function which, to each production vector d = (dx, x ∈ X) ≥ 0, makes a cost C(d) correspond, in such a way that C(0) = 0 [10.2]. D is a demand function which associates with every unit price vector p = (px, x ∈ X) ≥ 0 a demand vector D(p) = (D(p)x, x ∈ X) ≥ 0, in such a way that each component Dx is continuous and decreasing [10.3]. Notations: if A is a part of X (coalition), and if d and p are demand and price vectors respectively, we state: dA = restriction of d to A; pA = restriction of p to A; (vectors indexed over A). if:

A couple p = (px, x ∈ X) ≥ 0, d = (dx, x ∈ X) ≥ 0 is in the core of G if and only – d = D(p); – p.d = C(d) (global financial equilibrium) [10.4];

– there does not exist (stability constraint) a subset A of X, a price vector p a demand vector d such that [10.5]: -p

X-A

= pX-A; p

-d

X-A

= 0; d

- C(d ) = p

A

A.d

A

and

< p A;

≥ d A; A;

D(p )A = d

A.

Observation: the quantities dx here are like fractional market shares. If demand is rigid then the above core notion coincides with the usual notion.

316

Combinatorial Optimization 3

An existence result and an algorithm Let G = (X,C,D) be a cooperative game with elastic demand. A demand function D is called regular if it is strictly positive if the scalar product p.D(p) is strictly increasing in p. We then have: Existence theorem Let X be a finite set and C a cost function which satisfies [10.2] above. We assume that there exists a number λ ≥ 0 such that for every vector d ≥ 0, C(d) ≤ λ.N(d), where N is the Euclidean norm. Then the two statements 1) and 2) below are equivalent: 1) for every demand function D which is regular and satisfies [10.5], the core of the game with elastic demand G = (X,C,D) is not empty; 2) for every vector μ = (μA, A ∈ P(X) = set of the games of X ) ≥ 0, which is balanced, that is such that for every x in X we have Σ A:x ∈ A μA = 1, and for every vector d = (dx, x ∈ X) ≥ 0, we have: C(d) ≤ Σ A ∈ P(X) μA.C(dA) = 1 The proof of this result derives from fixed point type arguments. We may deduce from the above result that finding a couple (p,d) in the core of the game G = (X,C,D) can be done by solving the program Core(G) below: {Find p = (px, x ∈ X) ≥ 0, and d = (dx, x ∈ X) ≥ 0, such that: – for every subset A of X, Σx ∈ A px.dx ≤ C(dA); – p.d = C(d); – d = D(p)} according to the following algorithmic scheme: Initialize the price vector p; Not Stop; While Not Stop do Let d and q be the vectors defined by: For every x in X, dx = D(p)x and qx = px.dx; Find q such that: (Instruction I1) - q is in the core of the cooperative game J(G,d) = (X,Vd) defined, for each subset A of X, by: Vd(A) = C(dA); - the quantity N(q – q ) is minimal (N is the Euclidean norm); If q does not exist then Stop (failure) Else If N(q – q ) is “small”, then Stop (Succes) Else Set, for every x in X, px := (px + qx/dx)/2.

Network Design Problems: Models

317

Let us now see how the above model can be adapted to a network design problem, in which demand depends not only on the prices but also on the technical characteristics relative to the routing process. A network design game We consider a strongly connected network H = (Z,E) as well as a set of specific arcs A ⊂ E, which are likely to serve as support to a connection infrastructure with better quality of service. We assume that each arc e of E has a financial cost ce and a fault cost te, in such a way that ce = 0 if e ∉ A and that the cost te is appreciably smaller if e ∈ A than if e ∉ A. The client set X is defined here by a family of origin/destination vertex couples (ox, sx), x ∈ X. An infrastructure decision then consists, for a given operator, of constructing a family z of circuits of the partial network (X,A). The demand dx of a group of users x of X with regard to z depends both on the unit price px, which is imposed on it for the access to z, and the practiced quality of service Tx of the connection. We formalize this problem by stating, for every quality of service vector T = (Tx, x in X) and for every demand vector d = (dx, x ∈ X), the following linear program: Problem NETWORK(d,T): {Find a flow z ≥ 0 and a multiflow f = f(x), x ∈ X, both defined on H, such that: - each flow f(x) represents the routing of the demand dx from ox to sx ; - for every e in A, ze ≥ Σ x ∈ X f(x)e; * - for every x in x, Tx ≥ (t.f(x))/dx; and which minimizes the quantity c.z} This program synthesizes the infrastructure decision problem that the operator must solve if the demand vector d = (dx, x ∈ X) is known, as well as the service requirements that go with it. We express by W(d,T) the optimal value of this program. We then define a multicriteria network design game by considering that the access demand dx, x ∈ X depends both on the unit access prices px, x ∈ X, and the QoS costs Tx = (t.f(x))/dx, x ∈ X. This means that for every x ∈ X, dx can be written dx = Dx(px,Tx), where each function Dx is continuous and decreasing. The previous model of core for a game with elastic demand is then extended by saying that a 3uple p = (px, x ∈ X) ≥ 0, T = (Tx, x ∈ X) ≥ 0,d = (dx, x ∈ X) ≥ 0 is in the core of the

318

Combinatorial Optimization 3

multicriteria game defined in this way by the program NETWORK(d,k) and by the demand functions (Dx, x ∈ X), if: – d = D(p,T); – there exists an optimal solution (z,f) of the program NETWORK(d,T) such that: - c.z = p.d; - for every x in X, Tx = (t.f(x))/dx; – there does not exist A ⊂ X, and (p , T , d ) (price, QoS cost, demand triplet) such that: - (p ,T )A < (p,T)A; d -p

X-A

-d

A

=d

X-A

A

≥ dA;

= 0;

= D(p ,T )A;

- d'.p' = optimal value of the program which derives from the program NETWORK(d ,T ) through restriction to the variables and the constraints related to coalition A. Our multicriteria network design game is called regular if each function Dx is strictly positive and if for every k ≥ 0 the quantity (px + k.Tx).Dx(px, Tx) strictly decreases according to the couple (px, Tx). We obtain: Multicriteria game existence theorem If the above multicriteria game is regular then its core is not empty. An element in this core can be computed by introducing, for any k > 0, the following linear program: NETA(d,k): {Find a flow z ≥ 0 and a multiflow f = f(x), x ∈ X, both defined on H, such that: - each flow f(x) represents the routing of dx from ox to sx; - for every e in A, ze ≥ Σ x ∈ X f(x)e; which minimizes the quantity c.z + k.t.(Σ x ∈ X f(x)).} and by solving the system: {Find p, T, d ≥ 0, a primal optimal solution (z,f) and a dual solution u = (uz, z ∈ Z), v = (vz,x, z ∈ Z, x ∈ X), w = = (we, e ∈ A) ≥ 0, from the program NETA(d,k), such that: - d = D(p,T); - for every x in X, dx.Tx = t.f(x); - for every x in X, px = vx. 1*x – k.Tx, where 1*x is the Z-vector equal to 1 in ox,, to –1 in sx and to 0 elsewhere}.

Network Design Problems: Models

319

10.7. Conclusion Network design problems refer back to diverse application domains and potentially involve a very large array of software techniques and tools. Principally motivated initially by concerns relative to the telecommunications domain, these network design problems now tend to be deployed in other domains, principally that of transport and the organization of production systems, and to include at its core some pricing problems. It is nevertheless important to note that the models involved, which are more often than not of a strategic or tactical nature, involve quantities (costs, demand, quality of service coefficients, etc.) whose acquisition and evaluation cause real difficulties. The use of these models, currently mostly of a prospective nature, in operational contexts, presupposes a reinforcement of the information and data acquisition systems associated with the systems studied, an evolution of these information systems towards greater integration, as well as their coupling with powerful simulation and datamining tools. 10.8. Bibliography [AHU 01] AHUJA R.K., ORLIN J.B., SHARMA D., “Multiexchange neighbourhood structures for the capacitated minimum spanning tree problem”, Math. Programming 91, p. 71–97, 2001. [AHU 95] AHUJA R.K., MAGNANTI T.L., ORLIN J.B., REDDY M.R., “Applications of network optimization”, chap. 1 of Network Models, Handbook of Operation Research and Management Science 7, p. 1–83, 1995. [AND 01] ANFRADE R., LISSER A., PLATEAU G., MACULAN N., “Simulation of the integer capacity planning under uncertain demand problem in telecommunication networks”, Proceedings EUROSIM 2001, Delft, 2001. [ARO 89] ARONSON J.E., “A survey on dynamic network flows”, Annals of Operat. Research 20, p. 1–66, 1989. [ASH 98] ASHOK K., Estimation and prediction of time dependent origin-destination flows, PhD Thesis, MIT, 1998. [ASS 80). ASSAD A., “Models for rail transportation”, Transportation Research A, 14, p. 205–220, (1980). [BAL 98] BALAKRISHNAN A., MAGNANTI T., MIRCHANDANI P., “Designing hierarchical survivable networks”, Operations Research 46, 1, p. 116–130, 1998. [BAL 94] BALAKRISHNAN A., MAGNANTI T., MIRCHANDANI P., “A dual based algorithm for multi level network design”, Management Science 40, 5, p. 567–580, 1994.

320

Combinatorial Optimization 3

[BALI 61] BALINSKI M., “Fixed cost transportation problems”, Nov. Res. Log. Quart 8, p. 41–54, 1961. [BALL 95] BALL M.O., MAGNANTI T.L., MONNA C.L., NEMHAUSER G.L., “Network routing”, Handbook in Operation Research vol. 8, North Holland Amsterdam, 1995. [BEN 00] BEN AMEUR W., “Constrained length connectivity and survivable networks”, Networks 36, 1, 2000. [BEN 01] BEN AMEUR W., MICHEL N., GOURDIN E., LIAU B., “Routing strategies for IP networks”, Telektronik 2/3, p. 145–158, 2001. [BENC 97] BENCHAKROUN A., FERLAND J., GASCON V., “Benders decomposition for network design problems with underlying tree structure”, Investigacion operativa 6, p. 165–180, 1997. [BEND 00] BENDALI F., MAILFERT J., QUILLIOT A., “Jeux coopératifs et demandes élastiques”, RAIRO RO 35, p. 367–381, 2000. [BEND 01] BENDALI F., MAILFERT J., QUILLIOT A., “Flots entiers et multiflots fractionnaires couplés par une contrainte de capacité”, Investigacion Operativa 9, 30 pages, 2001. [BER 87] BERTSEKAS D.P., GALLAGER R.G., Data Networks, Prentice Hall, Englewood Cliffs, 1987. [BERT 98] BERTSIMAS D., STOCK S., PATTERSON.L., “The air traffic flow problem with en route capacities”, Operations Research 46–3, p. 406–422, 1998. [BIE 96] BIENSTOCK D., UNLUK O., “Capacited network design: polyedral structure and computation”, INFORMS Journ of Computing 8, p. 243–259, 1996. [BOR 98] BORNDORFER D., EISEMBLATTER A., GROTSCHEL M., MARTIN A., “Frequency assignment in cellular phone networks”, Annals of Operations Research 76, p. 73–93, 1998. [CAM 02] CAMINADA A., HAO J., LUTTON J.L., MARTIN V., “L’optimisation des réseaux de télécommunications”, in Recherche Opérationnelle et Réseaux: Méthodes d’Analyse Spatiale; Collection IGAT, Hermes, Paris, chap. 7, p. 191–236, 2002. [CHAN 93] CHANG S.G.T., GAVISH B., “Telecommunication network topological design and capacity expansion: formulations and algorithms”, Telecommunication Systems 1, p. 99– 131, 1993. [CHA 99] CHARDAIRE P., LUTTON J.L., SUTTTER A., “Upper and lower bounds for the two level simple plant location problem”, Annals of Operation Research 86, p. 117–140, 1999. [CHAR 96] CHARDAIRE P., “Multihour design of computer backbone networks”, Telecommunication Systems 6, p. 347–365, 1996. [CHO 94] CHOPRA S., RAO M., “The Steiner tree problem I: formulations, composition and extension of facets”, Math. Programming 64, p. 209–229, 1994.

Network Design Problems: Models

321

[CHR 81] CHRISTOPHIDES L., WHITLOCK C.A., “Network synthesis with connectivity constraint: a survey”, Operations Research, p. 705–723, 1981. [COC 93] COCCHI R., SZHENKER S., ESTRIN D., ZHANG L., “Pricing in computer networks: motivation, formulation, and example”, IEEE/ACM Transactions on Networking 1, p.. 614–627, 1993. [CON 93] CONSTANTIN I., L’optimisation des fréquences d’un réseau de transport en commun, Rapport CRT 881, PhD Thesis, University of Montreal, 1993. [COO 63] COOPER L., “Location allocation problems”, Operations Research 11, p. 331–343, 1963. [COR 98] CORDEAU J.P., TOTH P., VOGO D., “A survey of optimization models for train routing and scheduling”, Transportation Science 32, p. 380–404, 1998. [CRA 00] CRAINIC T., GENDREAU M., FARVOLDEN J.M., “A simplex based tabu search method for capacitated network design”, INFORMS Journal on Computing 12, p. 223–236, 2000. [CRA 88] CRAINIC T., ROUSSEAU J.MP., “Multicommodity, multimode freight transportation: a general modeling and algorithmic framework for the service network design problem”, Transport Research B 20-B, p. 290–297, 1988. [CRA 01] CRAINIC T., FRANGIONI A., GENDRON B., “Bundle based relaxation methods for multicommodity capacitated fixed charge network design”, Discrete Applied Math. 112, p. 73–99, 2001. [CUR 85] CURIEN N., “Cost allocation and pricing policy: the case of french telecommunications” , in Cost Allocation: Methods, Principles, Applications, ed, H.P. Young, chap. 9, Elsevier Science, p. 167–178, 1985. [DAS 89). DASKIN M.S., PANAYATOPOULOS M.D., “A lagrangean relaxation approach to assigning aircraft to routes in hub and spoke networks”, Transportation Science 23-2, p. 91–99, 1989. [DEJ 87] DEJAX P., CRAINIC T., “A review of empty flow and fleet management models in freight transportation”, Transportation Science 21, p. 227–247, 1987. [DEV 96] DE WOLF D., SMEERS Y., “Optimal dimensionning of pipe networks with application to gas transmission networks”, Operat. Research 44-4, p. 596–608, 1996. [DOM 68] DOMMEL H.W., TINNEY W.F, “Optimal power flow solutions”, IEEE Trans PAS 87, p. 1866–1976, 1968. [DRE 95] DREZNER S., Facility Location: A Survey of Applications and Method, SpringerVerlag, 1995. [DRE 98] DREZNER S., DREZNER T., “Applied location theory models”, in Modern Methods for Business Research, p. 79–120, Lawrence Erlbaum, 1998. [ECO 91] ECONOMIDES A., SILVESTER J., “Multiobjective routing in integrated service networks: a game theory approach”, Proc IEEE INFOCOM 91, p. 1220–1227, 1991.

322

Combinatorial Optimization 3

[EDG 78] EDGAR T.F, HIMMELBLAU D.M., BICKEL T.C., “Optimal design of gas transmission networks” , SPE J 18, p. 96–104, 1978. [EIS 93] EISELT H.A., LAPORTE G., THISSE J.F., “Competitive location models: a framework and bibliography”, Transportation Sciences 27, p. 44–54, 1993. [FER 94] FERREIRA FILHO V.,, GALVAO J., “A survey of computer network design problems”, Investigacion Operativa 4, p. 183–211, 1994. [FIS 94] FISCHER M.L., “Optimal solution of vehicle routing problems using minimum Ktrees”, Operations Research 42, p. 393–410, 1994. [FLO 84] FLORIAN M., “An introduction to network models used in transportation planning”, in M. FLORIAN ed, Transport Planning Models, North Holland, Amsterdam, p. 137–152, 1984. [FRA 94] FRAIGNIAUD P., LAZARD E., “Methods and problems of communication in usual networks”, Disc. Applied Math. 53, p. 79–133, 1994. [GAR 98] GARCIA B.L, MAHEY P., LEBALNC L., “Iterative improvement methods for a multiperiod network design problem”, EJOR 110, p. 150–165, 1998. [GAR 80] GARTNER N.H., “Optimal traffic assignment with elastic demands: a review”, Transp. Sciences 14, p. 192–208 and 174–191, 1980. [GAV 89] GAVISH B., NEUMAN I., “Routing in a network with unreliable components”, IEEE Trans. on Communications 40, p. 1248–1258, 1992. [GAV 91] BAVISH B., “Topological design of telecommunication networks: local access design methods”, Annals of Operation Research 33, p. 17–71, 1991. [GEN 93] GENDREAU M., LAPORTE G, MESA J.A., Locating rapid transit lines: decision criteria and methodology, Report CRT 907, University of Montreal, 1993. [GER 77] GERLA M., KLEINROCK L., “On the topological design of computer networks”, IEEE Trans. on Communications COM-25, p. 28–60, 1977. [GIR 93] GIRARD A. LIAU B., “Dimensioning of adaptatively routed networks”, IEEE/ACM Transactions on Networking 1-4, p. 460–468, 1993. [GOU 01] GOURDIN E., “Optimizing internet networks”, Int. OR-OR/MS Today 04, p. 46–49, 2001. [GOUV 95] GOUVEIA L., “Multicommodity flow models for spanning trees with hop constraints”, EJOR 95, p. 178–190, 1995. [HEL 98] HELME M.P., “A selective multicommodity network flow algorithm in air traffic control”, in Operation Research in Airline Industry, p. 101–123, Kluwer, 1998. [HWA 92] HWANG F.K, RICHARDS D.S, WINTER P., The Steiner Tree Problem, North Holland, 1992. [JAI 97] JAILLET P., SONG G., YU G., “Airline network design and hub location problems”, Location Science 4-3, p. 195–212, 1997.

Network Design Problems: Models

323

[JAU 98] JAUMARD B., MARCOTTE O., MEYER M., “Mathematical models and exact methods for channel assignment in cellular networks”, in B. Sanso, P. Soriano eds. Telecommunications Network Planning, Kluwer, 1998. [KEL 97] KELLY F.P., “Charging and rate control for elastic traffic”, Europ. Trans. Telcommun., 8, p. 33–37, 1997. [KHU 72] KHUMALALA B.M., “Warehouse location problem efficient branch and bound algorithm”, Management Sciences B 18, p. 718–731, 1972. [KLE 72] KLEINROCK L., Communications, Nets, Stochastic Messages Flow and Delay, Dover, 1972. [LEB 99] LEBLANC L., CHIFFLET J., MAHEY P., “Packet routing in telecommunication networks with path and flow restrictions”, INFORMS Journal of Computing 11, 2, 1999. [LED 98] LEDERER P.J, NAMBIMADOM R.S., “Airline network design”, Operations Research 46-6, p. 785–804, 1998. [LEE 95] LEE W.J., Mobile Cellular Telecommunications: Analog and digital Systems, MacGraw Hill, 1995. [LUT 00] LUTTON J.L, NACE D., CARLIER J., “Assigning spare capacities in mesh survivable networks”, Telecommunication Systems 13, 2-4, 2000. [MAG 78] MAGNANTI T.L., GOLDEN B.L., “Transportation planning: network models and their implementation”, in Hax A.C, ed., Studies in Operation Management, p. 465–518, 1978. [MAG 84] MAGNANTI T.L., WONG R.T., “Network design and transportation planning models and algorithms”, Trans. Sci. 18, p. 1–5, 1984. [MAG 93] MAGNANTI T.L., MIRCHANDANI P., “Shortest paths, single origin-destination network design, and associated polyedra”, Networks 23, 2, p. 103–121, 1993. [MAH 98] MAHEY P., OUOUROU. A., LEBLANC L., CHIFFLET J., “A new proximal decomposition algorithm for routing in telecommunication networks”, Networks 31, p. 227–238, 1998. [MAH 01] MAHEY P., BENSHAKROUN A., BOYER F, “Capacity and flow assignment of data networks by generalized Benders decomposition”, Journal of Global Optimization 20, p. 173–193, 2001. [MAHJ 94] MAHJOUB A.R., “Two edge connected spanning subgraphs and polyedra” , Mathematical Programming 64, p. 199–208, 1994. [MAK 95] MACKNIGHT L.W., BAILEY J.P., Internet Economics, MIT Press, Cambridge, 1995. [MAK 98] MACKNIGHT L.W., LEIDA B., “Internet telephony: costs, pricing and policy”, Telecom Policy 22, 7, p. 255–569, 1998. [MAR 97] MARIANI O., ANCILLAI F., DONATI E., “Design of a pipeline optimal configuration”, in Proceedings 29th PSIG Conf Tucson, 1997.

324

Combinatorial Optimization 3

[MARI 96] MARIN A., SALMERON J., “Tactical design of rail freight networks: part 1 – exact and heuristic methods”, EJOR 90, p. 26–44, 1996. [MIR 90] MIRCHANDANI P.B, FRANCIS L.R., Discrete Location Theory, Wiley, New York 1990. [NAK 81] NAKAMURA M., DOWNEY E., LIEBMAN J., “Multiperiod design of regional wastewater systems: genrating and evaluating alternative plans”, Water Resource Research 14, p. 1339–1348, 1981. [NOR 87] NORENKOV I., YEVSTIFIYEV Y., MANICHEV V., “A method for an accelerated analysis of multiperiod electronic circuits”, Telecom and Radio Engineering 42, p. 123– 126, 1987. [ORD 93] ORDA A., ROM R., SHIMKIN N., “Competitive routing in multiuser communication networks”, IEEE/ACM Trans Networking 1, p. 510–521, 1993. [OUO 00] OUOROU A., MAHEY P., VIAL J.P., “A survey of algorithms for convex multicommodity flow problems”, Management Science 46, 1, p. 126–147, 2000. [PER 84] PEREIRA W., “Hydroelectric system planning: expansion for electrical generating systems”, IAEA, chap. 3, 1984. [PERC 87] PERCELL P.B., RYAN M.J., “Steady state optimization of gas pipeline network operation”, Proceedings of the 19th PSIG Conf. in Tulsa, 1987. [POW 97a] POWELL W., CARVALHO T.A., “Dynamic control of multicommodity fleet management problems”, EJOR 98, p. 522–541, 1998. [POW 97b] POWELL W., JAILLET P., ODOMI A., “Stochastic and dynamic networks and routing”, in Network Routing, Handbooks in Operation Research and Management Sciences, vol. 8, ed. Ball O., Magnanti T.L., Monna C.L., Nemhauser G.L., p. 143–295, North Holland, 1997. [REB 00] REBAI R., Optimisation de réseaux de télécommunications avec sécurisation, PhD, Paris-Dauphine University, 2000. [SCO 96] SCOTT T., READ E., “Modelling hydroreservoir operation in a deregulated electricity market”, ITOR 3 (3–4), p. 243–253, 1996. [STE 74] STEENBRINK P.A., Optimization of Transport Networks, Wiley, New York, 1974. [TAM 91] TAMIR A., “On the core of network synthesis games”, Math. Programming 50, p. 123–135, 1991. [TAN 96] TANEMBAUM A., Computer Networks, Prentice Hall, 1996. [VIJ 93] VIJAY R., KANDA A., VRAT P., “Multiperiod capacity expansion of road networks: formulation and algorithms”, Operation Research 30, p. 117–140, 1993. [WAR 52] WARDROP J., “Some theoretical aspects of road traffic research”, Proc. Institute of Civil Engineering, II, 1, p. 325–378, 1952.

Network Design Problems: Models

325

[WOO 88] WOOLSTON K., ALBIN S., “The design of centralized networks with reliability and availability constraints”, Computers and Operation Research 15, p. 207–217, 1988. [YAG 73] YAGED B., “Minimum cost routing for dynamic network models”, Networks 3, p. 315–331, 1973.

Chapter 11

Multicriteria Task Allocation to Heterogenous Processors with Capacity and Mutual Exclusion Constraints

The problem considered is a generalization of the classical assignment problem so as to take into account mutual exclusion constraints that restrict the possibilities of allocating tasks to processors because of incompatible groups of tasks. These groups are defined relative to each processor, each processor only being able to process at most one task from the group considered. Each processor can usually process a certain number of tasks for a zero cost, with the possibility of its capacity being increased at the price of marginal non-decreasing costs. Each task must be assigned to one and only one processor with certain “preferences”. These are formalized by dissatisfaction indices. The quality of an allocation is evaluated with the help of three criteria: g1 – the maximum dissatisfaction of the tasks; g2 – the total dissatisfaction of the tasks; g3 – the total cost of processing the tasks using the processors. When no feasible allocation exists, the tasks and processors that make up the “blocking configuration” are identified and all unblocking actions are revealed. Several results with regard to blocking configurations and unblocking actions are given. An interactive procedure for exploring non-dominated solutions is described and illustrated through two examples solved using a specially designed program.

Chapter written by Bernard ROY and Roman S LOWINSKI.

328

Combinatorial Optimization 3

11.1. Introduction and formulation of the problem We consider: – a set T of tasks th , h = 1, ..., n; – a set P of processors pj , j = 1, ..., m. Each task must be allocated to one and only one processor among those that are capable of processing it (not all processors being identical). The task th can be processed by certain processors in conditions judged to be perfectly satisfactory but it can also be processed by others in conditions judged to be acceptable but less satisfactory (corresponding, for example, to minimum services). We assume that this fitness of a processor pj to process a task th can be characterized by a “dissatisfaction” index dhj ≥ 0 whose value increases with dissatisfaction: dhj = 0 characterizes a perfectly satisfactory fitness, dhj = ∞ the fact that pj is unfit to process th . The processor pj can normally process up to mj tasks; this normal capacity can nevertheless be exceeded (for example because of overtime) to allow pj to process up to Mj tasks. We assume that the processing cost of a task is independent of the processor that processes it and that the running cost of a processor is also zero as long as its normal capacity is not exceeded. Exceeding this capacity results in marginal non-decreasing costs: 0¯ g1 , up to max {dhj }. Let us consider the iteration that consists of restoring all h,j

348

Combinatorial Optimization 3

the arcs that have the degree of dissatisfaction dˆhj . The aim of this is to find all (if any exist) feasible assignments not dominated with regard only to the criteria g2 and g3 that satisfy g1 = dˆhj . Let us emphasize that, by proceeding in this way, we find all the feasible assignments not dominated relative to the three criteria and nothing more than those. 11.5. Exploring a set of feasible non-dominated assignments in the plane g2 × g3 11.5.1. The bicriteria assignment problem with mutual exclusion constraints To show assignments that make up satisfactory compromises, the proposed strategy relies on solving the following problem, called problem P: find the set of feasible assignments not dominated relative to the two criteria g2 and g3 with the constraint g1 ≤ g¯1 . With this aim, let us associate with the network N (¯ g1 ) (with g¯1 ≥ g¯1∗ ) the network N (see Figure 11.5) by applying the following transformations to the network N (¯ g1 ): 1) adding, to each of the arcs (s, th ), a lower bound on the value of the flow of 1 (thus the only feasible flows in the network N are those which saturate the incoming arcs); 2) removing, for j = 1, ..., m, the arc that goes from pj to d and inserting, between pj and d, new vertices pvj with v = 0, ..., Mj − mj , with each of these new vertices being connected to pj by an incoming arc and to d by an outgoing arc; 3) assigning an infinite capacity to each of the arcs (pj ,pvj ) and a capacity mj to the arcs (p0j , d) and 1 to the arcs (pvj , d); the new vertices pvj can therefore be seen as representing copies of the processor pj , with p0j corresponding to this processor with its normal capacity mj , and the others (for v = 1, ..., Mj − mj ) being identical to pj but with a capacity of 1; 4) introducing two types of “costs”: - processing costs: these only concern arcs of type (pvj , d); the unit cost cjv associated with such an arc is defined by the marginal cost imposed by processing the v-th task when the processor pj must process at least mj + v tasks; according to the hypotheses presented in section 11.1, we have cjv ≥ cj(v−1) for v = 1, ..., Mj − mj and cj0 = 0; - costs representing the dissatisfaction: these only concern the arcs of type (th , pj ) and (th , qij ). The unit cost associated with these arcs is the degree of dissatisfaction dhj engendered by processing th when it is processed by processor pj . With every flow Φ feasible on N , we can associate two values defined as follows: g2 (Φ) =

d (w ) Φ (w ) w ∈W

and

g3 (Φ) =

c (w ) Φ (w ) w ∈W

Multicriteria Task Allocation

349

Figure 11.5. The bicriteria problem of finding a minimum cost feasible flow on the network N

with W the set of the arcs of N , c(w ) the unit processing cost associated with arc w , d(w ) the unit cost representing the dissatisfaction associated with arc w and Φ (w ) the flow on the arc w ∈ W . The following observations prove that every flow Φ feasible on N , not dominated relative to the criteria g2 and g3 as they have just been formulated above, defines a feasible assignment not dominated relative to the two criteria g2 and g3 of problem P and vice versa. 1) For every w ∈ W , c (w ) d (w ) = 0. It follows that the value of g2 (Φ) is independent of the distribution between arcs (pvj , d) of tasks mj + v processed by pj . 2) The value of g3 (Φ) correctly represents the cost of the task assignment if and only if the flow Φ satisfies the following conditions, for every j = 1, ..., m and v = 1, ..., Mj − mj : if Φ pvj , d = 1, then Φ pzj , d ≥ 1 for z = 0, ..., v − 1 and Φ p0j , d = mj Taking into account the previous observation, and whatever the value of g2 , every nondominated flow Φ necessarily satisfies these conditions if the marginal costs c(pvj , d)

350

Combinatorial Optimization 3

are strictly increasing. If these costs are only non-decreasing and if the non-dominated flow Φ does not satisfy these conditions, it is very easy to modify this flow in such a way that they are satisfied without the values of g2 and g3 being changed. Let us denote by N D (P ) the set of non-dominated solutions of problem P . Such a solution, which we will denote by x∗ , can also be seen as much as a flow Φ not dominated relative to the criteria g2 and g3 in the network N as a task assignment a likely to be deemed satisfactory in the context of problem P . Let g (∗) be the image of such a solution in the plane (g2 × g3 ) (see section 11.4.2). For simplicity, in what follows, we will use the term solution to refer to both x∗ and g (∗) indiscriminately (unless this distinction is necessary to avoid a possible misunderstanding). As is classically case with regard to many problems concerning the set of nondominated solutions (see, for example, [ULU 94]), here we are led to partition N D (P ) into two subsets: – the set S(P ) of the so-called supported solutions: recall that by supported solution we mesan every solution of the problem Pλ optimal for at least one value of λ with 0 < λ < 1, since the problem Pλ is the monocriterion optimization problem derived from problem P by replacing the two criteria g2 and g3 with the following single criterion (which is to be minimized): gλ (x) = λg2 (x) + (1 − λ) g3 (x) – the set N S(P ) of the so-called unsupported solutions: this concerns all the nondominated solutions that cannot be obtained as optimal solutions of the problem Pλ , whatever the value of λ, with 0 < λ < 1. Let us further recall that every unsupported solution is necessarily located in one of the rectangle triangles Δg (r) g (s) (with g (r) g (s) being the hypotenuse) of the plane (g2 × g3 ), where g (r) , g (s) refer to the two neighboring supported solutions on the efficiency frontier (that is such that no others exist between them) (see Figure 11.6). In what follows, we propose procedures (based on exact methods) that allow us to obtain any solution, whether it be supported or unsupported. With regard to supported solutions, the method very simply consists (see section 11.5.2) of finding all the optimal solutions of the parametric problem Pλ using a procedure for finding a feasible flow of minimum cost on the network N . For finding all the unsupported solutions, we propose, in section 11.5.4, an extension of Ulungu and Teghem’s well known method [ULU 95], which is based on a branch-and-bound procedure for enumerating the unsupported solutions of the classical bicriteria assignment problem: this extension allows the presence of mutual exclusion constraints to be taken into account. Ulungu and Teghem’s algorithm operates on the matrix representation of the classical bicriteria assignment problem. In section 11.5.3, we adapt this matrix representation to problem P . Let us point out that recently Sedeno-Noda and Gonzalez-Martin [SED 01], and Figueira [EFI 09] proposed branch-and-bound procedures to find both

Multicriteria Task Allocation

351

Figure 11.6. Supported solutions and Δg (r) g (s) possible regions for unsupported solutions of problem P

supported and unsupported solutions for the bicriteria problem relative to flows on a network. These procedures could also be used to solve problem P . If we decide to use a two-phase approach as described above, it is in order to use the specific structure of our problem, which includes classical assignment constraints and mutual exclusion constraints. 11.5.2. Finding supported solutions of problem P These solutions (which correspond to the optimal solutions of the parametric problem Pλ ) are obtained by seeking integer flows of value n which minimize the cost gλ (Φ) on the network N defined by: gλ (Φ) = λg2 (Φ) + (1 − λ) g3 (Φ) To carry out this search for an optimal flow for a given value of λ, we propose using the first phase of Sedeno-Noda and Gonzalez-Martin’s IPOEB algorithm [SED 01]. Let us remark that, for a fixed value of λ, the problem Pλ can have several optimal solutions. Let Φ and Φ’ be two of them. If their images in the plane (g2 × g3 ) are mixed, they are only distinguishable by the way in which the tasks are assigned

352

Combinatorial Optimization 3

to these processors. In general, it will not be necessary to identify them all. If, on the other hand, Φ and Φ’ are such that g2 (Φ) = g2 (Φ ) (which implies g3 (Φ) = g3 (Φ )), these are supported solutions, which we will describe as distinct and which, consequently, must all be identified. Fortunately, Sedeno-Noda and Gonzalez-Martin’s IPOEB algorithm [SED 01] finds all the alternative optimal solutions of the problem in a time O(|S(P )||V ||W |) where V is the set of the vertices and W the set of the arcs of the network N . This algorithm therefore quickly provides the set S(P ) of all the supported solutions of problem P . These solutions are then sorted in a list S in increasing value of their g2 . 11.5.3. Matrix representation of problem P This representation poses problem P as a generalization of the classical assignment problem. It allows us to take advantage of Ulungu and Teghem’s algorithm [ULU 95] to explore the set of unsupported solutions. As in the classical problem, we use matrices for which each line corresponds to a task and each column to a processor. The M1 first columns correspond to copies of the processor p1 , the following M2 to copies of the processor p2 , etc. These matrices therefore have n rows and

m

j=1

Mj = π

columns. Assigning task th to processor pj can in this way be characterized by the presence of 1 (and only one) on row h of such a matrix, with this 1 being found in one of the Mj columns that correspond to the copies of the processor pj , each column only being able to contain one 1 at most (all the other squares containing 0s). To take into account the cost of such an assignment, two matrices are necessary here: – the matrix D relative to the dissatisfaction (criterion g2 ): the squares of row h of this matrix contain successively dh1 in the M1 first columns, dh2 in the following M2 , etc.; – the matrix C relative to the processing costs (criterion g3 ): given that the processing costs of the processor pj only depend on the number of tasks processed and not on the nature of these tasks, the rows of this matrix are all identical; each one of them has, in the Mj columns relative to this processor, firstly 0s in each of the mj first ones, then, successively, cj1 , ..., cj(Mj −mj ) . Our problem P is a generalization of the classical assignment problems in two directions: it is a bicriteria problem, and it uses mutual exclusion constraints. In its most elementary formulation, the assignment problem imposes that each task be assigned to one and only one processor, and vice versa. This means only using square matrices. In problem P , we normally have π > n. To make the matrices square, it is usual to introduce n − π fictional tasks which generate zero costs whatever the way in which we assign them. This involves completing matrices C and D with π − n rows filled

Multicriteria Task Allocation

353

with 0s. In the square assignment matrix, we must now have one and only one 1 in each column (as in every row). Now that this matrix formalism has been defined, problem P can be reformulated in the mathematical programming context by introducing decision variables xhi for h = 1, ..., π and i = 1, ..., π, each one of these variables only being able to take the values 0 or 1, the value 1 representing the fact that the task th is assigned to the ri - th copy of the processor pj with r + reformulation is then:

j−1

k=1

Mk = i, h = 1, ..., π , i = 1, ..., π. This



π

π



dhi xhi ⎥ ⎢ g2 (x) = h=1 i=1 ⎥ Minimize ⎢ π π ⎦ ⎣ chi xhi g3 (x) = h=1 i=1

under the constraints: π i=1

xhi = 1, h = 1, ..., π

π h=1

xhi = 1, i = 1, ..., π

xhi ∈ {0, 1} , h = 1, ..., π, i = 1, ..., π and the mutual exclusion constraints: j−1

xhi ≤ 1, Jj = h∈Hlj i∈Jj

j

Mk + 1, ..., k=1

Mk k=1

Hlj = {h : th ∈ Qlj } , j = 1, ..., m, l = 1, ..., uj where Qlj is the l-th incompatibility group of the processor pj , the vector of the decision variables that define the assignment.

0 k=1

Mk = 0, and x is

Problem P is thus put in the form of a bicriteria 0–1 variable linear program. 11.5.4. Finding unsupported solutions of problem P Let us recall (see section 11.5.1) that these solutions are located in rectangle triangles Δg (r) g (s) (see Figures 11.6 and 11.7) that have as vertices A, g (r) and g (s) , where g (r) and g (s) are two consecutive solutions in list S(P ) of the supported solutions, such as was obtained previously (see section 11.5.2).

354

Combinatorial Optimization 3

Ulungu and Teghem [ULU 95] proposed an exact method for finding unsupported solutions in a classical assignment problem when we take into account two criteria. This method consists, for each of the triangles Δg (r) g (s) , of using the Hungarian method for finding the optimal solutions of “reduced” monocriterion assignment problems involving the costs matrix DCλ defined by: DCλ = λD + (1 − λ) C with: λ=

(r)

(s)

g3 − g3 (s)

(r)

g2 − g2

(r)

(s)

+ g3 − g3

Figure 11.7. Finding unsupported solutions of problem P

To define these reduced assignment problems, Ulungu and Teghem use certain properties of the dual variables associated with the relaxed formulation of linear problem Pλ in the absence of every mutual exclusion constraint. Each time the Hungarian method is applied, it must be done in such a way as to obtain all the different optimal solutions (that is ones that show different couples (g2 , g3 )). An enumeration procedure is then necessary for inspecting all the possible combinations of the reduced costs equal to 0 of the relaxed linear problem if the number of these costs is greater than π.

Multicriteria Task Allocation

355

If the number of these costs is much greater than π, this enumeration procedure takes a long time. Let g (q) be an unsupported solution obtained by Ulungu and Teghem’s procedure; the solution is located in the triangle Δg (r) g (s) . It will only be a feasible solution of our problem if it corresponds to an assignment that satisfies the mutual exclusion constraints. If this is the case, g (q) ∈ N S (P ). In the opposite case, g (q) must be taken as the starting solution for a branch-and-bound procedure that finds feasible solutions of problem P located in the same triangle Δg (r) g (s) . This procedure, called the explore NS procedure, is described next. Explore NS procedure Step 1: let g (q) be an unsupported solution, obtained as shown above, located in the triangle Δg (r) g (s) , and such that the assignment x(q) which corresponds to it in matrix DCλ does not satisfy all the mutual exclusion constraints. Step 2: let CLUB be the current lowest upper bound on the objective function of the optimal assignment in matrix DCλ , which satisfies all the mutual exclusion constraints and is located in the triangle Δg (r) g (s) . Initially, the value of CLUB (s) (r) is equal to λg2 +(1−λ)g3 , that is to the worst value of the objective function of an assignment located in the triangle Δg (r) g (s) (point A on Figure 11.7). Let g (q) be the solution and x(q) let its assignment in matrix DCλ be the root of the implicit enumeration tree. Also let L(DCλ ) be the lower bound on the objective function of the optimal assignment in matrix DCλ , that satisfies all the mutual exclusion constraints and is located in the triangle Δg (r) g (s) . Initially, L(DCλ ) = gλ (x(q) ). Step 3: identify the mutual exclusion constraints that are not satisfied in g (q) , that is such j ∗ ∈{1,. . . ,m} and l∗ ∈{1,...,uj } that:

h∈Hl∗ j∗ i∈Jj∗

Let: min

j ∗ , l∗

⎧ ⎨ ⎩

h∈Hl∗ j∗ i∈Jj∗

(q ) xhi > 1

(q ) xhi

⎫ ⎬ ⎭

=k>1

and let φ and ψ be the indices j ∗ and l∗ , respectively, for which the value of k has been attained. Step 4: divide the assignment problem that corresponds to g (q) into k assignment subproblems, in such a way that in the first subproblem the element: DCλ1 h1 , i1 = ∞

356

Combinatorial Optimization 3

in the second subproblem the element: DCλ2 h2 , i2 = ∞ and so on, until the subproblem k, DCλk hk , ik = ∞, with putting an element of the matrix to infinity signifying the exclusion of the corresponding assignment. The coordinates of the excluded assignments in these subproblems are equal to all the different and numbered pairs of indices: (h1 , i1 ), (h2 , i2 ), . . . , (hk , ik ) (q ) for which xhi = 1, h ∈ Hψφ , i ∈ Jφ in the assignment x(q) . Step 5: solve the k new assignment subproblems, without taking into account the mutual exclusion constraints, using the Hungarian method. Each optimal solution defines the lower bound L DCλf , f =1,. . . ,k, for the corresponding subproblem. If, for a subproblem, multiple optimal solutions exist, they must all be found. Step 6: if, among the solutions found in step 6 there are assignments that satisfy all the mutual exclusion constraints and that are located in triangle Δg (r) g (s) , and if the lowest lower bound L DCλf for these solutions, namely L (DCλ∗ ),

is smaller than CLUB, then set the value of CLUB to L (DCλ∗ ) and save the corresponding solution g (∗) . Otherwise, CLUB keeps its previous value.

Step 7: if the value of CLUB is lower than the lower bounds of all the subproblems not yet explored then the solution g (∗) that corresponds to CLUB can be a candidate for being included in NS(P ) and the procedure ends; otherwise, go to step 8 (by the subproblems not yet explored, we mean the subproblems whose optimal solutions do not satisfy the mutual exclusion constraints and that have not yet been divided into following subproblems). Step 8: from the subproblems not yet explored, such that their lower bounds are lower than CLUB, choose the subproblem g (#) with the lowest lower bound for a following division. Substitute g (q) and its assignment x(q) for g (#) and its assignment x(#) , and go back to step 3. The branch-and-bound procedure described above requires a few comments. 1) The explore NS procedure solves a simplified assignment problem which does not take into account mutual exclusion constraints, and then systematically excludes all the assignments that do not verify the mutual exclusion constraints until it finds an optimal solution that satisfies all the mutual exclusion constraints (if one exists in triangle Δg (r) g (s) ).

Multicriteria Task Allocation

357

2) The division into subproblems of step 3 is organized in such a way that in each subproblem one single different assignment (task–processor) is excluded from those which violated a mutual exclusion constraint in solution g (q) by minimally exceeding (by k) the number (equal to 1) of the assignments allowed for an incompatibility group. Note that it is not necessary to explore other subproblems which may be defined from other (if there are any) mutual exclusion constraints violated in solution g (q) . Exploring them would also lead to the optimal solution (if one exists), but using another search strategy called “breadth-first”. The strategy that we have adopted, dividing according to one single violated constraint, is called a “depth-first” search strategy – in practice it has been verified as being more efficient and less demanding in terms of memory usage. 3) If the subproblems defined in step 4 do not have unique optimal solutions, step 5 can require a large calculation time. We have nevertheless observed that, in practice, the initial interval between the value of CLUB and the lower bound of the optimal solutions found using the Hungarian method is quite narrow, which allows several subproblems to be eliminated from the exploration. 4) Systematically exploring the solutions space using the explore NS procedure guarantees for a given solution g (q) that we find an unsupported solution of problem P located in the triangle A,B,C, if one exists (see Figure 11.7). 5) If the value of CLUB did not change during the branch-and-bound procedure, this means that there is no unsupported solution of problem P which could be found from solution g (q) . Otherwise, the solution g (∗) that corresponds to the final value of CLUB is included in NS(P ) if there is no solution in this set that dominates it; at the same time, the solutions of NS(P ) dominated by g (∗) are eliminated from this set (see step 7). 11.6. Numerical examples 11.6.1. Example with a blocking configuration present Let us consider the case where five tasks must be assigned to three processors, each one of them having a normal capacity mj = 1, with this capacity only being able to be exceeded for the processors p2 and p3 , with the allowed excess being one unit for each of them. The processing costs and the degrees of dissatisfaction are given in Tables 11.1 and 11.2, respectively. Lastly, the assignment must satisfy the mutual exclusion constraints defined by: Q12 = {t1 , t4 }

and

Q13 = {t2 , t4 }

358

Combinatorial Optimization 3 p1

p2

p3

Up to the normal capacity

0

0

0

The first additional task



10

25

Table 11.1. Processing costs

Task/processor

p1

p2

p3

t1



5



t2

4



2

t3

5





t4



3

6

t5



4

5

Table 11.2. Degrees of dissatisfaction

The network N in which every maximum integer flow defines an assignment of a maximum number of tasks is shown in Figure 11.8. Since the value of such flows is only 4 (which is less than the number of tasks), a feasible solution does not exist that allows the five tasks to be processed. On network N 8 integer flows of value 4 exist. Each of these flows corresponds to the non-assignment of one of the tasks t1 , t2 , t3 or t4 , combined with the assignment of t5 to either p2 or p3 ; let us denote these flows by t1 − t5 /p2 , t1 − t5 /p3 , t2 − t5 /p2 , t2 − t5 /p3 , t3 − t5 /p2 , t3 − t5 /p3 , t4 − t5 /p2 and t4 − t5 /p3 , respectively.

Figure 11.8. Maximum flow in network N and the corresponding labeling

Multicriteria Task Allocation

359

The flow t3 − t5 /p2 is shown in Figure 11.8. This flow allows the following sets to be highlighted using the definitions from section 11.3.2: Tx ={t5 }, Bμ = {t2 } , Bz = {t1 , t4 } , Bρ = {t3 } C = ∅, C = {q12 , q13 } , C = ∅ D = {p1 } ,

D = {p2 , p3 } , D = ∅

The blocking configuration is therefore constituted as follows: B = {t1 , t2 , t3 , t4 } ,

C = {q12 , q13 } ,

D = {p1 }

As described in section 11.3.4, the possible unblocking actions are the following: a) action of type 1: increase the capacity of p1 by 1; b) action of type 2: allow p3 to process t1 or t3 directly; c) action of type 3: allow p3 to process t2 or t4 directly, that is to no longer take into account the mutual exclusion constraint between these two tasks on this processor; d) action of type 4: increase the capacity of p2 by one unit and allow this processor: – either to process t2 or t3 directly; – or to process t1 or t4 directly, that is to no longer take into account the mutual exclusion constraint between these two tasks on this processor; e) action of type 5: no action of this type is possible because none of the nonsaturated processors that do not belong to D (p2 and p3 ) indirectly process the task t5 ∈ / B; f) action of type 6: allow p2 : – either to process t2 (action of type 2 for the alternative flow t2 − t5 /p3 ) directly; – or to process t3 (action of type 2 for the alternative flow t3 −t5 /p3 ) directly; – or to process t1 directly, when initially it was only capable of processing it indirectly (action of type 3 for the alternative flow t1 − t5 /p3 ); – or to process t4 directly, when initially it was only capable of processing it indirectly (action of type 3 for the alternative flow t4 − t5 /p3 ). After executing one of the above actions, every maximum flow provides a feasible assignment. For example, if we allow p3 to process t2 directly (see c) above), we find a maximum integer flow which defines the following assignment:

360

Combinatorial Optimization 3

– p1 processes t3 ; – p2 processes t1 and t5 ; – p3 processes t2 and t4 . Taking into account the data from Tables 11.1 and Figure 11.2 above, and not taking into account the dissatisfaction which can ensue from authorizing p3 to process t2 and t4 together, this assignment gives, for the three criteria, the following values: g1 = 6, g2 = 22, g3 = 35 11.6.2. Example without a blocking configuration In this second example, we seek the best assignment of four tasks to three processors, with each of them having a normal capacity of 1, with the capacity of p1 and p2 being able to be increased by one unit. The processing costs and the degrees of dissatisfaction are given in Tables 11.3 and 11.4, respectively. p1

p2

p3

Up to the normal capacity

0

0

0

The first additional task



15

3

Table 11.3. Processing costs

Task versus processor

p1

p2

p3

t1



1

3

t2

10

5

12

t3



0

2

t4

7

3

0

Table 11.4. Degrees of dissatisfaction

This assignment must take into account the two groups of incompatible tasks, with regard to processors p1 and p3 , defined respectively by: Q11 = {t1 , t3 , t4 }, Q13 = {t2 , t4 }

Multicriteria Task Allocation Assignment g A

Assignment g B

t1



p3

t1



p3

t2



p2

t2



p2

t3



p2

t3



p3



p3

t4



p1

t4

g1A

=5

g1B

=7

=8

g2B

= 17

= 18

g3B

=3

g2A g3A

361

Table 11.5. Set of the supported solutions with g¯1 = 7

p1

p2

p2 ’

p3

p3 ’

t1



1

1

3

3

t2



5

5





t3



0

0

2

2

t4

7

3

3

0

0

Table 11.6. Assignment matrix D with regard to dissatisfaction

In network N , a maximum flow exists that saturates the incoming arcs, which means that at least one feasible assignment exists. Let us assume that the decider wishes to limit the maximum dissatisfaction to g¯1 = 7. Finding a maximum flow in network N (¯ g1 ) defined in this way (see section 11.4.2) allows us to verify that all the tasks can be processed while satisfying this new constraint. Finding satisfactory assignments therefore consists of exploring the set of non-dominated solutions in the plane (g2 × g3 ). p1

p2

p2 ’

p3

p3 ’

t1



0

15

0

3

t2



0

15





t3



0

15

0

3

t4

0

0

15

0

3

Table 11.7. Assignment matrix C with regard to processing costs

362

Combinatorial Optimization 3 Assignment g C t1



p3

t2



p2

t3



p2



p1

t4

g1C

=7

g2C

= 15

g3C

= 15

Table 11.8. Unsupported solution with g¯1 = 7

Figure 11.9. Representation of the supported and unsupported solutions in the plane (g2 × g3 ) with g¯1 = 7

By proceeding as described in section 11.5.2, first of all we find the two extreme supported solutions g A and g B (see Tables 11.5 and 11.9) obtained with λ = 0.999 and λ = 0.001, respectively. It should be noted that an alternative optimal solution to g A exists where the assignment of t1 to p3 and of t3 to p2 is permuted, while nevertheless giving the same value to all three criteria. The search must then be continued by stating: g3A − g3B λ= B = 0.625 (g2 − g2A ) + (g3A − g3B ) We observe that no other unsupported solution exists.

Multicriteria Task Allocation

363

In accordance with section 11.5.3, our assignment problem involves the matrices D and C whose rows correspond with the tasks and columns with the processors with all their respective copies. These are presented in Tables 11.6 and 11.7, respectively. We then use Ulungu and Teghem’s procedure [ULU 95] and the explore NS procedure (see section 11.5.4) to find the unsupported solutions in triangle Δg A g B . In this way we obtain one single unsupported solution g C (see Table 11.8 and Figure 11.9). The set ND(P ) of the non-dominated solutions therefore consists of the three solutions g A , g B , g C . 11.7. Conclusion We have studied a generalization of the assignment problem in which each processor can process a limited number of tasks, while satisfying mutual exclusion constraints between certain of them, that make up incompatibility groups defined for each processor. Three criteria are taken into account for evaluating feasible assignments. In the case where the problem does not admit any feasible solution, we have shown that the structural sources of this impossibility could be analyzed with the help of the concept of a blocking configuration. After showing how to find this configuration, we studied its properties (theorem 11.1 and corollary 11.1). Within a defined framework of possible modifications of the (numerical and structural) parameters, we have shown an exhaustive set of unblocking actions (theorem 11.2). In the case where there is more than one feasible assignment compatible with a limit imposed on the value of the criterion g1 , we proposed an exact method in two phases for generating the set of non-dominated solutions. The first phase allows the generation of the set of supported solutions by minimizing a parametric linear combination of the criteria g2 and g3 . For a given value of the parameter, this minimization problem is solved by finding an integer flow of minimum cost in an appropriate network. The second phase involves finding the unsupported solutions; this is done in triangles defined by couples of consecutive supported solutions. This search is again organized into two phases: first of all without taking into account the mutual exclusion constraints, using Ulungu and Teghem’s method [ULU 95], then by using a branchand-bound procedure when the solutions obtained in the first phase do not satisfy the mutual exclusion constraints. These theoretical results are illustrated by two numerical examples. In the first one, we show a blocking configuration as well as the set of the actions likely to allow it to be unblocked. The second one shows how we find, in the simple example considered, the only two supported solutions and the single unsupported solution.

364

Combinatorial Optimization 3

This work could be extended in at least two directions: 1) Each unblocking action is based on modifying the parameters of the problem. Now, these modifications affect the way in which certain criteria are defined; it would therefore be interesting to assist in selecting, from the possible unblocking actions, the most satisfactory one which leads to enabling us to show a feasible solution. 2) Since finding all the supported and unsupported solutions is an NP-hard problem, it might be interesting to develop some metaheuristic procedures to make this search easier, not necessarily with the aim of being exhaustive but rather of exploring, interactively, those non-dominated solutions which are located in a given zone of the plane (g2 × g3 ). 11.8. Bibliography [AHU 93] A HUJA R., M AGNANTI T., O RLIN J.B., Network Flows, Prentice-Hall, Englewood Cliffs, 1993. [EFI 09] E USEBIO A., F IGUEIRA J.R., “Finding non-dominated solutions in bi-objective integer network flow problems”, Computers and Operations Research, vol. 36, num. 9, p. 2554– 2564, 2009. [FOR 62] F ORD L.R., F ULKERSON D.R., Flows in Networks, Princeton University Press, 1962. [ROY 85] ROY B., Méthodologie multicritère d’aide à la décision, Economica, Paris, 1985. [SED 01] S EDENO -N ODA A., G ONZALEZ -M ARTIN C., “An algorithm for the biobjective integer minimum cost flow problem”, Computers and Operations Research, vol. 28, num. 2, p. 139–156, 2001. ´ R., “MASCOME : Multi-criteria Assignment Subject to Constraints [SLO 01] S ŁOWI NSKI Of Mutual Exclusion”, Software system developed in the Laboratory of Intelligent Decision Support Systems, Pozna´n University of Technology, 2001.

[ULU 94] U LUNGU E.L., T EGHEM J., “Multi-objective combinatorial optimization problems: a survey”, Journal of Multiple-Criteria Decision Analysis vol. 3 num. 2, p. 83–104, 1994. [ULU 95] U LUNGU E.L., T EGHEM J., “The two phase method: an efficient procedure to solve bi-objective combinatorial optimization problems”, Foundations of Computing and Decision Sciences vol. 20 num. 2, p. 149–165, 1995.

+3+6'1 /(1/4-6'5.=

"!   !!     @3 2564:+* 6'3).'3*)98 1-46/8.2 ,46 8.+ '5')/8'8+* #+./)1+ 498/3- 64(1+2A Transportation Science :41   55  ?

   "    # !  @ 4198/43 5564').+7 84 9( 4)'8/43 64(1+27A Annals of Operations Research :41  55 ?  

 $    @2564:+* '1-46/8.27 ,46 +)4342/) 148 7/>+ 564(1+27A Operations Research :41  34  55  ?  

  "       @918/+