Post on 27-Dec-2021
transcript
Scheduling of Resource-Constrained Projects
OPERATIONS RESEARCH/COMPUTER SCIENCE INTERFACES SERIES
Series Editors
Professor Ramesh Sharda Oklahoma State University
Other published titles in the series:
Brown, Donald/Scherer, William T. Intelligent Scheduling Systems
Nash, Stephen G.lSofer, Ariela
Prof. Dr. Stefan VoB Technische Universitdt Braunschweig
The Impact of Emerging Technologies on Computer Science and Operations Research
Barth, Peter Logic-Based 0-1 Constraint Programming
Jones, Christopher V. Visualization and Optimization
Barr, Richard S.I Helgason, Richard V.I Kennington, Jeffery L. Interfaces in Computer Science and Operations Research: Advances in Metaheuristics, Optimization, and Stochastic Modeling Technologies
Ellacott, Stephen W.I Mason, John C.I Anderson, lain J. Mathematics of Neural Networks: Models, Algorithms & Applications
Woodruff, David L. Advances in Computational and Stochastic Optimization, Logic Programming, and Heuristic Search
Scheduling of Resource-Constrained Projects
by Robert Klein
~.
" Springer-Science+ Business Media, LLC
Library of Congress Cataloging-in-Publication
Klein, Robert. Scheduling of resource-constrained projects / by Robert Klein.
p.cm. -- (Operations research/ computer science interfaces series ; OReS 10) Includes bibIiographical references and index. ISBN 978-1-4613-7093-2 ISBN 978-1-4615-4629-0 (eBook) DOI 10.1007/978-1-4615-4629-0 1. Production scheduIing. 1. TitIe. II. Series.
TSI57.5.K5541999 658.5'3--dc21
99-046684
Copyright e 2000 by Springer Science+Business Media New York Origina1ly published by Kluwer Academic Publishers in 2000 Softcover reprint of the hardcover 1 st edition 2000
AlI rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanical, photocopying, record ing, or otherwise, without the prior written permission of the publisher, Springer-Science+Business Media, LLC.
Printed on acid-free paper.
Contents
Notations................................................................................................... XI
Preface ..................................................................................................... XV
Part I Project Management: Basics and Scheduling Problems
1 The Project Management Process............................................................. 1
1.1 Definition ofa Project .......................................................................................... .
1.2 The Project Life Cycle .......................................................................................... 2
1.3 Project Conception ................................................................................................ 5
1.3.1 Feasibility Study ............................................................................................ 7
1.3.2 Economic Analysis ........................................................................................ 8
1.3.3 Risk Analysis ............................................................................................... 10
1.3.4 Project Selection .......................................................................................... 12
1.4 Project Definition ................................................................................................ 15
1.4.1 Project Specification .................................................................................... IS
1.4.2 Project Organization .................................................................................... 16
1.4.3 Process Organization.......... ...... ............................ ...................... ................. 17
1.4.4 Budgeting..................................................................................................... 19
1.5 Project Planning .................................................................................................. 22
1.5.1 Structuring ................................................................................................... 22
1.5.2 Scheduling ................................................................................................... 24
1.5.3 Resource Allocation .................................................................................... 24
1.6 Project Execution ................................................................................................ 26
1.6.1 Reporting, Monitoring, and Control............................................................ 27
1.6.2 Configuration Management ......................................................................... 28
1.6.3 Quality Management ................................................................................... 29
VI Contents
1.7 Project Termination ............................................................................................ 30
1.7.1 Final Evaluation and Reporting ................................................................... 30
1.7.2 Dissolution ................................................................................................... 31
2 Project Planning and Control.................................................................. 33
2.1 Structuring ........................................................................................................... 34
2.1.1 Work Breakdown Structure ......................................................................... 34
2.1.2 Activity-on-Node Networks ........................................................................ 37
2.1.3 Activity-on-Arc Networks ........................................................................... 41
2.2 Scheduling ............................................................................................................ 43
2.2.1 Critical Path Analysis ................................................ .................................. 43
2.2.2 Slack Time Computations .................. ......................................................... 46
2.2.3 Gantt Charts ................................................................................................. 49
2.3 Resource Allocation ............................................................................................ 50
2.3.1 Resource Loading ........................................................................................ 50
2.3.2 Resource-Constrained Scheduling............................................................... 52
2.3.3 Time-Constrained Scheduling ..................................................................... 54
2.4 Control ................................................................................................................. 55
2.4.1 Schedule Control.. .............. ...................... .......... ............. ............................ 56 2.4.2 Cost Control ................................................................................................. 60
2.5 Project Management Software .......................................................................... 63
2.5.1 Features for Project Conception, Definition, and Termination ................... 64
2.5.2 Features for Project Planning ...................................................................... 65
2.5.3 Features for Project Execution .................................................................... 68
2.5.4 General Features .......................................................................................... 70
3 Resource-Constrained Scheduling Problems......................................... 73
3.1 Notations and Definitions ................................................................................... 73
3.2 Basic Models ........................................................................................................ 76
3.2.1 The Resource-Constrained Project Scheduling Problem (RCPSP) ............. 77
3.2.1.1 Properties ofRCPSP ..................................................................... 77
3.2.1.2 Formulation I ................................................................................ 79
3.2.1.3 Formulation 2 ................................................................................ 80
3.2.1.4 Formulation 3 ................................................................................ 82
3.2.1.5 Formulation 4 ................................................................................ 84
3.2.1.6 Formulation 5 ................................................................................ 86 3.2.1.7 Formulation 6 ................................................................................ 87
Contents VII
3.2.2 The Generalized Resource-Constrained Project Scheduling Problem ....... 89 3.2.2.1 Properties ofGRCPSP ................................................................... 91
3.2.2.2 Formulations.................................................................................. 92
3.2.3 Problem Complexity .................................................................................... 92
3.3 Extensions of the Basic Models .......................................................................... 95
3.3.1 Preemption ................................................................................................... 96
3.3.2 Multiple Modes ............................................................................................ 96 3.3.3 Maximum Time Lags .................................................................................. 99
3.3.4 State Preserving Jobs .................................................................... ............. 100
3.3.5 Further Extensions ..................................................................................... 102
3.4 Related Project Scheduling Problems ............................................................. 102
3.4.1 The Time-Constrained Project Scheduling Problem ................................. 103
3.4.2 The Resource Leveling Problem ............................................................... 104
3.4.3 The Resource Investment Problem ............................................................ 105
3.4.4 The Net Present Value Problem ................................................................ 106
3.4.5 The Weighted Tardiness Problem ............................................................. 108
3.4.6 Further Resource-Constrained Project Scheduling Problems ................... 108
Part II Resource-Constrained Project Scheduling: Solution Methods
4 Lower Bound Methods........................................................................... 113 4.1 Constructive Lower Bound Methods for RCPSP .......................................... 114
4.1.1 Simple Bound Arguments ......................................................................... 114
4.1.1.1 Critical Path and Capacity Bounds .............................................. 114
4.1.1.2 Bin Packing Bounds .................................................................... 117 4.1.1.3 Node Packing Bounds ................................................................. 120
4.1.1.4 Parallel Machine Bounds......... ........ ...... ................... ................... 124
4.1.1.5 Precedence Bounds.. ....................................... ............................. 128
4.1.2 Complex Bound Arguments ........ ................ ........................................... ... 129
4.1.2.1 LP-Relaxation with Cutting Planes ............................................. 130
4.1.2.2 Lagrangean Relaxation ................................................................ 132
4.1.2.3 Set Covering Based Approach .. .............. ..... ...... .......... .......... ..... 134
4.2 Destructive Improvement................................................................................. 136
4.2.1 Meta-Strategies for Computing Lower Bounds......................................... 136
4.2.2 Applying Destructive Improvement to RCPSP ................................ ......... 141
4.2.2.1 Reduction Techniques ................................................................. 141
4.2.2.2 Lower Bound Arguments for Contradicting Feasibility .............. 147
VIII Contents
4.3 Lower Bound Methods for GRCPSP .............................................................. 149
4.3.1 Simple Bound Arguments ......................................................................... 150
4.3.1.1 Critical Path and Capacity Bounds.............................................. 152
4.3.1.2 Node Packing Bounds ................................................................. 153
4.3.1.3 Parallel Machine Bounds............................................................. 157
4.3.1.4 Precedence Based Bounds........................................................... 158
4.3.2 Destructive Improvement .......................................................................... 159
5 Heuristic Procedures .............................................................................. 161
5.1 Types of Schedules ............................................................................................ 162
5.2 Priority-Rule Based Methods ........................................................................... 167
5.2.1 Scheduling Schemes .................................................................................. 169
5.2.1.1 Serial Scheduling Scheme ........................................................... 169
5.2.1.2 Parallel Scheduling Scheme ........................................................ 171
5.2.1.3 A Critique of the Scheduling Schemes........................................ 173
5.2.2 Multiple Planning Directions..................................................................... 175
5.2.2.1 Backward Planning ...................................................................... 175
5.2.2.2 Bidirectional Planning ................................................................. 178 5.2.3 Priority Rules ............................................................................................. 181
5.2.4 Multi-Pass Priority-Rule Based Heuristics................................................ 187
5.3 Improvement Methods ..................................................................................... 190
5.3.1 The Meta-Heuristic Tabu Search ............................................................... 191
5.3.1.1 Moves, Neighborhood, and Descent Procedures......................... 191
5.3.1.2 Basic Principles of Tabu Search.................................................. 193
5.3.1.3 Extensions of the Basic Approach............................................... 196 5.3.2 The Tabu Search Procedure RETAPS ......................................................... 198
5.3.2.1 Definition of the Neighborhood .................................................. 198
5.3.2.2 Tabu Management and Diversification ....................................... 204
5.3.3 Other Meta-Heuristic Based Procedures for RCPSP ................................. 208
6 Exact Procedures .................................................................................... 213
6.1 Components of Branch and Bound Procedures ............................................. 214
6.1.1 Branching Schemes .......... ............................................................. .... ........ 215
6.1.2 Search Strategies....................... ........................................................... ...... 216 6.1.3 Bounding Rules ........................................................................... .............. 218
6.1.4 Reduction Rules ......................................................................................... 219
6.1.5 Dominance Rules ....................................................................................... 220
Contents IX
6.2 The Branch and Bound Procedure PROGRESS ...........................................•... 221 6.2.1 The Branching Scheme.............................................................................. 222
6.2.2 Local Lower Bound Method...................................................................... 224
6.2.3 Bounding Rules ......................................................................................... 226
6.2.4 Reduction and Dominance Rules .............................................................. 228
6.2.4.1 Core Time Rule ........................................................................... 228
6.2.4.2 Active Schedule Rules................................................................. 229
6.2.4.3 Supersession Rule........................................................................ 231
6.2.4.4 Schedule Storing Rules .................................. ............................. 232
6.2.5 Example ..................................................................................................... 236
6.3 Scattered Branch and Bound ............................•.............................................. 240
6.3.1 Principles ofScauered Branch and Bound ................................................ 241
6.3.1.1 A Critique of Traditional Branch and Bound .............................. 241 6.3.1.2 Subdividing the Solution Space into Regions ............................. 243
6.3.1.3 Swapping Regions ....................................................................... 245
6.3.2 SCATTER: Scattered Branch and Bound for GRCPSP ............................... 247
6.3.2.1 Outline ......................................................................................... 247
6.3.2.2 Decomposing the Solution Space ................................................ 248
6.3.2.3 Swapping Regions ....................................................................... 249 6.3.2.4 Example ....................................................................................... 251
6.4 Existing Procedures .......................................................................................... 252
6.4.1 Parallel Branching Scheme........................................................................ 253
6.4.2 Serial Branching Scheme..... ............ .......................................................... 254 6.4.3 Delaying Alternatives ................................................................................ 256
6.4.4 Schedule Schemes ..................................................................................... 258
7 Computational Experiments ................................................................. 261
7.1 Hardware and Software Environment.. .......................................................... 262
7.2 Complexity Measures and Data Sets ............................................................... 263
7.2.1 Complexity Measures ................................................................................ 263
7.2.2 Data Sets for RCPSP ................................................................................. 267
7.2.3 Data Sets for GRCPSP .............................................................................. 269
7.3 Lower Bound Arguments ................................................................................. 274
7.3.1 Simple Bound Arguments ......................................................................... 275
7.3.2 Destructive Improvement .......................................................................... 278 7.3.3 Influence of the Problem Structure ............................................................ 281
7.3.4 Comparison with Complex Bound Arguments ......................................... 284
X Contents
7.4 Heuristic Procedures ......................................................................................... 286
7.4.1 Priority-Rule Based Heuristics .................................................................. 286
7.4.1.1 Combinations of Scheduling Schemes and Priority Rules .......... 287
7.4.1.2 Influence of the Problem Structure .............................................. 290
7.4.1.3 Multi-Pass Performance .............................................................. 293
7.4.1.4 Comparison to Proprietary Heuristics of Standard Software ...... 295
7.4.1.5 Results for GRCPSP .................................................................... 296
7.4.2 The Tabu Search Procedure RETAPS ......................................................... 300
7.4.2.1 Analysis of GRCPSP Performance ............................................. 301
7.4.2.2 Comparing RETAPS to Multi-Pass Heuristics .............................. 304
7.4.2.3 Comparing RETAPS to Other Heuristic Procedures for RCPSP .. 305
7.5 Exact Procedures ............................................................................................... 306
7.5.1 The Branch and Bound Procedure PROGRESS ........................................... 306
7.5.1.1 Comparing PROGRESS to GOH ..................................................... 307
7.5.1.2 Analyzing the Efficiency of PROGRESS ....................................... 309
7.5.2 Scattered Branch and Bound ..................................................................... 313
7.5.2.1 Comparing SCATTER to PROGRESS .............................................. 313
7.5.2.2 Comparing SCATTER to Existing RCPSP Procedures ................. 318
7.5.2.3 Comparing SCATTER to RETAPS .................................................. 321
8 Summary and Conclusions .................................................................... 325
References ............................................................................................... 333
Index ........................................................................................................ 365
Notations
General Notations and Symbols
x :=y
fxl LxJ
lsi lsi 00
SE S
S~Q
SeQ
SuQ
O(f(n»
LP
LB
UB
RCPSP
x is defined by the value of y
smallest integer ;;:: x
largest integer ::;; x
absolute value of a number s
number of elements in set S (cardinality of S)
an infinite number
s is element of set S; s is in the interval S
S is subset of Q
S is proper subset of Q
union of the sets Sand Q
order of a function f(n)
linear programming
lower bound on the value of an objective function
upper bound on the value of an objective function
resource-constrained project scheduling problem
GRCPSP generalized resource-constrained project scheduling problem
cf. confer
p. page
pp. page and following pages
XII Notations
Notations for Resource-Constrained Project Scheduling
n
J
j
d. J
rdj
dd· J
p. / F· J J
number of jobs
set of all jobs; J = {I, ... ,n}
index for the jobs; j = 1, ... , n
duration of job j in periods
release date of job j
due date of job j
set of jobs which immediately precede / follow job j
Pj * / Fj * set of jobs which precede / follow job j
A set of direct precedence relationships ( = {(i,j) I i,j E J and i E Pj } )
A * set of all precedence relationships ( = {(i,j) I i,j E J and i E Pt} )
A... start-to-start minimum time lag between two jobs i and j in number IJ
of periods
T end of the planning horizon
index for periods; t = I, ... , T
CT completion time of a project
CP critical path
ESj earliest starting time of job j
LSj latest starting time of job j
EFj earliest finishing time of job j
LFj latest finishing time of job j
TSLj total slack time of job j ( = LSj - ESj )
u j head of job j ( = ESj )
(OJ tail of job j ( = LF n - LFj )
\IIj start tail of job j ( = LF n - LSj )
E(t) jobs which are eligible in period t ( = {j I j E J and ESj + 1 :s;t:S;EFj } )
Notations XIII
m number of renewable resource types
R set of all renewable resource types; R = { 1, ... , m}
r index for renewable resource types; r = 1, ... , m
ar constant per period availability of resource type r
art availability of resource type r in period t
a~ax maximum availability of resource type r in the periods t = 1, ... , T; ( = max {art I t = 1, ... , T} )
ujr per period usage of resource type r by job j
IP collection of all incompatible job pairs
IS collection of minimal resource incompatible sets
CS feasible (complete) schedule
PS feasible partial schedule
J(PS) jobs which are scheduled within a partial schedule PS
SS/PS) scheduled starting time for job j in PS; j E J(PS)
SF/PS) scheduled finishing time for job j in PS; j E J(PS)
ES/PS) schedule dependent earliest starting time for job j E J-J(PS)
EFj(PS) schedule dependent earliest finishing time for job j E J-J(PS)
A(PS) jobs which are available for the partial schedule PS;
(= {j I j E J-J(PS) and Pj~J(PS)})
E(PS,t) jobs which are eligible for the partial schedule PS at time point t;
( = {j I j E A(PS) and ES/PS)::;t})
SSS serial scheduling scheme
PSS parallel scheduling scheme
DFSB depth-first search with complete branching
DFSL depth-first search organized as laser search
LLBM local lower bound method
RS resource strength
Preface
In the last decades, project management has become a wide-spread instrument
which enables industrial and public organizations to efficiently master the challenges of steadily shortening product life cycles, global markets and decreasing
profit margins. With projects increasing in size and complexity, it reveals that
their planning and control represents one of the most crucial management tasks.
In particular, this is true for scheduling which is concerned with establishing
execution dates for the sub-activities to be performed in order to complete the
project. As soon as the limited availability of resources forces conflicts between
concurrent projects or even sub-activities of a single project, this task often can
not be accomplished without using the support provided by one of the many commercial project management software packages, such as, e.g., Computer
Associates Superproject, Microsoft Project, or Scitor Project Scheduler. However, the results yielded by the included solution procedures are often rather un
satisfactory. Due to this reason, the development of more efficient procedures,
which can easily be integrated into the software packages by incorporated programming languages, is of great interest for practitioners as well as scientists
working in the field of project management.
The book on hand is subdivided into two parts. In Part I, the project management process is described and the management tasks to be accomplished during
project planning and control are discussed. This allows for identifying the major scheduling problems arising in the planning process among which the re
source-constrained project scheduling problem is the most important. Basically, it consists of assigning execution dates to the sub-activities of a project, such
that it is terminated as early as possible without exceeding the availabilities of
the resources involved in any period of its execution. After defining this prob
lem, a generalized version is introduced which is considered by most of the
commercial project management software packages on hand. Finally, a survey
on possible extensions which have been examined in the literature so far is giv
en.
Subsequently, Part II deals with efficient computer-based solution procedures for the resource-constrained project scheduling problem and its generalized
version. Since both problems are NP-hard, the development of such procedures which yield satisfactory solutions in a reasonable amount of computation time
XVI Preface
is very challenging. After giving a survey on the extensive research work which
has been performed in this area so far, a number of new and very promising approaches are introduced. This includes heuristic procedures based on priority
rules and tabu search as well as well lower bound methods and branch and
bound procedures which can be applied for computing optimal solutions. Final
Iy, to examine the effectiveness of the new procedures, the results of compre
hensive computational experiments are reported.
In particular, I want to thank Prof. Dr. Wolfgang Domschke who provided me with the possibility to perform this work and who accompanied its development
with numerous advices and suggestions for improvements. Furthermore, I am
grateful to Prof. Dr. Hartmut Stadtler for reading the manuscript and for sup
porting this work by many inspiring discussions. Special thanks are due to my
current and former colleagues Dipl.-Math. Gabriela Krispin, Dr. Armin Scholl,
and Prof. Dr. Stefan Vo13 for the great collaboration during all the years. Without their critical comments, this book would not exist in the present form.
Finally, lowe a debt of gratitude to my future wife Petra. This book is dedicat
ed to my parents.
Darmstadt, August 1999 Robert Klein