Table Of ContentComputational Techniques
of the Simplex Method
INTERNATIONAL SERIES IN
OPERATIONS RESEARCH & MANAGEMENT SCIENCE
Frederick S. Hillier, Series Editor Stanford University
Gal, T., Stewart, T.I., Hanne, T. 1 MULTICRITERIA DECISION MAKING: Advances in
MCDM Models, Algorithms, Theory, and Applications
Fox, B.L. ! STRATEGIES FOR QUASI-MONTE CARLO
Hall, R.W. / HANDBOOK OF TRANSPORTATION SCIENCE
Grassman, W.K.! COMPUTATIONAL PROBABILITY
Pomerol, J-C. & Barba-Romero, S. / MULTICRITERION DECISION IN MANAGEMENT
Axsl1ter, S. / INVENTORY CONTROL
Wolkowicz, H., Saigal, R., & Vandenberghe, L.I HANDBOOK OF SEMI-DEFINITE
PROGRAMMING: Theory, Algorithms, and ApplicatiOns
Hobbs, B.F. & Meier, P. 1 ENERGY DECISIONS AND THE ENVIRONMENT: A Guide
to the Use ofM ulticriteria Methods
Dar-EI, E. 1 HUMAN LEARNING: From Learning Curves to Learning Organizations
Armstrong, 1.S. 1 PRINCIPLES OF FORECASTING: A Handbookfor Researchers and
Practitioners
Balsamo, S., Persone, V., & Onvural, R.I ANALYSIS OF QUEUEING NETWORKS WITH
BLOCKING
Bouyssou, D. et al. 1 EVALUATION AND DECISION MODELS: A Critical Perspective
Hanne, T.I INTELLIGENT STRATEGIES FOR META MULTIPLE CRITERIA DECISION MAKING
Saaty, T. & Vargas, L. 1 MODELS, METHODS, CONCEPTS and APPLICATIONS OFTHE
ANALYTIC HIERARCHY PROCESS
Chatterjee, K. & Samuelson, W.I GAME THEORY AND BUSINESS APPLICATIONS
Hobbs, B. et al. 1 THE NEXT GENERATION OF ELECTRIC POWER UNIT COMMITMENT
MODELS.
Vanderbei, R.I. / LINEAR PROGRAMMING: Foundations and Extensions, 2nd Ed.
Kimms, A. / MATHEMATICAL PROGRAMMING AND FINANCIAL OBJECTIVES FOR
SCHEDULING PROJECTS
Baptiste, P., Le Pape, C. & Nuijten, W. / CONSTRAINT-BASED SCHEDULING
Feinberg, E. & Shwartz, A. / HANDBOOK OF MARKOV DECISION PROCESSES: Methods
and Applications
Ramik, J. & Vlach, M. / GENERALIZED CONCAVITY IN FUZZY OPTIMIZA TION
AND DECISION ANALYSIS
Song,1. & Yao, D. / SUPPLY CHAIN STRUCTURES: Coordination, I'!formation and
Optimization
Kozan, E. & Ohuchi, A. / OPERATIONS RESEARClU MANAGEMENT SCIENCE AT WORK
Bouyssou et al. / AIDING DECISIONS WITH MULTIPLE CRITERIA: Essays in
Honor ofB ernard Roy
Cox, Louis Anthony, Jr. 1R ISK ANALYSIS: Foundations, Models and Methods
Dror, M., L'Ecuyer, P. & Szidarovszky, F.! MODELING UNCERTAINTY: An Examination
ofS tochastic Theory, Methods, and Applications
Dokuchaev, N. / DYNAMIC PORTFOLIO STRATEGIES: Quantitative Methods and Empirical Rules
for Incomplete Information
Sarker, R., Mohammadian, M. & Yao, X. / EVOLUTIONARY OPTIMIZATION
Demeulemeester, R. & Herroelen, W. / PROJECT SCHEDULING: A Research Handbook
Gazis, D.C. ! TRAFFIC THEORY
Zhu, J. / QUANTITATIVE MODELS FOR PERFORMANCE EVALUATION AND BENCHMARKING
Ehrgott, M. & Gandibleux, X. / MULTIPLE CRITERIA OPTIMIZATION: State of the Art Annotated
Bibliographical Surveys
Bienstock, D. / Potential Function Methodsfor Approx. Solving Linear Programming Problems
Matsatsinis, N.F. & Siskos, Y. / INTELLIGENT SUPPORT SYSTEMS FOR MARKETING
DECISIONS
Alpern, 8. & Gal, 8. / THE THEORY OF SEARCH GAMES AND RENDEZVOUS
Hall, R. W.lHANDBOOK OF TRANSPORTATION SCIENCE -2nd Ed.
Glover, F. & Kochenberger, G.A. / HANDBOOK OF METAHEURISTICS
Graves, S.B. & Ringuest, J.L. / MODELS AND METHODS FOR PROJECT SELECTION:
Concepts from Management Science, Finance and Information Technology
Hassin, R. & Haviv, M.I TO QUEUE OR NOT TO QUEUE: Equilibrium Behavior in Queueing
Systems
Gershwin, 8.B. et all ANALYSIS & MODELING OF MANUFACTURING SYSTEMS
COMPUTATIONAL TECHNIQUES
OF THE SIMPLEX METHOD
AN
ISTV MAROS
Imperial College, London
and
Computer and Automation Research Institute, Budapest
Springer Science+Business Media, LLC
Library of Congress Cataloging-in-Publication Data
A C.I.P. Catalogue record for this book is available from the Library of Congress.
Maros, 1./ COMPUTATIONAL TECHNIQUES OF THE SIMPLEX METHOD
ISBN 978-1-4613-4990-7 ISBN 978-1-4615-0257-9 (eBook)
DOI 10.1007/978-1-4615-0257-9
Copyright © 2003 by Springer Science+Business Media New York
Originally published by Kluwer Academic Publishers in 2003
Softcover reprint of the hardcover 1s t edition 2003
AlI rights reserved. No part ofthis work may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical,
photocopying, microfilm ing, recording, or otherwise, without the written
permission from the Publisher, with the exception of any material supplied
specificalIy for the purpose of being entered and executed on a computer system,
for exclusive use by the purchaser of the work.
Printed on acid-free paper.
To my wife Anna and
children Anik6 and
Andras
Contents
Preface xvii
Part I Preliminaries
1. THE LINEAR PROGRAMMING PROBLEM 3
1.1 Standard form 3
1.2 General form 4
1.2.1 Computational form # 1 5
1.2.2 Computational form #2 13
1.3 Concluding remarks 17
1.3.1 Translation of bounds 17
1.3.2 Yet another formulation 17
2. THE SIMPLEX METHOD 19
2.1 Theoretical background 20
2.1.1 Basis and solution 21
2.1.2 The geometry of constraints 23
2.1.3 Neighboring bases 26
2.2 The primal simplex method 28
2.2.1 Optimality conditions 28
2.2.2 Improving a nonoptimal basic feasible solution 29
2.2.3 Algorithmic description of the simplex method 33
2.2.4 Finding a basic feasible solution 34
2.2.5 The two-phase simplex method 37
2.3 Duality 38
2.4 The dual simplex method 40
2.4.1 Dual feasibility 40
viii COMPUTATIONAL SIMPLEX
2.4.2 Improving a dual feasible solution 41
2.4.3 Algorithmic steps of the dual 43
2.4.4 Further properties of the primal-dual relationship 46
2.5 Concluding remarks 47
3. LARGE SCALE LP PROBLEMS 49
3.1 Sparsity 49
3.2 Instances of large problems 51
3.3 Structure 52
3.4 Fill-in 53
3.5 Numerical difficulties 55
Part II Computational Techniques
4. DESIGN PRINCIPLES OF LP SYSTEMS 59
4.1 Requirements of LP software 60
4.2 Computer hardware 62
4.3 The software side of implementing LP solvers 65
5. DATA STRUCTURES AND BASIC OPERATIONS 69
5.1 Storing sparse vectors 70
5.2 Operations involving sparse vectors 71
5.2.1 Addition and accumulation of sparse vectors 71
5.2.2 Dot product of sparse vectors 74
5.3 Storing sparse matrices 74
5.4 Linked lists 76
5.5 Implementation of forward/backward linking 80
5.6 Concluding remarks 84
6. PROBLEM DEFINITION 87
6.1 The MPS format 87
6.2 Processing the MPS format 93
7. LP PREPROCESSING 97
7.1 Presolve 97
7.1.1 Contradicting individual bounds 100
7.1.2 Empty rows 100
7.1.3 Empty columns 100
7.1.4 Singleton rows 100
Contents ix
7.1.5 Removing fixed variables 101
7.1.6 Redundant and forcing constraints 102
7.1.7 Tightening individual bounds 102
7.1.8 Implied free variables 104
7.1.9 Singleton columns 105
7.1.10 Dominated variables 105
7.1.11 Reducing the sparsity of A 107
7.1.12 The algorithm 108
7.1.13 Implementation 109
7.2 Scaling 110
7.3 Postsolve 116
7.3.1 Unsealing 117
7.3.2 Undo presolve 118
7.3.3 Undo reformulation 119
8. BASIS INVERSE, FACTORIZATION 121
8.1 Product form of the inverse 122
8.1.1 General form 123
8.1.2 Sparsity exploiting form 124
8.1.3 Implementing the PFI 129
8.1.4 Operations with the PFI 131
8.2 L U factorization 134
8.2.1 Determining a sparse L U form 136
8.2.2 Implementing the LU factorization 143
8.2.3 Maintaining triangularity during iterations 149
8.2.4 Operations with the LU form 155
8.3 Concluding remarks 158
9. THE PRIMAL ALGORITHM 161
9.1 Solution, feasibility, infeasibility 162
9.2 Optimality conditions 164
9.3 Improving a BFS 167
9.3.1 The logic of the ratio test 173
9.3.2 Extensions to the ratio test 175
9.3.3 Algorithmic description of PSM-G 176
9.3.4 Computational considerations 178
9.4 Determining the reduced costs 181
9.4.1 Computing d 182
j
9.4.2 Updating 182
1T'
x COMPUTATIONAL SIMPLEX
9.4.3 Updating d 183
j
9.5 Selecting an incoming (improving) variable 184
9.5.1 Dantzig pricing 187
9.5.2 Partial pricing 187
9.5.3 Sectional pricing 188
9.5.4 Normalized pricing 189
9.5.5 A general pricing framework 198
9.6 Improving an infeasible basic solution 203
9.6.1 Analysis of w(t) 208
9.6.2 The logic of the ratio test 217
9.6.3 Extensions to the ratio test 217
9.6.4 Computational considerations 224
9.6.5 Adaptive composite pricing in phase-l 227
9.7 Handling degeneracy 230
9.7.1 Anti-degeneracy column selection 232
9.7.2 Wolfe's 'ad hoc' method 234
9.7.3 Expanding tolerance 237
9.7.4 Perturbation, shifting 241
9.8 Starting bases 244
9.8.1 Logical basis 244
9.8.2 Crash bases 246
9.8.3 CPLEX basis 253
9.8.4 A tearing algorithm 255
9.8.5 Partial basis 259
10. THE DUAL ALGORITHM 261
10.1 Dual feasibility, infeasibility 261
10.2 Improving a dual feasible solution 262
10.2.1 Dual algorithm with type-l and type-2 variables 263
10.2.2 Dual algorithm with all types of variables 266
10.2.3 Bound flip in dual 267
10.2.4 Extended General Dual algorithm 270
10.3 Improving a dual infeasible solution 277
10.3.1 Analysis of the dual infeasibility function 281
10.3.2 Dual phase-l iteration with all types of variables 284
10.4 Row selection (dual pricing) 292
10.4.1 Dantzig pricing 293
10.4.2 Steepest edge 293
Contents xi
10.4.3 Devex 296
10.4.4 Pricing in dual phase-l 297
10.5 Computing the pivot row 297
10.6 Degeneracy in the dual 298
11. VARIOUS ISSUES 301
11.1 Run parameters 301
11.1.1 Parameter file 302
11.1.2 String parameters 302
11.1.3 Algorithmic parameters 303
11.1.4 Numerical parameters 303
11.2 Performance evaluation, profiling 303
11.3 Some alternative techniques 306
11.3.1 Superbasic variables 306
11.3.2 Row basis 307
11.4 Modeling systems 310
11.5 A prototype simplex solver 311
Index
321