scheduling of resource-constrained projects

15
Scheduling of Resource-Constrained Projects

Upload: others

Post on 27-Dec-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scheduling of Resource-Constrained Projects

Scheduling of Resource-Constrained Projects

Page 2: 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

Page 3: Scheduling of Resource-Constrained Projects

Scheduling of Resource-Constrained Projects

by Robert Klein

~.

" Springer-Science+ Business Media, LLC

Page 4: Scheduling of Resource-Constrained Projects

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, photo­copying, record ing, or otherwise, without the prior written permission of the publisher, Springer-Science+Business Media, LLC.

Printed on acid-free paper.

Page 5: Scheduling of Resource-Constrained Projects

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

Page 6: Scheduling of Resource-Constrained Projects

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

Page 7: Scheduling of Resource-Constrained Projects

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

Page 8: Scheduling of Resource-Constrained Projects

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

Page 9: Scheduling of Resource-Constrained Projects

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

Page 10: Scheduling of Resource-Constrained Projects

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

Page 11: Scheduling of Resource-Constrained Projects

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

Page 12: Scheduling of Resource-Constrained Projects

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 } )

Page 13: Scheduling of Resource-Constrained Projects

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

Page 14: Scheduling of Resource-Constrained Projects

Preface

In the last decades, project management has become a wide-spread instrument

which enables industrial and public organizations to efficiently master the chal­lenges 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. How­ever, 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 pro­gramming 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 manage­ment process is described and the management tasks to be accomplished during

project planning and control are discussed. This allows for identifying the ma­jor scheduling problems arising in the planning process among which the re­

source-constrained project scheduling problem is the most important. Basical­ly, 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

Page 15: Scheduling of Resource-Constrained Projects

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 ap­proaches 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. With­out 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