0% found this document useful (0 votes)
199 views

Resource Allocation in Project Management

Locacion con recursos

Uploaded by

carolina
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
199 views

Resource Allocation in Project Management

Locacion con recursos

Uploaded by

carolina
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 199

GOR ■ Publications

Managing Editor Editors


Kolisch, Rainer Burkard, Rainer E.
Fleischmann, Bernhard
Inderfurth, Karl
Möhring, Rolf H.
Voss, Stefan
Titles in the Series
H.-O. Günther and P. v. Beek (Eds.)
Advanced Planning and Scheduling
Solutions in Process Industry
VI, 426 pages. 2003. ISBN 3-540-00222-7

J. Schönberger
Operational Freight Carrier Planning
IX, 164 pages. 2005. ISBN 3-540-25318-1
Christoph Schwindt

Resource Allocation
in Project Management

With 13 Figures
and 12 Tables

123
Professor Dr. Christoph Schwindt
Institut für Wirtschaftswissenschaft
TU Clausthal
Julius-Albert-Straße 2
38678 Clausthal-Zellerfeld
E-mail: [email protected]

Library of Congress Control Number: 2005926096

ISBN 3-540-25410-2 Springer Berlin Heidelberg New York


This work is subject to copyright.All rights are reserved, whether the whole or part of the material
is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Dupli-
cation of this publication or parts thereof is permitted only under the provisions of the German
Copyright Law of September 9, 1965, in its current version, and permission for use must always
be obtained from Springer-Verlag.Violations are liable for prosecution under the German Copy-
right Law.
Springer is a part of Springer Science+Business Media
springeronline.com
© Springer-Verlag Berlin Heidelberg 2005
Printed in Germany
The use of general descriptive names, registered names, trademarks, etc. in this publication does
not imply, even in the absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general use.
Cover design: Erich Kirchner
Production: Helmut Petri
Printing: Strauss Offsetdruck
SPIN 11409960 Printed on acid-free paper – 42/3153 – 5 4 3 2 1 0
Die Seele jeder Ordnung ist ein grofier Papierkorb.
Kurt Tucholsky, Schnipsel
Preface

This monograph grew out of my research in the ficld of resourcc-constraincd


project scheduling conducted from 1995 to 2004 during my work as teaching
assistant and assistant professor at the Institute for Economic Theory and
Operations Research of thc Univcrsity of Karlsruhe. The aim of the book is
to givc an introduction to quantitative concepts and methods for resource
allocation in project managcmcnt with an cmphasis on an ordcr-theoretic
framework allowing for a unifying treatment of various problem types. In order
to make the work accessible for general readers, the basic concepts nccded arc
rcviewed in introductory scctions of the book.
Many pcople have contributed to the outcome of this research. First and
foremost, I would like to express my deep appreciation to my supervisor Pro-
fessor Klaus Ncumann, who introduced me to the field and the community
of project schcduling. I have greatly benefited from his comprehensive scien-
tific knowlcdgc and expertise, his continuous encouragement, and his support.
During all these years, his departmcnt has bcen a stimulating and attractive
place for doing research and teaching in Operations Rcsearch.
Moreover, I would like to thank my formcr collcagucs for many fruitful
discussions on various research topics and their continuing interest in my
work. A major part of my rcsearch has been done in collaboration with the
colleagues of the Karlsruhe project scheduling group, Birger Franck, Cord-
Ulrich Fundeling, Karsten Gentner, Steffen Hagmaycr, Dr. Thomas Hartung,
Dr. Roland Heilmann, Christoph Mellentien, Dr. Hartwig Nubel, Dr. Thomas
Selle, PD Dr. Norbert Trautmann, and Professor Jiirgcn Zimmcrmann. Our
work has been greatly influenccd by the activities of a research unit on proj-
ect scheduling funded by the Deutsclle Forschungsgemcinschaft and involving
colleagucs from the universities of Bcrlin (Profcssor Rolf Mijhring), Bonn (Pro-
fessor Erwin Pcsch), Karlsruhe (Professor Klaus Ncumann), Kicl (Professor
Andreas Drexl), and Osnabriick (Professor Peter Brucker). Numerous joint
workshops on project scheduling and the "cooperative-competitive" spirit in
this group havc been a great incentive to work even harder.
viii Preface

Finally, I grateful acknowledge the help of several peoplc in preparing the


manuscript of this monograph: Klaus Neumann for many valuable comments
on different versions of the manuscript, Gerhard Grill for carefully proof-
reading and improving the English wording of the manuscript, Frederik Stork
for pointing me to state-of-the-art contributions in convex programming, and
Jiirgcn Zimmermann for making experimental results on rcsourcc levelling
problems availablc to me. Of course thc faults and dcficicncics rcmaining are
entircly my own.

Clausthal-Zellerfeld, February 2005 Christoph Schwindt


Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Models and Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


1.1 Tcrnporal Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Time-Feasible Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Project Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3 Temporal Scheduling Computations . . . . . . . . . . . . . . . . . 11
1.2 Renewablc-Resource Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.1 Rcsourcc-Fcasiblc Schedules . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.2 Forbidden Sets and Delaying Alternatives . . . . . . . . . . . . 19
1.2.3 Breaking up Forbidden Sets . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.4 Consistency Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3 Cumulative-Resource Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.1 Resource-Feasible Schedules . . . . . . . . . . . . . . . . . . . . . . . . 30
1.3.2 Forbidden Sets and Delaying Alternativcs . . . . . . . . . . . . 32
1.3.3 Brcaking up Forbidden Sets . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.4 Consistency Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2 Relations. Schedules. and Objective Functions . . . . . . . . . . . . . 39


2.1 Resource Constraints and Feasible Relations . . . . . . . . . . . . . . . . 39
2.1.1 Renewablc-Resource Constraints . . . . . . . . . . . . . . . . . . . . 40
2.1.2 Cumulative-Resource Constraints . . . . . . . . . . . . . . . . . . . . 46
2.2 A Classification of Schcdulcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.2.1 Global and Local Extreme Points of the Feasible Region 52
2.2.2 Vcrtices of Relation Polytopes . . . . . . . . . . . . . . . . . . . . . . 53
2.3 Objectivc Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.3.1 Regular and Convexifiable Objective Functions . . . . . . . . 56
2.3.2 Locally Regular and Locally Concave Objective
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.3.3 Preorder-Decreasing Objective Functions . . . . . . . . . . . . . 64
x Contents

3 Relaxation-Based A l g o r i t h m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1 Regular Objcctivc Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.1.1 Enumeration Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.1.2 Solving the Relaxations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1.3 Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.1.4 Additional Notes and References . . . . . . . . . . . . . . . . . . . . 76
3.2 Corwexifiablc Objective Functions . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.2.1 Enumeration Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.2.2 Solving thc Rclaxations: Thc Primal Approach . . . . . . . . 85
3.2.3 Solving the Relaxations: The Dual Approach . . . . . . . . . . 94
3.2.4 Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.2.5 Additional Notes and References . . . . . . . . . . . . . . . . . . . . 99

4 C o n s t r u c t i v e A l g o r i t h m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.1 Schedule-Generation Schcme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.2 Local Scarch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.3 Additional Notcs and Rcfererlccs . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5 Supplements.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.1 Break Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.2 Scquencc-Dcpcndent Changeover Times . . . . . . . . . . . . . . . . . . . .128
5 . 3 Alternative Execution Modes for Activities . . . . . . . . . . . . . . . . .131
5.4 Continuous Cumulative Resources . . . . . . . . . . . . . . . . . . . . . . . . . 135

6 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
.
6.1 Make-to-Order Production Scheduling . . . . . . . . . . . . . . . . . . . . . .142
6.2 Small-Batch Production Planning in Manufacturing Industries 147
6.3 Production Scheduling in thc Proccss Industrics . . . . . . . . . . . . .149
6.4 Evaluation of Investment Projects . . . . . . . . . . . . . . . . . . . . . . . . .155
6.5 Coping with Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
.
List of S y m b o l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
.

I n d e x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Introduction

Project management and resource allocation. A project is a major


one-time undertaking dedicated to some well-defined objective and involving
considerable money, personnel, and equipment. It is usually initiated cithcr by
some need of the parent organization or by a customer request. The life cycle
of a project can bc structurcd into five consecutivc phases involving specific
managerial tasks (cf. Klcin 2000, Section 1.2). Starting with some proposal,
sevcral preliminary studies such as a feasibility study, an economic analysis, or
a risk analysis are conducted in the project conception phase in order to decide
whcthcr or not a corresponding project will be performed. In the project defi-
nition phase, the objectives of the project are formulated, the type of project
organization is selected, resourccs are assigned to the project, and different
tasks with associated milestones are identified. Subsequently, the project plan-
ning phase at first decomposes each task into precedence-relatcd activities by
means of a structural analysis of the project. The time and resource estima-
tions then provide the duration and resource requirements for each activity as
well as temporal constraints between activities that are connected by prece-
dence relationships. The result of the structural analysis and the time and
resource estimations is the representation of the project as a network mod-
elling the activitics and thc prescribed prccedence relationships among them.
Next, the temporal scheduling of the project provides the earliest and latest
start times as well as thc slack times of the activitics, limitations with respect
to resourcc availability yet being disregarded. The last and most complcx is-
sue of project planning consists in allocating the scarcc resources over time
to the execution of the activities. During the project execution phase, the im-
plementation of the project is controlled by monitoring the project progress
against the schedule which has been established in thc projcct planning phase.
In case of significant deviations from schedulc, the resource allocation has to
be performed again. Thc final project termination phase evaluates and docu-
ments the project after its complction to facilitate thc managcment of futurc
projects.
Introduction

Each phase in the project Ufe cycle requires specific project management
techniques. Several recent textbooks on project management are devoted to
the managerial and behavioral aspects of project conception, project defini-
tion, project planning, project execution, and project termination (see, e.g.,
Lewis 1998, Pinto 1998, Turner 1999, Keeling 2000, Meredith and Mantel
2002, or Kerzner 2003). This book is concerned with quantitative methods
for the project planning phase and, more specifically, with t h e problem of
optimally allocating resources over time.

Project planning within the life cycle of a project

T h e complexity of resource allocation arises from the interaction between


the activities of a project by explicit and implicit dependencies, which may
be subject to some degree of uncertainty. Explicit dependencies are given by
the precedence relationships between activities emanating from technological
or organizational requirements. In the course of time estimation, those de-
pendencies are transformed into temporal constraints between activities. T h e
scarcity of the resources used establishes an implicit dependency between ac-
tivities, which can be formulated as resource constraints referring to sets of
activities competing for the same resources or in terms of an objective function
penalizing excessive resource requirements. T h e resource allocation problem
consists in assigning time intervals to the execution of the activities while tak-
ing into account the prescribed temporal constraints and resource scarcity. If
Introduction 3

resource constraints are given, we also speak of a resource-constrained proj-


ect scheduling problem. We distinguish bctwcen two subproblems: sequenczng
and tzme-constramed project schedulzng. The limited availability of resources
necessitates the definition of additional preccdence relationships between ac-
tivitics when performing tlie resource allocation task. Again, those prcccdence
relationships can be expressed in tlie form of temporal constraints. In contrast
to the structural analysis, howevcr, the precedence relationships to bc intro-
duccd arc subjcct to decision. This sequencing problem forms the core problem
of project planning. Time-constraincd project schcduling is concerned with
computing the project schedule such that all temporal constraints prcde--

tcrmined by the structural analysis or arising from sequencing are observed


-

arid some objective function reflecting the managerial goal of the project is
optimized. In the resource allocation methods developed in this book, scquenc-
ing and time-constrained project scheduling will be performed jointly in an
iterative manner.
If activitics can be performed in altcrnative exccution modes that differ in
durations and rcsourcc rcquircments, the selcction of an appropriate execution
mode for each activity may be included into the resource allocation problem.
In that case, the time and resource estimations providc thc scts of alternative
cxecution modes, and solving the mode assignment problem constitutes the
first stcp of resource allocation. Depending on whcthcr thc sets of execution
modes are countable or uncountable, we speak of a discrete or a continuous
mode assignment problem. A resource allocation problem that comprises a
modc assignment problcm is termed a multi-mode rcsourcc allocation prob-
lem.
Historical perspective and state of the art. Algorithms for resource
allocation in project management date back to the 1960s, see Davis (1966),
Laue (1968), Herroelen (1972), and Davis (1973) for ovcrvicws. The early work
was concerned with three types of resource allocation problcms: the time-cost
tradeoff problem, the projcct duration problem, and the resource lcvelling
problem. For all threc problem typcs it is assumed that a strict order in the
set of activitics specifies completion-to-start prcccdencc constraints among
activitics. The tzme-cost tradeoff problem is a multi-mode resource allocation
problcm which arises when certain activity durations can be reduced a t the ex-
pense of higher direct cost. The project budget is then regarded as the resource
to bc allocated. If for each activity the cost incurred is a convex function in
the activity duration, thc continuous mode assignmcnt problcm that consists
in computing all combinations of project duration and corresponding least-
cost schcdule can be determined by applying network flow techniqucs (see
Kelley 1961). A survey of multi-modc resource allocation problcms including
diffcrcnt types of tradeoffs between the durations, resource requirements, and
direct costs of activity exccution modes can bc found in Domschkc and Drcxl
(1991). The project duratzon problem consists in schcduling the activities of
a project subject to the limited availability of renewable resources like man-
power or machinery such that all activities are completed within a mininium
4 Introduction

amount of time. Early approaches to solving thc project duration problem in-
cludc mixed-integer linear programming formulations (see, c.g., Wicst 1963)
and priority-rule methods (cf. Kelley 1963, Vcrhincs 1963, and Moder and
Phillips 1964). The objective when dealing with a resource leuellzng problem
is to "smooth" the utilization of renewable rcsources over timc as much as
possible, within a prcscribcd maximum projcct duration. In some cases, a de-
sired threshold limit on thc rcsourcc availability is given, and resources are to
bc lcvcllcd around this targct. In other cases, one strives at minimizing the
variancc of resource utilization over time or minimizing the absolute magni-
tudc of fluctuation in the resource profiles. The first proccdurcs for resource
levelling offered by Burgcss and Killebrew (1962) and Levy et al. (1963) wcrc
bascd on sequentially moving in tirnc slack activities.
In the following years, a great deal of effort has bccn dcvotcd to heuristic
and exact algorithms for thc projcct duration problem. In the 1990s, projcct
planning methods gained increasing importance from their applicability to
schcduling problems arising beyond thc area of proper projcct management,
for cxample, in production planning, time-tabling, or investment scheduling.
Diffcrcnt gencralizations of the basic resource allocation problems have re-
ceived growing attention in recent years. Those expansions include a varicty
of objectives as well as the presence of different kinds of resources, general
temporal constraints given by prescribed minimum and maximum time lags
between the start times of activities, and uncertainty with rcspcct to activity
durations. For a review of solution procedures, we refer to the survey papers by
Icmcli ct al. (1993), Elmaghraby (1995), 0zdamar and Ulusoy (l995), Tavares
(1995), Herroelen et al. (1998), Brucker et al. (1999), Kolisch and Padman
(2001), arid Kolisch ( 2 0 0 1 ~ )A. comprehensive state-of-the-art overview of the
field is given by the handbook of Demeulemeester and Herroelen (2002), with
an emphasis on algorithrris for project scheduling problems with prcccdcnce
constraints among activities instead of temporal constraints. A detailed treat-
ment of specific project scheduling problems of the lattcr type can bc found in
thc monographs by Kolisch (1995), Schirmer (1998), Hartmann (1999a), Klein
(2000), and Kimms ( 2 0 0 1 ~ )Thc . book by Hajdu (1997) is mainly concerned
with several types of time-cost tradeoff problems. Solution procedures for sev-
eral project scheduling problcms with general temporal constraints have been
discussed by De Reyck (1998), Dc Reyck et al. (1999), Neumann and Zim-
niermarin (l999a), Zimrnermann (2001a), and Neumann et al. (20036). Models
and algorithms for project scheduling with stochastic activity durations arc
studicd in the doctoral dissertations of Stork (2001) and Uetz (2002). A review
of models and algorithms for projccts with stochastic evolution structurc can
bc found in Neumann (1999b).
Contribution. In this monograph we discuss structural issues, efficient
solution methods, and applications for various types of determznzstzc resource
alloratzon problems including gcncral tcmporal constraints, different typcs of
resource requirements, and several classes of objcctive functions. The divcr-
sity of the niodels dealt with permits us to cover many featurcs that arise in
Introduction 5

industrial scheduling problems. Each resourcc allocation problem gives rise to


a corresponding projcct scheduling model, which provides a formal statement
of the resource allocation task as an optimization problem. This model may or
may not include explicit resource constraints. In the latter case, limitations on
the availability of resources are taken into account by the objective function.
Our main focus in this book is on devcloping a unifying algorithmic framcwork
within which the different kinds of project scheduling models can be treated.
This framework is bascd on the seminal work by research groups around Rolf
Mohring and Franz-Josef Radermacher, who have proposed an order-thcoretic
approach to stochastic and dctcrministic resource-constrained project sched-
uling (see, e.g., Radermacher 1978, Mohring 1984, Radermacher 1985, or Bar-
tusch et al. 1988). We cxtend the order-theoretic approach to resource al-
location problems involving so-called cumulative resources, which represent
a generalization of both rcncwable and nonrenewable resources known thus
far. Based on the results of a structural analysis of resourcc constraints and
objective functions, we discuss two general types of resource allocation pro-
ccdures. By enhancing the basic modcls trcatcd with supplemcntal kinds of
constraints we bridge thc gap between issues of greatly academic interest and
requirements cmcrging in industrial contexts.
Synopsis. The book is divided into six chapters. Chapter 1 provides an
introduction to three basic project scheduling models. First we address proj-
cct scheduling subject to temporal constraints and review how the temporal
scheduling calculations for a project can be performed efficiently by calculating
longest path lengths in project networks. We then discuss rcsource constraints
which arise from the scarcity of renewable resourccs requircd. If the availabil-
ity of a resourcc at some point in time depends on all previous requirements,
wc spcak of a cumulative resource. We consider the case whcre cumulative
resourccs arc depleted and replenished discontinuously at certain points in
time. The available project funds, depleted by disbursements and replenished
by progress payments, or the rcsidual storage space for intermediate products
are examplcs of cumulative resources. For both kinds of resourcc constraints,
we explain how to observe the limited resource availability by introducing
precedcncc rclatioriships between activities.
In Chapter 2 we discuss a relation-based characterization of fcasible sched-
ules, which is bascd on diffcrent types of relations in the set of activities.
Each relation defincs a set of precedence constraints between activities. This
charactcrization provides two representations of thc feasible region of project
scheduling problems as unions of finitely many relation-induced convex sets.
Whcreas the first reprcsentation refcrs to a covering of the feasible region by
relation-induced polytopes, the second rcprcscntation arises from partitioning
the feasible region into sets of feasible schedules for which the samc prccedence
constraints are satisfied. Those two representations are the starting point for
a classification of schcdules as characteristic points likc minimal or extreme
points of certain relation-induced subsets of thc fcasible region. For differ-
6 Introduction

ent types of objective functions, we show which class of schedules has to be


investigated for finding optimal schedules.
Depending on the objectivc function under study, we propose two dif-
fcrent basic solution approachcs. Chapter 3 is dedicated to relaxation-based
algorithms, which at first delete the resource constraints and solve the result-
ing time-constrained project scheduling problem. Excessive resource utiliza-
tion is then stepwise settled by iteratively introducing appropriate prccedence
relationships between activities (i.c., scqucncing) and re-performing the time-
constrained project scheduling. For different objective functions, we discuss
efficient primal and dual methods for solving thc timc-constrained project
scheduling problem. Those methods arc used within branch-and-bound algo-
rithms based on the relaxation approach.
If we deal with objective functions for which time-constrained project
schcduling cannot be performed efficiently, we apply a constructive approach.
The candidate schedules from the respective class are enumerated by con-
structing schedule-induced preorders in the activity set and investigating ap-
propriate vertices of the corresponding polytopes. In Chapter 4 we treat local
search algorithms operating on those sets of vertices, where the schedules are
represented as spanning trees of preorder-induced expansions of the underly-
ing project network.
Chapter 5 is concerned with several expansions of the basic project sched-
uling models. First we discuss the case where during certain time periods given
by break calendars, resources are not available for processing activities. Cer-
tain activities may be suspended at the beginning of a break, whereas other
activities must not be interrupted. Suspended activities havc to be resumed
immediately after the break. Thc second expansion consists in sequence-
dependent changeover times between thc activities of a project. Changeover
times occur, for example, if the project is executed at distributed locations
and resources havc to be transfcrred bctwcen the different sites. Next, we re-
view methods to discrete multi-mode project scheduling, where activities can
be performed in a finite number of altcrnativc execution modes. Finally, we
considcr continuous cumulative resources that are depleted and replenished
continuously over time.
In Chapter 6 we discuss several applications of the models treated in Chap-
ters 1 to 5 to scheduling problems arising outside the field of proper project
planning in production planning (make-to-order and small-batch production
in manufacturing, batch scheduling in the process industries) and finance
(evaluation of investment projects). Finally, we propose two alternative tech-
niques for coping with uncertainty in project scheduling, which is commonly
encountercd whcn performing real-life projects.
Models and Basic Concepts

In this chapter we introduce three basic project schcduling problems: the


time-constraincd projcct schcduling problcrn, the resourcc-constrained proj-
ect scheduling problem with renewable resources, and the resource-constrained
project scheduling problcrn with cumulative resources. The time-constrained
project scheduling problem consists in scheduling the activities of a project
such that all temporal constraints are satisficd and somc objective function
is optimized. Wc revicw how tcrnporal schcduling of the project can be per-
formed by solving specific time-constrained project scheduling problcms. We
distinguish bctwccn two typcs of rcsourccs, namely renewable and curnulativc
resources, depending on whether or not resource availability at a givcn point
in time is affected by thc complcte past project evolution. For both types
of resources we show how to copc with resourcc constraints by establishing
precedence relationships among the activities from so-called forbidden sets,
whose joint resourcc rcquircments cxcced the resource availability.

1.1 Temporal Constraints

1.1.1 Time-Feasible Schedules

A projcct can bc considcred to be a sct of intcracting tasks requiring time and


rcsourccs for their completion. The structural analysis of the project provides
a decomposition of the tasks into a set V of activitics and a sct E of prece-
dence relationships among thcm. Sct V consists of n activitics i = 1,.. . , n
to be scheduled and two auxiliary activitics 0 and n + 1, reprcscnting the
projcct beginning and the project termination, respectively. The precedence
relationships can be rcpresented as activity pairs ( i , ~ wherc
) i # j, saying
that the start time of activity i affects the earliest start time of activity j .
Thus, E c V x V is some irreflexivc relation in set V. Note that this relation
may not be asymmetric if there arc two activities i , E~ V which mutually
influence their earliest start times. Thc timc cstimation associates a duration
8 1. Models and Basic Concepts

pi E Z>o with each activity and a tirne lag hij E Z with each pair (i, j) E E.
An activity i E V is referred to as fictitious activity or event if pi = 0. Oth-
erwise, we speak of a real activity. The project beginning and termination,
the receipt of materials, or ndcstones are examples of events. V a and V e
respectively denote the sets of real activities and events of the project. We
assume that the real activities must not be interrupted once they have been
begun. Let Si denote the start time of activity i , which has to be determined
when scheduling the project in the temporal scheduling and resource alloca-
tion steps. If i is a fictitious activity, Si is also termed the occurrence time of
event i. The tirne lags Sij give rise to the temporal constraints

If ( i ,j ) E E , activity j cannot be started earlier than fiij units of time after the
start of activity i. A nonnegative value of Sij corresponds to a rninimum t i m e
>
lag d:YYL= Sij 0 between activities i and j,whereas a negative value of bij
can be viewed as a m a x i m u m t i m e lag d g a x = -hij > 0 between activities j
and i. If dg2" = pi, inequality (1.1) is referred to as a precedence constraint
between activities i and j . For what follows, we establish the following con-
vention.

Remark 1.1. The project is started at time 0 and must be completed by a


prescribed deadline 2, i.e., So = 0 -and 5 2. The deadline is represented
as a maximum time lag dzErfl = d between the project beginning 0 and the
project termination n + 1.

The temporal constraints (1.1) connect the start times of activities i and j.
Since by assumption activities must not be interrupted when being in progress,

is the completion time of activity i . Thus, start-to-start, start-to-completion,


completion-to-start, and completion-to-completion relationships among activ-
ities can easily be transformed into one another (cf. c g . , Bartusch et al. 1988).

Remark 1 . 2 Some constraints that occur frequently in practice can be mod-


elled by minimum and maximum time lags between activities (see Neumann
and Schwindt 1997):
(a) Release date ri for the start of activity i (hcad of i ) :d;li7" - ri.
( b ) Deadline & for the completion of activity i E V: d;;,""" = di - pi.
(c) Quarantine time qi after the completion of activity i (tail of i):
dm27L
z,n+l = Pi f 4i
(d) Fixed start time ti for activity i: dL2zn = d7naz
0- --ti.
-
(e) Simultaneous start of activities i and j : d r " = d T a x = 0.
( f ) Simultaneous conipletiori of activities i and j with pi > pj:
dmin = &?all- = p . - p
23 23 2 3'
1.1. Temporal Constraints 9

(g) Consecutive execution of activities i and j without any delay in between:


dmzn = dmax = pi.
23
2,
(h) Overlapping of activities i and j for at least xij <
min(pi,pj) units of
time: dZux = pi - 22.3.1 dmax
z,
- p j - xij.

+
From C, = S, p, it follows that thc schedule for executing the activi-
ties i E V of the project is uniquely given by specifying the respcctivc start
times S,. That is why we shall always represent solutions to project scheduling
problenis by a vector of activity start times.

Definition 1.3 (Time-feasible schedule). A vector S = (So,S1,. . . ,


of start times for the activities where Si 2 O ( i E V ) and So = 0 is called
a schedule. Schedule S is said to be time-feasible if it satisfies the temporal
constraints (1.1). The set of all time-feasible schedules is denoted by ST.

Obviously, set ST represents an integral polytope in I W;:' .


Assume that
ST # 0. It is well-known that thc partially ordered set -(ST, <) possesscs
< <
exactly one minimum ES, where S S' precisely if Si S,! for all i E V.
We rcfcr to ES as the earliest schedule. Furthermore, by Remark 1.1 (ST, <)
possesses exactly one maximum LS, which is termed the latest schedule. This
mcans that there is no timc-feasible schedule S such that Si < ESi or Si > LSi
for any i E V. The interval [ES,,LSi] is termed thc time window (for the start)
of activity i .
Now let f : ST -+ EX be an objective function assigning a value f (S) to
each time-fcasible schcdulc S . Without loss of gcnerality we assume that thc
objective function has to be minimized. The basic time-constrained project
scheduling problem can then be stated as follows:

1 Minimize f (S)
subject to S E ST
1
Definition 1.4 (Time-optimal schedule). A time-feasible schedule S solv-
ing the time-constrained project scheduling problem (1.2) is called time-
optimal.

All objective functions that will be considercd in this book arc lower scrni-
continuous, i.e., any lower-level set L, = {S E ST I f ( S ) <
a), a E IR, is
closcd. Since sct STis compact, this property ensures that there always exists
a time-optimal schedule provided that ST# 0.

1.1.2 Project Networks

In this subsection we shall show how thc activitics i E V and the tempo-
ral constraints S, - S, > 6,, for ( i , j ) E E can be represented by a project
net.cuork. Basically, thcrc are thrce different types of project networks. Actzvity-
on-arc or CPM networks associatc an arc ( u , v ) with each activity i , where
10 1. Models and Basic Concepts

the nodes u and u represent events (see Kelley 1961). CPM stands for "Crit-
ical Path Method", a temporal scheduling method based on activity-on-arc
networks. u is the first start of all activities i bclonging t o arcs emanating
from nodc u, whereas v is the last completion of all activitics i bclonging to
arcs terminating a t riode u. Arc (u, u) is weighted by the duration pi of the
corresponding activity i . Though only precedence constraints can be modclled
by CPM nctworks, this type of project network is widcly used in practice. In
gencral, dummy activitics havc to bc introduced for modelling the precedence
constraints among the activities arid there is no uniquc reprcsentation of the
projcct as a CPM network. The problem t o assign a CPM nctwork to the
project in question using a minimum number of dummy activities is known to
bc NP-hard (cf. Garcy and Johnson 1979, problcm ND44). Neurnann ( 1 9 9 9 ~ )
devises an O ( n 7 timc algorithm for thc construction of a CPM network with
a small nurnbcr of dummy activities, which is based on a proccdure by Brucker
(1973).
In activity-on-node networks, the nodcs are identified witli the activities.
For each timc lag dij, the network contains one arc (i,j) witli initial nodc i
and tcrminal node j, i.e., V is the riode set and E is the arc set of the nctwork.
An arc (i,j) E E is weighted by dij. Activity-on-node networks belong t o the
class of MPM networks (cf. Roy 1964, Sect. 11.2.1). MPM is thc acronym of
"Metra Potential Mcthod", the tcmporal scheduling rricthod for activity-on-
riode networks to be discussed in Subsection 1.1.3. Similar to CPM, MPM is
based on calculating longest directed paths in the project network. Obviously,
activity-on-node networks can cope with general temporal constraints. In ad-
dition, due t o the one-to-onc correspondcncc betwccn prcccdencc relationships
and arcs, thcre is a unique activity-on-node representation of the project (cf.
Neumann and Schwindt 1997).
Elnmghraby and Karnburowki (1992) havc introduced the following event-
on-node network. Each real activity i is represented by two events is and ic in
node set V. is corrcsponds to the start and ic to the completion of activity i .
Both nodes arc linked by two arcs (is,iC) and (iC,is) with wcights diic = p,
and hicis = -pi. For each time lag Sij between activities i and j , arc set E
contains ail arc (iC,jS)with weight diCj3 = dij - p i . Analogously to activity-
on-node networks, the arcs of the resulting MPM network can be intcrprcted
as minimum arid maxinlum t h e lags between the incident events. The arcs
(is,iC)and (iC,is) state that the completion of activity i must occur cxactly
pi units of time after its start, i.e., activity i must not be interrupted. The
arcs (ic,js) rcpresent completion-to-start time lags between activities i and j .

Example 1.5. We consider a projcct with four real activities i = 1 , 2 , 3 , 4 for


which we assume that activitics 3 and 4 cannot be started before activities 1
a i d 2 have been completed. The project must bc conlplctcd by a prcscribed
deadline d. Figurc l . l a shows the corresponding activity-on-arc project net-
work, where the dashed-line arcs represent dummy activitics rcquircd for mod-
elling the precedcncc relationships. The arcs are labelled with the durations
1.1. Temporal Constraints 11

of the respective activities. Thc activity-on-nodc network of the project is


shown in Figure l . l b , where square nodes correspond to real activitics and
circular nodes represent events. By splitting up each real activity into a start
and a completion event, onc obtains thc representation of the project as a n
event-on-node network, which is shown in Figure 1 . 1 ~ .

Fig. 1.1. Types of project networks: (a) activity-on-arc network; (b) activity-on-
node network; ( c ) event-on-node network

Throughout this monograph, we shall represent projects by MPM nct-


works. If not stated otherwise, the project network is an activity-on-node net-
work. Event-on-node networks will be used when dealing with project sched-
uling problems whcre events instead of activities takc up resourccs (the case
of cumulative resources treated in Section 1.3).

1.1.3 Temporal Scheduling Computations

In this subsection we review thc Metra Potential Method for the temporal
scheduling of the projcct. Lct N = (V, E, 6) bc the MPM network under con-
sideration, where 6 = (6z3)(2,3)EE
denotes the vector of arc weights. Temporal
schcduling consists of
(a) computing earliest and latest start time of activitics,
(b) finding the shortest projcct duration,
(c) calculating total floats, early frcc floats, and latc free floats of activities,
and
(d) idcntifying the critical activities with zcro total float
12 1. Models and Basic Concepts

with respect to the temporal constraints (1.1).


A vector ?r E R71+2is called a potentzal on project network N if thc cor-
responding tensions ?rJ - T , are greater than or equal to the respective lower
bourids 6,, (cf. Berge 1970, Sect. 5.3). Let S be some schedule and assume that
ST # @.Clcarly, S is a potential on N if and only if schedule S is time-feasible.
Thc earliest schcdulc ES thus corrcsponds to the componentwise minimal po-
tential ?r 2 0, and the latest schedule L S equals thc componentwise rriaxinial
potential ?r 2 0 with ?ro = 0 (and thus ?rn+l <
2,scc Rcmark 1.1). In other
words, ES is the unique solution to the following minimization problcm:

Minimize x,icv
n,~
subject to .irj - .iri > hij ((i,j) E E ) (1.3)
xi >0 (i E V)
Problcm (1.3) corresponds to thc time-constrained optimization problem (1.2)
whcrc f (S) = CiEv Si. The latcst schedule L S is obtained by solving (1.3)
with objcctivc function - CiEv .iri and additional constraint TO = 0.
Now let D = (dij)ijEv bc the matrix solving the following system of
equations

The values dij can bc intcrprctcd as time lags between activities i and j which
are induced by the set of given time lags hij ((i,j) E E ) .

Remarks 1.6.
(a) Due to Sij E Z for all (i,j ) E E, matrix D is intcgral as well.
(b) For each activity i E V, we assume that doi 2 0 (i.e, activity i cannot
be started before the project beginning) and di,,+l >
pi (i.e., the projcct
cannot be terminated before all activities have been complctcd).
(c) Each node i E V in project network N is reachable from nodc 0 and
+
node n 1 is reachable from each node-i E V. Since we always have a
maximum time lag dTE"+ = --6,+1,0 = d bctween the project beginning
+
arid the project termination and thus ( n 1,0) E E, project network N
is strongly conncctcd.
(d) Without loss of generality
-
we assume that 2 is the latcst project termina-
tion time, LC., d,+l,o = d.
(e) The minimum time lag between the project beginning and activity i equals
the earliest start time ESi of activity i , i.c.,

( f ) Likcwise, the maximum time lag between the project beginning and ac-
tivity i equals the latest start time of activity i , i.e.,
1.1. Temporal Constraints 13

If thcrc is no given maximum time lag di;"'" -die between the project
beginning and activity i , thcn LSi = 2 - di,,,+l.
(g) The earliest and latest completion times of activity i are

E C i = ESi + p i and LCi = LSi + pi (i E V)

Recall that a directed walk in network N is a sequence (illia,. . . , i,) of


nodes of N such that (i,, i,+l) E E for all p = 1 , . . . , u - 1, where the sum
c&,~,,+~ is referred to as the length of the directed walk. A dirccted
walk without any rcpctition of nodes is called a directed path. A directed
cycle is a directed walk ( i l l i 2 , . . . , i , , i l ) such that ( i l , i 2 , . . . , i,) is a directcd
path. Thc lower cquations in (1.4) correspond to the Bellman equations for
calculating longest directed walks in MPM networks. Thus, each induced time
lag dij coincides with the length of a longest directed walk from node i t o
nodc j, providcd that there is such a longest directed walk. Since according t o
Remark 1 . 6 network
~ N is strongly connccted, thcre is always a directed walk
in N from any node i E V t o any node j E V. In Roy (1962) it is shown that
there exists a longest directed walk from any node i E V t o any node j E V
in N if and only if N does not contain any directed cycle of positive length.
On the other hand, system of equations (1.4) possesses a solution precisely if
there is a longest directed walk from i to j for all i , j E V. In thc latter case,
the longest directed walks in N coincide with the longest directcd paths in
N, and D = (dzj)i,3EVis called the distance matrix of N. Thus, we havc thc
following proposition.

Proposition 1.7 (Roy 1962). There is a time-feasible schedule for a project


(Le., ST # 0) if and only if project network N does not contain any directed
cycle of positive length.

Let m := IEI dcnote the number of arcs in projcct network N. Prob-


Icm (1.3) can be solved in U ( m n ) time by the label-correcting proccdure
shown in Algorithm 1.1 (cf. Bellman 1958), where Q is a queue. Although
this algorithm has becn dcvised more than four dccadcs ago, it is still the
most efficient algorithm for solving longest-path problems in cyclic networks
with arbitrary arc wcights. Thc proccdurc may bc tcrrninated if some node i
has becn examined n + 2 times (see, e.g., Ahuja et al. 1993, Sect. 5.5). In that
case, (1.3) is unsolvable and thus ST = 0, which means that contradictory
temporal constraints have been specified.
Thc solution D to equations (1.4) is the elementwisc minimal matrix sat-

This formulation gives rise to the following Algorithnl 1.2 by Floyd and War-
shall (cf. Floyd 1962) for computing distances dij for all i , j E V. After having
14 1. Models and Basic Concepts
--

Algorithm 1.1. Earliest schedule

Input: MPM project network N = (V,E , 6 ) .


Output: Earliest schedule ES.
set doo :=O, Q := {0), and doi := -cc for a l l i E V \ Q ;
while Q f 0 do
dequeue i from Q;
+
for all (i,j ) E E with doj < do, 6,, do
+
set do, := do, 6,,;
if j $! Q then enqueue j to Q;
return earliest schedule ES = ( d o , ) i E v ;

initialized thc values dij according to the prescribed time lags 6ij, tllc algo-
rithm computes the transitive closure of those time lags by itcrativcly putting
into force the triangle inequalities

(1.5) and thus (1.4) is solvable exactly if the matrix D calculated by thc
Floyd-Warshall algoritlin~satisfies d,, = 0 for all i E V. The number of corn-
putations performed is O(n"), which is the best possible time complexity for
this problem (note that for chccking whether or not distances d,, satisfy (1.5),
U(n3) triangle incqualitics must bc cvaluatcd).

Algorithm 1.2. Distance matrix

Input: MPM project network N = (V,E , 6 ) .


Output: Distance matrix D.
for all i ,j E V do
if ( i , j ) E E then set d,, := hi,; elsif i = j set d i j := 0; else set d,, := -m;
for all h , i ,j E V with dih > -00 and d,,, > -m do
+ +
if d,, < d,h dhj then set dij := d,h d h j ;
return distance matrix D = ( d i , ) r , , 7 E ~ ;

The next algorithm, which is duc to Bartusch et al. (1988), achieves the
updatc of thc distance matrix D in U ( n 2 ) time when adding some arc (i, j )
t o tllc project network (see Algorithm 1.3). The calculation of the distance
matrix D from scratch by initializing the values dij as in the Floyd-Warshall
algoritlini and then applying the algoritl~rrlfor all arcs ( i ,j ) E E would re-
quire 0 ( m n 2 ) time, which is more cxpensivc than using the Floyd-Warshall
algorithm. The formcr procedure, however, will prove useful later on when
dealing with resource constraints and the resolution of so-called resource con-
flicts, where individual arcs are added to N.
1.1. Temporal Co~~straints 15

Algorithm 1.3. Addition of arc (i,j) with weight S,,

Input: Distance matrix D, an arc ( 2 , j) with weight 6,,


Output: Updated distance matrix D.
for all g , h E V do
+ +
if dgtL < dgZ d2, d 7 h then set d g h := d,, + S,, + d I h ;
return distance matrix D = (d,,),,,tv;

Remark 1.8. Thc updatc of distarlces dol, (or, cquivalcntly, carlicst start times
ES,,) after the addition of sorne arc (i, j ) to project network N can be pcr-
+ +
formed in (3(n) time by putting doh := max(dOh,doi hij djh) for all h E V.
This can easily be seen by using thc fact that the correctncss of Algorithm 1.3
docs not depend on the sequence in which pairs (g, h) are iterated. Symmetri-
cally, distances dyO(which coincide with the negative latest start timcs -LS,)
can be updated by putting dgo := max(dqO,dgi +dij +djO) for all g E V. Morc-
over, adding somc arc (0, j ) to N does not affect distances dio (i E V) and
adding sorne arc (i,O) t o N does not affect distances doj ( j E V).

Proposition 1.9 shows that the creation of a directed cycle of positive


length whcn adding arc ( i , j) to N can be tcstcd bcfore calling Algorithm 1.3.

Proposition 1.9. Let N be a project network with distance matrix D. The


addition of arc (i, j) with weight hij to N generates a directed cycle of positive
length if and only if ifij > -dji.

Proof. Suficiency: After the addition of arc ( i , j ) with hij > -dj, t o N it
holds that dij > hij. Thus, we have dij dji+ > +
hij dji > 0, which means
that there is a directed cycle of positive length containing nodes i and j.
Necessity: Now assume that hij <-dji and consider an itcration of Al-
goritlm 1.3 for somc pair (g, h) such that distance dyh is increased. Then
+ + <
the updatcd distancc is dyl, = dyi hi3 dJh dyi - dji djh. T h e trian-+
glc incqualitics (1.6) say that dji > + +
djh dlLg dgi and thus dglL dhg + <
+ + + +
dgi - (djh dhg dgi) djh dhg = 0. This means that after applying Al-
+
gorithm 1.3 it holds that dgh dhg 5 0 for all g, h E V, i.e., N contains no
directed cycle of positive lcngth. 0

Next, we consider three different floats or slack times of an activity i E V.


The total float TFi is the maximum amount of time by which the start of
activity i can be delayed beyond its earliest start time ESi such that the
project is tcrminated on time, i.e., 5 2.In other words,

Activity i E V is called critical if i cannot be delayed, i.e., if the maximum


time lag -die cquals the nlinimurri time lag doi between the project beginning
16 1. Models and Basic Concepts

and activity i arid thus fixes the start time Si of i t o ESi = LSi. Activity i is
critical exactly if TFi = 0.
The early free float EFFi is the maximum amount of time by which the
earliest start of activity i a t time ESi can increase given that any other
activity j can be begun a t its earliest start time E S j . Hence,

EFFi = rnin (ESj - Gij) - ESi = niin (do? - d,,) - do, (i E V )


(z,j)EE jtV:i#j

The late free float LFF, is the maxinium amount of time by which the latest
start of activity i at time LS, can decrease given that any other activity j can
bc bcgun a t its latest start times LSJ. Thus,

L F F i = LSi - max (LSj + Sji) = min (& - dji) - di0 (i E V )


(3,i)EE jEV:i#j

1.2 Renewable-Resource Constraints

To pcrforrn the activities of a project, different types of resourccs arc rcquircd.


Basically, we may distinguish bctwccn rcsources whose availability solely de-
pends on the activities being in progress (like manpower or machinery) and
rcsolirccs for which the availability results from the erit,ire project history
(such as thc project budget, materials, or storage space). In this scction we
deal with renewable resources, which belong t o thc formcr type and t o which
thc ovcrwhelming part of research in the field of resource-constrained project
scheduling has been dedicated. The case of cumulative resources, corrcspond-
irig t o the second type, will bc discusscd in Section 1.3. In the present section,
we suppose that no cumulative resourccs need t o be considcred. At first, we
providc a formal statemerit of the constraints arising from thc scarcity of rc-
newable rcsources. We are then concerned with conditions on the start times of
activities whose joint rcquireincnts for rcnewablc resources exceed the resource
capacities and which thus caririot be in progress sirnultancously. Finally, we
discuss consistency tests for detecting temporal constraints that are irnplicd
by the limited availability of rcnewablc rcsources.

1.2.1 Resource-Feasible Schedules

Let R P be the set of renewable resources k with capacity R k E N U {a}


that have been assigned to thc project during the project definition phase.
R k = a means that the availability of resource k is not explicitly bounded
from above but can bc adaptcd, at a certain cost, to any usage over time.
The resource estimation yields (resourcc) requirements r i k E ZzO for each
real activity i E V" and each resource k E R P . r i k corresponds to t h e number
of capacity units of resource I; which are taken up for processing activity i
from start time Si (inclusively) to complction time Ci = Si +pi (exclusively).
1.2. Renewable-Resource Constraints 17

rik = 0 means that activity i does not use resource k. Furthcrmore, we assume
that
rik 5 Rk (i E V u , k E RP)
which cnsures that sufficient rcsourcc capacity is available for processing each
activity individually. For simplicity, we may onlit resource index k whcn thcre
is only one renewable resource available.
Now lct S be somc schedulc and lct t be somc point in time. Then

is the acti,ue set of activities being in progress at time t . Thc corresponding


requirement for resource k E R P at time t is given by

For given schedule S, function r k ( S , .) : R -7' Z>Ois tcrmcd the loading profile
for renewable resource k . rk(S,.) is a right-corTtinuous step function with at
most 2n jump discontinuities. Obviously, we have r k ( S , t ) = 0 for all t < 0.
The renewable-resource constraints can be stated as follows:

Definition 1.10 (Resource-feasible and feasible schedules). A sched-


ule S satisfying the renewable-resource constraints (1.7) is called resource-
feasible with respect to renewable resources k E R P . The set of all resource-
feasible schedules is denoted by S R . S := ST n S R is the set of all feasible
schedules.

As wc shall see later on, unlike the polytope of tirnc-feasible schcdules S T ,


set SR represents a finite union of polytopes which is generally not connected.
As an intcrscction of a polytopc and a finite union of polytopcs, S is the union
of finitely many polytopes as well. Resource allocation consists in assigning
start times Si (and thus cxccution time intervals [Si,Ci[) to the activities of
the projcct such that the corresponding schedule S = (Si)iEv is fcasiblc and
minimizes the objective function on set S .
The basic resource-constrained project scheduling problem with renewable
resources rcads as follows:

7
1 subject to S E ST n SR

Rccall that we have assumed objective function f to be lower semicontin-


uous. The compactncss of S then irnplics that thcrc cxists an optimal solution
to problem (1.8) prcciscly if S # 0. Note, howcver, that duc to the prcscnce
of maximum time lags it may happen that ST # 0 and Sn # 0 but S = 0.
18 1. Models and Basic Co,ncepts

Definition 1.11(Optimal schedule). A feasible schedule S solving the


resource-constrained project scheduling problem (1.8) is called optimal.

By replacing the set S = ST n Sn of feasible schedules with the set


of rcsource-feasible schedules S R we obtain the temporal relaxatzon of the
resource-constrained project scheduling problerri (1.8). Since we have assumed
that r,k 5 Rk for all z E V" and all k E RP, each schedulc carrying out the
activities one after another is resourcc-fcasible. The resource relaxatzon of
(1.8) arises from deleting the resource constraints (1.7) or, equivalently, set-
ting Rk := cc for all k E R". The resource relaxation coincides with the basic
time-constrained project scheduling problem (1.2). As we noticed in Subscc-
tion 1.1.3, the existence of a time-feasible schedule can be checked in O(mn)
time by applying Algorithm 1.1 to project network N. The following theorem,
however, shows that it cannot be decided in polynomial time whether or not
there exists a feasible schedulc.

Theorem 1.12 (Bartusch et al. 1988). The following decision problem is


NP-complete.
Instance: A project with one renewable resource and requirements
r , = 1 for all i 6 V " .
Question: Does there exist a feasible schedule?

Proof. The feasibility of a given schedule S can be checked by computing


Sj - 5'2 for all arcs ( i , j ) E E of project network N as well as the resource
requirements rk(S,t ) for all resources k E R P and all start times t = Si of
real activities i E V u .Thus, verification of schedule feasibility can be done in
polynomial time, and the problem to decide upon the existence of a feasiblc
schedule belongs to NP. In Bartusch et al. (1988) it is shown by transformation
from problem PRECEDENCE CONSTRAINED SCHEDULING with m processors
and strict order + that the decision problern whether or not S # Q) is NP-
hard. An equivalent instance of the latter problern is obtained by considering
one renewable resource with capacity R = m and choosing ri = 1, pi = 1,
dmin
02 = 0, dy:"+l = 1 for all i E V a ,as well as diyi"" 1 if i + j and dT2Tl = 3.
0

When dealing with the projcct duration problem, we may drop the as-
sumption that there is a deadlinc 2 on the project termination because the
objective is to maximize the slack 2 - of the deadline constraint. The
constructiori of a feasiblc schedule then turns into an easy problem if there
are no maximum time lags given. In that case, projcct network N is acyclic,
and the activities can be schcdlilcd consecutively according to any topological
ordering of the nodes z E V of N.
1.2. Renewable-Resource Constraints 19

1.2.2 Forbidden Sets and Delaying Alternatives

The resource-feasibility of schedules is closely related to the concept of forbid-


den sets introduced by Radcrmacher (1978). The forbidden-set perspective of
resource constraints is useful for investigating the set S of feasible schedules.

Definition 1.13 (Forbidden and feasible sets). A s e t of real acti.uities


F C: V a i s called a forbidden set if there i s s o m e resoflurce k E R P s u c h that

If F i s C - m i n i m a l in t h e set of all forbidden sets, w e speak of a m i n i m a l


forbidden set. B y 3 *we denote t h e set of all m i n i m a l forbidden sets. A set
A c V Q that i s n o t forbidden i s termed a feasible set. A i s said t o be a
m a x i m a l feasible set if it i s C - m a x i m a l in t h e set of all feasible sets.

When solving the rcsourcc-constraincd project scheduling problem (1.8),


the activities from a forbidden set F must be scheduled in such a way that
they do not all overlap in timc. In othcr tcrms, each forbidden set F has to
be partitioned into a feasible sct A and some nonempty set B, no activity
from set B being executed simultaneously with all activities from set A. In
litcraturc, such a set B is called a delaying alternative (cf. e.g., Cliristofides
et al. 1987 or Demculcmcestcr and Herroelen 1992, 1997).

Definition 1.14 (Delaying alternative). Let F be a forbidden set. B 5 F


i s called a delaying alternative for F if F \ B i s a feasible set. If additionally
B i s C - m i n i m a l in t h e set of all delaying alternatives for F (i.e., F \ B i s a
m a x i m a l feasible set), w e speak of a m i n i m a l delaying alternative for F .

Thc number of minimal delaying alternativcs for a forbidden set F grows


exponcntially in the cardinality of set F. Givcn somc forbiddcn set F and a
subset B 5 F, it can be decided in polynomial time whether or not B is a
minimal delaying alternative for F by cvaluating the following two conditions
(1.9) and (1.10). This can be achieved in O(1RPIIFI) time.

rik: < Rk for all k E R P


ZEF\B

rik: + minqk: > Rk: for some k E


3EB
R P
iEF\B
Neverthclcss, Neumann et al. (2003b) have shown that a minimal dclay-
ing alternative B cannot be generated efficiently by itcrativcly transferring
activities from sct F to set B.
20 1. Models and Basic Concepts

Proposition 1.15 (Neumann et al. 2003b, Sect. 2.5). The following de-
cision problem is NP-complete.
Instance: A project with one renewable resource, a forbidden set F,
and an activity h E F.
Question: Does there exist a minimal delaying alterr~ativeB for F
containing h ?

Proof. Since conditions (1.9) and (1.10) can be verificd in polynomial time,
the problem is contained in NP. Let B with h E B be an arbitrary set of
activities using the single resource. Then B is a minimal delaying alternative
if and only if R - rninjEB rj < CiEFiB ri R. For rh = 1, we then havc
rtl = rninjEB r j and thus R- 1 < CiEF r, <
R, i.e., CiEFiB ri = R. Hcnce,
b
there is a minimal delaying alternative containing h exactly if there is a sct
A F \ {h) with CiEA ri = R. Now let I be a n instance of problcrn SUBSET
S U Mwith index set Z,sizes s ( i ) E N for i E Z, and threshold M E W (cf.
Garey and Johnson 1979, problem SP13). Wc obtain a n equivalent instance
of our dccision problcm by choosing F = Z U {h), r, = s ( i ) for all i E Z,
rh = 1, and R = M. 0

Similarly it can be shown that it is also NP-complete t o decide whether a


given activity h is contained in some minimal forbidden set F E F (cf. Stork
and Uetz 2005, who devise a polynomial trarisforniation from PARTITION).
In what follows, we describe a rccursion for computing minimal delaying
alternatives for a forbidden set F (see Neumann ct al. 2003b, Sect. 2.5). Given
a delaying alternative B,the set B of all minimal delaying altcrnatives B' C B
for F is either cqual to {B)if B is a minimal delaying alternative for F or
equal to the set of all minimal delaying alternatives B' C B \ {i) for F with
i E B.To avoid the multiple generation of one and thc same minimal de-
laying alternative B' (as subset of two different sets B \ {il) and B \ {i2)),
we restrict the recursion to subsets B' of B \ {i} for which j > i holds for
a11 j E (B \ {i)) \ B'. Since F itsclf is a delaying alternative, which includcs
all minimal delaying alternatives for F, we start the rccursion with B = F.
Algorithm 1.4 shows the corresponding recursive procedure, where i = 0 if
B = F at recursion level 0 and i is the number of the activity removcd in the
prcceding call t o the recursion, othcrwisc. A call to M i n i m a l D e l a y i n g A l -
t e r n a t i v e s ( F , 0) determines the set B of all minimal dclaying altcrnatives for
forbiddcn set F.
An alternative approach t o calculating all feasible subsets A c F (and
thus all delaying alternatives B = F \ A) has been proposed by Brucker et al.
(1998). Assume that F = {il,i z ,. . . , i,). Brucker's procedure constructs a
binary decision tree, where each node a t level p = 1, . . . , u corresporlds t o
some fcasible set A' {ill i 2 , .. . , i@) and branching from a node a t level
p - 1 corresponds to the decision whether or riot activity i, is contained in
the rcspcctive child node a t level p. Each leaf of the decision tree belongs t o
one feasible set A.
1.2. Renewable-Resource Constraints 21

Algorithm 1.4. MinirnalDelayingAltematives(B,i )

Input: A project, a forbidden set B,an index i .


Ensure: B contains all minimal delaying alternatives B' C B for F with
min(B \ B') > i.
if B satisfies (1.9)then (* B is delaying alternative*)
if B satisfies (1.10)
then (* B is rrlirlinlal delaying alternative *)
23 := B u {B);
else
for all j E B with j > i do MinimalDelayingAlternatives(B \ { j ) ,j ) ;

The following proposition establishes thc rclationship between minimal


dclaying alternatives and minirnal forbidden sets.
Proposition 1.16 (Schwindt 1 9 9 8 ~ ) .A minimal delal~in~g alternative B
for a forbidden set F is an C-minimal set containing an activity j of each
minimal forbidden set F' F.
Proof. Wc assume that there is a minimal delaying alternativc B for F and
a forbidden subset F' >
F with B n F' = 0. Then set F \ B F' is feasible.
Since every superset of a forbiddcn sct is forbiddcn, this contradicts the fact
that F' is forbiddcn. 0

1.2.3 Breaking up Forbidden Sets


When schcduling tllc activities of a project, resource conflicts causcd by the
simultaneous execution of the activities of some forbidden set have t o be re-
solved. Thc following theorern by Bartusch et al. (1988) shows how resource
conflicts can be settled by introducing precedence constraints between activ-
ities of minimal forbiddcn sets.
Theorem 1.17 (Bartusch et al. 1988). A schedule S is resource-feasible
if and only if for each rnininml forbidden set F E 3, there are two activities
>
i, j E F such that Sj S, + p i .
Proof. Suficiency: We consider the active set A(S, t) for a resource-infeasible
schedule S at some time t > 0 such that A ( S , t ) is forbidden. Since A ( S , t )
is forbiddcn, there is a subset F of A(S, t) that is minimally forbidden. By
definition of A(S, t ) , all activities of F overlap at time t , which implies that
there are no two activities i ,j E F with S, 2 S, p,. +
Necessity: Assume that there is some minimal forbidden set F for which no two
> +
activitics 2, j E F satisfy Sj Si +pi. Thcn ISi,Si +pi [ n [Sj,Sj p j [ # 8 for
any two activitics i , j E F. The Helly property of intervals (cf. e.g., Golumbic
2004, Sect. 4.5) then implies that QEF[S,, +
Si pi [ # 0, and thus thcre is
some point in time t at which all activities i from set F overlap. Since F is a
forbiddcn set, r k ( S ,t ) = CztF
r i k > R k for some k E R P . 0
22 1. Models and Basic Concepts

As a direct consequence of Theorem 1.17 wc obtain thc following Corollary.


Corollary 1.18 (Bartusch et al. 1988). T h e set S of all feasible schedules
represents t h e u n i o n of finitely m a n y integral polytopes.
We say that a constraint C breaks u p minimal forbidden sct F if for cach
>
schedulc satisfying C, there are two activities i ,j E F such that S j Si + p i .
Minimal forbidden sets can be broken up in diffcrent ways. According to
Theorem 1.17, the first possibility consists in choosing two activitics i ,j E F
and introducing an (ordinary) precedence constraint

bctwccn i and j . Altcrnativcly one may dcfinc a disjunctive precedence con-


straint
Sj > r€F:~#j +
niin (S, p,) (1.12)

between set F \ { j ) and activity j saying that j must riot be started bc-
fore the earliest completion of some other activity i from set F . Disjunctive
precedence constraint (1.12) is equivalent to the disjunction of the precedence
constraints (1.11) for all i E F, i # j and represents a so-callcd linear reverse-
convex coristraint (see, e.g., Tuy 1995, Sect. 7). Whereas the number of altcr-
natives for breaking up F by precedence constraints is C3(IFI2), this number
is of linear order O(IF1) when using disjunctive precedence constraints. Thc
set of all schedules satisfying a disjunctive prcccdcnce constraint is generally
disconnectcd and thus in particular nonconvcx. As will bc shown in Subsec-
tion 3.1.2, the mininiization of regular (i.e., cornponcntwise nondecreasing)
objcctivc functions can nevertlleless be done with a timc complcxity that is
linear in the maximum projcct duration d. In literature, disjunctive prece-
dence constraints are also referred to as AND/OR precedence constraints or
waiting conditions (cf. Mijhring ct al. 2004). They have been introduced by
Igelmund and Radcrmachcr (1983) in thc form of preselective strategies for
resource-constrained projcct schcduling with stochastic activity durations.
An arbitrary forbidden set F is said to be brokcn up if all minimal for-
bidden subsets of F are broken up. Let B be some minimal delaying alterna-
tivc for F . From Proposition 1.16 it thcri follows that brcaking up F can be
achieved by imposing a set of precedence constraints
s, 2 5'2 +Pz ( j E B)
between some activity i from thc maximal fcasiblc sct A = F \B and all
activities j E B or by a disjunctive prccedencc constraint

between set A and sct B. Notc that in the case of precedence constraints, onc
and the same activity i E F \ B can be chosen for all j E B because any
conjunction of precedencc constraints (1.11) for the activities j from delaying
alternative B implies shifting all j E B behind the earlicst finishing activity
i E F \ B, which breaks up forbidden set F.
1.2. Renewable-Resource Constraints

1.2.4 Consistency Tests

Thc NP-hardness of finding feasible schcdulcs implies that resource allocation


can only be performed by enumerating alternative sets of preccdcncc relation-
ships among activities using corrinion resourccs. Consistency tests designate
algorithms for detecting constraints that must bc satisfied by any feasible
schedule and that can be evaluated without enumeration to rulc out in ad-
vance certain inadmissible alternatives from further consideration. A consis-
tency test is described through a condition and a constraint that can be cs-
tablished whenever the condition is satisfied. From a geometric point of view,
applying consistency tests provides a convex set containing all feasible schcd-
ulcs. In thc best case, this convcx sct coincides with the convex hull conv(S) of
the feasible region. From Theorem 1.12, however, it immediately follows that
conv(S) cannot be computed in polyrioniial timc (othcrwise, problem (1.8)
with linear objective function f could be efficiently solved by finding some
optimal vertex of conv(S)). Since S is the union of finitely many integral
polytopes, the convex hull conv(S) is integral as well.
In enumcration procedurcs, consistcncy tcsts are often applied dynamically
to the search space of any enumeration node. The tests then refer to scarch
spaces rather than to the feasible region. In scheduling literature, consistency
tests are also known under the names preprocessing (if they are applied to the
root node before starting the enumeration), immediate selection algorithms,
edge finding rules, constraint propagation techniques, or satisfiability tests.
Instead of directly checking given conditions, consistency tests may also try
to refute additional, hypothetical constraints. If the test rejects the liypoth-
csis, the alternative hypothesis has bccn shown to be true and thus can be
used to rcducc thc scarch space. Consistcncy tests have been applied with
great success in machine scheduling and for thc resource-constrained project
duration problem (see Brucker et al. 1998, Dorndorf ct al. 2000a, or Dorndorf
et al. 2 0 0 0 ~ )The
. algorithm of Carlier and Pinson (1989) that solved the fa-
mous Fisher and Thompson (1963) job shop scheduling problem with 10 jobs
and 10 machines for the first time has becorrie a classical refercncc in the field.
We review some consistcncy tcsts that havc been proposed in literature
for project scheduling with renewable resources (see, e.g., Dorndorf et al.
1999). All procedures to bc discussed provide additional temporal constraints
that can be added in the form of arcs to project nctwork N. Let d i j again
denote the length of a longest directed path from node i to node j in project
nctwork N, where we assume that ST# 0. Consistency tests are usually used
in an iterative fashion as long as new temporal constraints can bc identified
and thus distance matrix D is modified (scc Algorithm 1.5, whcre r denotes
the set of consistency tests to be applied). The reason for this is that due to
updating distance matrix D, certain tests that in previous iterations failed
may possibly deduce additional constraints. In general, the distance matrix
yielded depends on the sequence in which the different tcsts are applied. For
the consistency tests to be discussed below, however, it can be shown that
24 1. Models and Basic Concepts

the resulting matrix is unique (cf. Dorndorf et al. 2000b). More precisely,
any consistency test can be interpreted as a function y mapping distance
matrices D to updatcd distancc matrices y(D). If for all consistency tests
y E r, D < <
D' implies y ( D ) y(D1), then thcrc exists only one fixed-point
rnatrix D with D = y ( D ) .

Algorithm 1.5. Search mace reduction bv consistencv tests r E r


Input: A project, a set r of consistency tests.
Output: Updated distance matrix D .
compute distance niatrix D; (* Algoritllrn 1.2 *)
repeat
r
for all corisistericy tests y E do
apply 7 ;
>
if new temporal constraint S, - S, 6,, has been established then
update distance matrix D , i.e., set D := y ( D ) ; (* Algorithm 1.3*)
until distance matrix D has not been changed during last iteration;
return distance matrix D ;

Disjunctive activities tests try to establish precedence constraints be-


tween activities which cannot be processcd at the same time. Let i , j E V"
be two diffcrent real activities that, with respect to the temporal constraints,
can be executed in parallel and for which j cannot be completed before i is
started, i.e.,
-pj < d,, < PL and d p < p,,
We say that i and j are in disjunction if due to the resource constraints they
cannot be processcd at the same time. In that case, we can introducc a new
> +
prcccdcnce constraint S j S, p, between i and j that will be satisfied by
any feasible schedule S .
Obviously, the activities of two-element forbidden sets are in disjunction.
+ <
However, i and j may also bc in disjunction if rik: rj,+ Rk for all k E RP.
Brucker et al. (1998) have used the concept of symmetric triples for finding
such activities. We call (h, i , j) a symmetric triple if {h, i, j ) is a forbidden set
and activity h must bc executed simultaneously with activity i (i.e., dhi > -pi
and dih > -ph) and with activity j (i.e., d h j > -pj and djr, > -plL). For a
syrrimetric triple (h, i , j ) , activities i and j cannot be in progress at the same
time bccausc this would imply that h, i , and j wcrc carried out in parallel,
which is impossible because {h, i , j) is a forbidden set. Obviously, detecting all
syrnnletric triples takes O ( n 7 time. After having established a ncw precedence
constraint, distance niatrix D must be updatcd, which can be done in U(n2)
time by using Algorithm 1.3.
Many consistency tests are based on lower bounds on the work that must
<
be performed in certain timc intervals [a,b[ with 0 a < b 2.Those tests<
are referred to as energetic reasoning ("raisonnement 6nergi.tiquen, see Lopez
1.2. Renewable-Resource Constraints 25

et al. 1992) or interval capacity tests (Dorndorf et al. 1999). If b - a = 1, we


6
speak of unit-internal capacity tests. Given some schcdule S, Jark(S, t)dt is the
workload to be processed by resourcc k E R P in timc interval [a, b[. Rk(b- a )
is termed the interval capacity of resource k in interval [a,b[. The execution
timc of activity i in interval [a,b[ equals (min(b - a , pi, Ci - a, b - Si))+, where
(z)+ := max(0,z). It follows that the workload of resource k in interval [a, b[
can be written as CiEvcL rik(min(b- a , p i , Ci - a , b - S i ) ) + . Now let

denote the minimum time activity i has to be processed in interval [a,b[. For
any time-feasible schedulc S E ST,

then represents a lower bound on the workload of resource k E RP in [a, b[.


Dorndorf et al. (2000~)have used energetic reasoning for finding further
activities i , j being in disjunction. i and j are in disjunction if for all times t
at which thc temporal constraints allow both activitics to be in progress,
the combined resource requirements of i and j for some resource k E R P
excecd the maximum residual capacity of k at timc t. This condition can
be formulated as follows. Activities i and j may be executed in parallel at
time t if t l < t < t2 where t l = max[max(ESi,ES,), min(ECi, E C j ) - 11
+
and t2 = rnin[min(LCi, LC?),max(LSi, LSj) 11. The minimum workload in
+
interval [t,t 1[ (or, equivalently, thc minimum requirement at time t) that
is due to the exccution of activities from set V" \ {i, j ) equals wk(t,t I ) -+
ri,!&(tl + +
t 1) - rjkpj(t, t 1). Accordingly, activitics i and j cannot overlap
in time if there exists a resource k E RP such that for all t E [tl, t2[

For given resource k E R P , the core loadzng profile ri : R -+ Z>o whcrc


+
r i ( t ) = wk(t,t 1) represents a lower approximation to the loading profiles
rk(S,.) of a11 time-feasible schedules S E ST.By using a support-point rep-
resentation of step function ri, all disjunctive activities i , j E V a satisfying
(1.15) can be identified in U(IRPln2) time (cf. Dorndorf et al. 2 0 0 0 ~ ) Each
.
timc a new precedence constraint has been cstablishcd, we have to recalculate
the earliest and latest start times of activities and to update the core loading
profiles of rencwable rcsources, which, for given distance matrix D, requires
O(IRPln1ogn) timc. Recall that after the addition of an arc (i, j ) to project
nctwork N, the earliest and latest start times can be updated in lincar time
(see Remark 1.8).
The shaving technique is intended to tighten the time windows [ES,,LS,]
of activities i E V a by falsifying hypothctical earliest or latest start times. We
first considcr the case of a hypothetical earlicst start timc t,. Assume that after
26 1. Models and Basic Concepts

the addition of the respective arc (0, i ) with weight ti to project network N
it holds that
+
~ k ( t , 1) > Rk (1.16)
for some resource k E RP and some time t. Then the capacity of rcsource k is
not sufficient to match the requircments for resource k a t time t, i.e., we havc
<
shown that any fcasiblc schcdule S satisfics Si ti - 1 (recall that conv(S)
is integral). For cach activity i , thc values for ti can be tcsted according to
a binary search in sct [ESi,LSi] n Z,wherc ti is dccreascd if the test fails in
refuting the hypothesis, and increased, otherwise. Testing hypothetical latest
start times can be performed analogously. When we apply the test to a givcn
activity i E Va, we have to update the core loading profiles ri a t each itera-
tion of the binary scarch, which again takcs U(IRf In log n ) tirne. Obviously,
inequality (1.16) needs only to be evaluated at jump-up discontinuities of the
core loading profiles, i.e., at points t = LSj (j E V). Thus, the time cornplex-
ity of applying shaving to activity i is U(1og dlRf In log n ) . Since updating the
core loading profiles is includcd in thc shaving proccdurc, establishing a new
earlicst or latest start time does not incur any additional effort.
The following unit-interval capacity test determines points in time at
which certain activities cannot be executed. Consider some real activity i E V a
that, at a given time t, is not necessarily in progress (i.e., ESi < t - pi or
> +
LSi t 1). In this case, activity i cannot be carried out at time t if for some
resourcc k E RP
+
'UJk(t,t f 1) T,k > R k
+
which implies S, E [ES,,t -pi] U [t 1,LSi] for any feasible schedule S (note
+
that due to pi@,t I ) = 0, rcquiremcnt r i k does not cntcr into workload
+
wk(t,t I ) ) . Two particular cases allow the introduction of additional ternpo-
ral constraints. If t is less than the carliest complction time ECi of activity i ,
> +
we obtain S, t 1, and if t is greater than or equal to the latest start time
LSi of i, it follows that Si 5 t - pi. Again, it suffices to consider points in
time t coinciding with the latest start time LSj of some j E Va. Accordingly,
applying the unit-interval capacity test to activity i requires O(IRPln) time.
The update of core loading profiles after having established a new earliest or
latest start tirne can again be performed in Q(IRPIn1ogn) time.
Thc activity-interval capacity test generalizes several consistency tests
that havc been devised for machine scheduling (see Dorndorf et al. 1999). Let
U C Va bc a rlonempty sct of rcal activities and let U', U" c U be two subscts
of U. If for some resource k E RP, the interval capacity in the interval frorn
the earliest start of an activity from set U \ U' to the latcst complction of an
activity from set U \ U" is lcss than the workload of the activities frorn set U,
1.e.,

then there is somc activity from set U' that is startcd first or somc activity
from set U" that is conlpleted last among the activities frorn set U:
1.2. Renewable-Resource Constraints 27

min Sg < min S,, or max Ch > max C, (1.18)


gEU' h€U\U1 /LEUf' g€U\U1'

For certain choices of scts U' and U", the disjunction (1.18) results in temporal
constraints (cf. Table 1.1).The corresponding consistency tests are known as
input, output, input negation, and output negation tests. Thc computational
effort associated with the diffcrcnt activity-intcrval consistency tests will arise
from the analysis of the next consistency test.

Table 1.1. Specific implementations of the activity-interval capacity test

Test (U1, U1') Temporal constraint(s)


Input ({il, 0) S,-s,> lforalljEU,j#i
Output ('4 {j)) S, - Si > p, - p, + 1 for all i E U , i # j
Input negation (U \ {j}, { j } ) S j > min( min ES,, max EC, - p,) +1
a \ t ~ } ~u\tj}
Output negation ({i), U \ {i)) Si 5 max( mi11 LS,, max LC, - p i )
, - 1
j€u\tz) ~€u\li)

Thc general interval capacity test refers to time intervals [a, b[ for
which the residual interval capacity Rk(b - a ) - wk(a,b) for given resource
k E R P is minimum. In Schwindt (1998c), Sect. 3.3, and, independcntly, in
Baptiste ct al. (1999) it has been shown that intervals [a, b[ with minimum
residual interval capacity can be determined by investigating U(n2) critical
intervals (where interestingly it is not sufficient to consider only intervals
whose endpoints coincide with carliest or latest start or completion times).
Similarly to the shaving technique, we may establish a hypothesis on the
consistency of somc tcmporal constraint St-SJ >
t,,. If under this assumption
there is a resource k with

rnax - wk(a,b) > Rk(b - a )


O<a<b<d

the hypothesis has bcen refuted and thus we can introduce the reverse tempo-
>
ral constraint S, - S, -t,, +1. For each pair (i, j ) E Va x Va wherc i # j ,
a binary search in sct [d,, , -d,,] n Z provides, within U(log d ) iterations, the
minimum t,, for which S, - S, >
t,, can be disproved. Since for given re-
source k , an intcrval [a,b[ with rnininium residual interval capacity can be
found in U(n2 logn) time (cf. Schwindt 1998c, Sect. 3.3), the time required
for applying the general interval capacity tcst to a given pair ( i , ~is )of order
~ ( l o g 2 l R " nlog
~ n).
The general intcrval capacity test represents a gencralization of all activity-
interval consistency tests listed in Table 1.1. This can be seen as follows. Con-
sidcr, for given sets U, U', U", the time intcrval [a,b[ wherc a := ming,u\u, ES,
and b := maxhEu\u,, LCh. Then the right-hand side of inequality (1.17) co-
incides with the interval capacity Rk(b - a ) of interval [a, b[. We first show
that the general interval capacity test generalizes the input test. Let U C Va
28 1. Models and Basic Concepts

bc a sct containing two differcnt activities i , j . According to Table 1.1, wc


choose U 1 = {i) and U" = 0, i.e., a = mingEu\IilES, and b = maxh,u LCh.
Now assume that Si - Sj 2 0.Then min,Eo\(il ES, = mingEuES, and
thus [ES!,,LCh[C: [a,b[ for all h E U , which implies ChEU <
rhkph wk(a,b).
This means that any temporal constraint that can be deduced by using the
input tcst also arises from applying the general interval capacity test where
for each pair (i,j ) , time lag tji is chosen to be cqual to 0.We now turn to
the input negation test with U' = U \ {j) and U" = {j),i.e., a = ESj
and b = maxl,,u\{jl LCh. We apply the general interval capacity test with
hypothesis So - Sj 2 - niin(rnin,,u\{jl ES,, rriaxlL,u\ljj EC!, - l-'j). From
Sj <~ n i n , ~ ES,
~ \ {it~follows
~ that ES, 2 ESj = a for all y E U \ {j),
and Sj + p j< maxh,u\{?) ECl, irriplics LC:j < max,A,u\(j) LCh = h. We thcn
again have [ES!,,LCh[C [a,6[ for all h E U . For reasons of symmctry, the
output and output negation tests can bc dealt with analogously.
The energy precedence test has been devised by Laborie (2003). If therc
>
is an (implied) minimum time lag dij pi between the starts of activities i
and j, thcn a workload of rikpi units has to be processcd on each resource
k E RQetween Si and Sj, whicli takes at least rnaxk,R~ rikpi/Rk units of
timc. Thus, for each feasible schedule S we have

Note that in contrast to the prcccding interval capacity tests, tlie effective-
ness of the energy prccedencc test is independent of the tightness of time win-
dows [ES,,LS,]. Applying the energy precedence tcst to activity j requires
O(1RPln) time. If the energy precedence test is applied to all activities, the
amortized computational effort per activity can be decreased to O(IRpl+ n).

1.3 Cumulative-Resource Constraints

Cumulative rcsourccs rcprescnt a gencralization of nonrenewable resources like


moncy or raw materials, which have been studied in the context of project
scheduling problems where activities can be performed in one out of several
alternative execution niodes differing with respect to duration and resource
requirements (cf. e.g., Wgglarz 1980 or Slowiriski 1981). Unlike renewable re-
sources, which are used during the cxccution time of activities and releascd
after completion, nonrenewable resources are consumed. Since the availability
of nonrenewable rcsourccs is nonincreasing over timc, tlie feasibility of a re-
source allocation and the respective cost incurred is independent of the sched-
ule S established and solcly depends on thc assignment of cxecution modes
to activities. Thus, nonrenewable resources can be disregarded if each activ-
ity can only be performed in one mode. How to solve the mode assignnient
problem in case of multiple execution modes will be discussed in Section 5.3.
1.3. Cumulative-Resource Constraints 29

In practice, resources that arc consumcd are generally renewed later on. If
the replenishment occurs during the project cxccution, thc availability of the
rcsourcc increases at certain points in time. In that case, the feasibility of a
schedule generally depends on thc scqucncc of dcplctions and replenishments.
For examplc, in many real-life projects certain project activitics arc associated
with disbursements for materials or staff leasing, and progress payments arise
for completed subprojects. It may then be necessary to delay certain disbursc-
mcnts behind payments in order to avoid a negative cash balance. Resources
that are depleted and replcnished over timc arc called cumulatzve resources.
The concept of cumulative resources has bcen introduced by Schwindt (1998~).
A cumulative resource can bc regarded as the inventory level in some storage
facility of finite capacity. The invcntory level is bounded from below by somc
safety stock and boundcd from abovc by thc capacity of the storage facility.
Carlier and Rinnooy Kan (1982) and Carlier (1989) havc dcalt with the
special case where activitics consume nonrenewable resources that become
available at givcn points in time. Thc authors provide a polynomial-time al-
gorithm for minimizing regular and max-separable objective functions f . In
addition they show that in prcsence of replenishing activities the optimization
problem becomes NP-hard.
Shewchuk and Chang (1995) havc considercd scheduling problems with
recyclable resources, i.e., renewable resources whose availability expircs after a
given lifcspan and which may be reused after a certain repair time (likc cutters
that have to be re-ground from time to timc). Such a recyclable resource can be
vicwcd as the combination of a classical renewable resourcc and a cumulative
resource kceping thc rcsidual time bcfore recycling becomes necessary.
Of course, cumulative resources can also be used to formulate part avail-
ability constraints arising, c.g., in construction projects or assembly manufac-
turing (sec, c g , Kolisch 2000, who has deviscd a mixed-irtegcr lincar program
for scheduling in assembly environments). If certain intermediate products
represent common parts, which arc components of differcnt subassemblies or
final products, onc has to decide on the sequence in which completed items of
those common parts are allotted to the respective products into which they
are installed (assignment-sequence problem, cf. Neurnann and Schwindt 1997).
The conccpt of cumulativc rcsourccs pcrmits to intcgrate the assignment-
sequence problem into the resource allocation problem (see Section 6.1). A
further application of cumulativc rcsourccs in thc context of assembly man-
agement is the modelling of spatial capacity constraints, which are due to
the limitcd asscmbly area. Kolisch and Hefi (2000) have dcvcloped schcdulc-
improvement methods for asscmbly scheduling problems including the latter
type of constraints (sce also Kolisch 2001b, Ch. 10).
Thc case of general cumulative resources has bcen considered by Neumann
and Schwindt (2002), who have discussed structural issues and have proposed
a branch-and-bound algorithm for project scheduling subject to inventory
constraints. Constraint-based methods for solving scheduling problems with
cumulative resources have been dcveloped by Beck (2002) and Laborie (2003).
30 1. Models and Basic Concepts

For what follows, we assume that cumulativc resources are depleted and
replenished discontinuously at the occurrence of certain evcnts likc the starts
and completions of real activities. Accordingly, we associate the resource re-
quirements with events instead of real activities, and we represent the project
undcr study by an event-on-node network (see Subsection 1.1.2). Thc case
whcrc curnulative resources are replenished and depleted continuously over
the processing timc of activities is treated in Section 5.4.

1.3.1 Resource-Feasible Schedules

Let R Y be the set of cumulative resources. For cach resource k E R Y a mini-


nluni inventory level or safety stock & E ZU (-03) and a maximum inventory
>
level or storage capacity Rk E Z U {m) is givcn, where Rk &. Thc (stor-
age) requirement r i k E Z of cvcnt i E Ve for resourcc k equals thc incrcase
in the inventory level of resource k at the occurrence of i. rik: is positive if i
replcnishes k and negative if i depletes k. For example, a replenishing event
may reprcscnt thc completion of some real activity producing an internlediatc
product that is stocked in resource k, whereas a depleting event may coin-
cide with the start of some rcal activity consuming the intcrmediate product.
Another cxarnplc of replenishing and depleting events are progress paymcnts
reccived arid disbursements for materials arid subcontractors. Resource re-
quirement r 0 k can be regarded as the initial inventory level in resource k. Wc
assume that

which ensurcs that the inventories CiEve ~ i of


k resources k E R Y at the
project termination neither fall below the safety stocks nor exceed thc
storage capacities &.
Now let VZ- := { i E Ve 1 r i k < 0) and V;+ := { i E V" I r i k > 0) denote
the sets of events depleting and replenishing, respectively, resource k E R Y .
Givcrl a schcdulc S,
<
A(S, t) := { i E Ve I Si t )
is the active set of events that have taken place by time t and thus determine
the irlventory level in resourcc k E R Y at time t . By

we denote the invcntory level of resource k E R Y at time t given schedule S .


rk(S,t ) corresponds to the cliniulative resource demands for resource k in
time interval [0,t ] .The right-continuous step function rk(S,.) is again called
the loading profile of resource k . Thc cumulative-resource constraints can be
written as -
R,<rk(S,t)<Rk ( k e R Y , O<t<Z) (1.20)
1.3. Cwmulative-Resource Constraints 31

Definition 1.19 (Resource-feasible and feasible schedules). A sched-


ule S satisfying the cumulative-resource constraints (1.20) is called resource-
feasible with respect to cumulative resources k E RY. The set of all resource-
feasible schedules is denoted by Sc. S := ST n SC is the set of all feasible
schedules.

Notice that conditions (1.19) are ncccssary and sufficient for the existence
of a resource-feasible schedule. Under conditions (1.19), a resource-feasible
schedule is obtaincd by scheduling all events at time 0.
The basic resource-constrarned project scheduling problem with cumulative
resources can be stated as follows:

(1.21)
subject to S E ST n Sc

Definition 1.20 (Optimal schedule). A feasible schedule S solving the


resource-constrained project scheduling problem (1.21) is called optimal.

Remarks 1.21.
(a) Without loss of generality we may assume that Ek = m for all k E RY
because the storage capacity of resource k can be - taken
- into account by
introducing a fictitious resource k' with &, = - R k , R k , = m , and rik, =
-rik for all i E Ve. Since SR remains unchanged when adding some integer
r. E Z to r o k , &, and &, we may in addition assume that Rk = 0 for
all k E RY.
(b) The resource-constrained project scheduling problem (1.8) with rcncwable
resources is a special case of problem (1.21). To formulate the renewable-
resource constraints in terms of temporal and cumulative-resource con-
straints, we replace each real activity i by two events activities is and ic
with dz',"f,'" dz,ac" = pi. For each renewable resource k E RP, we intro-
duce a cumulative resource k' with safety stock & = 0, storage capacity
-
Rk, = m, as well as requirements r ~ k = , R k , rTL+l,kf= 0 and r i p = -rik,
'r,ck/ = r ,k for all real activities i E V a .

In analogy to Section 1.2, the problem without tcmporal constraints is


tcrrned temporal relaxatzon. The resource relaxatzon again coincides with time-
constrained project scheduling problem (1.2).
The NP-hardness of finding some feasible schcdulc follows from thc fact
that first, the rcspective problem for the case of renewable resources is NP-
hard (cf. Theorem 1.12) and that second, renewable-resource constraints can
bc cxprcssed by temporal and cumulative-resource constraints without chang-
ing the order of magnitude of the problem size. The following theorem shows
that, unlike the case of renewable resources, the problem remains NP-hard
even if all maximum time lags are deleted.
32 1. Models and Basic Concepts

Theorem 1.22 (Neumann and Schwindt 2002). The following decision


problem is NP-complete.
Instance: A project with one cumulative resource of infinite storage
capucity, with 6, >0 for all (i, j ) E E, (i,j ) # ( n + 1 , 0 ) , and with
an arbitrarily large project deadline 2.
Question: Does them exist a feasible schedule?
Proof. Clearly, the resource-feasibility of a schedule S can be verified in poly-
nomial time by evaluating the resource constraints for all k E R Y and all
occurrence times t = Si of events i E Ve. Hence, the decision problem is
contained in N P .
Consider an instance of the NP-complete decision problem 3-PARTITION
(cf. Garey and Johnson 1979, problcm SP15). Given a set Z of 3u indices
i = 1 , . . . ,3u with sizes s ( i ) E N and given a bound M E N such that M / 4 <
s ( i ) < M / 2 for all i E Z and C i t z s ( i ) = u M . The question is whether
or riot Z can be partitioned into u sets T I , . . . ,I,such that s(i) =
M for all p = 1 , . . . , u. An equivalent instance of our decision problem can
bc constructed as follows. Besides the project beginning 0 and the project
+
termination n 1, set Ve contains TZ = 4v events i = 1 , . . . ,4u. There is one
cumulative resource with safety stock R = 0 and infinite storage capacity
-
R = m. The requirements for the cumulative resource are 7.0 = r,+l = 0,
+
ri = s ( i ) for i = 1 , . . . ,3u, and ri = -M for i = 3u 1, . . . ,4u. In addition,
we define u - 1 minimum time lags d$T1 = 1 for i = 3u +
1 , . . .4u - 1,
which prevent the simultaneous occurrence of any two depleting events. Due
to R = 0, each unit consumed must irnrnediately be replenished, which can be
achieved precisely if the replenishing events can be assigned to the depleting
events such that at each depletion time t , the total replenishment by those
events i = 1 , . . . ,3u with Si = t equals M. 0

1.3.2 Forbidden Sets and Delaying Alternatives

In the case of cumulative resources, we have to consider depletions and re-


plenishments of resources. Moreover, in addition to upper bounds &, there
arc lower bounds Rk on the inventories ( k E 727). This results in two differ-
ent types of forbidden sets: so-called surplus sets if the storage capacity is
exceeded and shortage sets if the inventory falls below the safety stock.

Definition 1.23 (Surplus and shortage sets). For a resource k E R Y , a


set of events F C Ve is called a k-surplus set if

F is termed a minimal k-surplus set if F is a k-surplus set and there is no


k-surplus set F' c F with F \ F' C V;+ and no k-surplus set F" > F with
F'' \ F C Vt- . Likewise, a set of events F C V" is called a k-shortage set if
1.3. C%mulative-Resource Constraints 33

F is termed a minimal k-shortage set if -F is a k-shortage set and there is no


k-shortage set F' c F with F \ F' C. Vz and n o k-shortage set F1' > F with
F" \ F & v,'. B y Fl and Fi we denote the sets of all minimal k-surplus
and all minimal it-shortage sets, respectively.
Note that one and the same set F can be a surplus set with respect to
a resourcc k E R? and a shortagc sct with respect to a different resource
k' E 727. In thc following, we refer to sets F being k-surplus or k-shortage
sets for some rcsource k E RY as forbzdden sets. A mznzmal forbzdden set is a
minimal k-surplus or a minimal k-shortage set for some resourcc k E 727.

<
Remark 1.24. We assume that Bk. 0 and R k > 0 for all k E 727, which
ensures that F = 0 is not a forbiddcn set. It follows from Remark 1.21a that
this convention docs not mcan any loss of generality.

Similarly to the case of renewable resources, the concept of minimal de-


laying alternatives can bc used for breaking up several minimal forbidden sets
at once.

Definition 1.25 (Delaying alternative). Let F be a k-surplus set (a k -


c
shortage set). B F is called a delaying alternative for F and k if F \ B is
not a k-surplus set (not a k-shortage set). If additionally B is C-minimal i n
the set of all delaying alternatives for F and k , we speak of a minimal delaying
alternative for F and k .
The following two conditions (1.22) and (1.23) are necessary and sufficient
for a sct B C V eto be a minimal delaying alternative for F and k .

From (1.23) it immediately follows that minimal delaying alternatives for sur-
plus sets only contain replenishing cvents and that conversely, minimal delay-
ing alternatives for shortage sets only contain depleting events.
To prove the basic theorem that will show how to resolve resource conflicts
in a systcmatic way, we need the following preliminary lemma.

Lemma 1.26 (Neumann and Schwindt 2002).


( a ) For each k-surplus set F , there exists some set F' 3
: satisfying the
conditions 0 # F' n V;+ 2 F n v;+ and F' n V,"2 F n V,"-.
( b ) For each k-shortage set F , there exists some set F' E 3; satisfying the
"
conditions 0 # F' V,-C F n V,,- and F' n v{+ > F n VE'.
34 1. Models and Basic Concepts

Proof. Let F be a k-surplus set. We construct a rniriinial k-surplus set F'


satisfying the condition of (a) as follows. We set F' := F and scan the events
j E F' nv,"' . Event j is removed from set F' if F' \ { j ) is still a k-surplus set.
Remark 1.24 implies that the resulting
-
set F' contains a rcplenishing event.
Then, we scan the events j E V c \ F and add j to set F' if F' U { j ) is
still a k-surplus set. Consequently, for all events j E F' replenishing rcsource
k, F' \ { j ) is no longer a k-surplus set and for all events j $ F' depleting
rcsource k, F' U { j ) is not a k-surplus set, either. Thus, F' represents a
minimal k-surplus set meeting the condition of (a). T h e reasoning for a k
shortage sct F is analogous. 0
Proposition 1.27 (Neumann and Schwindt 2002). Let F be a k-surplus
set (resp. k-shortage set). Set B ,represents a minimal delaying alternative for
F and k if and o d y if B is an 2-minimal set contuiwing one event j E v;+of
each minimal k-surplus set F' E 3; with F' f' V:' C: F nv,"' and F' nVE- >
F n V , - (resp. one event j E V z - of each minimal k-shortage set F' E FF
c
with F' n V , F n V,"- and F' n v;+>
Fn ).v;'
Proof. Let F be a k-surplus set for some k E R?
Suficiency: Wc consider a set B satisfying

Now assume that C j E F \ B rjk > Rk. Then F \ B is a k-surplus set, and Lem-
ma 1.26 implics the existence of a set F' E .F+ with F' n v;'
C ( F \ B ) n VL+
and F' n V;- > ( F \ B ) n V , F R o m F' n VEBC ( F \ B) n v;'
it then follows
that F' n v,"' n B = 0, which contradicts the assumption. Consequently, we
have C j E F \ B r j k 5 Rlc for any set B with property (1.24), and thus each
C-minimal set B meeting condition (1.24) is a minimal delaying alternative.
Necessity: Now let B be a minimal dclaying alternative. We assume the exis-
tence of a set F' E 3: with ~ ' v{+ c
n Fn v;', F' n V z -> FnVl-,
and F' n v,"' n B = @. Clearly, we have r 3 k > 0 for all j E B, which
then implies B n v;' = B , i.e., F' n B =-0 and F' = F' \ B. Thus,
<
C j E F , r j k = CjEI.',\B r j k <
C j E F \ B ~ j k R k , i . ~ . F'
, is not a k-surplus
-
set, which contradicts the assumption. Moreover, we have C j E F \ B , ~ j > k Rk
for all subsets B' c B, which implies that for each B' c B, there is a set
F' E F .: with F' n v,"' 2 Fn v,"' and F' n v;' n B' = 0 (see the proof of
sufficiency). Thus, B is C-minimal in the set of all sets satisfying (1.24).
The proofs for the casc of a shortage set F are analogous. 17
Algorithm 1.6, which is a variant of Algorithm 1.4, shows the correspond-
ing rccursive procedure used for computing the set B of all minimal delaying
alternatives for a forbiddcn set F and a resource k. Sincc the projcct begin-
ning 0 may be contained in minimal delaying alternatives, the procedurc is
invoked by MinimalDelayingAlternatives(F,k, -1).
1.3. Cun~ulative-ResourceConstraints 35

Input: A project, a forbidden set B , a resource k, an index i .


Ensure: B contains all minimal delaying alternatives B' B for F and k with
min(B \ B') > i.
if B satisfies (1.22) then (* B is delaying alternative *)
if B satisfies (1.23) then ( c B is minimal delaying alternative *)
B := B u {B);
else
f o r all j E B with j > i d o MinimalDelayingAlternatives(B\ {j),k, j ) ;

1.3.3 Breaking up Forbidden Sets

Thc following theorem provides a sufficient and necessary condition on the


resourcc-feasibility of schedules with respect to cumulative resources.

Theorem 1.28 (Neumann and Schwindt 2002). A schedule S is re-


source-feasible if and only zf
(a) for each F E 3; with k E R Y , there exist two events j E F n v;+ and
i E V{
-
\ >
F such that Sj Si, and -
(b) f o r each F E 3; with k E '727,th,ere exist two events j E F n V{ and
i E vke+ \ F such that S, 2 Si.
Proof. Suficiency: Let S be a schcdule with r k ( S ,t) > Rk for somc resource
>
k E R Y and some point in time t 0. Lemma 1.26 thcn provides the existence
of a minimal k-surplus set F E 3; for which 0 # F n v$+ 2 A(S, t ) n v;+
and F n V t >
A(S, t) n Vz-. Moreover, (1.19) ensures that Vg- \ F # 0.
<
Due t o F n v;+ 2 A(S, t) we have Sj t for all j E F n v{+. In addition,
V; \ F c
Ve \ A(S, t] implics Si > t for all i E V { \ F. Thus, Sj < Si
holds for all j E F n V{ and all i E Vg- \ F, which contradicts condition (a).
Similarly it can be shown that from a shortagc in some resource k at a time
>
t 0 it follows that condition (b) is not met.
Necesszty: Let F E 3; bc a minimal k-surplus set violating (a), i.c., for all
J E F~v{+ and all i E Vl- \F, wc havc S3 < Sz. From Rcrnark 1.24 it follows
that F contains an event replenishing resource k . Let t := maxJEFnv2+S, be
the point in timc at which thc last replenishing event j E F occurs. Due
t o F n v,"+ 2 s l ( S , t ) and (Vt- \ F ) n A ( S , t ) = 0, we obtain r k ( S , t ) 2
CJEF r,k > Rk, i.e., S is not resource-feasible. The case of F E 3; can be
dealt with analogously. 0

Theorem 1.28 states that any resource conflzct caused by the occurrence
of the events of somc forbidden set can be resolved by adding prccedcncc
constraints S, >
S, t o the original temporal constraints. As a consequence,
thc sct Sc of all resource-feasible schedules rcpreserits a union of polyhedral
36 1. Models and Basic Concepts

cones, and the sct S of all fcasible schedules again is a finite union of inte-
gral polytopcs. Since each project scheduling problem with rcnewable-resource
constraints can bc represented as an cquivalent project scheduling problem
with cumulative-resource constraints, this union is generally disconncctcd.
Similarly to thc casc of rencwable resources, forbidden scts F can be broken
up by introducing (ordinary) precedence constraints or disjunctivc preccdence
constraints. Let F bc a k-surplus sct for somc rcsource k and let B be some
minimal delaying alternative for F and k . Then we may cithcr irnposc a set
of precedence constraints
S,>Si ( j E B )
-

between some depleting cvcnt i from sct A = V$ \ F and all replenishing


cvents j from set B or, altcrnatively, a disjunctivc precedence constraint

min S .
jEB ' > rnin
ZEA
- .
S,i

between sets A and B. For brcaking up a k-shortage set F, we may introducc


a sct of prcccdcnce constraints

between some replenishing event i from set A = V;' \ F and all events j from
a corresponding minimal delaying alternative B or by a disjunctive precedence
constraint
jEo SG
rnin . > min Si
Z EA

between sets A arid B . Since cornpared to projcct schcduling with renewable-


rcsource constraints, set A typically contains a large nurnbcr of elcmcnts, the
use of disjunctivc prccedcncc constraints instead of ordinary precedence con-
straints generally leads to a tremendous decrease in the size of the enumcration
trcc of branch-and-bound rncthods.

1.3.4 Consistency Tests

As for project scheduling problems with renewable-resource constraints, con-


sistcncy tcsts can be used to draw conclusions about temporal constraints
that must necessarily be satisfied by resource-feasible schedules.
Ncumann and Schwindt (2002) have used the profile test for calculating
lowcr bounds on the minimum project duration. Assume that some event i
cannot take place before a hypothetical earliest occurrence time t i . We add
the corresponding arc (0, i) with wcight ti to projcct nctwork N. Let Sk with
k E 727 be the (gencrally not time-fcasible) schedulc wherc replcnishmcnts
arise as carly as possible and depletions occur as late as possiblc, i.e.,

~ , =k ES,, if r z k > O
S: = LS,, otherwisc
} (i E v e )
1.3. Cumulative-Resource Constraints 37

The corresponding loading profilc rk(Sk,.) then provides an upper approxima-


tion to the loading profile of any resource-feasible schcdule. If rk(Sk, t) < &
for somc time t, it has thus been shown that event i must arise before time t i ,
<
i.e., Si ti - 1 (notice that conv(S) is again an integral polytope). The con-
tradiction may also be dcrived from comparing the storage capacity & of
rcsources k with lower approximations to resourcc-feasible loading profiles
obtained by scheduling dcplctions at earlicst and rcplcnishmcnts at latest oc-
currence times. Similarly to thc shaving techniquc for projcct schcduling with
renewable rcsources, the tentative values for ti can bc tcsted according to a
binary search in set [ES,,LS,] n Z.Hence, the profile test can be implemented
n ) per event i. Recalculating the earliest oc-
to run in U ( l o g ~ l R ~ l n l o g timc
currence times aftcr having applied thc test talcs U(n) timc (cf. Rcmark 1.8).
Instead of earliest occurrence tirnes we can also establish hypotheses on latcst
occurrencc timcs, which may then be falsified by the same tcchniques.
The following balance test has been devised by Laborie (2003). Event
h E Ve must occur before event j E Ve precisely if dhj > 0, and h may occur
before j exactly if djh < 0. Now lct doj > 0. By considcring all depleting
cvents that must occur before j and all replenishing cvcnts that may occur
before j, wc obtain the upper bound

on the inventory lcvcl in resource k just before the occurrence of j. By rear-


ranging thc tcrms, ~ ' ( j can
) also be written as

i.c., as the sum of all requirements that must take place before j and all re-
plenishments that possibly but not necessarily occur before j . Now assume
that ChtVP.dhl>O r i L k < &, which implies that somc of thc lattcr replenish-
ments must arise bcforc 2. Lct h l , . . . , h, be a nurnbcring of the events from
set vli(j) := {h E Vz I d,iL < 0, dh, < 0) according to nondecreasing
earliest occurrence tirnes ESh,and let p be the smallest index such that

Then j must occur aftcr time ES,,p,and we obtain the temporal constraint
+
S, 2 ESh,L 1. If distance matrix D is givcn, thc timc needed for applying
thc balance test to activity j is of ordcr U(IRYInlogn). Updating matrix D
after having increased ESJ takes U ( n 7 timc.
The balancc test can be strengthrncd as follows. Wc consider one event
i E v{+(~) and we assume that St >
S,. Thcn upper bound 5;;;<(j)
on the
38 1. Models and Basic Concepts

inventory lcvcl in resource k a t time Sj-1 can be reduced by all replenishments


>
j ) carlnot occur strictly before i (and duc t o Si Sj thus
from set ~ z + (which
cannot occur strictly before j). This mcans that if

for some k E 727, then it must hold that S, > +


S, 1. This variant of the test
takcs O(IRYjn) time per pair (i,j) of events.
Similar consistcricy tests can be performed based on the upper bound

on the invcntory lcvcl at the occurrence of evcnt j and the corresponding lowcr
bounds r- < .
(j)and ~ 1 (;3 ) .
Relations, Schedules, and Objective Functions

When allocating scarce resources over time we have to define precedence rcla-
tionships among the activities of the project. Those precedence relationships
establish a binary relation in the activity set of tlie project. Together with
tlie original temporal constraints, the binary relation gives rise to a preorder
in thc activity sct. Dcpcnding on tlie type of basic project scheduling prob-
lcrn given and the specific objective function to be minimized, different types
of preordcrs have to bc investigated. In this chapter we revicw and extcnd
a classificatiorl of schedules and objective functions that has been proposed
by Ncumann ct al. (2000). The classification is based on two basic repre-
sentations of the fcasible rcgion of project schcduling problcms as unions of
relation-induccd polytopes. Thc purpose of the classification is to provide, for
each class of objective functions, a finite set of candidates for optimal sched-
ulcs that arc characterized as specific points of the relation-induccd polytopes
slick1 as minimal points, local minimizers of the objective function, or vertices.

2.1 Resource Constraints and Feasible Relations

Before we discuss the relationship between rcsourcc constraints and certain


relations in the set of real activities or events, respectively, we first review
somc basic terminology.

Definition 2.1 (Binary relation, preorder, and strict order). A binary


relation p i n (ground) set X is a set of pairs (x, y ) E X x X . Relation p' i n
X with p' > p is termed an extension of p. t r ( p ) denotes the transitive hull
of relation p, i.e., the C-minimal transitive extension of p i n X . A transitive
binary relation 0 i n set X is termed a preorder i n X . Two elements x, y E X
are referred to as comparable i n preorder Q i f (x, y ) E Q or ( y , x ) E 8, and
incomparable, otherwise. Q is a complete preorder if ( i ,j) E 6' or (j,i ) E 0 for
all i ,j E X, i # j . A set U C X of pairwise incomparable elements is culled
an antichain i n 8. p r e d e ( x ) = { y E X I ( y ,z) E Q ) is the set of p&decessors of
40 2. Relations, Schedules, and Objective Functions

z i n 0 . z E Y C X is called a maximal element of Y i n 0 if ( y ,cc) E 0 implies


( x ,y ) E 0 for all y E Y, y # z . A n irreflexive preorder is asymmetric and
thus represents a strict order. The covering relation cr(6') of strict order 0 i s
the C-minimal binary relation p i n X with t r ( p ) = 8. The precedence graph
of strict order 0 is the directed graph G ( 0 ) with node set X and arc set c r ( 0 ) .

Whcn we deal with renewable resources, forbidden sets F are brokcn up by


>
introducing prcccderice constraints S j S,+pi between rcal activities i ,j E F .
In other words, wc construct a strict ordcr 0 in thc set V u of real activities
where ( i , j ) E 0 means that activity j cannot be started before activity i has
bccn completed. In case of cumulative resources, surplus and shortage sets F
>
are broken up by introducing precedence constraints S j Si between events
i E Ve \ F and events j E F. Thus, by resolving cumulative-rcsonrcc conflicts
we establish a reflexive preorder 0 in event set Ve whose elements ( i ,j ) say
that event j cannot take place bcforc the occurrencc of cvcnt i .
Thc following two types of preorders will be needed when studying prece-
dence relationships between real activities or events that are induced by a
given schedule.
Definition 2.2 (Interval order and weak order). A n interval order i n
set X is a strict order 0 i n X for which ( w ,x ) , ( y ,z ) E 6 implies (w, z ) E 6'
or ( y ,x) E Q for all w , z , y, z E X . A (reflexive) weak order i n set X is a
complete and reflexive preordcr i n X .

2.1.1 Renewable-Resource Constraints

In this subscction wc consider irreflexive relations in the set V a of rcal activ-


ities for the scheduling of projects with renewable resources. Wc first define
the concepts of tirne-feasible and feasible relations, which go back t o the work
of Radermacher (1978) and Bartusch et al. (1988). In differcncc to the treat-
ment of the material by Neumann et al. (2000) and Neumann et al. (2003b),
Scct. 2.3, wc use rclations instcad of strict orders, which allows of a unifying
view on renewable-resource and cumulative-resource constraints.

Definition 2.3 (Time-feasible and feasible relations). Let p be an ir-


reflexive relation i n set V" and let S T ( p ) := { S E ST 1 S j 2 Si +pi for all
(i,j ) E p) be the set of all time-feasible schedules satisfying the precedence
constraints given by p. S T ( p ) is called the relation polytope of p. Relation p is
termed time-feasible if S T ( p ) # 0. A time-feasible relation p with S T ( p ) C S
is called feasible.

Condition S T ( p ) # 0 means that the precedence constraints from rcla-


tion p do not contradict thc prescribed tcniporal constraints. If S T ( p ) C S ,
all schedules satisfying those precedence constraints are feasible. If p is a fea-
siblc rclation, then all time-feasible extensions p' > p are feasible as well. A
feasiblc relation p represents a solution to thc sequencing problem of resource
2.1. Resource Constraints and Feasible Relations 41

allocation, which consists in detcrmining a (partial) order in which competing


activities are processed on the rcsourccs. Thc subscqucnt time-constrazned
project schedulzng of the activities is achieved by finding somc (necessarily
feasiblc) schcdule S E ST(p) rninimizing objective function f on ST(p).
Let M C STbe a nonempty set of time-feasible schedules. We say that S is
a mznzmal poznt of M if thcre is no S' E M with S' < S, where S' < S means
S' < S and S' # S. Relation polytope ST(p) is the set of all timc-fcasiblc
schcdules bclonging to the following "expanded" project network N(p). As a
consequence, the corresponding carlicst schcdule rcprcsents the unzque mini-
mal point of polytope ST(p) (see Subsection 1.1.3).

Definition 2.4 (Relation network). Given relation p i n set V", the rela-
tion network N(p) results from project network N by adding, for each pair
( i ,j ) E p, the arc ( I , j) ,with weight pi. B y D(p) = (d&)i,jEva we denote the
distance matrix belonging to relation network N(p).

Bartusch ct al. (1988) consider time-feasible strict orders 8 that are extcn-
sions of the strict order

O ( D ) := { ( i ,j) E V" x Va I di, > pi)


in V" induced by distance matrix D . We shall call such a strict order 8 BMR-
feaszble if no antichain U in t9 is forbidden. As we shall prove later on, the
antichains in 8 are exactly the sets of real activities which, subject to the
precedence constraints from H , can be in progrcss simultaneously. That is
why any BMR-feasible strict order is feasible as well. On thc othcr hand,
there may be feasible strict orders H > O(D) which are not BMR-feasible,
as will be illustrated in Examplc 2.10. Thc reason for this is that in general
O(D(8)) > t r ( 8 U O(D)). In the case where 6,, 2 p, for all ( i ,j ) E E , strict
order 8 is feasible precisely if t r ( 0 U O ( D ) ) = O(D(8)) is feasible.
By applying Theorem 1.17 we obtain the first basic rcprcscntation of the
set S of all feasible schedules.

Proposition 2.5 (Bartusch et al. 1988). Let M3R be the set of all 2 -
minimal feasible relations i n uctiv.ity set Va. Then {ST(p) I p E M F R ) is a
covering of S .

Notice that in general thc abovc covcring is not a partition of S because two
different time-feasible relations p and p' may not be contradicting each other
(i.e., ST(p U p') = ST(p) n ST(p') # 0). Proposition 2.5 will be uscful when
dealing with objective functions that can efficiently be minimized on convex
polytopes like regular or convex functions. In this casc, thc basic rcsource-
constrained project scheduling problem (1.8) can be solved by cnumerating
(subscts of) relations p E M 3 R .
In the following wc develop characterizations of timc-fcasiblc and feasible
relations that allow for efficiently checking the feasibility of a given relation.
42 2. Relations, Scl~edules,and Objective Functions

The latter technique will bc used when dealing with the case of uncertain input
data in Section 6.5, where solving a resource allocation problcm requires the
generation of appropriate feasible relations in the activity set. We shall apply
a similar approach in Section 5.2 for deciding on the feasibility of schedules
when resource units are occupied during a sequence-dependent changcover
time between the execution of consecutive activities.

Proposition 2.6 (Neumann et al. 2000). Relation p in Va is time-feasible


if and only if relation network N ( p ) does not contain any directed cycle of
positive length.

Proof. By definition, relation p is time-feasible exactly if ST(p) # 0. Poly-


tope ST(p) corresponds to the set of time-feasible schedules belonging t o
network N ( p ) . From Proposition 1.7 it follows that there is a time-feasible
schedule for N(p) precisely if N ( p ) does not contain any dircctcd cycle of
positive length. 0

As a conscqucncc of Proposition 2.6, checking the time-feasibility of p


+
can bc done in U ( n [ m lpl]) tirrie by applying Algorithm 1.1 t o relation
network N ( p ) for computing distances d;, for all i E Va. The next proposition
shows how the feasibility of p can be established on the basis of distancc
matrix D ( p ) . We need thc following preliminary lemma.

Lemma 2.7. Let ST# 0 and let U C: Va be a set of real activities such that
dij < pi for all i, j E U . Then there exists a time-feasible schedule S with
>
A(S, t ) U for some t > 0.

Proof. Two activities i , j E U necessarily overlap in time if dl""" < pi and


%?
d y " < pj. Now assunlc that wc add, for all i , j E U with z # j , a cor-
responding arc ( j , i ) weighted by 6ji = -pi + 1 to project network N . We
consider the addition of one of those arcs ( j , i ) . d,:, < p, or, equivalently,
< + <
dij p, - 1 iniplies dij 6ji pi - 1 - p i + 1 = 0. Proposition 1.9 then says
that therc is no directed cycle of positive length in the resulting (expanded)
network. Moreover, for all modified distances dgi, with g, h E U we have
d g h = d g j + 6 j i + d i h = d g j - p i + l + d . zh <
- P g - 1 - p .z + l + p i - 1 = p 9 -ISO
that property dgh < pg is preserved for all g , h E U . Thus, after t h e addition
of all arcs (j,i) E U x U with i # j thcrc is no directed cycle of positive length
in the resulting network N'. Proposition 1.7 then yiclds S&# 0 for the set S&
of time-feasible schedules bclonging t o network N'. Due to the added maxi-
mum tirrie lags, any two activities i, j E U ovcrlap in time for cach schedule
S E S$,i.c., [Si, Si + p i [ n [Sj, Sj + p j [ # f for all i, j E U. The Helly property
of intervals then implies that the interval niEci[Si, + Si pi[ during which all
activities from set U overlap is nonempty for each S E S&. 0

A constructive proof of Lemma 2.7 for the case where no deadline d for the
latest termination of the project is prescribed can be found in Bartusch et al.
(1988).
2.1. Resource Constraints and Feasible Relations 43

Proposition 2.8 (Neumann et al. 20036, Sect. 2.3). Time-feasible rela-


tion p in V^ is feasible if and only if for each minimal forbidden set F £ !F,
relation network N{p) contains a directed path of length d^- > pi from some
node i G F to some node j G F.

Proof Sufficiency: Let p be a time-feasible relation such that for all minimal
forbidden sets F G ^ , there is a pair (i, j) of activities i, j G F with d^- > pi.
Each schedule S G <5T(P) satisfies precedence constraint Sj > Si -\- pi for
all those pairs (i, j ) G G{D{p)). From Theorem 1.17 it then follows that all
schedules S G ST{P) are resource-feasible. Thus, with ST{P) Q ^T we have
9y^ST{p)CSRnST = S.
Necessity: We assume that there is a forbidden set F with d^j < pi for
all 2, j G F. Then from Lemma 2.7 it follows that there exists a schedule
S G ST{P) for which all activities i e F overlap in time. Thus, S is not
resource-feasible and ST{P) % S, which contradicts the feasibility of rela-
tion p. D

The following theorem is a direct consequence of Proposition 2.8.


Theorem 2.9. Time-feasible relation p in V^ is feasible if and only if no
antichain in strict order G{D{p)) is forbidden.

Proof. U is an antichain in G{D{p)) exactly if df- < pi for all i, j G U.


Proposition 2.8 says that p is feasible if and only if no antichain in G{D{p))
is a minimal forbidden set. Obviously, this is true exactly if no antichain is
an (arbitrary) forbidden set because any forbidden antichain U would embed
some minimal forbidden subchain U' <ZU. D

Theorem 2.9 implies that the feasibility of a time-feasible relation p can


be verified by finding, for each k G 7^^, a maximum-weight stable set Uk in
the precedence graph G{0) of strict order 9 = G{D[p)) with weights rik for
nodes i GV°'. Since G(0) is a transitive directed graph (see, e.g.. Bang-Jensen
and Gutin 2002, Sect. 1.8), such a set Uk can be determined efl[iciently by
computing a minimum (s,^)-flow u^ in a flow network Gk{0) arising from
G{0) by adding two nodes s and t and arcs (5, i) and (j, t) for sources i and
sinks j of G{0) and where lower node capacities rik for nodes i GV°' have to be
observed (cf. Kaerkes and Leipholz 1977 and Mohring 1985). This can be done
in 0(n^) time by two apphcations of the FIFO preflow push algorithm for the
maximum-flow problem with upper arc capacities (see, e.g., Ahuja et al. 1993,
Sect. 7.7, or Bang-Jensen and Gutin 2002, Sect. 3.9). p is feasible precisely if
for each k G 7^^, the minimum-flow value (l){u^) and thus the weight YlieUk ^^^
of stable set Uk is less than or equal to resource capacity Rk.

Example 2.10. We consider a project with four real activities and one renew-
able resource. Figure 2.1a shows the relation network N{p) belonging to strict
order p = {(1, 2), (3,4)}, where nodes i GV^ are labelled with durations pi on
44 2. Relations, Schedules, and Objective Functions

the top and resource requirements r^ in boldface on the b o t t o m . T h e resource


capacity is i^ = 2. There are five minimal forbidden sets { 1 , 2 } , { 1 , 3 } , { 1 , 4 } ,
{2,4}, and {3,4}. p is not BMR-feasible because antichains { 1 , 3 } , { 1 , 4 } , and
{2,4} are forbidden sets. T h e strict order 6 = G{D{p)) induced by distance
matrix D{j)) equals {(1,2), (1, 3), (1,4), (2,4), ( 3 , 4 ) } . T h e corresponding flow
network G{9) is shown in Figure 2.1b. Each node i is labelled with lower node
capacity ri and each arc ( i , i ) is labelled with minimum flow uij on ( i , i ) . A
maximum-weight antichain in 9 is U — {2,3} whose weight r2 + rs = 2 < /?
equals the minimum flow value (i)[u). Thus, strict order p is feasible.

Fig. 2 . 1 . Difference between feasibility and BMR-feasibility of strict orders: (a) re-
lation network N{p); (b) minimum (s,t)-flow in network G{0)

We now t u r n to strict orders 9 in V^ t h a t are given by the precedence


relationships induced by some schedule S,

D e f i n i t i o n 2 . 1 1 ( S c h e d u l e - i n d u c e d s t r i c t o r d e r ) . Given a schedule S,
strict order 9{S) := { ( i , j ) £ V^ x V^ \ Sj > Si -i-Pi} is the schedule-induced
strict order which corresponds to the precedence relationships established by S.
The relation polytope ST{9{S)) of 9{S) is called the schedule polytope of S,
and the relation network N{9{S)) is called the schedule network of S.

Schedule-induced strict orders 9{S) belong to the class of interval orders.


This can be seen as follows. Let S be some schedule and let (^, /i), (i, j ) G 9{S).
If (i,/z) ^ 9{S), then Sj > Si+pi > Sh> Sg^pg, i.e., (gj) e 9{S).
By Definition 2.3 we have

ST{P) = {SeST\ 9{S) D p} (2.1)

If schedule S is time-feasible, ST{9{S)) contains S. If schedule S is feasible,


we have ST{9{S)) C S. T h e reason for this is t h a t all schedules 6" G ST{9{S))
satisfy 9{S') 3 9{S) (compare (2.1)) and thus each active set A{S',t') with
2.1. Resource Constraints and Feasible Relations 45

<
0 t' < d is a subset of some activc sct A ( S ,t ) where 0 < t < 2.This proves
the following proposition.
Proposition 2.12 (Neumann et al. 2000). Strict order Q ( S )induced by a
time-feasible schedule S i s feasible if and only if schedule S i s feasible.
Notice that for a timc-feasible schedule S , strict order Q ( S )represents the
C-maximal relation whosc rclation polytopc contains S . This can easily be
shown by assuming the existcnce of some rclation p > Q ( S )with S E ST(p).
Then relation p contains a pair (i, j ) f Q ( S ) That
. is, we have S3 < S, p,, +
which contradicts thc assumption S E ST(p).The lattcr observation implies
the following statcmcnt.
Proposition 2.13. Each C - m a z i m a l feasible relation i s induced by s o m e fea-
sible schedule.
The rclation polytope S T ( @of
) some strict order 8 is the set of all time-
fcasible schedules inducing an extension of 8. The set of all schedules induc-
ing B is termed the equal-order set of Q.
Definition 2.14 (Equal-order set). Let B be s o m e schedule-induced strict
order i n set V a . Equal-order set SF(Q):= { S E ST I H(S) = 0 ) i s the set of
all time-feasible schedules inducing strict order. 0 .
Equal-order sets represent differences of schedule polytopes and thus are
generally not closed. If Q is an C-maximal time-feasible strict order, we
have SF(@)= S T ( @ )and, ST(8) c S T ( Q )otherwise.
, Equal-ordcr sets arc
convex because every schedule S on a line segmcnt joining two schedules
S', S" E SF(Q)induces strict ordcr 0. The concept of cqual-order sets leads
to the second basic representation of the set S of all feasiblc schedulcs.
Proposition 2.15. Let SZO be the set of all feasible schedule-induced strzct
orders. T h e n { S F ( Q I) Q E SZO) i s a partition of S .
We will refer to this rcprescntation of S when dealing with rcsourcc levclling
problems, where the objective function is regular or concave on equal-order
sets and thus can be minimized by investigating minimal points or verticcs,
respectively, of equal-order sets. The following proposition shows that this
corresponds to enumerating minimal points or vertices of schedule polytopes.
Proposition 2.16. For a given project, the set of ull m i n i m a l points (resp.
vertices) of equal-order sets coincides with the set of all m i n i m a l points (resp.
vertices) of sch,edule polytopes.
Proof. We show thc coincidence of the vertex sets. The same reasoning can be
applied to minimal points. Let S be a vertex of some schcdule polytope ST(0).
Then S is a vertex of equal-order set SF(O(S))as well because S E S F ( Q ( S ) )
and SF ( Q ( S )C) S T ( Q )Now
. let S bc a vertex of some equal-order set ST (0).
Then SF(8) = S T ( Q ( S )\ )(Up3@ST(p)). Since set uP3@ST(p) is closed, S must
be a vertex of S T ( Q ( S ) ) . 0
46 2. Relations, Schedules, and Objective Functions

2.1.2 Cumulative-Resource C o n s t r a i n t s

In this subsection we are concerned with relations cstablishing precedence


rclationships between the events of a projcct with cumulative resources. Thc
concepts of time-feasible and feasible relations are defined in arialogy to (time-)
feasible relations for the case of renewable resources.

Definition 2.17 (Time-feasible a n d feasible relations). Let p be a rela-


>
t i o n in event set V" and let ST(p) := {S E ST I Sj Si for all ( i ,j) E p} be
the relation polytope of p. Relation p i s termed time-feasible if ST(p) # 0. A
time-feasible relation p is called feasible if ST(^) C S .

A feasible relation in set Ve dcfincs prccedence constraints bctwccn the


events from set Ve which are consistcnt with the temporal constraints and
which ensure that all schcdulcs S E ST(p) are feasible. The corlccpts of relation
nctwork N(p) and corrcsponding distance matrix D(p) are defirlcd as for strict
orders.
O ( D ) := {(i,j ) E Ve x Ve I d,, 0) >
denotes the reflexive preorder in set Ve induced by distance matrix D.
Thcorcm 1.28 providcs the first relation-based representation of the S of
all fcasible schedules.
P r o p o s i t i o n 2.18. Let M F R he the set of all C - m i n i m a l feasible relations
in event set Ve. T h e n {ST(p) I p E MF'R) is a covering of S .
Again, thc covcring of S by relation polytopes is generally not a partition.
As for relations in set V", wc investigatc how thc feasibility of a given
relation in the event set can be checked efficicntly. We need two preliminary
lcrnrnas. The first lemma shows that any event set U C Ve arising from the
union of predecessor sets in rcflcxivc prcorder O(D) can be an activc sct.
The second lemma states that if not all minimal forbidden scts are broken
up by precedence constraints induced by distance matrix D, then there exists
a forbidden set satisfying the conditions of Lemma 2.19, which implies that
there are time-feasible schedules which are riot rcsourcc-feasible.

L e m m a 2.19. Let ST # @ and let U C Ve be a set of events such that for all
i, j E Ve with dij >
0, j E U implies i E U. T h e n there exists a time-feasible
schedule S with A(S, t ) = U for s o m e t 2 0.

Proof. We select some j E U with d,, <


0 for all i E U, e.g., a maximal clement
of U in reflexive preorder O ( D ) .Since set U is finitc, such a maximal element
always exists. Event i E U necessarily occurs no later than j if d z i n >
0, and
event i !$ U must occur after j if d Z z n > 0. Suppose that project nctwork N
is expanded by adding an arc ( i ,j ) with weight = 0 for each i E U, i f j
and by adding an arc (j,i ) with weight 6ji = 1 for cach i $ U . In what follows
wc prove that the resulting network N' does not contain dircctcd cycles of
<
positive length. Event j has been chosen such that (1) d j f , 0 for all h E U .
2.1. Resource Constraints and Feasible Relations 47

Moreover, from the definition of set U it follows that (2) dgh < -1 for all
g f U , h E U . We first consider the addition of one arc ( i , j ) with i E U .
Since (1) providcs d j i < 0, it follows from Proposition 1.9 that no directed
cycle of positive length is created. Next we show that the updatcd distance
matrix D still satisfies inequalities (1) and (2). Obviously, adding ( i ,j ) docs
not change any distance d j h with h E U since from (1) we havc dji+hij +dj,, 5
+ +
0 0 d j h = d j h . For distances d,,, with g f U and h E U that are modified
whcn calling Algorithm 1.3 we have dgh = dgi hiJ d j h -1+ + < + +
0 0 = -1
because of (1) and (2). Now consider thc addition of one arc ( j , i ) where
+ +
i f U. (2) providcs d j i d i j < 1 (-1) = 0, and thus none of the created
directed cyclcs has positive lengtli. By applying (2) wc obtain thc incquality
+ + + +
djlL = d j j Sji dZl, < 0 1 (-1) = 0 for thc modified distances d j h with
+ +
h E U. From (2) is also follows that d g h = d g j bji dZh -1 < +
1 - 1 = -1
for the modified distances d g h with g f U and Iz E U.
Thus, we can introduce a minimum time lag d;"" = 0 for all i E U, i # j
arid a minimum time lag dytir" 1 for all i f U such tliat the reduced
set S& of time-feasible schedules belonging to expanded project network N' is
nonempty. Since all cvents i E U occur before or at the same time as j and all
cvents i f U must be scheduled (strictly) latcr than j , the active set A(S, Sj)
at timc S j coincides with set U for all schedules S E S;. 0
Lemma 2.20. If there is a minimal k-surplus set F E 3; with d i j < 0 for all
2
i E V,' \ F , E F n v;' or a minimal k-shortage set F E .Fi with dii < 0
for all i E Vz \ F , j E F n V,"-, then there exists a forbidden set F' for which
j E F' implies i E F' for all i , j E v," U Vt- with d i j > 0.
Proof. Let F be a minimal k-surplus set with dij < 0 for all i E V -: \ F,
j E F n v,". We construct surplus set F' as follows. Wc first delctc all
i E Vz- n F from F for which d i j < 0 for all j E F n v;+. Sincc for none of
>
the deleted cvcnts i there is some j E F' n VE' with dij 0, it holds that (1)
d i j < 0 for all i E V;- \ F', j E F'nv,"'. After the deletion of events i it holds
that for any h E F' there is some j E F' n v': >
with drbj 0. Now consider
distances dih for i E Vt- \ F' and h E Vz- n F'. For given h E Vz- n F', let
j E F' n v,"' bc an event such that d h j > +
0. ( I ) provides 0 < dij L dih d h j
for all i E Vz- \ F, which together with d h j 2 0 implies dih < 0. Thus, we
have (2) dih < 0 for all i E V ; \ F', h E F' n Vf- .
Ncxt, we add all j E v;' \ F' to F' for which d j j , > 0 for some
j' E F' n v{+, so that (3) d g j < 0 for all g E v;+\ F', j E F' n v;+. Lct
j bc o m of the added events and let j' E F' n v;+ be an cvent such that
dj,, > 0. From (1) it follows that 0 > d i j , > +
dij d j j , for all i E Vz- \ F'.
Due to d j j ! 2 0, this implies d i j < 0 for all i E Vl- \ F', and thus property
(1) is preserved. The validity of property (2) is not affected by adding events
j E v+: \ F' to F' either. Finally, consider distances d9h for g E v':
\ F' and
h E F' n Vz-. For given h E F' n V;- , Ict j E F' n Vz be an cverit such tliat
> >
d h j 0. Using (1) wc have 0 > d g j d g h + d h j , which then implies dgr, < 0.
Thus, it holds tliat (4) d g h < 0 for all g E v': \ F', h E F' n V:-.
48 2. Relations, Schedules, and Objective Functions

The resulting set F' is a surplus set bccausc it ariscs from F by deleting
events i E Vc- and adding events j E Vf. Morcover, from (1) t o (4) we have
d,, < 0 for all i $ F' and all j E F', which proves thc asscrtion. The case of
a minimal k-shortagc sct F can be dealt with analogously. 0

The ncxt proposition, which translates the statement of Proposition 2.8


to the case of cumulativc rcsources, charactcrizcs thc fcasibility of relations
on thc basis of rclation network N(p).

Proposition 2.21. Time-feasible relation p i n Ve is feasible if and only if for


each m i n i m a l k-surplus set F E 3:, relation network N(p) contains a directed
>
path of lerqth d& 0 from s o m e node i E Vc- \ F t o s o m e node j E F n Vli
and for each m i n i m a l Ic-shortage set F E T i , relation network N(p) contains
a directed path
-
>
length d$ 0 from s o m e node i E v+: \ F t o s o m e node
jEFnV,' .

Proof. S u f i c z e n c y : Let p be a time-fcasiblc rclation satisfying thc conditions


of Proposition 2.21. Sincc for cadi schedulc S E ST(^) it holds that S, 2 S,
for all ( i ,j ) E @(D(P)),Theorem 1.28 implies the resource-feasibility of all
schedules S E ST(p). This mcans that &(p) Sc and thus ST(^) S .
Necessity: We assume that for some resource k E 727, there is a Ic-surplus
set F such that df3 < 0 for all i E V L \ F, j E F n v;.' Lemma 2.20 then
provides some surplus set F' for which Lemma 2.19 cstablishes the existence
of a time-feasiblc schedulc S such that A(S, t ) = F' for some t 0, i.e.,>
ST(P) g S. 0
Now we are ready to prove the counterpart of Theorem 2.9

Theorem 2.22. Time-feasible relation p in Ve i s feasible if and only if n o


u n i o n of predecessor sets in O(D(p)) i s forbidden,.

Proof. S u f i c i e n c y : Let p be a time-feasible relation for which no union of


predecessor sets in O(D(p)) is forbidden. U is a union of prcdecessor sets in
O(D(p)) precisely if for all i ,j E Ve with d:j > 0, j E U implies i E U . Since
there does not exist any surplus set U with the latter property, Lemma 2.20
iniplics that for each minimal surplus set F E 3:, there are two cvents
i E V \ F and j E F n v," such that d:j > 0. Symmetrically it holds
that for each minimal shortage set F E 3;, there are two events i E v;+ \ F
>
and j E F n V i - with d f j 0. Proposition 2.21 then establishes the feasibility
of p.
Necessity: For any union U of prcdcccssor scts in @(D(p)),it follows from
Lemma 2.19 that there exists a schedule S E ST(p) with A(S, t ) = U for some
>
t 0. If U is a forbidden sct, schedulc S is not resource-feasible, which means
that ST(p) g S . 0
2.1. Resource Constraints and Feasible Relations 49

Next we discuss how the fcasibility of a time-feasiblc rclation p can be


chccked in polynomial time by using Theorem 2.22. The statement of the
theorem can be reformulated in the following way: Time-feasible relation p
in Ve is feasible precisely if for no j E V" there is a forbidden union U of
predecessor sets in 0 = O(D(p)) containing j as maximal element of U in 0
(compare proof of Lemma 2.19). For given j E Ve, such a set U is dcfined by
properties (1) i E U implies h E U for all ( h , i ) E 0, (2) j E U, and (3) j is
a maximal clcmcnt of U in 8, i.e., for all i E U, (j,i) E 0 implies (i, j ) E 0.
The latter condition is cquivalcnt to i $ U for all i E V" with ( j , i ) E 0 and
(i,j) $ 0. Now let xi be a binary decision variable indicating whether or not
event i E V" is contained in U . Then we have (1) xh 2 xi for all (h, i ) E 0,
(2) 2, = 1, and (3) xi = 0 for all i E Ve with ( j , i ) E 0 and ( i , j ) $ 0. Thc
set U belonging to incidence vector x = ( x i ) i E v eis forbidden exactly if for
some k E RY, CiEu ri,+< Rk or CIEU rik > R k . Thus, the problem of testing
the feasibility of p can be solved by verifying, for each event j E Ve and each
resourcc k E RY, whether or not there exists a binary vector x satisfying
constraints (1) to (3) such that XiEver.;kxi is less than safety stock l?,, or
greater than storage capacity R k . For givcn event j and resourcc k, chccking
whcthcr the storage capacity of k might be violated at the occurrence of j can
be achieved by solving the following binary program.

Maximize rikxi
t€Vr
subjcct to xh - xi >0 ((h,i ) E 0 : h # i)
xj = 1 (2.2)
xi = 0 (i E Ve : ( j , i ) E 0, (i, j) $ 0) (3)
xi E {O,1) (i E Ve)
Thc coefficient matrix of constraints (1) coincides with the negative transposed
incidence matrix of the directed graph G j k with nodc set Ve and arc set
H \ {(i,i ) I i E V"}. That is why the coefficient matrix of constraints (1) to (3)
is totally unirnodular, and the integrality condition (4) for variables xi can be
replaced with 0 5 xi < 1 (i E V"). As a consequence, problcm (2.2) can bc
fornlulated as a linear program. In the sequel, we show that the dual of this
linear program reprcscnts a minimum-flow problem.
Let i E Ve be some predecessor of j in 0. Then it follows from (1) and
(2) that xi = 1. Conversely, let j be predecessor of some i E V" in 0 with
(i,j) $ 0. Then (3) implies that x, = 0. The variables xi with fixcd value 1
or 0 can be eliminated as follows. If z i = 1 because ( i , j ) E 0, thc transitivity
of rcflcxive preorder 0 provides (h, j ) E 0 and thus xr, = 1 for all (h, i) E 0.
Symmetrically, assume that xh = 0 because (j,h) E H and ( h , j ) $ 0. Then
the transitivity of 0 implics that ( j , i ) E 0 and (i,j) $ 0 and thus by (3) xi = 0
for all ( h , i ) E 8. Hcncc, constraint (1) can be restricted to variables z ; for
which (i, j) $ 0 and variablcs xh for which (j,h) $ 0 or (h, j) E 0. Otherwise
we would have X I , = 1 or x; = 0, which implies (1). For those variables x ,
50 2. Relations, Schedules, and Objective Functions

and x,, we can furthcrmore assume that ( j , i ) I$ 8 and (h, j ) I$ 8 because


else again xi = 0 or x,, = 1. Now let V," := {i E Ve I (i, j ) , ( j , i ) $ 8 ) be
the set of all events i for which the value of xi is not fixed in advance. Then
constraint (1) needs only be considered for pairs (h, i) E 8 with h # i and
h , i E V,e. is the set of all i E V" that are incomparable with j in 8. We
+
note that due t o Remark 1.6b, {O,n 1) n V,e = 0 for all j E V,", and in
particular V; = e+l = 0. By 6, := 6 n (V," x VjJ) we denote the sub-preorder
of 0 induced by set y. We obtain the following statement of problem (2.2) as
a linear program, where the additivc constant C(,,J),o rik is omitted in the
objective function.

x
Now let s and
Maximize
zEV;
~nx,

subject to z,, - z, 2 0
O<xi<l
((h,i ) E Qj : h # i )
(iEY) I
- t be a source and a sink to be added t o directed graph Gjk.
(2.3)

B y q k = ( V j , Q j )w h e r e v j := V,"~{s,t) a n d & := B j ~ ( { s } x ~ ) ~ ( V , " x { t ) )


we denote the directed graph that results from Gjk by adding arcs (s, i) and
(i, t ) for all nodes i E V,".The dual of (2.3) can be formulated as the following
minimum-flow problem in GJkwith supplies r , k a t nodes i E VJe,
where @ ( u )
denotes the value of flow u:
Minimize q5j (4 = x ,it

subject t o x ui,, - uhi


(i,l~)t8~:h#i (h,1)€8,:hf i
= 7.i' (i E y')
>
ul~i 0 ((h,i) E 8, : h # i) )
Problem (2.4) can be solved in 0 ( n 3 )time by first substituting supplies r i k at
nodes i into appropriate upper arc capacities (see, c.g., Bang-Jcnscn and Gutin
2002, Section 3.2) and then solving the minirnurn-flow problem with vanishing
supplies (cf. Subsection 2.1.1). Let d kbe some flow solving minimum-flow
problem (2.4). Then the optimal objective function value for problem (2.2)
equals C(,,3),o ri' +
@ ( ~ j ~which
) , is equal to the maximum inventory level
in resource k a t the occurrence of event j .
For testing whether the inventory might fall below the safety stock, we
solve the minimum-flow problem where supplies r i k a t nodes i E V," are re-
placed with -rik. With $' designating a corresponding minimum ( s ,t)-flow,
the optimal objective function value for (2.2) with "Minimize" instead of
"Maximize" equals C(i,j)te rik -@(gk ) , coincides with the minimum
which
inventory lcvcl in resource k at the occurrence of event j . p is feasible if for
all events j E Ve and all resources k E 727,
2.1. Resource Constraints and Feasible Relations 51

In sum, checking the feasibihty of a relation p takes (9(|7^^|n^) time (recall


t h a t the time-feasibility of p can be verified in 0{n[m-\- \p\]) time).
We illustrate the verification of feasibility for a relation by considering an
example.
Example 2,23. Figure 2.2a shows a project network with five events and one
cumulative resource for which we assume a safety stock of ^ = 0 and a storage
capacity of i^ = 2. T h e node labels provide the respective resource require-
ments. We consider the empty relation p = 0. T h e reflexive preorder induced
by D ( p ) = D is ^ = { ( 0 , 1 ) , (0,2), (0,3), (0,4), (1,4), (2,3), (2,4), (3,2), (3,4)}
U {(i,2) I i G V^}. W h e n checking against the storage capacity for event
j = 1, we obtain the flow network Gi depicted in Figure 2.2b, where nodes
i e V^ are labelled with supplies r^. In the minimum (5,^)-flow u^, one unit
is shipped from node 3 to node 2, and thus the minimum flow value (/)^{u^)
equals 0 and X^(^^i)^^n + 0i(u^) = ro + r i + 0 = 2. Figure 2.2c shows the
flow network G2 — Gs belonging to events j 2 and j = S with a mini-
m u m flow il^ — # of value (jp'ivi?') = (j>^{u^) = 2 and ^ / ^ 2)^9 ^* "^ (^'^{u^)

E (i,3)G6> r^ -h 0 (li ) = To + r2 + ra -I- 2 = 2. By inverting t h e signs of


the supplies, we obtain the minimum-flow problems for testing against the
safety stock. The corresponding flow values are (t)^{'u}) = 0 and (l)'^{u^) =
(j)'^{^) = 0. Accordingly, we have Yl>(i,i)ee ^i — 0^(M^) = "^o H- ^i — 0 = 2 and
E(i,2)G0 Ti - 0^fe^) = E(i,3)G^ ^^ ~ ^^(^^) = To + r2 + r3 - 0 = 0, which shows
the feasibility of relation p.

—1
Fig. 2.2. Verification of feasibility: (a) project network; (b) minimum (s,^)-flow in
network Gi\ (c) minimum (5,t)-flow in network G2 — G3

We close this subsection by considering reflexive preorders in set V^ t h a t


are induced by some schedule. As we shall see, the results for schedule-induced
strict orders in set V^ carry over to schedule-induced reflexive preorders in
set y ^
D e f i n i t i o n 2 . 2 4 ( S c h e d u l e - i n d u c e d reflexive p r e o r d e r ) . Given a sched-
ule S, reflexive preorder 0{S) := {(i, j ) e V^ x V^ \ Sj > Si} is the schedule-
induced reflexive preorder which corresponds to the precedence relationships
52 2. Relations, Schedules, and Objective Functions

established by S. ST(Q(S))i s again called t h e schedule polytope of schedule S ,


a n d N(8(S)) i s t h e schedule network of S .

Due to their completeness, schedule-induced reflexive preorders 8(S) are


reflexive weak orders. Proposition 2.12 saying that 8(S) is feasible precisely if
S is feasible also applies to schedulc-induced reflexive preorders. Analogously
to Proposition 2.13 it can also be shown that the c-maximal feasiblc relations
in set Ve are induced by feasible schedules. Let 8 bc some schedule-induced rc-
flexive preorder in Ve and let cqual-prcorder set SF(8) := {S E ST I 8(S) = Q)
again denote the set of all time-feasible schcdules inducing 8. Similarly to the
case of rcncwablc rcsourccs, set S of all feasible schedulcs can again be repre-
sented as the union of nonintersecting equal-prcordcr sets.

Proposition 2.25. L e t S Z P be t h e set of all feasible schedule-induced reflex-


ive preorders. T h e n {SF(O) / 8 E SIP) i s a partition of S .

Again, it can bc shown that cach minimal point (resp. vertcx) of an equal-
preorder set is a minimal point (resp. vcrtex) of some schedule polytope and
vice versa (see Proposition 2.16).

2.2 A Classification of Schedules

In machine and project scheduling without maximum timc lags, different finite
sets of minimal-point schedulcs havc been used for the optimization of regular
objective functions (see, e g . , Baker 1974, Sect. 7.2, for a study of nondelay, ac-
tive, arid serniactive schedules in machine scheduling and Sprecher et al. 1995
for the generalization of those concepts to projcct scheduling with renewable
resources). Based on the feasible relations discussed in Subsection 2.1.1, thc
classification of Sprccher et al. (1995) has been extended by Ncumann et al.
(2000) to project scheduling problems with general temporal constraints and
nonregular objective functions. This section rcfcrs to thc latter classification
of schcdules.
All resource allocation methods discussed in this book arc based on one of
the two basic representations of set S , either as a covering by relation poly-
topes or as partition by equal-preorder sets (where the term equal-prcorder
set may also designate an equal-order set). The schedules to be dealt with in
Subsections 2.2.1 and 2.2.2 rcfer to the first and to the second representations,
respectively.

2.2.1 Global and Local Extreme Points of the Feasible Region

Let M c ST be a rionempty set of time-feasible schedules. S E M is a


(global) extreme point of M if there are no two schedules S1,Sf' E M such
+
that S = crSf (1 - c r ) S I f for sornc 0 < a < 1. If M is a polytope, each
2.2. A Classzjication of Schedules 53

extreme point is a vertex of M and vice versa. We say that S E M is a local


extreme point of M if S is an extreme point of M n B,(S) for some E > 0,
whcrc B,(S) = {S' E R n f 2 I IIS - Slla < E ) is the ball of radius E around S
in Rn+2. Recall that S E M is a m i n i m a l point of M if thcre is no schedule
S' E M with S' < S. We notice that a minimal point of M need not reprcscnt
a local extreme point of M. As we will see later on, cach minimal point of a
relation polytope M = ST(p), however, is a local cxtrcme point of M.
Definition 2.26 (Active, stable, and pseudostable schedules). A (fea-
sible) schedule S i s called active, stable, o r pseudostable if S i s a m i n i m a l
point, a n extreme point, o r a local extreme point, respectively, of S. AS, S S ,
and PSS denote the sets of all active, all stable, and all pseudostable sched-
ules.
Active schedules have been introduccd by Giffler and Thompson (1960) for
solving opcn-shop problems with precedence constraints among operations
and regular objective functions. In shop-floor scheduling, there is a one-to-
onc corrcspondence between job scquences on the machines and semzactive
schedules, for which no operation can be processed earlier without changing
the job sequences. Those semiactive schedules (as well as their analogues in
project scheduling) are precisely the rnininial points of components of S, and
every active schedule is scmiactivc.
Since each active, stable, or pseudostable schcdulc is a vertex of some
relation polytope, the sets A S , SS, and PSS arc finite. Neumann et al. (2000)
provide an example of a project for which therc is an active schedule that is
not stable. However, each active schedule is pscudostablc, which can be seen
as follows. Assume that there exists some schedulc S E A S \ P S S . Since
S is not pscudostablc, wc can find an open line segment e passing through
S that totally belongs to S . The representation of S as a union of finitely
many polytopes implies that l can be chosen such that all points on e are
boundary points of S , i.e., e 5 dS. With z E [-I, 1ITd2being the direction of
e c S + R z , the minimality of S in S implies that z f [O, I ] " + ~It. then follows
from C d S that all schedules on e are minimal points, which contradicts
the finiteness of AS. Figure 2.3 summarizcs the relationships between thc
schedule sets introduced.
In Ncumann et al. (2000) it is shown by transformation from PARTITION
that for the case of renewable resources, it is NP-hard to dccidc whether or not
a given schedule is activc, stable, or pseudostable. Since renewablc-rcsourcc
constraints can be expressed by temporal and cumulative-rcsource constraints
without changing the ordcr of magnitude of the problem size, this result also
applies to project scheduling with cumulative resources.

2.2.2 Vertices of Relation Polytopes

All schedules considered in Subsection 2.2.1 represent vertices of C - m a x i m a l


rclation polytopcs. We now turn to vertices of arbitrary rclation polytopes.
2. Relations, Schedules, and Objective function^

Legend:
A + B rriearls A >B
Fig. 2.3. Relationship between sets of schedules

Since each vertex of a relation polytope corrcsponds to some timc-feasiblc


schedule that is a vertex of its schcdulc polytope, we may restrict ourselves
to (arbitrary) schedule polytopes.

Definition 2.27 (Quasiactive and quasistable schedules). A feasible


schedule S is called quasiactive o r quasistable if S i s the m i n i m a l point o r
a vertex, respectively, of i t s schedule polytope ST(Q(S)).QAS and Q S S de-
note the sets of all quasiactive and all quasistable schedules.

Since the minimal point of a relation polytope is always a vcrtcx, any quasi-
active schedule is quasistablc as well.
A schedule S is quasiactive precisely if no noncmpty set of activities can
be scheduled earlier without deleting at least one prcccdencc rclationship
(i,j ) E Q(S)or violating some temporal constraint. Schedulc S is quasistable
exactly if there is no nonernpty set of activities which can be scheduled both
earlicr and later such that all prcccdencc rclationsllips ( i ,j) E Q(S) and all
temporal constraints are observed. The next proposition provides an equiva-
lent formulation of thc latter observation, which will be useful when dealing
with algorithms operating on the sets &AS and Q S S of all quasiactive and
all quasistable schcdulcs in Chapter 4.

Proposition 2.28 (Neumann et al. 2000). A feasible schedule S i s


(a) quasiactive i f and only if there exists a spanning outtree G = (V,EG) o j
its schedule network N ( Q ( S ) )rooted at node 0 such that Sj - Si = dij Q(s)
for all arcs ( i , j ) E E c ,
(b) quasistable i f and only if there exists a spanning tree G = (V,EG)of i t s
Q(S)
schedule network N(B(S)) such that Sj-St = dij for all arcs ( i ,j ) E EG.

From Proposition 2.28 it follows that the quasiactiveness and thc qua-
sistableness of a givcn schedule can be checked in polynomial timc. A furthcr
implication of Proposition 2.28 is that any quasistablc schcdule (and thus any
quasiactivc schedule as wcll) is intcgral and that any quasiactive schedule S
satisfics
2.3. Objective Functions

Obviously, active schedules are quasiactive, and pseudostable schedules are


quasistablc. Figure 2.4 locates the quasiactive and quasistable schedules
within the framework of the scliedule sets introduced before.

Legend:
A + 13 means A >B
Fig. 2.4. Relationship between sets of schedules, revisited

2.3 Objective Functions


An objcctive function f : ST + R associates each time-feasible schedulc S
with a numerical assessment f (S). Recall that we have assumed f to be lower
semicontinuous and thus f takes its minimum on compact set S if S # 0.
Whereas regular objective functions f , which are comporientwise nondecreas-
ing, refer to temporal objectives of project planning likc minimizing thc proj-
cct duration, nonregular objective functions typically translatc some monetary
goals such as minimizing inventory holding or capacity adjustment costs or
maximizing the net present value of the project. In this scction wc are going
to study several classcs of objcctivc functions, which cover a large variety of
rcsourcc allocation problems in project management. Bascd on the results of
Sections 2.1 and 2.2 wc provide for each class a finite set of scliedules contain-
ing at least oric optimal schedulc if S # @.In Subscction 2.3.1 we consider
objective functions that can be minimized efficiently on relation polytopes.
Subsection 2.3.2 is concerned with objective functions for which in general al-
ready the time-constrained project scheduling problcm is NP-hard. The latter
objective functions are typically cncountcred when solving resource levelling
problems, where thc problcm amounts to minimizing thc variability in resource
loading profiles of renewable resources (expressed in terms of range, variance,
or total variation). Whereas resource allocatiori problems with objective func-
tions from Subsection 2.3.1 can be solved by enumerating 2-minimal feasible
relations, minimizing objective functions from Subsection 2.3.2 requires the
investigation of arbitrary schedule-induced preorders. For certain of the lat-
ter objective functions, however, the search for an optinial schedule can be
56 2. Relations, Schedules, and Objective Functions

limited to schcdulc polytopes belonging to C-rnaxirnal schedule-induced pre-


ordcrs. Thc latter objective functions will be studied in Subsection 2.3.3.

2.3.1 Regular and Convexifiable Objective Functions

Consider some nonempty relation polytope ST(p). Any regular objective func-
tion is minimizcd by thc uniquc minimal point minST(p) of ST(p), which co-
incides with the earliest schedule belonging to relation network N(p). Now let
f bc some convex (and due to our lower serriicoritiriuity assumption) contin-
uous objcctive function. Then finding a minimizer of f on ST(p) can, under
somc mild technical assumptions, be achicvcd in polynomial time, e.g., by
the ellipsoid method (cf. Grotscliel et al. 1998, Sect. 4.1) or, more cfficiently
on the average, by interior-point methods based on self-concordant barriers
for ST(p). Self-concordant barriers are available for different classes of con-
vex functions (sce thc book by Ncsterov and Nemirovskii 1994 for details).
The next definition provides a class of objective functions which admits a
smooth coordinate transforniation such that the resulting time-constrained
project schcduling problem is a convex programming problem. Recall that a
bijection ip is called a C1-diffe~mor~hisrn if both p and i p - l arc continuously
differentiable.
Definition 2.29 (Convexifiable and linearizable objective functions).
Let f : ST -+ E% be some objective function. W e call f conuexijiable if
there exists a C1-diffeomorphism cp : ST + X from ST onto some Eu-
clidean space X such that f o p-' is a convex function and the images
p(ST(p)) = {p(S) I S E ST(p)) of all relation polytopes under ip are con-
vex sets. I f f o ip-' is linear, we speak of a linearizable objective function f .

Trivially, each convex objectivc function is convcxifiable and each linear objec-
tive function is linearizable. In addition, we notice that due to the continuity
of ip-l, all images p(ST(p)) are compact sets and because ST is a relation
polytopc, sct X = p(ST) is convex.
A time-fcasiblc schedule S E M C ST is called a local minimizer of f on
M if for some E > 0, S is a rninirriizer of f on the relative ball M n B,(S)
around S in M (for the basic concepts of relative topology in Euclidean spacc
nccded for what follows we refer to Sydszter et al. 1999, Ch. 12). Roughly
speaking, the reason for the tractability of time-constrained project scheduling
with convex objectivc functions is that each local minimizer of f on a relation
polytope ST(p) minimizes f on ST(p).The next proposition relates the sched-
ule sets introduced in Subsection 2.2.1 to regular and convcxifiable objective
functions. It also shows that, as for convex objcctivc functions, any convexi-
fiable objective function f can bc minimized on relation polytopes ST(p) by
computing a local minimizer of f on ST(p).
Proposition 2.30. Let f be some lower semicontinuous objective function
r ~ n dassum.e th,at S # 0.
2.3. Objeckive Functions 57

(a) Iff is regular, the set of active schedules contains an optimal schedule.
(b) Iff is linear, the set of stable schedules contains an optimal schedule.
(c) I f f is linearizable, the set ofpse,udostable schedules contains a n optimal
schedule.
(d) I f f is convexifiable, any set containing a local minimizer o f f for each
(c-maximal) relation polytope contains an optimal schedule.
Proof. (a) and (b) arc obvious. We first show (d). Let S bc a local mini-
mizer of f on somr relation polytopc ST(^). Then there exists some E > 0
such that f (S) < f (S') for all S' E ST(P) n B E ( S ) .With x = cp(S) and
x' = cp(S1)this mcans that (f 0 cp-')(x) = f (S) 5 f (S') = ( f 0 cp-')(XI)
for all x' E cp(ST(p) n BE(S)).From the injectivity of cp we can infcr that
cp(ST(p) n BE( S ) ) = cp(ST(p)) n p(B,(S)), wherc it follows from the continu-
ity of cp-l that cp(B,(S)) is open. As a consequence, there cxists some E' > 0
such that thc ball B:,(x) with radius E' around x in X is included in p(B,(S)).
This implies that x is a minimizcr of f o cp-' on set c p ( S ~ ( p )n ) B:, (x), i.e., a
local minimizer off ocp-' on c p ( S ~ ( p ) )Sincc
. by assumption f op-' is a convex
function and p(ST(p)) is a convcx set, x is also a (global) minimizer of f op-'
on cp(ST(p)), i.e., f (S) = ( f o cp-l)(x) < (f o cp-')(XI) for all 3:' E c p ( S ~ ( p ) ) .
<
Thus, wc havc f (S) f (S') for all S' with x' = cp(S1)E c p ( S ~ ( p ) )or, , equiva-
<
lently, f (S) f (Sf)for all S' E ST(^). As a conscqucnce, any local minimizer
o f f on some relation polytope ST(P) minimizes f on the total polytope ST(P).
From Propositions 2.5 and 2.18 it follows that cp(S)= ( P ( U ~ ~ ~ ~ R S = ~ ( P ) )
upEMFRP(ST (p))) , which proves the assertion.
We now show statement (c). Since f o p-' is linear on X , there exists somc
extreme point x of p ( S ) C X that minimizes f o cp-' on p ( S ) . Now assume
that S = p-'(2) is not a local extreme point of S . Thcn there is an open line
segment t c S containing S . Since cp-' is continuous and p is injcctive, this
means that x is a relative interior point of cp(t)c p ( S ) , which contradicts thc
fact that x is an extreme point of cp(S). 0
Neumanri et al. (2000) have considered quaszconcave objective functions
and so-called bznary-monotone objcctivc functions. An objective function f
is said to be quasiconcave if its upper-level sets U, = {S E ST I f (S) 2 a )
arc convex for every a E R (see, e.g., Avriel et al. 1988, Sect. 3.1). f is
termed binary-monotone if f is nondccrcasing or nonincreasing on each linc
scgmcnt in binary direction z E (0, 1}TL+2. A quasiconcave function attains its
minimum on a compact sct M at an extreme point of M becausc on closed
line segments, the function is minimized at one of the two endpoints. That is
why there always exists a stable schedule that minimizes f on set S if f is
quasiconcave and S # 8. Since each relation polytopc ST(p) arises from the
intcrscction of finitely many half spaces {S E I So = 0, S3- Sz 2 df')
whcrc ( a , ~ )E E U p, binary-monotonc objectivc functions, like the linearizable
objective functions, always posscss a vertex of ST(p) among their nlinirniz-
ers on ST(p). Thus, binary-monotone objective functions arc minirnizcd by
pseudostable schedlil~s.Unlike the case of convexifiahle objective functions,
58 2. Relations, Schedules, and Objective Functio7~s

however, a local minimizer of a quasiconcave or binary-monotone objective


function f on some relation polytopc is generally not a global minimizer of f
on ST ( P ) .
We procccd by providing examples of regular and convexifiable objective
functions tliat are of interest in project scheduling. Thc simplcst and most
frequently uscd regular objective function is the makespan or project duration

Thc project duration problem with rcncwablc resources has been extensively
studied in the literature during the four last decades (see Subscction 3.1.4 for
an overvicw). Minimizing tlie project duration is a suitable objective if tlie
majority of income payments occur at or aftcr thc end of the project, if the
project dcadlinc is tight and thus finishing the implementation of the project
as carly as possibly lowers the danger of cxceeding the deadline, or if resource
capacity is needed for future projects (cf. Kolisch 1995, Sect. 2.1).
A sccond regular objective function is the total tardzness cost

whcrc d, E Z>o - denotes a given duc date for thc completion of activity i
and W: E Z>o is the cost arising from a latc complction of activity i per
unit time. T ~ objcctivc
S function is of particular intcrest for applications of
resource allocation methods in make-to-order production scheduling, which
will be discussed in Section 6.1. In tliat case, each real activity corresponds
to the processing of a job on a machine, and violations of the delivery dates
for the completed jobs incur conventional penalty per unit time.
We now turn to convexifiablc objective functions. Of coursc, any linear and
any convex objectivc function is convexiiiable. A nonrcgular linear objectivc
function is the total znventory holdin,g cost

where wc assume that each cunmlative rcsource k stands for the invcntory in
a storage facility keeping one intermediate or final product with unit hold-
ing cost rate C I , E Z>O.Then f ( S ) represents the cost arising from the stock
in planning interval-[0,2]. The linearity of f can bc seen as follows. A re-
plenishment of resource k by r,k units at timc S, incurs a holding cost of
c I , T , ~ ( X - S t ) . A depletion of k by -r,k units at time S, saves a holding cost
of CI, ( - r i k ) (2 - S Z ) .Thus, thc total inventory holding cost f ( S ) can also be
written as 2CkERr ck CitVe Ti\< - CkcR7 ck CZEVc riksi
In general, certain activities and events i of a project are associated with
a cash flow cf E Z, which may be a paying out for raw materials or workforce
or a paying in arising at thc corripletiori of a task when reaching a milcstonc.
2.3. Objective Functions 59

When evaluating thc profitability of a long-term project, the cash flows have
to bc discountcd by some intcrcst ratc a , which can, e.g., be chosen to be the
minirnurn attractive rate of return. The sum of all cash flows discounted to
time 0 is called the net present value of the project. For thc sake of simplicity,
we sup ose that all cash flows are discounted contiriuously and that each cash
P .
flow c, a r m s at time S,. The factor by which cash flow cf is discountcd
then equals e-"'., and thus the net present valuc dcpcnds on the schedule S
according to which the project is pcrformcd. By minimizing the negative net
prcscnt valuc

wc obtain a schedule that maximizes the financial benefit of the project in


terms of its net present value. Grinold (1972) has shown that the (negative)
net present value is a linearizable objcctivc function. Let cp : ST + X C I P 2
be defined as cp(S) = (cp,(S)),Ev where cp,(S) = ePaS1. With x, = cp,(S), the
tcmporal constraints S, - S, 2 6,, can be stated as x, - e-"6qx, 5 0 and
So = 0 becomes xo = 1. Thc linearized objective function is (f o cp-l)(x) =
- CLEV ~Zfx,.In addition, the net present value function f is binary-monotone
because f is differentiable and for any time-feasiblc schedule S and any binary
direction z E (0, 1)r1+2,the directional dcrivative of f at a point S a z E ST +
in direction z is df Is+oZ(z) = e-a"df Is(z) (sec Subsection 3.2.2 and Neumann
et al. 2003b, Sect. 3.3).
A convex objective function considered in projcct management is the total
earlmess-tardmess cost

where w: and w: respectively denote the cost per unit time incurred by an
carly or a late completion of activity i E V with respect to given due date
d, E Z>o (see, e.g., Schwindt 2000c or Vanlioucke et al. 2001). Another cxam-
a
ple of convex objective function is the negative total weighted free float of
the project

f (S) = C uiS ( rnax [Sj


(j,i)tE
+ - mi* [S; - dij])
(i,j)EE
iEV

For given schedule S, the total weighted free float of thc projcct is the weighted
sum of all early and late free floats of activities i E V if thc carlicst and latest
start times ES, and LS, arc sct to bc cqual to S, (cf. Subsection 1.1.3). A
schedule with maximum total wcightcd free float can be regarded as robust
in the sense that when executing the project, deviations of individual start
times S, from schedule will minimally affect the start times of other activities.
In Scction 6.5 wc shall discuss how the total weighted earliness-tardincss and
total weighted free float objective functions can be used for project scheduling
under ~lncrrtainty.
60 2. Relations, Schedules, m d Objective Functions

Before concluding this subsection, we notice that all objective functions


discussed above are continuous, which of course implies their lower scmicon-
tinuity.

2.3.2 Locally Regular and Locally Concave Objective Functions

In this subsection we move on to objective functions that are regular or con-


cave or1 individual equal-preorder sets. Thosc objcctive functioris play an im-
portant role for rcsource Icvelling, where one strives at smoothing loading
profiles r k ( S ,.) of renewable resources k E RP over tirnc. Resource levelling
problems typically arise when resource capacities may, at a ccrtairi cost, be
adapted to the respective requirements. In that case, thc resource capacities
arc regarded as bcing unlimited and the problem is to find a feasible minirnum-
cost schedulc. Howcvcr, bcsidcs thc cost point of view, levelling loading profiles
ovcr timc is of intcrcst in its own right bccause in practice, evenly used re-
sources tend less to be subject to disruption than resourccs whose usage is
highly fluctuating ovcr timc. Accordingly, it has been proposed to use rcsource
levelling as a technique for capacitated master production scheduling in pro-
duction planning, whcre for a planning horizon of about one year, thc monthly
production quantities matching the gross requirements for thc main products
of a company are determined (see Franck et al. 1997, Neumann and Schwindt
1998, and Scction 6.2).

Definition 2.31 (Locally regular and locally concave objective func-


tions). Let f : ST -+ R be some objective function. W e call f locally regular,
if f is regular on all equal-preorder sets. f is termed locally concave if f is
concave on all equal-preorder sets.

The following proposition establishes thc connection between locally rcg-


ular and locally concavc objective functions arid the sets of quasiactive and
quasistable schedules introduced in Subscction 2.2.2.

Proposition 2.32 (Neumann et al. 2000). Let f be some lower semicon-


tinuous objective function and assume that S # @.
(a) I f f is locally regular, the set of quasiactive schedules contains a n optimal
schedule.
(b) I f f is locally concave, the set of quasistable schedules contains an, optimal
schedule.

Proof. The lower semicontiriuity of f and the compactness of S imply that f


attains its niinirnurri on S. We first show statement (a). From the rcgularity
of f on equal-preorder sets we can conclude that this minimum is taken at the
minimal point of some equal-preordcr sct, which at the samc timc represents
the minirrial point of some schedule polytope (see Proposition 2.16, which
applies to cuniulative resources as well). We now show statement (b). From
2.3. Objective Functions 61

the concavity off on equal-preorder sets it follows that f assumes its minimum
at a vertex of some equal-preorder set. Proposition 2.16 says that this vertex
is also a vertcx of a schedulc polytope. 0

In contrast to regular or convexifiable objcctivc functions, locally regular


and locally concavc objcctivc functions cannot be minimized efficiently on rc-
lation polytopes in gcncral. In particular this means that a resource allocation
problem with a locally rcgular or a locally concave objective function gcnerally
docs not becornc more tractable when the rcsourcc constraints are deleted. Bc-
low we shall give an example of a locally regular objectivc function for which
time-constrained projcct scheduling is NP-hard. Note that minimizing such a
function on an equal-preorder set constitutes an easy (though possibly unsolv-
able) problem because any equal-preorder set possesses at most one minimal
point. Concerning locally concave functions, it is well-known that alrcady the
minimization of concave functions on hypercubes is NP-hard (cf. Horst and
Tuy 1996, Sect. A.1.2). Proposition 2.28 indicates a simple way of gcncrating
all quasiactive or all quasistable schedules by constructing all spanning out-
trees rooted at node 0 (resp. spanning trees) of relation nctworks belonging
to feasible schcdulc-induced preorders. A corresponding schcdulc-generat,ion
scheme will be discussed in Section 4.1.
Next we consider locally regular and locally concave objective functions of
rcsource levelling problems that havc bccn discussed in literaturc. Thc objec-
tive functions express the variability in the utilization of renewable resources
ovcr time in terms of the range, the variance, and the total variation, respec-
tively, of the loading profiles rk(S, .) of renewable resources k E RP.
An example of a locally regular objective function is thc total procurement
cost for renewable resources

where ck t Z>O denotes the unit procurcmcnt cost of renewable resourcc


k E RP. The total procurement cost equals the weighted sum of thc maximum
resource requirements (or, in other words, thc wcighted sum of the ranges of
the loading profiles r k (S,.)) .
Proposition 2.33. The total procurement cost f is a lower semicontinuous
and locally regular objective function.

Proof. The lower scmicontinuity can be seen as follows. Let S bc somc timc-
fcasible schedule. The closedness of relation polytopes ST(^) with p @(S)
implies that therc cxists some E > 0 such that @(Sf) 5 @(S) for all S' containcd
in the relative ball B,(S) nST in ST,around S. Since for each resource k t R",
rnax,,<,<;l r k (S,t) coincides with thc wcight of a maximum-weight antichairi in
Q(S), weobtain f (S')> f (S) for all S' E B,(S)nST. The lower semicontiriuity
now follows from the fact that f is lower semicontinuous precisely if f (S) 5
liminfs,,s f (S') for all S E ST (see, e.g., Hiriart-Urruty and LcmarCchal
62 2. Relations, Schedules, and Objective Functions

1993, Sect. A . l ) . Since f (S)equals the weight of a maximurn-weight antichain


in Q(S),f is constant and thus rcgular on equal-order sets. 0

Thc total procurement cost is the objectivc function of the resource in-
vestment problem iritroduced by Mohrirlg (1984). Thc rcsource investment
problem arises in applications where installing resources incurs fixed trans-
portation or setup costs pcr unit capacity. The recognition version (i.c., the
question whether there is a feasible solution whose objectivc function value
is smaller than or equal to a given threshold value, scc, c.g., Papadimitriou
arid Steiglitz 1998, Sect. 15.2) of a resource investment probleni with one re-
source coincides with thc feasibility version (i.c., thc question whether there is
a feasible solution) of thc corresponding rcsource-constrained project duration
problcm. Thc latter dccision problem has bccn shown t o be NP-cornplete by
Theorem 1.12, which implies that the resource investment problem is NP-hard
cvcn if R k = cm for all k E R P . A classical objectivc function in the field of
resourcc lcvclling that has bccn studied since the early work of Burgess and
Killchrew (1962) is the total squared utzlzzatzon cost for renewable resources

d
whcrc cl; E Z>o. Since workload r k ( S , t ) d t = CZEva
rZkpZdoes not depend
on schedule $ f ( S ) equals the weighted sum of the varzances of the loading
profiles r k (S, .) plus a constant.

P r o p o s i t i o n 2.34. The total squared utilization cost f is a lower semicon-


tinuous and locally concave objective function.

Proof. The lower scrnicontinuity of f follows from its continuity. We show


that f is concave on cqual-order scts. For given schedule S, let AC(S) be the
set of antichains in strict order 0(S), let r k ( U ) = CiEu~ i k :be the weight
of aritichain U E AC(S), and let p(U, S) = J;:A(S,t)=udt be the timc during
which precisely the activitics i E U overlap in time given schedule S . By
,wk(U, S ) = rk(U)p(U, S ) we denote the corresponding workload on rcsourcc
k E R".The total squared ~itilizationcost can then be written as f(S) =
C k E R p ~k CuEAc(s) rk(U)wk(U, S ) .
Now consider two schedules S and S1inducing the same strict order Q ( S )=
8(S1).For any cu E [ O , l ] we have AC(S) = AC(S1) = AC(aS+ (1- a ) S 1 ) .With
respect to schedule S, the activities i from a nonempty antichain U E AC(S)
overlap during p(U, S) = miniEu Ci - maxiEu Si > 0 units of timc, wherc
p(U, S) = p(U, S) if U is C-maximal in AC(S). Since function p(U, .) is con-
+ > +
cave on S T ( Q ( S ) ) ,we have p(U, aS (1 - cu)S1) ap(U, S) (1 - a)p(U, S t ) .
+ > +
Consequently, wk(U,aS (1 - a)S1) awk(U,S ) (1 - a ) w k ( U ,S1) for all
C-maxirrial arlticliains U E AC(S) and all k E R P . AS CuEAC(S) wk(U,S) =
CvEAc(s)
wk(U, S1)= CI/EAC(S)
wk(U, + (1 - a)S1)= XiEr/rikpi for
2.3. Objective Functions 63

all k E RP, a positive difference wk(U, crS + (1 - a)S1)- [cr,wk(U, S) +


(1 - a)wk(U,S')] for the latter antichains U weighted by rk(U) corresponds
to an equally large negative difference for the remaining (not C-maximal)
antichains U' c U weighted by rk(U1) <r k ( U ) By recursively applying
the above reasoning to the function which arises from f by deleting the
2-rnaximal elements from set AC(S) until AC(S) = 0, we finally obtain
+
f (as ( 1 - a)S1) > +
a f (S) (1 - a )f (S') for any a E [ O , l ] , which pro-
vidcs thc concavity of f on cqual-order sets. 0

By transformation from 3-PARTITION,Neumann ct al. (2003b), Sect. 3.4,


havc shown that finding a time-feasible schedule with minimum total squared
utilization cost is NP-hard.
Now let t l < . . . < t,, denote the start and completion times of real
activities i E V a .Any jump discontinuity in loading profiles rk(S, .) for k E R P
occurs at some start or completion time t , where 1 < p < V. A further
resource-levelling objective function that has been studied in literature is the
total adjustment cost for renewable resources

where to := -1 and ck E Z>o is the cost arising from increasing or decreasing


the availability of resource E RP by one unit (see, e.g., Younis and Saad 1996
or Ncumann and Zimmermann 2000). Note that since rk(S,to) = r k ( S ,t,,) = O
for all k E RP, f (S)equals 2 ck CE=l[~lc(S, t p )- rk(S,tPpl)]+. Thus,
the case where decreasing the availability of (certain) resources does not incur
additional cost is contained in the total adjustment cost problem. The total
adjustment cost coincides with the weighted sum of the total variations of the
loading profiles rk(S, .) .

Proposition 2.35. The total adjustment cost f is a lo,wer semicontinuous


and locally concave objective function.

Proof. Apparently, f (S)can be expressed as a function of all pairs (i, j) E B(S)


for which the precedence constraints Sj 2 Si + p i are active. Consequently, f
is constant on the relative interior of any face of an equal-order set. Moreover,
it is casily seen that for any such face, the objective function values of relative
boundary points are less than or equal to the objective function values of
corresponding relative interior points. Hence, f is concave on equal-order sets
and lower scmicontinuous. 0

Finally, wc notice that in contrast to thc total procurerrlent and total


squared utilization costs, f is in gcncral not continuous on equal-order sets.
In Neumanrl et al. (2003b), Sect. 3.4, it is shown by the same polynornial
transformation from 3-PARTITIONas for the total squared utilization cost
that minimizing the total adjustment cost on sct ST is NP-hard as well.
64 2.Relations, Schedules, and Objective Functions

2.3.3 Preorder-Decreasing Objective Functions

In ccrtain cascs, the number of schedules to be enurncrated for minimizing


a locally regular or a locally concavc objcctive function can be decreased by
restricting the search to schedules inducing a maximum nurnbcr of prcccdence
relationships.

Definition 2.36 (Preorder-decreasing objective function). An objec-


>
tive function f is called preorder-decreasing if 19' Q implies infsrs,=(e,l f (S) 5
infsEsF(e) f (S) for all schedule-induced preorders 0 and 8'.

It follows from the definition of preordcr-dccrcasing objcctive functions


that, if S # 0, such functions possess a minimizer on some schedule polytope
belonging to an &-maximal schedule-induced prcordcr. Thc total procurement
cost is an example of a preorder-decreasing objective function, as has already
bccn noticed by Mijhring (1984). As an alternative to thc construction of
spanning trees (see preccding Subsection 2.3.2), a preorder-decreasing locally
regular or locally concave objective function can be minimized on S by gener-
ating thc set of &-maximal feasible schedule-induced prcordcrs. Nubel (1999)
has proposed a branch-and-bound algorithm for the rcsource investment prob-
lem that is implicitly based on this concept. The approach generally provcs
advantageous if the minimization of the objective function on cqual-preorder
scts already constitutes an NP-hard problem (which in particular may be the
case for locally concave objective functions) because only the verticcs of thc
generated &-minimal schedule polytopes have to be investigated.
In conclusion, Table 2.1 summarizcs the relationships between the different
classes of objective functions introduced and the sets of candidate schedules
discusscd in Section 2.2.

Table 2.1. Objective functions f and minimizers on S

Objective function Minimizer


Regular Minimal point of S
Convexifiable Local minimizer on C-max. relation polytope S T ( p )2 S
Locally regular Minimal point of schedule polytope S T ( B ( S ) )C S
Locally concave Vertex of schedule polytopes S T ( B ( S ) )C S
Preorder-decreasing Minimal point of c-minimal schedule polytopes
locally regular 0 + s~(Q(s))
cs
Preorder-decreasing Vertex of &-minimal schedule polytopes
locally concave 0 # ST(Q(S)) S
Relaxation-Based Algorithms

Relaxation-based algorithms for rcsourcc-constraincd projcct scheduling with


rcgular or convexifiable objective functions rcly on thc first basic represen-
tation of thc set S of all feasible schedules as a union of relation polytopes.
By deleting the resourcc constraints we obtain the rcsourcc rclaxation, which
coincides with the time-constrained project scheduling problem. The latter
problem can bc solved efficiently by computing the minimal point ES of set ST
if f is regular or some local minimizer of the objective function f in set ST if
f is convexifiable. Clearly, the tractability of the problem is preserved when
moving from set ST to arbitrary nonempty relation polytopcs S T ( p ) . Starting
with the resource relaxation, i.e., with the empty relation, relaxation-bascd
algorithms iteratively put the resource constraints into force by branching
ovcr timc-fcasiblc extensions p' of the respective parent rclation p. Each re-
lation p' defines a collection of prcccdcncc constraints that break up some
forbiddcn active set A(S, t ) belonging to a minimizer S of f on search space
a
P = S T ( p ) . Thc branching process is continued until either S T ( p ) = or thc
minimizer S of f on S T ( p ) is fcasible. The latter condition is neccssarily sat-
isfied as soon as relation p is feasible. Notc, however, that schedule S may be
feasible even before p has been extcndcd to a feasible relation. When dealing
with regular objectivc functions, the ordinary prcccdcncc constraints given by
relations p may bc rcplaced by disjunctive precedence constraints (cf. Subsec-
tions 1.2.3 and 1.3.3). Since a disjunctive precedence constraint corresponds
to the disjunction of scvcral ordinary prcccdcnce constraints, branching is
then performed over sets of rclations and conscqucntly, thc scarch spaces 'P
on which f is to be minimized represent unions of relation polytopes.
From now on we assumc that the projcct under consideration compriscs
renewable and cumulative resources, where the renewable resources are used
by real activities i E V a and the cumulativc resources are depleted and re-
plenishcd by events i E v". Accordingly, for given schedule S the active sets
66 3. Relaxation-Based A1,qorithms

a t times t contain both real activities and evcnts, and resourcc-feasible sched-
ules satisfy both the renewable-resource constraints (1.7) and the cumulative-
resource constraints (1.20). The set of all feasible scliedules is now S =
ST n Sn n Sc. As a straightforward extension of the definitions from Sub-
sections 2.1.1 and 2.1.2, we say that a relation p zn s e t V is time-feasiblc
if ST(p) # Q) and is feasible if 0 # S T ( p ) C S . It is easily seen that first,
relation p is again time-feasiblc prcciscly if relation nctwork N ( p ) docs not
contain any cyclc of positive length and that second, a time-feasible relation p
is fcasiblc exactly if both induced sub-relations pn (Va x Va) arid pn (Ve x Ve)
arc feasible in the sense of Definitions 2.3 and 2.17. As a consequence of the
latter statement, tlie feasibility of a time-feasible relation p in sct V can bc
verified by sequentially applying thc nctwork flow tcchniqucs discussed in
Subsections 2.1.1 and 2.1.2 to the respective sub-relations.
The resource-constrazned project schedulzng problem to be dealt with rcads
as follows:
Minirnizc f ( S )
subject to S E STn SRn Sc

where f is some regular or convcxifiablc objcctivc function. In Section 3.1


wc treat the case of regular objective functions. Scction 3.2 is devoted to
convexifiable objective functions.

3.1 Regular Objective Functions


We first dcvclop an cnumcration scherric bascd on the conccpt of disjunctive
prcccdence constraints that either generates a set of candidatc schedules con-
taining an optimal schedule or proves that there is no feasible schedule for tlie
project undcr consideration. We are then concerned with thc relaxation t o be
solved a t each cnumcration nodc. Thc latter problem amounts t o minimizing
a regular objective function subject to temporal and disjunctive precedence
constraints. Next, we discuss thc extcnsion of the enumcration scheme t o a
branch-and-bound algorithm and review alternative solution procedurcs for
rcsource-constrained project scheduling with regular objective functions.

3.1.1 Enumeration Scheme

In this subsection we are conccrncd with an criurneration schcmc for prob-


leni ( P ) with regular objective function f which forms the basis of branch-and-
bound procedures by Schwindt ( 1 9 9 8 ~ )and Ncumann and Schwindt (2002)
for solving the project duration problcm with renewable or cumulative re-
sources, rcspcctively. Consider an optimal solution S to the tinie-constrained
projcct scheduling problem (1.2) with a regular objective function f , e.g.,
S = ES = miriST. If S satisfics thc renewable-resource constraints (1.7) and
3.1. Regular Objective Functions 67

thc cumulative-resource constraints (1.20), S is an optimal schcdulc. Other-


wise, there is some point in time t E [ O , z ] such that F := A(S, t ) n Va or
F := A(S, t ) n Ve represents a forbidden set. In the former case, the joint
requircmcnts by real activities i E F exceed the capacity of somc rcncwablc
resource k E R P , and in thc lattcr case, thc dcplctions and replenishments
by events i E F create a surplus or a shortage in some cumulative resourcc
k E RY. Forbidden set F can be broken up by introducing a disjunctivc prccc-
dcncc constraint (see Subsections 1.2.3 and 1.3.3)

' >- min(Si


min S .
jEB Z. E A
+ pi)
between somc appropriate sct A and a minimal dclaying alternative B, where
by definition p, = 0 for i 6 VC.If resource k is renewablc, wc choose A := F \ B .
Othcrwisc, we put A := Vz- \ F if F is a k-surplus set and A := v{+\ F if
F is a k-shortage set. Let
P ( A , B ) := U {{i} x B}
iEA

denote the set of irrcflexivc relations {i} x B with i E A, which each give
rise to the (ordinary) preccdcncc constraints between activity i and all ac-
tivities j E B . Introducing disjunctive precedence constraint (3.1) refines the
resource relaxation by restricting the initial search space P = ST to the sct
of all schedules S contained in thc union of rclation polytopes ST(p) with
P E P(A, B).
After the selection of a minimal delaying alternative B, we minimize f on
thc restricted search space. Checking the resource-feasibility of the resulting
minimizer, rcfining the relaxation by disjunctive preccdcnce constraints, and
re-optimizing f on the rcstrictcd search spacc is performed until either the
search space has bccomc void or thc resulting minimizer S of f is resource-
fcasiblc. The disjunctive precedence constraints are reprcsentcd as a collec-
tion P of relations p whose relation polytopes ST(p) covcr the scarch space.
In each iteration, when adding a disjunctive precedence constraint of typc (3.1)
we put P := P @ P ( A , B) whcrc P = (0) at the root node and

As we shall see in Subsection 3.1.2, each of the nonempty search spaccs P =


uPEpST(p)generated in this way possesses a unique minimal point, which
represents a minimizer S of f on sct P.
We now consider the enumeration schemc in more detail. The correspond-
ing procedure is given by Algorithm 3.1. Lct Q dcnotc a list of rclation scts P
in set V and let C designate the sct of candidate schcdules generated. Starting
with Q = (((3)) and C = 0, at cach iteration we remove somc rclation sct P
froin Q and solve the relaxation by either computing the minimal point S
of search space P = uPEPST(p)or showing that P = 0.In the latter case,
68 3. Relaxation-Based Algorithms

we writc S = S" := (m,.. . , cm).For S < S", we procccd as follows. If


schedule S is resource-feasiblc, wc havc found a candidate schedule and put
C := C u {S). Otherwise, there is a start time t = S, of somc activity i E V
such that active set A(S, t) includes a forbidden set of real activities or a
forbidden set of events. In the former case, we compute the set B all minimal
delaying alternatives B for F := A(S, t ) n V" by using Algorithm 1.4. Other-
wise, F := A(S, t) n Ve is a k-surplus or a k-shortage set for some cuniulative
resource k E R Y , and calling Algorithm 1.6 provides the set B of all rnini-
ma1 dclaying alternatives for F and k. For each minimal delaying alternativc
B E B wc then introduce disjurictive precedence constraint (3.1) betwccn thc
corresponding set A and set B by setting P' := P @I P ( A , B) and adding thc
expanded relation set P' on list Q. Wc rcturn to the (refined) relaxation and
reitcratc thcsc steps until all relation sets P in list Q havc bcen investigated,
i.e., until Q = 8. Finally, wc rcturn thc sct C of all candidate schedules found.

Altrorithm 3.1. Enumeration scheme for regular obiective functions

Input: A project.
Output: Set C of candidate schedules.
initialize list of relation sets Q := ((0)) and set of candidate schedules C := 0;
repeat
delete some relation set P from list Q;
determine schedule S = min(UpEpS~(p));
if S < S" then (*search space is nonempty *)
if S is resource-feasible then C := C U {S); (*candidate schedule found *)
else (* introduce disjunctive precedence constraints *)
determine time t such that resource constraints (1.7) or (1.20) are violated
for some k E RPU R Y ;
if k E RPthen
set F := A(S, t) n V";
compute set B of all minimal delaying alternatives for F;
(* Algorithm 1.4 *)
else
set F := A(S, t) n Vc;
compute set B of all minimal delaying alternatives for F and k;
(*Algorithm 1.6 *)
for all B E B do -
if k E R P then set A := F \ B ; elsif B C v;+ then set A := Vc \ F;
else set A := v,"' \ F;
set P' := P @ P(A, B ) and add P' on list Q;
until Q = 0;
return C;

Thc following proposition establishes thc corrcctncss of thc cnumeration


scheme from Algorithm 3.1.
3.1. Regular Objective Functions 69

P r o p o s i t i o n 3.1 ( N e u m a n n e t al. 2003b, Sect. 2.5). Let C be the set of


candidate schedules generated by Algorithm 3.1 and let O S denote the set of
all optimal schedules.
(a) Algorithm 3.1 i s finite.
(b) Algorithm 3.1 i s complete, i.e., C n U S = 0 if and only if S = 0.
(c) All schedules generated b y Algorithm 3.1 are quasiactive, i.e., C C QAS.

Proof.
(a) At cach itcratiori a relation set P is removed from list Q and a finite num-
ber of expanded relation sets PI are added to Q. For each p E P , sets P I
contain a relation p' > p cach. Sincc thc cardinality of any irreflexive re-
+ +
lation in sct V is bounded from above by (n l ) ( n 2), this implics that
the number of iterations performed by Algorithm 3.1 is finite.
(b) Clearly, the scarch spacc P = ST(@)= ST associatcd with thc initial
relation set P = (0) is a supcrsct of thc fcasiblc rcgion S and thus
S = ST(@)n S. Now let S bc the minimal point of somc search space P
cnumcratcd in the course of Algorithni 3.1. If S is not resource-feasible,
there is a time t such that active sct A(S, t ) includcs a forbiddcn set F. Let
B bc thc sct of minimal delaying alternatives for F. Then Theorems 1.17
and 1.28 say that any resource-feasible schedule in set P satisfics one of
thc disjunctive precedence constraints (3.1) with B E B and appropriate
set A. Since in addition all enumerated schedules S minimize f on thc
respective search spaccs, thcrc is at least one optimal candidate schedule
S E C provided that S # 0. Convcrsely, all candidate schedules S E C
are feasible and the lower semicontinuity of f implies that O S = 0 only
if S = 0. Consequently, from C # 0 it follows that U S # 0.
(c) Each candidate schedule S E C is the minimal point of some relation
polytopc ST(p) and fcasible. Due to Q(S)1) p and thus ST(Q(S))C ST(p),
it follows from S E ST(B(S)) that S is thc minimal point of its schedule
polytope ST(Q(S))as well, i.e., S E QAS. 0

Wc notice that as a direct consequence of the proof of Proposition 3.la,


thc maximum depth of the enumeration trec gencratcd by Algorithm 3.1 is
0 ( n 2 ) . Moreover, the candidate schedules S E C are generally not active
but only quasiactive. Recall that already deciding on whether or not a given
feasible schcdulc is active constitutes an NP-hard problem.

3.1.2 Solving t h e Relaxations

In this subsection we arc concerned with the problem of minimizing a reg-


ular objective function f on a search space P defined by temporal con-
straints and disjunctive precedence constraints. We assume that thc dis-
junctive precedence constraints arc given by a collection of v relation sets
P ( A 1 ,B 1 ) ,. . . , P(A,, B,) with P(A,, B,) = U a E ~({i) , = 1 , .. . ,V.
, , x BP) for u
70 3. Relaxation-Based Algorithms

Proposition 3.2 (Neumann and Schwindt 2002). Let +


be the operator
on p u r t i u h ~ordered set (
E::
?,I)with 4(S)= ( 4 j ( S ) ) j E Vand
$, (S)= max (0, max (S,
(z,j)EE
+ Sij), p =rnax
l , ...,
I,: %€AlL
+
*nin(S, pi)) ( j E V).
~EB,,

(a) If P # 0,set P has a u7~iqueminimal point S f .


+
(b) possesses a fixed point if and only zf P # 0.Mznzmal point S+ coincides
with the unique fixed point S of 4 with So= 0.
(c) If 'P # 0,S+ arises as the limit of the sequence { S X )with S1 = ES and
SXfl= $(SX) for X E W .
<
(d) If 'P f 0, there is a r;. nd with $(SX) = SX= S+ for all X K. >
Proof.
Let S+ be the schedule given by ST := minsEp Sj for all j E V and
assume that P # 0. Wc show that Sf is the unique minimal point
of 'P. Sincc $ is isotonic arid Sf 5 S holds for all S E P, we have
$ ( S f ) < minsEp $(S). By definition of 4, set 'P can be represented as
>
P = {S E - I S o = 0, S $(S)). Now assume that S+ $! P . Then
there is an activity j t V such that Sjf < ,,!Ij(S+) 5 nlinsEp$,(S) <
rninsEp SJ = ST, which contradicts the assumption.
Sincc S+ is corr,,ponentwise minimal in set P = {S E I So= 0,
>
S +(S)), we have Sf = $(S+), i.e., Sf is a fixed point of +. Due to the
connectivity of network N, a point S is a fixed point of 4 cxactly if thcrc
> +
is an cu 0 with S = S+ a ( 1 , . . . , 1).Thus, S = S+ is thc unique fixed
point of II, with So = 0. Now assumc that P = 0.Then there is no point
SE >
such that So= 0 and S +(S). Since the set of fixed points of
+ equals { S E + >
I S = S+ a ( 1 , . . . , I ) for somc a 0) and Sof = 0,
the latter statement implies that does not possess any fixed poirit.
$J

<
Wc first show by induction on X that SX S+ for all X E Pi.From P ST c
it follows that S1 = ES = (rninsEs, Sj)jEV I (minSEPSj)jEV =Sf.
+
Now assume that SX5 S f . Sincc opcrator is isotonic, we have SXfl=
<
$(SX) $(S+) 5 S+, where the last inequality results from Sf E P.
For S1 = ES it holds that Si
= [ m a ~ ( ~ , ~ ) ~ Sij)lf + ! all j E V.
~ ( S , for
This provides S2 = $(S1) >
S1,which proves thc scquence {s') to bc
componentwisc nondecreasing. Thus, the existence of an upper bound S+
irnplics the corivergerice of {s'). Then lirnx,, SX= lirnx,, SX+I =
limxi, 4(SX)= +(limxi, s'), arid the limit of { S X )represents a fixed
poirit of $. The last cquation is duc to the continuity of 41. From S: =
ESo = 0 < lirrix,, St 5 S: = 0 we obtain limx,, St
= 0. Since
S = S+ is the unique fixed point S of 4 with So = 0, S+ coincidcs with
thc limit of sequence {SX).
3.1. Regular Objective Functions 71

(d) The asscrtion is immcdiate with the monotonicity of {S') and the prop-
erty that as long as SXfl # s', there is an activity h E V with
2 SX
, 1.+ 0

According to Proposition 3.2, minimizing a regular objectivc function f


on set P can be achieved by starting with S = ES and putting S := $(S)
until cithcr S = $(S) or > 2.In the latter case, P has been shown to be
empty. The number of iterates needed for reaching minimal point S+ can be
decreased by the following modifications. First, we may start thc procedure
<
with any time-feasible schedule S S + . Second, each time the start time S, of
some activity J has been increased due to a disjunctive preccdence constraint,
wc may iinmcdiatcly restorc thc timc-feasibility of schedule S by putting
+
Sf,:= max(SI,, S, d J h ) for a11 h E V. Thc resulting schedulc is time-feasible
precisely if 5 2,which is casily seen by adding arc ( 0 , ~ with) weight
So, = S, to project network N arid applying Algorithm 1.3 for updating dis-
tance matrix D (see Remark 1.8). For p = 1,.. . , u let t, := minzEA,,(S,+ p z )
be thc carlicst complction time of some activity i E A, with rcspcct to cur-
rent iterate S € ST and let d: := m a x , d~ ,~~denote
~~ the "distance" between
set B,, and activity h E V. Then the start time of activity h E V has to be
increased precisely if Sh < 1, +
d;. In this case, we set Sf, := t, dk and +
update the earliest completion times t x for all sets Ax containing activity h.
Algorithm 3.2 shows an implemcntation of this method as a label-correcting
procedure whcre queue Q contains all indices X = 1,.. . , u for which time t A
has to be updated.

Algorithm 3.2. Minimizing regular objective functions subject to temporal and


disjunctive precedence constraints

Input: A schedule S' E ST,distance matrix D, relation sets P(A,, B,)


( p = 1 , .. . , v).
' = n;=l U l t ~ LST({i)
Output: Minimal schedule S 2 S f in set P , x B,).
set S := S' and Q := ( 1 , . . . , v);
for all p = 1,.. . ,u do
3: t, := n1iniEn,' (St + p,);
4: for all h E V do d; := m a x , ~ o , d j h ;
repeat
dequeue index p from Q;
7: +
for all h E V with St, < tp dk do
8: set Sh := t, + d::;
for all X = 1,.. . , v with h E Ax and t x < mingEAA
(S, + p,) do
SO: +
set tx := mingtAA(S, p,);
if X $ Q then enqueue X to Q;
until Q = 0 or > 2;
if Q = 0 then return S ; else return S";
72 3. Relaxation-Based Algorithms

Next we analyze the time conlplexity of Algorithm 3.2. To this end, we


assume that sets V and A, with p = 1 , . . . , u are stored as Fibonacci heaps
(see, e.g., Knuth 1998, Sect. 6.2) sorted respectively according to nondccreas-
ing start times Sior nondecreasing complction timcs Si+pi. The initialization
of earliest completion timcs t, and distances d:: on lines 3 and 4 takes 0 ( u n 2 )
-
time. Sincc thc algorithm stops as soon as > d, line 8 is executed at most
~ ( n d times.
) On the othcr hand, on linc 10 each point in timc t x cannot be
iricreascd more than ~ ( u d times,
) which implies that the repeat-loop is iter-
ated O(rnin[n, u]d) timcs. At each itcration, identifying activities h E V with
St, < t, + d; on linc 7 rcquircs O(1ogn) time and rearranging thc Fibonacci
hcaps V and A, after having incrcascd start timc Sh on line 8 takes O ( u log n )
tirne. Thus, the time complexity of Algorithm 3.2 is 0 ( u n 2+min[n, u]du log n).
Alternative solution procedures with pseudo-polynomial tirne complexity
have been dcviscd by Zwick and Paterson (1996), Chauvet and Proth (1999),
and Schwicgclshohn and Thiele (1999). Mohring et al. (2004) provide a review
on papers dealing with applications of disjunctive prcccdcncc constraints that
arise in fields outside project schcduling, such as analyzing functional depen-
dencics among data in relational data bases (Ausiello et al. 1983), optimizing
the partial disassembly of products when rcmoving single componcnts (Gold-
wasscr and Motwani 1999), or computing optimal strategies for mean-payoff
games on dircctcd bipartite graphs (Zwick and Paterson 1996). In the latter
paper it is shown that thc problem to dccide whether the outcome of such
a gamc is positive is contained in N P n coNP. In addition, Mohring et al.
(2004) havc shown that this decision problem is polynomially equivalent to
minimizing a regular objective function subject to disjunctive temporal con-
straints where pi in inequality (1.11) is rcplaccd with an arbitrary time lag 6,,.
Dcspite this observation, however, no algorithm is available thus far for solv-
ing the latter scheduling problem in polynomial timc. For thc case where all
timc lags 6,, are nonnegative, Mohring et al. (2004) exhibit a label-setting
+
algorithm that runs in O ( n [ELTl +
IB,l][m C;=l IA,LIIB,LI]) timc.

The enumeration schemc given by Algorithm 3.1 defines the branching


strategy of a branch-and-bound algorithm for problem (P) with regular ob-
jective function f . In this subscction wc prcsent the complete branch-and-
bound procedure. Bcsides the branching stratcgy, a branch-and-bound algo-
rithm for a minimization problem is charactcrized by the search strategy for
sclecting one of thc gcnerated enumeration nodes for further branching, con-
szster~cytests, which are applied to restrict the search spaces of cnumcration
nodes, and lower bounds on the minimum objcctivc function value.
The search strategy of the branch-and-bound algorithm is as follows.
Wc always branch from onc of the child nodes u of the node u currently sc-
lected, i.e., wc pcrform a depth-first search. The dcpth-first stratcgy can be
implemented by simply choosing thc list Q of unexplored nodes u to be a
3.1. Regular Objective Functions 73

stack. The main advantages of depth-first search are that first, this strategy
minimizes the memory requiremcnts necessary for storing list Q and that sec-
ond, the number of branchings for reaching thc first leaf u of the cnumcration
tree (and thus often the timc for computing a first fcasiblc solution) is mini-
mum. Child nodes v are pushed onto stack Q according to nonincreasing lower
bounds. One drawback of the depth-first search strategy is that typically, two
enumeration nodes visited consecutively belong to similar relation sets, which
sharc a large number of common elements. As a consequence, it rnay take a
long time beforc any schedule located in a given part of the fcasiblc rcgion is
invcstigated, and thus the algorithm may spend much time in useless parts
of the enumeration tree. This shortcoming can bc avoidcd by partitioning the
enumeration tree into a number of subtrees, which are simultaneously tra-
versed according to a depth-first scarch strategy each (scattered search, cf.
Klein and Scholl 2000).
Basically, each of the consistency tests discussed in Subsections 1.2.4
and 1.3.4 can be applied at any enumeration node. Since disjunctivc precc-
dence constraints cannot be represented by a distance matrix D , thc tcsts
using distanccs dij between arbitrary nodes i ,j E V (the disjunctivc ac-
tivities, energy precedence, and balance tests) refer to a modified distance
matrix Dl = (dij)i,jEv reflecting the temporal constraints Sj - Si > d:,
that arc implied by the original temporal constraints and the added dis-
junctive precedence constraints. For example, the modified distance matrix
can be chosen to be equal to the elementwise minimal matrix Dl with
dLA > + +
max(dgll,minitA, m a x j ~ o (dki
, pi d;,,)) for all g , h E V and all
p = 1, . . . , v which satisfies the triangle inequalities (1.6). For distances d&,
we may choose dbh = Sh (h E V), where S is the minimal point of search
space P ' computed by Algorithm 3.2.
The question which consistency test should actually be uscd at which node
has to bc invcstigated with care. The reason for this is that intuitively there
is a tradeoff between the efficiency (i.e., the computation time required) and
the effectiveness (i.c., thc dccrcasc in sizc of the search space) of a tcst. As
a rule, the deeper the enumeration node, the less time should be spent with
consistcncy tests. In any case, the seardl space reduction algorithm (cf. Algo-
rithm 1.5) should be implemented in the form of a label-correcting procedure
iterating thc hypothetical temporal constraints whose validity may be affected
by the last constraint added (either an imposed disjunctive precedence con-
straint or a temporal constraint arising from applying a consistency test).
In branch-and-bound algorithms for the project duration problem with re-
newable resource constraints, Dc Rcyck and Herroclcn ( 1 9 9 8 ~and ) Schwindt
( 1 9 9 8 ~ have
) applied the disjunctivc activities tcst to two-clerncnt forbidden
sets (De Reyck and Herroelen used thc tcst as a preprocessing technique at
the root nodc). Dorndorf et al. ( 2 0 0 0 ~ )report on favorable results using the
workload-based disjunctive activities tcst and thc unit-intcrval capacity test
in a time-orientcd branch-and-bound procedure for the same problem (the
latter algorithm is briefly sketched in Subsection 3.1.4). Dorndorf et al. have
74 3. Relaxation-Based Algorzthn~s

also experimented with the activity interval and general interval consistcncy
tests, but on their testbed (projects with 100 or 500 activities) thc additional
search space reduction has been, on the average, outweighed by tlie incrcasc in
computation time. Finally, Laboric (2003) has been able to improve upon thc
results obtained by Neuniann and Schwindt (2002) for the project duration
problem with cumulative resources by using the balancc test.
Next, wc turn to lower bounds on the minimum objective function value.
Let S be the minimal point of scarch space P' under study (possibly reduced by
applying consistcncy tests). Obviously, lbo = f (S) represents a lowcr bound
on thc objcctivc function valuc inins,Epns f ( S f ) of a best feasible schedule
in P.Within a branch-and-bound algorithm for tlie project duration problen~
with renewable resources, Scliwiridt (1998a) has uscd two further lower bounds
lbl and lbz, respcctivcly being based on disjunctive activities and energetic
reasoning. We first deal with lowcr bourid lbl (scc also Klein and Scholl 1998).
< <
Let ;i' E Z>" with Sn+l df d denotc somc hypothetical upper bound on
thc projectduration. Clearly, thc latcst start time LSi = -dio of activity i is,
under the assumption of a projcct dcadline d', less than or equal t o ;i'- di,,n+l,
and the earliest completion time Si +pi of activity i is independent of d'.Now
let {i,j ) be a forbidden set such that d' - dj,,,+l < Si + p i and ;i' - di,n+l <
Sj + p j Then activities i and j must overlap in timc, which is impossible due
to their excessive joint resource requirements. Consequently, d' + 1 is a lowcr
bound on the shortest project duration of all schcdulcs in the search spacc.
Moreover, 2' must be increased by niin(Si p, + + + +
dj,,,+l, Sj p j di,7L+I)
units of timc t o avoid the above
- contradiction. Thus, instead of performing
a binary scarch in set [S,n+l, dl n Z,wc may directly compute thc smallest
deadline 2' = lbl which cannot bc disprovcd as

For given two-element forbidden sets { i , ~ )calculating


, smallcst deadline 2'
requires (?(n2) time. By applying the profile test from Subscction 1.3.4 t o the
projcct termination cvent n+ 1,Neumann and Schwindt (2002) have obtained
a s i n d a r lower bound on the minimum project duration of projccts witli
cumulative rcsourccs. Thc algorithm itcratcs hypothetical upper bounds d',
which may be refuted based on lower arid upper approximations to the loading
profiles.
Now rccall the concept of lowcr bound wk(a, b) on tlie workload t o bc
processed on renewable resource k E R P in intcrval [a, b[ (see equations (1.13)
and (1.14)). By replacing the carliest completion tinie EC, = ES, p, in +
+
(1.13) witli S, p,, we obtain a corrcsponding lowcr bound referring to the
search space P rather than t o set ST. In particular, wk(S,,;i) reprcsents a
lower bound on the workload for rcsource k that must be processed aftcr the
carlicst start time S, of activity t , which takcs a t lcast [wk(S,,d)/Rkl units
of timc. By taking thc maximum with rcspcct t o all real activities i E V a and
all renewable resources k E R \ we obtain lower bound
3.1. Regular Objective Functions 75

lbz = max(Si
,Eva
+ xtn.
rnax
1 2)
~ k ( S i ,
Ri 1)
on the minimum projcct duration. Computing value lb2 can be done in
O(JRPlnlog n ) time.
We briefly touch upon further, more timc-cxpensive lower bounds on thc
minimurn duration of projects with renewable resourccs, which can be found in
Heilrnann and Schwindt (1997), Brucker and Knust (2003), and Mohring et al.
(2003) arid will be used for the pcrformancc analysis of exact and heuristic
methods for the project duration problem in Subsection 3.1.4. The latter two
lower bounds are also described in more detail in Neurriann et al. (2003b),
Subsect. 2.5.8.
Heilnlanri and Schwindt (1997) discuss scvcral lower bounds based on
disjunctive activities, energetic reasoning, and a relaxation of thc resourcc-
constrained project scheduling problem (1.8) leading to a prccmptivc one-
machine problem with release dates dg" and quarantinc times dyAn+l (z E V").
Similarly to lower bound lbl, the lower bound on thc minimum project
duration devised by Bruckcr and Knust (2003) is based on falsifying hypo-
thetical project deadlines 2 . For a givcn value of 2 , the procedure of testing
the consistency of deadline d/ constructs a linear program and tries to show
that it is unsolvable. At first, several consistcncy tests are applied in ordcr
to tighten the time windows [S,,LS,] of individual activitics i E V" (recall
that minimal point S coincides with the earliest schedule in sct P ) . For each
pair (t, t') of consecutive earliest start or latest complction timcs of activi-
ties i E V a ,the set of all tentative active sets A for intcrval [ t , t l [ is then
computed, where S, < t' and LC, > t for all i E A and d,, < p, for all
i, j E A. For each set A, a continuous decision variablc y~ >
0 is introduced
providing the time during which A is in progrcss in intcrval [t, t'[ (i.e., during
which precisely the activities i E A overlap in time). The project duration
is then minimized subject to the constraints that first, each real activity i is
carried out for p, units of time in the different scts A and second, the total
execution time of all sets A belonging to somc pair (t, t') is lcss than or equal
to interval length t' - t. The latter problem can be formulated as a linear
program in decision variables y~ and corresponds to the relaxation of prob-
lem (1.8) wherc the tcmporal constraints arc replaced with the weaker rclcase
dates d g z n = S, and deadlines dgax = LS,. Moreover, activities arc allowed
to be interrupted during their execution. Since the number of tentative activc
sets A grows exponentially in n, it is expedient to solve the linear program by
column-generatzon technzques (see, e.g., Goldfarb arid Todd 1989, Sect. 2.6).
Thc basic idea is to consider only a restricted working sct of decision vari-
ables that are generated when needed. Each time the linear program with thc
currcnt working set of decision variables has been solvcd to optimality, ncw
decision variables arc added to the working set or it is shown that the cur-
rent basic solution is optimal. For finding an improving decision variable y~
76 3. Relaxution-Based Algorithms

to bc added to the working set, Bruckcr arid Knust use a branch-and-bound


algorithm enumerating binary incidcncc vcctors for sets A.
Mohring et al. (2003) usc a formulation of problem (1.8) as a binary lincar
program with time-indexed binary variables xzt, which has been proposcd by
Pritsker et al. (1969) for thc first timc. Dccision variable xzt equals one if ac-
tivity z is startcd at timc t and zcro, otherwise. For (approxirnatively) solving
thc continuous relaxation of thc lattcr binary program, Mohring et al. apply a
standard subgradient method (cf. Held et al. 1974) to a Lagrangean relaxation
of the latter linear program, which substitutes the resource constraints into a
linear penalty function. For given multipliers, thc Lagrangean relaxation can
bc solved cfficiently by transforming the problcrn into a minimum-cut problcm
in a cyclic network with uppcr alc capacities, where each nodc stands for one
decision variable xzt (thc time complexity of this approach is studicd in more
dctail in Mohring ct al. 2001). Thc main advantage of this approach is that
it can bc used for each objcctivc function f which can be written in thc form
CztV wZtxZt,where wzt E Z and variables xzt are used in the above mcaning.
In addition, tlie approach can straightforwardly bc gencralizcd to the case of
cuniulative resources (see Selle 1999).

3.1.4 Additional Notes and References

Algorithrn 3.1 combines tlie enumeration schemes of the branch-and-bound


algoritlinis by Schwindt (1998a) and Neumann and Schwindt (2002) for the
projcct duration problems with rcnewablc-rcsource and cumulative-resource
constraints, rcspectively (see also Schwindt 1999). In this subsection we bricfly
present alternative solution procedures that have been proposed in literature
and present the results of an experimental performance analysis of the algo-
rithms. Wc only consider algorithms coping with general temporal constraints.
For the special case where instead of minimum and rnaxinlum time lags be-
tween activitics preccdcnce constraints are prcscribed, we refer to the survey
papers by Herroeleri et al. (1998), Brucker et al. (1999), Hartmann and Kolisch
(2000), and Kolisch and Padman (2001) and the literature cited thcrcin.
We first deal with exact procedures for tlie project duration problem
with renewable resources. By using ordinary precedence constraints in-
stead of disjunctive precedence constraints for breaking up forbidden active
sets, wc obtain the enumeration scheme of a branch-and-bound algorithm that
has been devised by De Reyck arid Herroelen ( 1 9 9 8 ~ )Accordingly,
. tlie enu-
meration nodes correspond to time-feasible relations p which arise from the
union of minimal delaying modes {i) x B. This enumeration scheme will bc
discussed in more detail in Subsection 3.2.1.
The earliest branch-and-bound algorithm for the projcct duration problem
is due to Bartusch et al. (1988). Their approach differs from thc algorithm
by De Reyck and Herroelen in the forbidden sets considered in the coursc of
tlie algorithm. The forbidden sets F broken up in the latter algorithm (and,
likewise, in Algorithm 3.1) arc always active sets A(S, t ) belonging to the
3.1. Regular Objective Functions 77

minimal point S of the search space ST(p). If there is no forbidden active


set A ( S , t ) for S at any time t> 0, schedule S is feasible, and no furthcr
pairs ( i ,j ) are added to p. As wc have alrcady noticed in Subsection 3.1.1,
the feasibility of S does not necessarily imply the feasibility of relation p.
The algorithm of Bartusch et al. first computes all minimal forbiddcn scts
F E F for which the temporal constraints allow the simultaneous processing
of all activities i E F. Similarly to the enumeration schemc of thc algorithm
by De Reyck and Herroelen, cnumeration nodes correspond to relations p
in set Va. The child nodes p', however, now arise from branching, for given
minimal forbidden set F, over all pairs (i, j) of activities i , j E F such that
, breaks up F. Leaves of the enunieration tree are either
relation p' := p ~ { ( ij))
feasible relations p or relations p for which no further minimal forbidden set
can bc broken up by any time-feasible relation p' > p.
By substituting the disjunctive prcccdcnce constraints (3.1) into release
datcs
dgn = min(S,
,€A
+ p,) ( jE B) (3.2)

whcrc the right-hand side is the smallest completion time of somc activity
i E A with respect to the schedule S undcr considcration, onc obtains thc
enumcration scheme of the branch-and-bound algorithm by Fest et al. (1999).
The main advantagc of this approach is that given distance matrix D, min-
imizcrs S of the project duration on the search space can be calculated in
U(IB1n) time. Furthermore, thcrc exists a vcry simple and effective domi-
nance criterion, which enables fathoming nodes by comparing corresponding
release datc vcctors. The drawback of the release-date based enumeration
scheme is that constraints (3.2) only temporarily establish a precedcncc rc-
lationship between sets A and B . Sincc in contrast to the case of disjunctive
precedence constraints, thc right-hand side of (3.2) is a constant, thc resourcc
conflict caused by forbiddcn sct F = A U B is not definitely settled and thus
onc and the same resource conflict may be resolved repeatcdly along a path
from the root to some leaf of the enunieration tree. Computational experience,
however, indicates that this situation can often be avoided by discarding cnu-
meration nodes which due to unnecessary idle times cannot lead to quasiactive
schedules (total-idle-time dominance rule, cf. Fest et al. 1999).
All algorithms mentioned thus far are based on breaking up forbidden sets.
Thc constraint propagation algorithm by Dorndorf ct al. ( 2 0 0 0 ~branchcs
) over
the binary decision whether to schcdulc a givcn activity i E Va at its (currcnt)
earliest possible start timc ES, or delaying i by introducing a release date
+
db:"'" 2 ES, 1. The large size of the corrcsponding complete enumeration
tree is significantly reduccd by applying the disjunctive activities and unit-
interval capacity consistency tests and exploiting specific properties of active
schcdules.
Wc proceed with heuristic proccdurcs for the project duration problem
with renewable resources. Franck (1999), Ch. 4, has proposcd thc following
przorzty-rule method. Prclirninary variants of this algorithm have been dc-
78 3. Relaxation-Based Algorzthms

viscd by Neumann and Zhan (1995) and Brinkmann and Neumann (1996). A
streamlined version of Franck's algorithm is described in Franck et al. (2001b).
At first, a preprocessing step is pcrformed by applying the disjunctive activ-
ities consistency test t o two-clcmcnt forbiddcn sets. To construct a feasible
schedule, a serial schedule-generation scheme is used (cf. Kolisch 1996), which
in each iteration schedules one eligible activity j E Vn by fixing its start
time S,. An activity j is called eligible if all of its prcdcccssors i E Pred4(j)
with respect to strict ordcr + in set V a havc bccn schcdulcd, wliere i < j if (1)
dij > 0 or (2) di, = 0 and d,ji < 0. From the set of eligible activities, the activ-
ity t o be scheduled next is chosen according t o a priority rule. Let C denote the
set of all activities already schcdulcd. Thc activity j selectcd is started a t the
earliest point in time t E [ESJ,LSj], where ES, = max[doj, maxiEc(Si d,j)] +
and LSj = min-doj , miniEc (Si - dji)], such that in intcrval [t,t + p j [ the joint
resource requircments by j arid the activities i E C do not cxcced thc rcsource
capacities. Due to the presence of maximum time lags, it may happen that for
a sclccted activity j there is no such point in time t . Let t' := miniEc(Si - dji)
then denote the latcst start timc of j due to the (induced) maximum time lags
betwccn schcduled activities i E C arid activity j . To rcsolvc thc deadlock, an
unscheduling step is performed, which cancels the start times of all schcdulcd
>
activities i E C with Si t' and increases the earliest start time ESi of all
scheduled activities i E C with Si = t' by one unit of timc. The procedure
is terminatcd if a prescribed maximum number of unscheduling stcps liavc
been performed or if all activities j E V" have been schedulcd. Thc numbcr
of required unschcduling steps can be markedly dccreased on thc avcragc if
activities of strong componcnts in project network N arc schedulcd directly
+
one after another, where N does not contain backward arc (n 1 , 0 ) (recall
that when miriiniizirig the project duration, we may delete the deadline 2 on
the project termination).
Bascd on this priority-rule method, Franck (1999), Ch. 6, has also devel-
oped a scllcdulc-improvement procedure of type parallel genetic algorithm (scc
also Franck et al. 20010), which is an adaptation of a genetic algorithm by
Hartmarm (1998) for the project duration problem without maximum time
lags. The genetic algorithm works on several subpopulations of equal size,
where cach island evolves separately until after a given number of iterations,
some individuals migrate from one subpopulation t o another one. The indi-
viduals are represented by feasible activity lists (i.e., complete strict orders G
in set Vn extending strict ordcr +), which are transformed into schedules by
applying the serial schcdule-generation sclierrie with strict order + substituted
into Q. Thc initial subpopulations are created by randomly biasing priority
rules and transforming the resulting priority values ~ ( iof) activitics i in an
activity list G by putting i G j if (1) i + j or (2) j 74 i and ~ ( i < ) ~ ( j )At
.
each itcration, two individuals are selected for crossovcr in each subpopulation
according t o a double roulet te-wheel selection. By applying a one-point arid a
two-point crossover operation to those two individuals two new activity lists
are generated. With a certain probability, the new activity lists are then sub-
3.1. Regular Objective Functions 79

jectcd to mutation by interchanging the positions of two adjacent activities in


thc list. Subsequently, the two activity lists arc dccodcd into schedulcs using
the serial schedule-generation scheme. If in the course of the schedule gen-
eration a maxinium number of unscheduling steps has been performcd, the
violation of maximum time lags is allowed, which means that tlie resulting
schedulc is not time-feasible. Based on the resulting schedules, the fitness of
the activity lists is calculated as the sum of the project duration and a penalty
term for time-infeasibility of the schedule. Eventually, the worst two individu-
als in the subpopulation are replaced with the two new activity lists, provided
that the new activity lists have a better fitness. These steps are iterated until
one of fivc stop criteria is met: all individuals have tlie same fitness, a lower
bound on the shortest project duration has been attained, a prescribed num-
ber of schedules have been evaluated, a feasible schedule has not been found
within a given number of iterations, or thc best fcasiblc schcdulc found has
not been irnproved within a givcn number of iterations.
A variant of the enumeration schcrne of Dc Reyck and Hcrroelcn ( 1 9 9 8 ~ )
has been uscd by Cesta et al. (2002) for a multi-pass heuristic, where relation
{i) x B is replaced with a pair (i,j) such that thc addition of (i, j ) to relation p
breaks up some selected niinirrial forbidden set F. Set F is chosen from a
given number of samplcd minimal forbidden sets F' E .F with F' C A(S, t)
>
for some t 0. F is onc of thc sampled minimal forbidden scts with minimum
"temporal flexibility" in tcrms of total slack times T F h with h E F, and
pair ( 2 , j) is chosen such that the resulting temporal flexibility for set F is
maxirrium. The addition of pairs (i, j) to p is repcated until ST(p) = I? or
minimal point S = minST(p) is a feasiblc schcdulc. Within thc multi-pass
procedure, the temporal flexibility used for sclccting pairs (i, j) is randomly
biascd, and thus in general several different fcasiblc schedules are gcnerated.
We now turn to the results of an cxpcrimcntal pcrformance analysis. All
of the above algorithms for the project duration problem with renewable re-
sources except the branch-and-bound algorithm of Bartusch ct al. (1988) have
been tested on a tcst sct consisting of 1080 problem instances with 100 real
activitics and 5 renewable resources each. The instances have been generated
randomly by using the project generator ProGen/max (see Schwindt 19986
and Kolisch et al. 1999). The construction of projects can be influenced by
means of control parameters for thc problem sizc, shape of the project net-
work, activity durations, time lags, and resource constraints. From the 1080
instances, 1059 possess a feasible solution. For 785 instances, an optimal so-
lution is known.
Table 3.1 shows, in historical order, the results obtained by the differ-
ent proccdures, where the computation timcs rcfcr to a Pentiurn personal
computer with 200 MHz clock pulse (to account for different hardware, we
havc linearly scaled the computation times for De Reyck and Herroelen's
arid Franck's algorithms according to the corresponding clock pulse ratio).
Thc results for the branch-and-bound procedure of De Reyck and Herroe-
len (1998a) are given as quotcd by Dorndorf et al. ( 2 0 0 0 ~ )"Schwindt
. (1998~)
80 3. Relaxation-Based A1,qorithrns

Table 3.1. Performance of algorithms for the project duration problem with renew-
able resources

Algorithm tcpu Popt Pins Pnopt Punk Alb

De Reyck and Herroelen ( 1 9 9 8 ~ ) 3 s 54.8 % 1.4 % 42.5 % 1.1 %


30s 56.4% 1.4% 41.1% 1.1% n.a.

Schwindt ( 1 9 9 8 ~ FBS
) 28.1 s 59.4% 1.9 % 38.7% 0.0% 6.4%
Fest et al. (1999)

Franck (1999) GA 12.1s 60.1 % 1.9% 38.0% 0.0% 5.3%


Dorndorf et al. ( 2 0 0 0 ~ ) 3 s 66.2% 1.9% 31.6% 0.3% 5.2 %
30s 70.4% 1.9% 27.7% 0.0% 4.8%
100s 71.7% 1.9% 26.4% 0.0% 4.6%
Cesta et al. (2002) 100s 63.2% 1.9 % 34.9 % 0.0 % 7.3 %

BB" and "Schwindt (1998a) FBS" dcsignate the branch-and-bound algorithm


of Schwindt ( 1 9 9 8 ~ and
) its truncation to a filtcred bean1 search hcuristic (see
Franck et al. 2001b). "Franck (1999) PR" and "Franck (1999) GA" stand for
the priority-rule method and genetic algorithm by Franck (1999). The priority-
rulc method is performed with 14 diffcrcnt priority rules and the bcst schedule
is returned. For the branch-and-bound proccdurcs, tCp,denotes an imposed
time limit after which the enumeration is stopped. For the heuristics, t,,, is
the mean computation time. p,,t, p,, pnOpt, and punk denote thc pcrccntages
of instances for which respectively an optimal schedule is found and optimality
is proven, insolvability is shown, a feasible schedule is found whose optimality
cannot be shown, or the solvability status remains unknown. In addition, we
providc the mean pcrccntage deviation Albof the project duration found from
a lowcr bound lb on the minimum projcct duration, which has been calculated
using tecllniqucs dcscribed in Heilmann and Schwindt (1997), the lower bound
of Mohring et al. (2003) based on Lagrangean relaxation, and thc lowcr bound
of Brucker and Knust (2003) using column generation (scc Subsection 3.1.3).
For the algorithm of De Rcyck and Hcrroelen (1998a), the published mean
deviations from lower bound are based on values different from lb and arc
thus not listed. The mean refers t o the instanccs which havc been solved to
feasibility by the respective algorithm. For the hcuristic methods, we say that
optimality is proven if the project duration obtained cquals lower bound 10
3.1. Regular Objective Functions 81

and insolvability is shown if the consistency tests included reduce the search
space to void.
As far as the cxact algorithms are conccrned, the results suggest that
the most recent of the branch-and-bound procedures (Dorndorf et al. 2000c)
is also the algorithm which performs best with respect to all five evaluation
criteria. The good performance of the constraint propagation algorithm is pri-
marily due to a clever scarch strategy and the effectiveness of thc consistcncy
tcsts, which are applied at cvcry cnurneration node. In particular, the mean
deviation Albfrom lower bound is significantly smaller than for all remaining
algorithms and for almost thrcc quartcrs of the instances, the cnumeration
is completed within a timc limit of 100 seconds. It is worth mentioning that
all algorithms compared, except De Reyck and Herroelen's branch-and-bound
proccdurc, are ablc to identify all insolvable instanccs and to find a feasible
schedule for cach solvablc instancc. The comparison of the results obtaincd
when varying thc time limit of the branch-and-bound procedurcs, howcvcr,
indicates that solving all of the remaining open instances would probably
require a prohibitively large computation time.
The priority-rule method provides fcasiblc schedules with an acceptable
deviation from lower bound within a very short amount of time. If more
computation time is available, the genetic algorithm may be uscd to improve
the initial schcdule calculated by thc priority-rule method. Thc comparison
with Dorndorf ct al.'s algorithm stoppcd after three seconds, however, shows
that tllc latter algorithm also outpcrforms the heuristics. In addition, the
data for the filtered beam search version of the branch-and-bound procedure
of Schwindt (1998a) suggest that even better results may be obtaincd by a
truncatcd version of Dorndorf ct al.'s algorithm.
We proceed with the project duration problem with cumulative re-
sources. To the best of our knowledge, there are only two algorithms for
solving this problem: the branch-and-bound procedure dcviscd by Ncurnann
and Schwindt (2002), which is bascd on thc cnumeration scheme given by
Algorithm 3.1, and a branch-and-bound algorithm that has been proposed by
Laborie (2003).
The enumeration scheme of the latter procedure picks two distinct cvents
i, j with dij < 0 and dji < 0 in each iteration and branches ovcr the binary
decision whether or not i occurs before j (i.e., Si 5 Sj - 1 or Si 2 Sj). The
sclcction of cvents i , j is based on the upper and lower bounds ~ ; ; < ( h~) ,: ( h ) ,
Tz ( h ) ,& ( h ) on the inventory levels in resources k E 727 just before and at
the occurrencc, rcspectivcly, of evcnts 11 E Ve (sce Subscction 1.3.4). At each
node of the enumeration tree, the balance test is used to reduce the time
windows [ESh,LS,,] of evcnts h E Ve.
Table 3.2 shows the results of an experimental performance analysis of
Ncurnann and Schwindt's and Laborie's algorithms. The test set has again
bccn generated by ProGenlrnax and contains 360 instances with 10, 20, 50,
or 100 cvents and 5 cumulative resources cach. The computations havc bccn
82 3. Relaxntion-Based Algorithrr~s

pcrformed on a Pentium personal computer with 200 MHz clock pulse. For
cach instance we have imposed a time limit of 100 seconds. The mean devia-
tion from lower bound &, is bascd on thc lower bound lbl that is obtaincd
+
by applying the profile test t o the project termination event n 1 (see Sub-
section 3.1.3).

Table 3.2. Performance of algorithms for the project duration problem with cumu-
lative resources
Algorithm 7~ popt PZILS pnopt punk &b

Neumann and Schwindt (2002) 10 66.7 % 33.3 % 0.0 % 0.0 % 0.3 %


20 48.9% 51.1 % 0.0% 0.0% 2.2 %
50 51.1% 45.6% 1.1% 2.2% 1.3%
100 55.6% 34.4% 7.8% 2.2% 1.2%
Laborie (2003) 50 53.3% 46.7% 0.0% 0.0% 1.5 %
100 63.4% 36.6 % 0.0% 0.0% 0.9 %

Wc first discuss tlie results obtained with the algorithni by Neumarm arid
Schwindt (2002). For all 180 instanccs with 10 and 20 cvcnts, the enumeration
is completed within the time limit. Evcn for thc projects with 100 events, 90 %
of the instances can be cithcr solvcd to optimality or provcd to be insolvable.
P u t into perspective with the data displayed in Table 3.1, those results may in-
dicate that problems with cumulative-resource constraints are more tractable
than problerris with renewable resources. As far as the computation of feasible
schedules is concerned, the picture is different. There exist projects with 50
events for which aftcr 100 seconds neither a feasible schedule can be found nor
insolvability can be shown. With the branch-and-bound algorithm by Laborie
(2003), however, the twelve open instances with 50 or 100 activities can be
solved within less than 100 scconds (56 scconds on a HP 9000/785 worksta-
tion), which again confirms the benefit of efficient and effective consistency
tests. The results for thc projects with 10 or 20 activitics arc the sarnc as for
tlie algorithm by Neumann and Schwindt (2002).

3.2 Convexifiable Objective Functions


For convexifiable objective functions, time-constrained project scheduling with
disjunctive precedence constraints can no longer be performed efficiently, and
thus rcsource conflicts are settled by introducing ordinary prcccdcnce con-
straints. After the treatment of an cnumcration schcmc for gcncrating can-
didate schedules, wc discuss two alternative approaches to solving the relax-
ations: the primal approach, which will bc uscd to solvc thc timc-constrained
projcct scheduling problem at thc root nodc of the enurncration tree, and
the dual approach for adding precedence constraints between activities of the
3.2. Co~nvexzfiableObjective Functions 83

project. Whcrcas the primal steepest descent algorithm iterates over time-
feasible schcdulcs, the dual flattest ascent algorithm consecutivcly enforces
the precedence constraints. Both algorithms are used within a branch-and-
bound algorithm for minimizing convexifiable objcctivc functions. In addition,
we provide an ovcrvicw of altcrnative solution proccdures that have been de-
vised in litcraturc for specific convexifiable objective functions and discuss the
rcsults of an experimental performance analysis of the methods trcatcd.

3.2.1 Enumeration Scheme

Prccursors of the enunleration scheme to be discussed in this subsection


have bccn proposcd, independently, by Icmcli and Ercngiiq (1996) for the
nct prcscnt value problem with renewable resources and by De Reyck and
Herroelen ( 1 9 9 8 ~ for
) thc project duration problem with renewable resources.
Icmcli and E r e n g u ~(1996) have considered the case of precedcncc constraints
among activities instead of gcncral temporal constraints. The enumeration
scheme has arisen from the combination of the relaxation-based approach by
Bcll and Park (1990) and the concept of minimal delaying alternatives intro-
duccd by Derneulerneester and Herroelen (1992). Later on, Schwindt ( 2 0 0 0 ~ )
has used thc cnumcration schcmc within a branch-and-bound algorithm for
the total earliness-tardiness cost problem with rcncwable resources. For solv-
ing the capital-rationed net present value problem, Schwindt ( 2 0 0 0 ~ has
) ex-
panded thc cnumcration schcmc to copc with cumulative resources.
The algorithm mainly differs from the cnumcration scheme considered in
Subsection 3.1.1 in that forbidden active sets are broken up by ordinary in-
stead of disjunctive prcccdencc constraints. Hcncc, each enumeration node
is associated with a relation p rather than with a set P of rclations, and the
scarch spaccs P represent relation polytopes ST(p). Thc rclations p arise from
thc union of minimal delaying modes {i} x B , where B is a minimal delaying
alternative for somc forbiddcn sct F and i E A with A C V\ B being an appro-
priate set of activities to bc choscn depending on the type of the underlying
resource conflict. Accordingly, we obtain one enumeration node for each com-
bination of activity i E A and minimal delaying alternative B. The relaxation
to be solvcd a t an enumeration node belonging to rclation p consists in finding
a (local) minimizer of objective function f on search spacc ST(p). In contrast
to the case of regular objective functions, it can easily be verified whether
or not the scarch space bccomcs void when passing from p to a child node's
relation p' = pU ({i) x B ) by checking the condition d$ +pi 5 0 for each j E B
(see Proposition 1.9). Updating thc distance matrix D(p) aftcr thc addition of
pairs (i,j) with j E B can be achieved in 0 ( n 2 )time by using Algorithm 1.3
+ + + +
and observing that maxjEB(dgi hij djr,) = dgi pi maxjt-B djh for all
g, h E V .
The enumeration scheme is now as follows (cf. Algorithm 3.3). Q is a list
of relations in set V and C again denotes the set of candidate schedules to be
generated. At first, wc put thc cmpty rclation p = 0 on list Q and set C := 0.
84 3. Relaxation-Based Algo~ithms

We then check whether there is a cycle of positive length in project network N,


in which casc wc return the empty set of candidate schedules. At each iteration
we take some relation p from list Q and determine a minimizer S of f on
relation polytope ST(p). If schedule S is resource-feasible, we have found a
candidate schcdulc, which is added to set C. Otherwise, we scan S for a start
time t = Si of some activity i E V sllcli that active set A ( S , t ) includes a
forbidden set F and compute the corresponding set B of all minimal dclaying
alternatives. For each minimal delaying alternative B E B and each activity i
from the respective sct A wc obtain onc minimal dclaying mode { i ) x B,
which is joined with rclation p and gives rise t o the extension p' of p. If
relation polytope ST(pl) is nonernpty, p' is added t o the list Q of unexplored
erlunleration nodcs. We then take the next relation p from list Q and proceed
in the same way until no more relations p remain in list Q and the set C of
all candidate schedules is returned.

Algorithm 3.3. Enumeration scherne for convexifiable obiective functions

Input: A project, convexifiable objective function f .


Output: Set C of candidate schedules.
initialize list of relations Q := ( 0 ) and set of candidate schedules C := 0;
if ST= 0 then return C;(* cycle of positive length in N *)
repeat
delete some relation p from list Q;
determine minimizer S of f on ST(^);
if S is resource-feasible then C := C U { S ) ; (* candidate schedule found *)
else (* introduce ordinary precedence constraints *)
determine time t such that resource constraints (1.7) or (1.20) are violated
for some k E RPU RY;
if k E RPthen
set F := A ( S , t ) n V " ;
compute set l? of all minimal delaying alternatives for F ;
else
set F := A(S, t ) n V e ;
compute set B of all minimal delaying alternatives for F and k;
for all B E B do
if k E RPthen set A := F \ B ; elsif B C V;' then set A := VF- \ F;
else set A := v,"' \ F ;
for all i E A do
set p' := p U ( { i ) x B);
if ST(p') # 0 then add p on list Q; (*search space is rlonempty *)
until Q = 8;
return C;
3.2. Convexifiable Objective Functions 85

3.2.2 Solving t h e Relaxations: The P r i m a l A p p r o a c h


The relaxation to be solved at each nodc of the enumeration tree gcncrated by
Algorithm 3.3 corresponds to a time-oriented scheduling problem of type (1.2)
where STis substituted into some relation polytopc ST(p) and f is a convex-
ifiable objective function. To simplify writing, we consider the relaxation at
the root nodc, where p = 0, i.e., thc resource relaxation of problem (P).
Recall that if objective function f : ST+ R is convcxifiable, there exists a
C1-diffeom~r~hism cp : ST-+ X such that composite function I,!I : X + R with
+(x) = (f o cpP1)(x) for all x E X is convex and the image X = cp(ST)of ST
under cp is a convex set. The continuity of cp and the compactness of STimply
that thc domain X of 4 is compact as well. If for given convexifiable objcctive
function f , a diffeomorphism cp satisfying the conditions of Definition 2.29 is
known, the relaxation can be solvcd by computing a minimizer x of 4 on X and
returning schedulc S = cp-'(z). The existence of such a minimizer x is easily
seen as follows. By dcfinition of +, the lowcr-lcvel set L$ of 4 for given a E R
cquals the image of lower-level set LL of f under cp, which is closed because
of the lower semicontinuity of f . Consequcntly, the continuity of cp provides
the closedness of any lower-level set L$ of 4, which means that I,!I is lower
semicontinuous as well. Since X is compact, 4 always assumcs its minimum
on X. A minimizer x of ?I, on X can be determined by the ellipsoid method,
whose time complexity is polynomial in the input length of function 4 and
set X. We stress, however, that the latter time complexity is not necessarily
polynomial in the input length of the original relaxation (1.2).
For two special cases, which cover most convcxifiable objective functions
occurring in practice, thc rclaxation can be solvcd more efficiently on thc
average. We first consider the case where f is piecewise affine, convex, and
sum-scparablc in the nodes i E V and the arcs (i,j ) E E of project network N,
i.e., f can be written in the form

where functions fi : [ES,,LSi] 4 R (i E V) and fij : [dij, -dj,] -, R


((i,j) E E ) are pieccwise affinc and convex. The problen~of minimizing a
sum-separable function on sct ST is known as the optimal-potential problem
in literature (cf. e.g., Rockafellar 1998, Sect. 1J). It is well-known that the
optimal-potential problcm with piccewisc affine and convex functions fi and
fij is dual to the convex-cost flow problem

subject to gi 5 C u,,- 1u,,< Ci (i E V : i # 0)

whcre the functions fi and f; and the functions f i j arid f,?;j are conjugatc to
each other (see Rockafellar 1998, Sect. 8G). Recall that a function 4' with
86 3. Relaxation-Based Algorithms

effective domain X* (i.e., $*(y) < oo for all y E X*) is conjugate t o a function
4 : X + R if $*(y) = suPzEx(yTs - 4(x)) for all y E X*. For given functions
fi and f i j , the corresponding conjugate functions f,i and f& are piccewise
affirie as well. The functions f , ,and f,*,(up to an additive constant) and the
lower and upper bounds ci and ci on supplies a t nodes i E V can be determined
by reversing the roles of breakpoints and slopes in passing from functions fi
and f i j to their respective conjugates f,i and f;. The additive constants arise
from evaluating a convcnicnt point on the characteristic curves of fi and fij
(see Rockafellar 1998, Example 3 in Scct. 8F). The characteristic curve I' of
a convex function of onc variable is the set of all points (x, y) E R2 such that
y is between thc left-hand and the right-hand derivative of the function a t x.
+
The convex-cost flow problem can be solved in 0 ( m n 2l o g [ C i E v ( l ~ i I IGil)])
time by a generalization of the capacity-scaling algorithrri for the min-cost
flow problern (see Ahuja et al. 1993, Scct. 14.5).
The subcase where fi(Si) = wiSi for all i E V and fij(Sj- S i ) = 0 for all
(i,j ) E E leads t o the followirig niin-cost flow problem (cf. e.g., Russell 1970):

Minimize 23 1.7

Wc now turn t o the second special case, where convexiiiable objective


function f is assumcd to be continuously differentiable or sum-separable in
the nodes i E V of N. In that case, thc relaxation is amcnablc t o an efficient
przmal steepest descent approach, which has been used by Schwindt ( 2 0 0 0 ~ )
for solving thc timc-constrained total earliness-tardiness cost probleni and
by Schwindt and Zimmermann (2001) for solving the tirnc-constrained net
present value problern. We first review some basic concepts required for what
follows. For notational convenience, we assume that function f possesses a
continuation f from an open set C c
Rnf2 t o R which is differentiable a t
the boundary points of ST. The dwectional derzvative o f f a t point S E ST in
direction z E Rn+2 is dcfincd t o be

dfls(z) := lim
f(S + XZ) - f (S)
A10 X
if the limit exists. Now recall that function $ = f o y-l is convex and thus is
directionally differentiable in any direction a t any interior point of its domain
(cf. Shor 1998, Sect. 1.2). Since f = o y is a composition of a C1-function
$J

and a finite convex function, f is directionally differentiable in any direction


a t any interior point of its domain as well. The latter property implies that
thc limit in (3.3) always exists. The derivative df ls(z) in direction of the i-th
unit vector z = ei coincides with the right-hand Si-derivative d f f / d S i ( S ) of
3.2. Convexifiable Objective Functions 87

f a t S, and thc Icft-hand St-derivative d-f/dS,(S) of f a t S equals -dfls(z)


where z = -e,. The vectors of right-hand and left-hand S,-derivatives of f
at S are denotcd by v + ~ ( s ) and V - f ( ~ ) ,respectively. For fixed schedule S,
derivative dfls(z) is a positively homogeneous function g of z (i.c., g ( a z ) =
a g ( z ) for all a > 0 and all z E EXnf2). Under our assumption that objective
function f is continuously differentiable or sum-separable in i E V, derivative
g(z) = dfls(z) at point S in dircction z takcs thc form

In particular, if f is continuously differentiable, then g(z) = V f ( ~ ) ~ z ,


where V f ( S ) is the derivative of f at S . As we will see later on (see
>
Lemma 3.4), d + f / d s i ( s ) d-f/dSi(S) for all i E V, which implies that
g(z) = CiEv max(aff/3Si (S)zi, a-f/dSi (S)zi). Conscqucntly, g is a convex
and thus sublinear function.
A dircction z E Rn+2 is called a descent direction at S E STif df ls(z) < 0.
+
z is termed a feasible direction at S if for sornc E > 0, S Sz E ST for all
0 < 6 < E. Due to thc convexity of ST,the latter condition is equivalent to
+
the cxistence of some E > 0 with S ~z E ST. Now Ict for given schcdule
S E ST,E(S) := { ( i , j ) E E I Sj - Si = Sij} denote the set of arcs (i,j) E E
>
for which temporal constraint Sj - Si Sij is active at S. Then direction z
is feasible at S preciscly if z" = 0 and z j - zi >
0 for all ( i , j ) E E ( S ) . A
(normalized first-ordcr) steepest feasible descent direction at S is a fcasible
descent direction z at S with llzll 5 1 minimizing derivativc g(z) = df ls(z),
where )I . 11 is some vector norm in R'"2.
Now rccall that any local minimizer of f on ST is a global minimizer
as wcll (cf. Proposition 2.30d). Obviously, a schedule S can only be a local
minimizer of f on STif there is no fcasiblc dcsccnt dircction at S. Thus, any
local minimizer S of f on STmust satisfy the following necessary optimality
condition (defining an inf-stationary point, see Kiwiel 1986):

inf{g(z) I zo = 0 and zj - zi > 0 for all (i,j) E E(S)}> 0 (3.4)


Condition (3.4) is sufficient for S to be a local minimizer of f on ST if f is
convex or if f is differentiable and v f ( ~ #) 0. The objective function of the
nct prcsent value problem is an example of a convcxifiable and differentiable
objective function f for which V f ( S ) # 0 for all S E ST.
A classical approach to computing local rninimizcrs arc so-called steepest
descent algonthms, which construct a sequence S1,S2,. . . , S" of iterates such
that f (SIL+') < f (SF) for all p = 1 , . . . , v - 1. Steepest descent algorithms be-
long to the class of feaszble dzrectzon methods introduced by Zoutcndijk (1960).
Feasible direction mcthods offer an efficient way of solving nonlincar program-
ming problems with lincar inequality constraints (cf. e.g., Jacoby ct al. 1972,
Scct. 7.5, or Simmons 1975, Scct. 8.1), in particular if the directional deriva-
tives are easily obtained. Iterations of steepest descent algorithms consist of
88 3. Relaxation-Based Algorithms

two main phases: the direction-finding phase and the line-search phase (see
Hiriart-Urruty and Lemarkchal 1993, Sect. 11.2). Thc direction-finding phase
dctcrrnines a steepcst feasible desccrit dircction z at the current iterate S or
establishes that there is no feasible descent direction at S . Line search provides
+ +
a feasible destination S' = S a z with f (S a z ) < f (S).a is tcrmed the
stepszze. Algorithm 3.4 specifies a gencric (primal) stccpest descent algorithm.

Algorithm 3.4. Primal steepest descent algorithm

Input: MPM project network N = (V, E,S), objective function f


Output: Local minimizer S of f on set ST.
determine some time-feasible schedule S,e.g., S = ES;
repeat
determine normalized feasible direction z a t S with minimurn y(z); (* direction-
finding phase *)
if g ( t ) < 0 then (* t is a descent direction*)
determine stepsize a in N a t S; (* line-search phase*)
+
set S := S az;
>
until g(z) 0;
return S;

We now deal with the direction-finding phase in more detail. The prob-
lem of finding a normalized stecpest feasible descent dircction at schedule S
rcads as follows:

Minimize
subject to
g(z)
z, >0
I
zj - ((i,j ) E E ( S ) )
(3.5)
z" = 0

ll4 5 1
The fcasible region of problem (3.5) is compact and noncmpty since z = 0
is always a feasible solution. Thc choice of vector norm 11 . 11 is of cru-
cial importance for the cfficicncy of the steepest descent algorithm. For
what follows, wc assume that 11 . 11 is chosen to be supremum norm, i.e.,
llzll = llz/lco := maxzcv Iz,J, which means that normalization constraint
<
llzll 1 can be stated as -1 < <
z, 1 for all 2 E V. In this case, all constraints
of problem (3.5) are linear, and (3.5) can easily be transformed into a lincar
program by introducing an additional variable y, for each E V togcthcr with
the constraints y, >d+f/dS, (S)z, and y, >
d-f / d ~ , ( ~ ) and
z , replacing g(z)
wit11 CtEV YZ.
In the following wc considcr a rclaxation of problem (3.5) which can bc
solved in linear time. To this end, we again assume that llzll = 1 1 ~ 1 1 but
~ , wc
only consider a subset of the tcmporal constraints that are activc at S. Tllc
active temporal constraints to be taken into account are chosen such that tlic
3.2. Convexifiable Objective Functions 89

corrcsponding rows of the cocfficicnt matrix are linearly independent. As it is


well-known from thc thcory of network flows, the directed graph G = (V, EG)
whosc arc set EGcontains the arcs belonging to thc selected active temporal
constraints represents a spanning forest of project network N (sec, e.g., Ahuja
et al. 1993, Sect. 11.2). Proposition 2.2813 tells us that G can be choscn to be
a spanning tree of N prccisely if S is a vcrtcx of ST. The steepest descent
problem (SDP) at schedule S can now be formulated as follows:
Minimize g(z)
subject to zj - zi >0 ((i,j) E EG)
I
(SDP)
zo = 0
-1<z,<1 (iEV)
A direction z solving steepest descent problem (SDP) is called an optimal
direction at S . Of course, we have to pay a price for the efficiency with which
(SDP) can be solved. At degenerate points S of S T ,where EG c E ( S ) , optimal
directions may no longer be feasible dircctions at S . In the latter case, line
search will provide the stepsize a = 0, and the set of selected activc constraints
is modified without leaving thc current itcrate S . Since (SDP) is a relaxation
of problem (3.5), schedule S satisfies the necessary optimality condition (3.4)
if a = 0 is an optimal direction at S .
We show how for a given schedule S E ST the steepest descent problem
can be solvcd in lincar timc. The procedure is based on two fundamental
properties of problem (SDP). First, it always posscsscs an integral solution
and second, it can be decomposed into two independent subproblems with
linear objcctivc functions.
Proposition 3.3. Let f be a differentiable or sum-separable convexzjiable ob-
jective function. Then there is an integer-valued solution z to (SDP).
Proof. If f is differentiable or sum-separable, then objective function g(z) =
+
CiEv:r,>O af.f/aSi(S)zi CiEV:r,<Od-f/dSi(S)zi. It follows that g is linear
on each octant and continuous. Sincc z = 0 is a feasible solution to (SDP),
the continuity of g implies that (SDP) is solvable. In addition, the coefficient
matrix of (SDP) is totally unimodular, which means that a feasible solution z
minimizing g on a givcn octant can always be chosen to be integral. 0
We proceed with the decomposition of the steepest descent problem (SDP)
into two independent subproblems where we only consider nonncgative di-
rections z > 0 or nonpositivc dircctions z <
0 arid which are respectively
denoted by (SDP') and (SDP-). For (SDP') objective function g(z) equals
~ zfor, (SDP-) we have g(z) = V-f(S)Tz.
~ + f ( ~ )and

subject to z j - zi >0 ((i,j) E EG)


(SDPf) 11 (SDP-)
zo = 0
90 3. Relaxation-Based Al,gorithms

We first nccd two preliminary lemmas.

Lemma 3.4. Let f be some convexifiable objective function and let S be a


time-feasible schedule. T h e n

Proof. We only considcr the case whcre S is an intcrior point of ST since by


assumption, f is differentiable at boundary points of ST. Let cp : ST + X
be a c l - d i f f e ~ m o r ~ h i ssatisfying
m the conditions of Definition 2.29 and lct
4 = f o cp-l. Since cp is continuous, x = cp(S) is an interior point of X. Let
Vcp(S) be the Jacobian matrix of cp at point S . For given direction z E
applying the chain rule (see Shapiro 1990, Proposition 3.6 (ii) or Scholtes 1990,
Theorem 3.1) thcn provides df ls(z) = d$lZ(y) where y = V y ( S ) a (rccall
that cp is continuously differentiable and that $ is finitc-valucd convex and
thus continuously Bouligand-differentiable at interior point of its domain).
We then have -dfls(-z) = -d$l,(-y). The convcxity of li, irnplies that
-d?l,l,(-y) < d$l,(y) arid thus -df Is(-z) < df ls(z) (see Hiriart-Urruty and
Lemarichal 1993, Sect. VI.l). The assertion follows from (s) = dfls(e,)
a-f
and -(S) = -dfls(-e,). 0
as,
Lemma 3.5. z is a feasible solution to (SDP) if and only if max(0, z) and
rnin(0, z) are feasible solutions to (SDP).

Proof. Let z+ := max(0, z) and z - := rnin(0, z). Trivially, for any direction
zE we have z = z f + z - .
Suficiency: Lct H denotc the coefficient matrix of constraints zj - 0 >
( ( i j, ) E E G ) ,which coincides with the negative arc-nodc incidence matrix of
spanning forest G. If z+ and z- are feasible solutions to (SDP), then H z + 0 >
and Hz- > + +
0, which irnplies that H z + Hz- = H ( z + z-) = H z 0. In >
addition, zo = z:+zi = 0 arid zi = z + + z i>0-1 = -1 and zi = z + + z i <
1 - 0 = 1 for all i E V.
Necessity: Let z and z' be two feasible solutions to (SDP). Then it follows
from elementary calculus that max(z, z') and min(z, z') are feasible solutions
to (SDP) as well. By choosing z' = 0 we obtain the feasibility of directions
z+ and z-. 0

Theorem 3.6. Let zf be a solution to (SDPf) and let z- be a solution to


(SDP-). T h e n z = zf +
z- solves problem (SDP).

+
Proof. Wc first show that g(z) = g(z+) g(z-). As a consequcnce of
Lemma 3.4 wc have g(z) = CtEv r n a x ( a + f / a ~(, s ) ~ a-f/aS,
, (s)z,), from
which it follows that g is convex. The positive homogeneity of g then
implies the sublinearity and thus the subadditivity of g. Hence, g(z) =
g(z+ + z-) < +
g(z+) g(z-). Since max(0, z) is a feasible solution to (SDP+)
<
(scc Lemma 3.5), we have g(zf ) g(max(O, 2)). Symmetrically it holds that
3.2. Conve~~fiable
Objective Functions 91

+
Minimize g(zl) g(zl')
subject to z: - zi 0, zy> - z," >0 ( ( i , j ) E EG)
zI, = z;: = 0
0 < zi < 1, -1<z,"<o (iEV)

Since in the latter problem the vcctors z1 and z" are unrelated, the problem
decomposes into the two independent problems (SDP+) and (SDP-) with
corresponding solutions z+ and z - . 0

For solving problem (SDP+) we make use of the following property of


forcsts. A forest G with at least one node possesses a source i with at most
onc successor or a sink i with exactly one predecessor. We call such a node i an
extremal node of G. Now let ci := d + f / d s i ( s ) be the right-hand Si-derivative
of f at point S . If there is a source i # 0 of spanning forest G with ci 0, <
then there is a solution z+ to (SDPf ) satisfying z+ = 0. Conversely, if there
is a sink i # 0 of G with c, > 0, then z+ = 1 for any solution to (SDP+). In
both cases node i (and all incident arcs) can be deleted from G. If there is no
source i with ci _< 0 and no sink i with ci > 0, thcn V necessarily contains a
source i with at most one successor j (and ci > 0) or a sink i with exactly one
<
predecessor j (and ci 0). In both cases, i is delayed exactly if j is delayed,
i.e., z+ =:z Thus, nodes i and j can be coalesced into an aggregate activity
+
with partial derivative ci cj (which corresponds to the directional derivative
of f at S in direction z with z l = 1 for h E {i, j) and zh+ = 0, otherwise). We
perform these steps until all nodes aside from 0 have been deleted from G.
Algorithm 3.5 provides an O(n)-time implementation of the above pro-
cedure, where Pred(i) := { j E V I ( j , i ) E EG} and Succ(i) := {j E V I
(i, j ) E E G }dcnote the sets of imrnediatc predecessors and successors of node i
in G. To achieve the linear timc complexity, we use an indices-representation
of forests, which is similar to the data structure discussed in Ahuja et al.
(1993), Sect. 11.3. We associate two indices predi and orienti with each node
i E V. For each component C of G, we identify a specially designatcd node,
called the root of C. If i is not a root node, pred, provides the predecessor of
i in G on the unique (undirected) path from the root to i, and the orientation
index orienti equals 1 if G contains arc (predi, i) and -1, otherwise. For a
root node i , we set predi := -1 and orienti := 0. In addition, the nodes i of G
arc stored in some depth-first traversal order of G, starting in each component
C at the root node. Then thc last unvisited node i E U with respect to that
order is always an extremal node of the subgraph Gu of G induced by set U.
<
If orienti 0, i is a source of Gu, and if orienti = 1, i is a sink of Gu. For
orienti # 0, the predecessor j E Pred(i) or successor j E Succ(i), respcctively,
92 3. Relaxation-Based Algorithms

is given by pred,. Thc scts C ( j )of coalesced nodes can efficiently be identified
via a labelling technique.

Algorithm 3.5. Direction-finding phase

Input: Objective function f , schedule S , spanning forest G of project network N.


Output: Solution z+ to (SDP').
set U := V, z+ := 0 , c := v + f ( S ) ,and C ( i ) := { i ) for all i E V;
while U # ( 0 ) d o
if U contains a node i f 0 with Pred(i) n U = 0 and ISucc(i) n UI < 1 then
set U := U \ { i ) ;
if c, > 0 and Succ(i)nU = { j ) then set cj := c,+c, and C ( j ) := C ( j ) U C ( i ) ;
else
determine a node i E U , i # 0 with Succ(i) n U = 0 and Pred(i) n U = { j ) ;
set U := U \ { i ) ;
9: if ci > 0 then set z l := 1 for all h E C ( i ) ;
else set c, := cj + c, and C ( j ) := C ( j ) U C ( i ) ;
return z+;

The mirror problem (SDP-) can be solved by a similar procedure whcrc z+


is replaced with z-, vector c is initialized with the left-hand derivative V P f ( S )
at schcdulc S, the rolcs of prcdcccssors and successors in G are reversed, and
-
+
zh is put to -1 on line 9. Theorem 3.6 says that z = z+ z - is an optimal
direction at S .
In general, the line-search phase at schcdulc S is performed by cornput-
>
ing an optimal stepsize u 0 such that destination schedulc S' = S + a z E ST
minimizes f on the line segment t in ST passing through S in direction z . In
certain cases, however, it is more efficient to proceed with a suboptimal de-
scent step (see Jacoby et al. 1972, Sect. 5.1) because first, finding an optimal
stepsizc is expensive or second, moving to a minimizer S' on line segment e
may cause a zigzagging phcnomcnon. Schwindt ( 2 0 0 0 ~ )and Schwindt and
Zirrimermann (2001) have used the following stepsize u in their steepest de-
scent algorithms for the total earliness-tardiness cost and the net prcscnt valuc
problems. Each activity i E V with z, f 0 can at most be shifted until some
>
temporal constraint S, - S, S,, with (i,j ) $ EG becomes active, i.e.,

ul(i) may be cqual to 0 if S is a degenerate point of ST. If f is not binary-


monotone (see Subscction 2.3.1), we stop shifting i when crossing a kink of f ,
i.e.
a
a- f + a'z)
< uz(i) := min{ul > 0 I -(S a+f
< -(S + a'z))
as, as,
where for conveniencc we dcfinc min 8 := oo. Notc that we have minZEva2(i)
= min{a' > 0 I -dfls+,l,(-z) < dfls+,f,(z)}.
3.2. Convexifiable Objective Functions 93

Accordingly, stepsize a is chosen to be


a = min(min a1(i) min a2(i))
~ E V '~ E V

where a z ( i ) := oo for all i E V if f is binary-monotone. For thc gcncral case


of an objectivc function that is neither piecewise affine nor binary-monotone,
we in addition have

+
When moving from S to destination S' = S a z , spanning forest G is
updated as follows. At first, we dclctc all arcs (g, h) from G for which zh > z,.
>
If a = a1(i) for somc i E V, a ncw tcmporal constraint S, - S, 6,, becomes
active and the corrcsponding arc (i,j) is added to G.
For the time-constrained net present value problcm, Schwindt and Zim-
mermann (2001) have shown the following plausiblc statement, which readily
carries over to thc morc gcncral casc of piecewise affine or binary-monotone
objective functions f .
Proposition 3.7 (Schwindt and Zimmermann 2001). If in Algorithm 3.3
the initial schedule is chosen to be the earliest schedule ES and the stepsizes a
are calculated according to (3.6), then at each iterate S there is a solution z
to steepest descent problem (SDP) with z > 0.
Under the assumptions of Proposition 3.7, it is thus sufficient to solve sub-
problem (SDP+) for computing optimal directions z.
For piecewise affine or binary-monotone objective functions, the number
of iteratcs needcd to reach a schedule S satisfying necessary optimality con-
dition (3.4) can markedly be decrcascd by using an acceleration technique.
Consider the spanning forest G arising from deleting all arcs (i, j) with zj > zi
and let i be an activity with a = min(al(i),a2(i)). All componcnts C of G
consist of nodes j with identical zj. If there is a componcnt of G which does
not contain node i and for whose nodcs j we have zj # 0, those nodes can
be shifted further without recomputing a new steepest descent direction. By
shifting the components in order of nondccrcasing minimuni slacks between
component nodes i and nodcs j with zi > zj, we obtain the acceleration step
displayed in Algorithm 3.6. If the one-sided Si-derivatives of f arc obtained in
constant O(1) time, the algorithm can be implemented to run in O ( m log m)
timc by maintaining a Fibonacci hcap of arcs ( i , j ) E E with zi > z j and
a Fibonacci heap of nodes i E V with zi # 0 that are sorted according to
nondecrcasing slack timcs iLsi6a1 and o2(i), respectively.
We finally notice that if f is binary-monotone arid z > 0, thc resulting
destination schcdule S is always a vcrtcx. Furthermorc, it can be shown that
in case of regular and in case of so-called antiregular objectivc functions f ,
which arc componcntwise nonincrcasing in start times S,, the steepest descent
algorithm with the acceleration step included reaches the respective minimiz-
ers ES and L S after one iteration, indcpcndcntly of thc initial schedule chosen
(see Schwindt and Zimmcrmanri 2001).
94 3. Relaxation-Based Algorithms

Algorithm 3.6. Acceleration step

Input: MPM project network N = (V, E , 6 ) , schedule S , direction z , spanning


forest G of project network N.
Output: Destination schedule S, updated spanning forest G.
for all (i, j ) E Ec with zj > z, do set Ec := Ec \ { ( i , j ) ) ;
while z # 0 do
determine a node i E V with zi f 0 and minimum slack u = min(ul(i),u2(i));
if u = u ~ ( i then
) (*update spanning forest G *)
set Ec: := Ec:U {(i,j ) } for some arc ( i ,j ) E E with z, > z1 and 'J
~ t ~ ~ . ' i ~
7
= u(2);
determine node set C(h) of component with i E C(h);
+ a and z, := 0;
for all g E C ( h )do set Sg := Sg
return schedule S ;

3.2.3 Solving the Relaxations: The Dual Approach

Let p bc a relation in activity set V to be extended by a minimal delaying


mode { i ) x B in the course of Algorithm 3.3. For computing a minimizcr on
the reduced search space ST(pl)of the resulting relation p1 = p U {{i) x B),
it is often more expcdient t o usc a dual approach rathcr than rc-pcrforming
the primal steepest descent algorithm from scratch. The basic principle of the
dual flattest ascent approach is to start with tlie minimizer S of f on ST(p)
and to perform an outer approximation towards set ST(pl),where the dis-
tance t o S T ( p f )is stepwise decreased a t locally minimal cost. More precisely,
at each iteration we considcr moving in fcasiblc directions z such that first,
zj - zi 2 1 for all j E B and second, the directional derivative g(z) a t itcratc S
is minimum. We refer to such a direction as a flattest feasible ascent direction
a t S . Lct A ( S , S T ( p l ) :=
) infS,EST(p,)llS1-Slim = niaxjcB(Si + p i - S j ) +=
+
(Si pi - minjEB S j ) + denote the distance between S and sct ST(pl).Thc
+
first condition ensures that A ( S a z , S T ( p l ) )< A ( S , S T ( p l ) provided
) that
stepsize a > 0, whcrcas the second requirement means that the first-ordcr ap-
proximation of the increasc in thc objcctivc function valuc whcn moving from
S to S + a z is minimum. We noticc that if f is not a convcx and piecewise
affine function, this increase may also be negative, and thus in the general
casc we have to consider normalzzed flattcst asccnt directions z a t S .
Algorithm 3.7 shows a generic flattcst asccnt algorithm, where for simplic-
ity we assume that p = 0 and # 0.At each iteration of the algorithm
wc first remove those activitics J from minimal delaying alternative B for
> +
which precedencc constraint S3 S, p, has already been enforced. The arcs
(i,j) corrcsponding t o tlie latter precedence constraints are added to proj-
ect network N in order t o ensurc that tlicy arc observcd a t all subscquent
iterations. Ncxt, we compute a normalized flattcst ascent direction z a t S .
If B = 0 and g(z) = 0,we have rcachcd sct ST(pl)and there is no feasible
3.2. Convexijiable Objective Functions 95

dcsccnt direction z at S . Otherwise, we determine an appropriate stepsize a ,


+
movc to destination schedule S a z , and put S := S a z . +
Algorithm 3.7. Dual flattest ascent algorithm

Input: MPM project network N = (V, E, 6), objective function f , time-optimal


schedule S, minimal delaying mode { i ) x B .
Output: Local minimizer S o f f on set S T ( { i )x B ) .
repeat
for all j E B with Sj 2 S, + p , do
remove j from set B and add arc (2, j ) with weight b,, = p., to N;
detern~irienormalized flattest feasible ascent direction z at S ; (* direction-
finding phase *)
if B # 0 or g ( z ) < 0 then
dcterrnine stepsize u in N at S ; (* line-seardl phase *)
+
set S := S u z ;
until B = 0 and g ( z ) = 0;
return S ;

In what follows, we study the direction-finding and line-search phases in


more detail. During thc direction-finding phase of the algorithm we have
to determine a flattest feasible ascent direction z a t the given itcratc S. In
analogy to (3.5), the latter problem can bc formulated as follows, where {i) x B
is the minimal delaying mode under consideration:

Minimizc g(z)
subject to zh - zg 2 0 ((g, h) E E(S))
z" = 0 (3.7)
zj-zi>l ( ~ E B )
llzll 51
The normalization constraint llzll <
1 may be deleted if f is convex and piccc-
wise affinc (thc objcctive functions of the total inventory holding cost and total
earliness-tardiness cost problems are examples of such an objcctivc function).
We notice that in contrast to thc stecpcst descent problem (3.5), problem (3.7)
does not ncccssarily posscss a feasible solution. It is casily sccn, however, that
under the assumption that relation p' is timc-feasible, i.e., S T ( p l ) # B, there
is always a flattest ascent direction at S .
In analogy to the primal stecpcst descent algorithm treated in Subsec-
tion 3.2.2, we choose the vector norm 11 . 11 in (3.7) to be the supremum norm
and rclax thc problcm by rcplacing the arc set E(S) belonging to all active
constraints at S with the arc set EG 2 E(S) of some spanning forcst G of
project network N. The resulting problem will be referred to as the flattest
ascent dzrectzon problem ( F A P ) at S .
96 3. Relaxation-Based Algorithms

Minimize g (z)
subject to z,, - z,
z,J = 0
3-zi>l
>0 ( ( g , h ) E EG)

(jEB)
- 1 < ~ \ , < 1( ~ E V ) I (FAPI

A solution z t o (FAP) is again called an optimal direct.ion, a t S . Our approach


to solving the flattest ascent direction problem is based on a decomposition of
the problem into two subproblems, where we respectively enforce all activities
j E B to be right-shifted (i.e., z j = 1) or activity i to be left-shifted (i.e.,
>
zi = -1). The problems where in (FAP) we replace z j - zi 1 ( j E B ) by the
corresponding constraints zi = 0 and z j = 1 ( j E B ) or z, = -1 and z3. > - 0

( j E B ) are denoted by (FAPf) or (FAP-), respectively.

Proposition 3.8. Flattest ascent problem (FAP) is unsolvable if and only if


both problems (FAPf) and (FAP-) are unsolvable. If (FAP) is solvable, it is
solved by any solution zf to (FAPf) or by any solution z- to (FAP-).

Proof. Analogously to the proof of Proposition 3.3 it can again be shown that,
if (FAP) is solvable, there exists an integral solution z to (FAP). In the latter
case, zi may assume the two values 0 and -1. If zi = 0 , we have z j = 1 for
>
all j E B . For zi = -1, the constraints z j - zi 2 1 ( j E B) turn into z j 0
( j E B). 0

As a consequence of Proposition 3.8, an optimal direction z a t S can be


computed by solving both subproblems (FAPf) and (FAP-) and choosing
<
z = z+ if g ( z f ) g(z-) and z = z-, otherwise (where we write g ( z f ) = oo
or g(z-) = cc if the respective subproblem is unsolvable). Like the steepest
descent problem (SDP), problem (FAP+) can be solved by using Algorithm 3.5
for (SDP+) and its analogue for thc mirror problem (SDP-). To this end, we
put c, := oo and c, := - m for all j E B when we apply Algorithm 3.5, and
we put c, := -cc and c, := oo for all j E B when using the algorithm for
the mirror problem. Problem (FAP-) can be dealt with analogously. In sum,
computing an optimal direction z a t S necessitates four calls to the direction-
finding algorithms from Subsection 3.2.2 and thus can again be achieved in
linear time.
The following proposition shows that if a t current iterate S moving in any
feasible descent direction z a t S would increase the distance between S and
S T ( p l ) , then (FAP) can be solved by only one application of Algorithm 3.5
and its adaptation for the mirror problem. It can easily be seen (cf. Schwindt
2000c) that the conditions of the proposition are satisfied a t each iterate if f
is convex and piecewise affine.

Proposition 3.9. Let S be a time-feasible schedule and assume that for given
minimal delaying mode { i ) x B, z = 0 solves the steepest descent problem
3.2. Convexzfiable Objective Functions 97

(SDP) at point S with additional constraints zj - zi > 0 for all j E B . Ij


(FAP') is solvable, it is solved by some direction zf > 0, and if (FAP-) is
solvable, it is solved by some direction z- 0.<
Proof. Let z' be an optimal solution to (FAPf). Sincc zf := max(0, z') sat-
isfies all constraints of problem (SDP) (compare the proof of Lemma 3.5)
and :Z - z: = 1 for a11 J E B , zf is a feasiblc solution to (FAP)+ as
>
wcll, and thus from the optimality of z' it follows that g(z+) g(zl). More-
over, dircction z" := min(O,zl) is a feasible solution to problem (SDP) with
z, - z, 2 0 for all J E B . For Z' wc have g(zl) = CZEV t:>O aff/asZ
(s)z: +
+
CZtV a-f/i3sz(s)z; = g(z+) g(zl'). Since the optimal objcctivc func-
>
tion value of problem (SDP) with z, - z, 0 for all j E B equals 0, it holds
that g(z") >
0. We conclude that g ( z f ) = g(z') - g(zl') <
g(zl), which duc
>
to g(z+) g(zl) provides g(z+) = g(zl). From the feasibility of direction zf
then follows the assertion. The proof for problem (FAP-) is analogous, where
z- := rnin(0, z') and z" := rnax(O,zl). 0

For given optimal direction z , the line-search phase yields an appropriate


>
stepsize a 0 such that

for all j E B. a s ( j ) is the amount by which the time lag between the starts
of activities i and j has to be increased for satisfying precedence constraint
>
Sj &+pi. In addition, a is chosen such that destination schedule S' = S + a z
is time-feasible and we do not move beyond a kink of g, i.e.,

a = rnin(min al (h),min a 2 (h), min a3( j ) )


htV ~ E V JEB

By providing the enumeration schcmc given by Algorithm 3.3 with a search


strategy, consistcncy tests, and lower bounds, wc obtain a branch-and-bound
procedure for problem ( P ) with convexifiable objective function f . For thc
same reasons as in Subsection 3.1.3 it is generally expedient to store list Q of
unexplored enumeration nodes in a stack, LC.,to perform a depth-first search.
Sincc the consistency tests discussed in Subsections 1.2.4 and 1.3.4 do not refer
to the objective function, we may again apply all those tests in principlc. The
effectiveness of a givcn test, however, among other things strongly depends on
the particular objective function under consideration. As for the case of regular
objective functions, the objective function value f (S) of a niinirnizer S o f f on
some search space ST(p) may again servc as a lower bound lbOon the objective
function value of thc bcst fcasible schcdulc in ST(p). Sclle (1999) and Kimms
(2001b) have used the technique dcviscd by Mohring ct al. (2003) based on
Lagrangean relaxation of thc rcsourcc constraints (see Subsection 3.1.3) to
98 3. Relaxation-Based Algorithms

compute lower bounds for the net present value arid total earliness-tardiness
cost problems, respcctively, with rcncwablc resources.
Sometimes relations p can be excluded from further consideration because
thcy are dominated by other relations p' in the scnsc that either the absence
of feasible schedules in ST(pl) excludes the existcrice of fcasible schedules in
ST(p) or the minimum objective function value of the best fcasiblc schedule
in ST(pl) can bc proved to be not greater than for the best feasible schedule
in ST(p). The simplest type of dominance between relations is given by the set
inclusion of relation polytopes: relation p' doniinates p if ST(p) C ST(pl).Since
such dominance r d e s define a reflexive relation in tlie set of relations, one has
to ensure by appropriate tic-breakers that "cross-pruning" ( i . ~ . rclation
, p'
dominates relation p and vice versa) does not occur. The branch-and-bound
algorithm may apply several dominance rules to newly generated relations p
with corresponding minimal delaying mode {i) x B .
The first dorninance rule is as follows (cf. Dc Reyck arid Herroelen 1 9 9 8 ~ ) .
We add all activities h E A(S, t ) \ B with djh 2 0 for sonic j E B to set B
because they are delaycd as wcll when shifting activities j E B behind the
completion of activity i. If there is a minimal delaying alternative B' E B with
B1 c B , relation p is dominatcd by relation p' belonging to minimal delaying
mode {i) x B'. The second dominance rule refers to a (possibly induced)
minimum time lag between activity i and some activity i' of a delaying mode
(2') x B with the same minimal delaying alternative. If eithcr (1) d,,, + p i > pi,
+
or (2) dili pi = pi1 and (as tie-breaker) i1 < i, then relation p can be
fathomed because tlie conipletiori time of activity i is greater than or cqual
to the completion time of activity i'.
Whereas the first two rules establish dorninance between child nodes p of
one and the same parent node, the following subset-dominance rules compare
the recent child nodes p with (arbitrary) relations p1 from which we have
branched formerly or which remain on stack Q. The first subset-dominance
rule has again been proposed by De Reyck and Herroelen (1998a). If the whole
search space ST(pl) of a relation p' has been explored and if p' is a subset
of p, relation p can be fathomed. This rule can be implemented to run quite
efficiently by exploiting two properties of the enumeration trcc (see Schwindt
1 9 9 8 ~ )First,
. p' c p" for all descendants ,ol' of relations p' and second, in
case of a dcpth-first search thc parents p" of relations p' with C-maximal
cornplctely explored search spaces ST(pl) arc ancestors of p.
Ncurnann and Zimmermann (2002) have uscd a generalization of the lattcr
rule in their branch-and-bound algorithm for the net present value problem
with renewable resources. Comparing relations p and p' docs not take into
account the time lags that are induced by the distance matrix D . In other
words, we may have ST(p) 5 ST(pl) though p 2 p'. Rather, condition ST(p) C
ST(pl) can be checked by (elementwise) comparing the corresponding relation
matrices D(p) and D(pl), i.e., ST(p) SI.(pi) precisely if d$ 2 d$ for all
i , j E V.
3.2. Conve~ifiableObjective Functions 99

The following subset-dominance rule by Schwindt ( 1 9 9 8 ~ )compares thc


reccnt child nodes p with relations p' on stack Q. If Q contains a relation
p' p that is not an ancestor of p, then relation p can be deleted bccausc
ST(p) C ST(pf).This rule offers the advantage that no additional mcmory is
required for storing enumeration nodes already visited. Of course, the rulc can
also bc applicd in a way to comparc relation matriccs rather than relations.

3.2.5 Additional Notes and References

In this subsection we briefly survey procedures for project scheduling with


specific convexifiable objectivc functions and gcncral tcrnporal constraints. We
first deal with primal algorithms for thc time-constrained case, which may be
used for solving the resource relaxation of problcm (P). Kamburowski (1990)
was probably the first who studicd the time-constrained net present value
problem with general minimum and maximum time lags betwccn the start
times of activities. He has proposcd an adaptation of the approach by Grinold
(1972) for ordinary precedence constraints to the case of gcncral tcmporal
constraints. Grinold's proccdure is based on the transformation of the prob-
lem into a linear program by specifying a C1-diffeomorphism p which satisfies
the conditions of Dcfinition 2.29. Using specific properties of the linear pro-
gram, the problem is solved by a vcrtex-following algorithm, the methods by
Grinold (1972) and by Kamburowski (1990) differing in the pivot rule used.
De Rcyck and Herroelen (1998b) have generalized the recursive-search pro-
cedure by Herroelen et al. (1996) for the precedence-constrained nct prescnt
value problem to the case of general temporal constraints. Starting at the
carliest schedule, the activities of subtrecs rcpresenting active temporal con-
straints and possessing a negative net present value arc stcpwisc dclayed in
order to increase the net present value of the project. In contrast t o all othcr
proccdurcs, the tcrnporal constraints are represcnted by thc distancc matrix,
i.c., their transitive closure, rather than by the project network. Neumann
and Zimmermann (2000) have combined Kamburowski's procedure, equipped
with a new pivot rule, and a preprocessing method proposed by Herroelen
ct al. (1996). Tlic latter method delays all terminal activities with negative
cash flows up to their latest start time (an activity is called terminal if it does
not havc successors in project network N aside from the project termination
+
event n 1).
Tablc 3.3 compiles the results of an experirnental performance analysis
comparing the algorithms for the tirnc-constrained nct present value prob-
lcm. The rows "Grinold (1972)" and "CPLEX" refer to the adaptation of
Grinold's proccdurc to general tcrnporal constraints with thc original pivot
rule and the primal simplex algoritlirn implemented in LP solver CPLEX 6.0
(among the different LP solvers available in the CPLEX package, the primal
simplex method has shown thc best pcrformancc). Thc pcrformancc of thc
algorithms has been evaluated on the basis of two test sets generated with
ProGcn/rnax. The test sets contain 1440 and 90 projects with 100 and 1000
100 3. Re1axatior~-BasedAlgorithms

activities, respectively (see Schwindt and Zimmermann 2001 for details). The
results for the algorithm by De Reyck and Herroelen (1998b) arc quoted from
De Reyck (1998). We provide the mean number #it of iterations needed to
reach an optimal solution (where "n. a," indicates that this number is not
available) arid the corresponding mean computation time t,,, on an Intel 486
personal computer with 50 MHz clock pulse ( n = 100) and a Pcntium personal
computer with 200 MHz clock pulse (n = 1000).

Table 3.3. Perforniarice of primal algorithms for the time-constrained net present
value problem

Algorithm n #it k,,,


Grinold (1972)

CPLEX

Kaniburowski (1990)

De Reyck and Herroelen (1998b) 100 ri. a. 831 ms


Neumann and Zimmermann (2000) 100 12 17 ms
1000 219 1.0s
Schwindt and Zimmermann (2001) 100 4 10 ms
1000 17 0.6s

The results depicted in Table 3.3 permit several conclusions. First, the
methods based on Grinold's vertex-following algorithm show a much better
performance than the primal simplex method applied to the linearized prob-
lem. Second, the preprocessing method allows to save roughly one half of
the computation time. Third, the efficiency of the recursive-search method is
poor, which is presumably less due to the recursion itself than rather to the
use of the distance matrix, whose computation is expensive arid which causes
almost any vertex of set ST to be degenerate. As a consequence, the algo-
rithm performs many pivot steps that do not lead to a new vertex. Fourth,
the steepest descent method appears as the most efficient solution procedure
for the time-constrained net present value problem. If we reduce ,.,t by the
time needed for computing the earliest schedule, the speed-up factor between
the procedure of Neumann and Zirnmcrmann (2000) and the steepest descent
algorithm is morc than six (cf. Schwindt and Zimrnermann 2001). The small
value for #it can be mainly attribut,cd to the acceleration step, which for
n = 1000 reduces the number of iterations by more than 90 %. This reduc-
tion does not lead to an equally large saving in computation time because
the acceleration step is morc time consuming than simple line search (recall
3.2. Convexifiable Objective Functions 101

that the time complexity of thc acceleration step is O ( mlog m ) ,whereas line
search can be done in O ( m )time).
Next, we consider thc time-constrained total earliness-tardiness cost
problem. The only algorithm for this problem we arc aware of is the steepest
desccnt procedure proposed by Schwindt (2000~).For the special case where
only minimum time lags are prcsent, Vanhoucke et al. (2001) have devised a
rccursivc-scarch procedure, which is an adaptation of Herroclcn et al.'s algo-
rithm for the net prcsent value problcm. The time-constrained total earliness-
tardiness cost problcm can rcadily bc transformed into a linear program by
>
introducing two continuous variables ei 2 0 and ti 0 for each activity i E V
along with the constraints e, > +
di - S, -pi and ti 2 Si pi - di. The ob-
+
jective function of the linear program then is x i e v ( w , " e i w:ti). Obviously,
for ST # 0 there is always an optimal solution satisfying ei = (di - Si - pi)+
and ti = (Si + p i - di)+ for all i E V, ix., ei equals the earliness and ti equals
the tardiness of i. Notice that the existence of an equivalent linear program
does not imply that the total earliness-tardiness cost is a linearizable objective
function in the sense of Definition 2.29, which is obviously not true.
Tablc 3.4 compares the primal simplex algorithm with the steepest descent
proccdure. The analysis is based on two test sets with 100 and 1000 activi-
ties, respectively, containing 90 instances each (details are given in Neumann
et al. 2003b, Sect. 3.5). The computations have been performed on a 200 MHz
Pentium personal computer.

Table 3.4. Performance of primal algorithms for the time-constrained earliness-


tardiness problem

Algorithm n #it tcpu


CPLEX 100 367 539ms
1000 5035 58.3s
Schwiridt (2000~) 100 15 7 ms
1000 139 3.8s

The results are in line with those obtained for the nct present value prob-
lem. Again, the stccpcst desccnt algorithm clearly outperforms the LP solver.
However, the gap bctwccn both approaches is less important, which is duc
to two reasons. First, though the linear program contains more variables and
constraints than for the net present value problem, the computation time de-
creases since the coefficient matrix of the constraints is now binary instead of
real-valued. Second, since the objectivc function is no longer binary-monotone,
the stepsizes for the steepest descent algorithm are typically much smaller,
which is also indicated by the large increase in the number of iterations.
We proceed to thc net prcsent value and total earliness-tardiness cost
problcrns with renewable or cunlulative resources. We restrict ourselves to
102 3. Relaxation-Based Algorithms

procedures that are dedicated to the case of general temporal constraints be-
tween activities. For a review of various types of precedence-constrained nct
present value problems and solution procedures we rcfer to the survey pa-
per by Herroelen et al. (1997). Algorithms for total carliness-tardiness cost
problcms with precedencc constraints and rencwable resources have becn de-
vised by Serafini and Speranza (1994a,b) and Vanhoucke et al. (2001). For
solving the resource relaxation, Serafini and Speranza cxploit the duality re-
lationship bctween the latter problcm and thc convex-cost flow problcm (see
Subsection 3.2.2).
We first consider the net present value problem with renewable
resources. The branch-and-bound algorithms by De Reyck and Hcrroelen
(19986) and Ncumann and Zimmcrmann (2002) are both based on tlic enu-
meration scherne discussed in Subsection 3.2.1. The algorithms mainly diffcr in
the proccdurcs for solving the relaxations at the enunieration nodes. Whereas
Dc Reyck and I-Ierroelen (19983) use their (primal) rccursive-search mcthod,
Ncumann and Zimmcrmann (2002) solve thc initial resource relaxation a t thc
root node by the primal steepcst descent algorithm by Schwindt and Zim-
rnerniann (2001) and the relaxations at desccndant nodes with a dual method
resembling the flattest asccnt algorithm dcalt with in Subsection 3.2.3. In
addition, De Reyck and Herroelcn (19983) and Ncumann and Zinimerniarlri
(2002) havc used disjunctivc activitics tests and dominance rules for reducing
tllc size of the enumeration tree. Sellc and Zirnrncrmann (2003) have proposed
a bidirectional priority-rule rnethod for approximatively solving large-scale
net prcscnt valuc problcms. Similarly to the heuristic by Franck (1999) for
thc project duration problcm (sce Subscction 3.1.4), one activity is scheduled
per iteration, where the essential difference is that ccrtain activities, namely
those with negativc cash flows, arc started at their latest feasible start timc.
An analysis of this schedule-generation scherne in Section 4.1 will show that
thc schedules obtaincd in this way arc stable, provided that no unschcduling
step is pcrformcd. Sincc thc sct of all optimal schedules may not contain a
stable schedule, the heuristic may systematically miss thc optimal solution.
A similar rcsult is known for the minimization of regular objective functions,
where the parallel schedule-generation scheme yields nondelay schedules (see
Kolisch 1996), among which thcre is not necessarily an optimal schedule.
Table 3.5 shows thc results of an experimental performance analysis where
we have conlparcd thc thrcc algorithms on a test set containing 1440 projects
with 50 activitics and 5 renewable resources each. A detailed description of the
remaining ProGen/max control parametcrs chosen can be found in De Reyck
and Herroelen (1998b). We have imposed a limit tLp, of 3 and 30 seconds on
the niaxiniuni running time of the branch-and-bound algorithms, which rcfcrs
to a Peritiuni personal computer operating at 200 MHz (for comparison pur-
poses, the computation times havc been scaled according to the clock pulse
ratio by a factor of 0.3 for De Reyck and Herroelen's branch-and-bound al-
gorithm arid by a factor of 2.5 for thc priority-rulc mcthod). Since De Reyck
and Hcrroelcn (1998b) only report on the number of instanccs for which the
3.2. Convexzjiable Objective A~nctions 103

branch-and-bound algorithm has completcd the cnumcration within the re-


spective time limit, the valucs pOpt and pi,, and the values pnOpt and punk
have been aggregated.

Table 3.5. Perfornlance of algorithms for the net present value problem with re-
newable resources

Algorithm tcpu Popt pans Pnopt Punk

De Reyck and Herroelen (1998b) 3s 58.1% 41.9 %


30s 75.5 % 24.5 %
Neumann and Zimmermann (2002) 3s 79.1 % 4.4 % 16.5 % 0.0 %
30s 85.1% 4.4% 10.5% 0.0%
Selle and Zimmern~ann(2003) 3ms 1.0% 4.4% 94.6% 0.0%

Not surprisingly, the branch-and-bound algorithm by Neumann and Zim-


mermann (2002) seems to be morc efficient than the earlier algorithm by
De Reyck and Hcrroclen (1998b). Thc improvcmcnt upon the latter algorithm
is probably to be attributed to the tremendous difference in thc timc ncedcd
for solving the relaxations. The dual method typically runs in a small frac-
tion of the time that is rcquircd for rc-optimizing from scratch the minimizer
with the primal stccpcst descent method aftcr the addition of a minimal de-
laying mode to the current relation. Morcovcr, thc primal mcthod is by far
less time-consuming than the recursive-search procedure (see Table 3.3). The
priority-rulc mcthod provides feasible schedules within a very short amount
of time. The small proportion pOpt of instances, however, for which the opti-
mal objective function value computed by the branch-and-bound algorithm
of Neurnann and Zimmermann (2002) can be found, indicates that the low
computational effort is paid for by some loss of quality. Nevertheless, experi-
cncc with the project duration problem docuniented in Franck et al. (2001b)
suggests that priority-rule methods may constitutc a valuable alternative to
exact procedures whcn coping with projccts comprising hundreds of activi-
ties. Finally, we notice that wc do not give a deviation Alb from some lower
bound lb on the minimum objective function value because the latter quan-
tity may be positive, zero, or negative. The development of a suitable index
measuring the mean remaining error of suboptimal solutions for this type of
problem seems to be an open issue in literature.
Starting from the representation of minimizers of a convcx objcctive func-
tion on relation polytopes as spanning forests G of thc project nctwork N,
Schwindt (2000b) has developed a neighborhood function for local scarch pro-
cedures (see also Ncumann et al. 2 0 0 3 ~ )Similarly
. to the steepest descent algo-
rit hrn from Subsection 3.2.2, the arcs of forest G correspond to active temporal
or precedence constraints. G is decoded into the corrcsponding time-feasible
schedule by computing a local minimizer S on the rclation polytope ST(p)
104 3. Relaxation-Based Algorithms

where p is the rclation in set V a arising frorn the arcs of G that belong to
precedence constraints (precedence arcs, for short). Two types of neighbor-
hood operations are considered, which transform forcst G into a neighboring
forest GI. If S is feasiblc, GI rcsults from G by deleting somc prcccdcncc arc.
Otherwise, a precedence arc may bc dclctcd or a ncw preccdcncc arc may be
addcd for which both the initial and terminal nodes arc contained in a forbid-
den activc set for S . The reason why precedence arcs may also be cancelled
cvcri if S is not resource-feasiblc is that duc to maxirrlum timc lags, it may be
necessary to pcrform backtracking before attaining a feasible solution. When
some prcccdcnce arc is deleted frorn G, the new rniriirnizer of f is determined
by applying the primal method starting at S . In case a precedence arc is added
to G, the dual method is uscd.
We have tested a simplc randomized best-fit search implcmcntation (cf.
Kolisch and Hartmarin 1999) of this approach for the total earliness-
tardiness cost problem with renewable resources. At each iteration the
algorithm movcs to the best neighboring forest. The quality of a forest G is
evaluatcd according to the objective function value f (S) of the corresponding
schedulc S and its degree of infeasibility measured in terms of the excessive
workload CkFRP J;(T-~(S, t ) - Rk)+dt.In order to avoid cycling, the qual-
ity is randomly biased. Each time the local search gets stuck in a deadlock
where S is not yet resource-feasible and no additional precedence arc can be
added to G without gcncrating a cycle of positive length in the corresponding
rclation network N ( p ) , we return to the best schedule found thus far. 10%
of the computation time is allotted to the branch-and-bound algorithm by
Schwindt ( 2 0 0 0 ~ )for the computation of an initial feasible schedule serving
as starting-point for thc local scarch. If the branch-and-bound procedure fails
in finding a feasible solution within the imposed time limit, the search starts
at the minimizer of f on set ST.
The results for the branch-and-bound method and the best-fit search pro-
cedurc are given in Table 3.6. They have been obtained for the test set with
90 instances comprising 100 activities and 5 renewable resources already used
for the analysis of the algorithms for the time-constrained problcm (see Ta-
ble 3.4). Again, the tests have been performed on a 200 MHz Pentium personal
computer.

Table 3.6. Performance of algorithms for the earliness-tardiness problem with re-
newable resources

Algorithm tcpu popt PZVLS Pnqt All,


punk

Schwindt (2000~) 3 s 3.3 % 13.3 % 67.8 % 15.6 % 6.6 %


30s 5.6 % 13.3% 70.0% 11.1 % 6.5 %
100s 5.6% 13.3% 71.1 % 10.0% 6.4%
Schwindt (2000bI 83.4s 3.3 % 13.3% 75.6 % 7.8 % 6.0 %
3.2. Convexifiable Objective Functions 105

Comparing the results from Tables 3.1 and 3.6 suggests that the earliness-
tardiness problem is much more difficult to solve to optimality than the project
duration problem. The mean deviation Alb from the lower bound lbo arising
from the resource relaxation, however, indicates that the quality of the schcd-
ules found is comparablc to those computed for the project duration problcm.
This deviation can bc furthcr dccrcascd by stopping the enumeration after a
short amount of time and subscclurntly executing the best-fit search proccdurc
based on the neighborhood function of Schwindt (2000b).
We concludc thc subsection by corisidcring thc capital-rationed n e t
p r e s e n t value p r o b l e m , where the project is executed with a limitcd bud-
get. In that case, the funds available for disbursement dcpcnd on thc initial
budget (possibly plus a credit line) and the difference of all past progrcss
payments arid paying outs. This situation frequently occurs in the building
industry, where the receipts from completed subprojects serve to financc suc-
ceeding subprojccts. It is readily seen that the cash balance can be interprctcd
as a cumulative resource with infinite storage capacity 3 and a safety stock
of R = 0. The initial inventory ro equals the project budget, and the rcsource
+
requirements r, of events i E V r , i 0 coincide with the cash flows cf. This
project scheduling problem has been treated in an early paper by Doersch
and Patterson (1977), who h a w devised an integer programming formulation
based on time-indexcd binary variables xZtbeing equal to one if t = St and
LS
zero, otherwise. Thc objcctivc function thcn rcads CzEv Ct=bS, ~ f e - ~ ~ x , ~ ,
and thc rcsource constraints can bc written as

A priority-rule rncthod for solving the problcm has bcen proposed by Smith-
Daniels et al. (1996). The priority values are based on delay penalties, which
arise from solving the dual of the tirnc-constrained problem where the objec-
tive function is replaced by its first-order Taylor expansion (as it has bcen
shown by Russell 1970, the dual then represents a transshipment problem).
Schwindt (2000a) has addressed the capital-rationed problem as a net
present value problem with cumulative-resource constraints. His branch-and-
bound algorithm is based on the enumeration scheme from Subscction 3.2.1,
and the relaxations at the enumeration nodes are solved by the dual flattest
ascent method discusscd in Subsection 3.2.3. Kimms (2001a), Sect. 8.2, has
proposed a mixed-integer linear program for a gcncralization of thc problem
setting where residual cash is lent from one period to the next and scvcral
projects from a given portfolio are considered simultaneously. The objective
is to select the projects to be performed from the portfolio and to schedule
the selected projects in a way that thc cash balancc at planning horizon d is
maximized. Kolisch (1997) has investigated a variant of this problem where
in addition, cash can be borrowed a t an interest rate of a' >
a but only
106 3. Relaxation-Based Algorithms

one project is considered. For a critique of thc underlying assuniptions of this


model wc refer to Kimms (2001a), Scct. 8.1.
Table 3.7 shows the results of an cxperimcntal performance analysis com-
paring the branch-and-bound algorithm with the CPLEX 6.0 MIP solver pro-
cessing Doersch and Pattcrson's integcr programming formulation. The four
test sets used consist of 90 instances each with 10, 20, 50, or 100 activities.
For the projects with 10 or 20 activities, the emphasis parameter of the MIP
solver has been put to o p t i m a l i t y , whereas for the projects with 50 arid
100 activitics, this parameter has been chosen to be f e a s i b i l i t y . The MIP
solver and the branch-and-bound algorithm have been stopped aftcr a maxi-
mum computation time of 100 seconds on a Pentium pcrsonal computer with
200 MHz clock pulse.

Table 3.7. Performance of algorithms for the net present value problem with one
cumulative resource
Algorithm n popt Ptns PTLOPL Punk

Doersch and Patterson (1977) 10 73.3 % 13.3 % 0.0 % 13.3 %


20 50.0 % 0.0% 7.8 % 42.2 %
50 0.0 % 0.0% 5.6 % 94.4%
100 0.0 % 0.0% 0.0% 100.0 %
Schwindt (2000~) 10 74.4% 25.6% 0.0% 0.0%
20 74.4% 25.6% 0.0% 0.0%
50 75.6% 16.7% 1.1 % 6.7%
100 65.6% 8.9% 5.6% 20.0%

Tlic analysis clearly demonstrates the suitability of the cumulative-rcsourcc


concept for solving this typc of problems. Whereas the MIP solver is only ca-
pable of solving small problem instanccs of academic interest, the branch-and-
bound algorithm terminates the cnumcration within 100 seconds for almost
75 % of the projects with 100 activities. The instanccs with 10 and 20 activi-
tics are all either solved to optimality or shown to be unsolvable. It is worth
noting that in contrast to the case of renewable resourccs (see Table 3.5), the
difficulty resides rather in finding a feasible schedule than in proving optimal-
ity. Thus, developing advanced search strategies to overcome this difficulty
may constitute a valuable field of future research.
Constructive Algorithms

If the objective function to be minimized is locally regular or locally concave,


the relaxation of the resource constraints does not yicld a tractable problem
in gcncral. Thus, the relaxation-based approach from Chapter 3 no longcr
proves useful. For solving resource allocation problems with locally regular
or locally concave objective function f , we havc to explicitly construct the
schedules from an appropriate set that contains an optimal schedule if the
problem is solvable. We refer to algorithms that proceed in such a way as
constructzve algorzthrns. The serial schedule-gencration scheme for minimiz-
ing rcgular objcctivc functions is an cxample of a constructive algorithm. In
this chaptcr we develop constructivc algorithms that are based on the second
basic rcprcscntation of the sct S of all feasible schedules as a union of disjoint
equal-preorder sets (recall that the term equal-preordcr sct may also desig-
nate an equal-order set). As we have seen in Subsections 2.1.1 and 2.1.2, the
set of all minimal points or vertices of equal-prcorder sets coincides with the
set of all minimal points or vcrticcs, respectively, of schedule polytopes. In
Subscction 2.2.2 we havc introduccd thc notion of quasiactive and quasistable
schcdules dcsignating thosc feasiblc schcdules which represent minimal points
or vertices, respectively, of their schedule polytopcs. The analysis in Subsec-
tion 2.3.2 has shown that for S # 0, the set of all quasiactive schcdules always
contains somc optirnal schedule if the objectivc function f under study is lo-
cally regular. Likewisc, thc sct of all quasistable schedules always contains an
optimal schedule if f is locally concave provided that S # 0.
Since we again consider the general case where both renewable and cumu-
lative resources are present, we considcr rclations p in set V of all (real and
fictitious) activitics. Under our assumption that the real activities use the re-
ricwablc rcsources and that the events deplete arid rcplenish the cumulative
resources, precedence relationships need only be defined among rcal activi-
ties and among events of thc project. Morc formally, instead of considering
+
schedule-induccd prcorders O(S) = { ( i ,j) E V x V I S, 2 S, p,) in set V ,
wc may restrict ourselves to schedule-induced relations arising from the union
of the respective schedule-induced strict order in set V a and the correspond-
108 4. Constructive Algorithms

ing rcflexive preorder in set Ve. Since the ground sets Va and V e of those
two preorders arc disjoint, thc union of both prcorders is again transitive and
thus represents a prcordcr in ground sct V = Vu U V". Accordingly, for given
schedule S we define the schedule-induced preorder to be

O(S):= {(i,j) E (Va x Vn) U (V" x Ve) I Sj > S, + Pi)

We notice that preorder B(S) is neither irreflexive nor reflexive.


Now recall that any quasiactivc schcdulc can bc rcprcscntcd as a spanning
outtree G = (V, EG)of its schcdulc network N(B(S)) rootcd at nodc 0, where
each arc (i, j ) of G belongs to one temporal constraint Sj - Si 2 or one
precedence constraint Sj 2 Si + p i that is active a t S (cf. Proposition 2.28).
Similarly, any quasistable schedule can be assigned to a spanning trcc G of
its schedule network. In addition, wc assign the weights 6 e := d:jS) to the
arcs (i,j ) E EG. The active temporal arid precedence constraints can thcn be
written in the form
Sj-Si>dg ((i,j)~Ec)
Thc constructivc algorithms are based on generating such spanning outtrccs
and spanning trees G. The corresponding schedule S is obtained from G by
computing thc unique solution to the system of linear equations So = 0 and
Sj = Si+6$ ((i,j) E EG), which can be achieved in linear time. By construct-
ing a spanning outtree or spanning tree G we perforrn two consecutive tasks
simultaneously: first, finding a feasible schedule-induced prcordcr in set V
and sccond, computing some appropriate vertex (thc minimal point if G is an
outtree) of the corresponding relation polytope.
Rcsource allocation problems with locally regular or locally concave ob-
jective functions, regardless of containing explicit resource constraints or
not, are much harder to solvc to optimality on the average than resource-
constrained project schcdulirig problems whcrc somc rcgular or convexifiable
objective function is to be minimized. That is why in thc present chapter
we are concerned with heuristic procedures. In Section 4.1 we first discuss
a generic schedule-generation scheme producing one quasiactive or one qua-
sistable schedule. This schedulc-gcncration schcme has bcen proposed by Neu-
mann et al. (2000) and goes back to priority-rule heuristics for resource level-
ling problerns that have been devised by Neumann and Zimmermann (19996,
2000). The schedule-generation schcme provides an initial quasiactive or qua-
sistablc schcdule, from which we may subsequently move stepwise towards dif-
ferent quasiactive or quasistablc schedules by using an itcrativc improvcment
proccdurc. In Section 4.2 we then deal with tree-based neighborhood functions
presented in Ncumann ct al. (2003a). Neighborhood functions constitute the
essential building block of local search algorithms such as hill climbing, tabu
search, simulated annealing, or threshold accepting (for an overview of differ-
cnt local search techniques, see Aarts and Lenstra 2003b). In particular, we
show that the proposed neighborhoods allow local scarch algorithms to reach
optimal schedules independently of the initial schedule chosen. Section 4.3 is
4.1. Schedule-Generation Scheme 109

devotcd to additional notes on alternative solution procedures and an exper-


imental performance analysis of the methods discussed.

4.1 Schedule-Generat ion Scheme


The schedule-generation scheme for constructing quasistable schedules ex-
pands the node set C of a subtree G of some schedule network by one node j
in each itcration until C = V. The algorithm starts with C = (0) and itera-
tively links the activities j E V \ C not yet scheduled with activities i E C.
In this way, the start times Si of all activities i E C are fixed. They are
+
uniquely determined by the recursion So= 0 and Si = Sh 6 g if (h, i ) E EG
or Si = St, - 6% if (i, h) E EG (i E C, i # O), where h is the predecessor
of node i on the (undirected) path from node 0 to node i in G. For a given
pair ( i ,j ) with i E C, j E V \ C , there are four alternatives of connecting
nodes i arid j. First, we may either introduce a forward arc (i, j ) or a back-
ward arc (j,i). Now assume that we have chosen forward arc ( i , j ) . Then ( i , j )
may be weighted by 6g = 6ij if ( i , j ) is contained in project network N or
weighted by 62 = pi if dij < pi. In the first case, we speak of a temporal arc,
and in the second case, the arc is referred to as a precedence arc. Likewise,
backward arc ( j ,i ) may be weighted by 6 5 = Sji or by 6g = pj. If i and j
are events, then Si +pi = Si - p j = Si and thus the backward prcccdence arc
may be omitted. The arcs have to be chosen in accordance with the tcmporal
constraints. Let

ES? := max[ESj, ?ax(Si


ZEC
+ dij)] and L S :=
~ min[LS,, ZEC
- dji)]

denote the earliest arid latest start times of activity j given that activities
i E C start at times Si. Thc schedule S generated is time-fcasiblc precisely if
< +
at any itcration it holds that ESF S, 6g 5 LSf if a forward arc (i, j ) is
selected and ESf < Si - 6; < L S F if a backward arc (j,i ) is chosen.
Froni the viewpoint of implementation, it is expedient to allow the sched-
uling of activities j a t their earliest or latcst start times E S or ~ LSf even if
the corresponding tcmporal arc connects activity j with an activity i that is
not scheduled either. We then need not check whether or not activity j can
already be linked to some activity i E C , while the set of schedules which
can be generated is not affected by this modification. The reason for this is
that the same tree G could have been constructed by the original method just
by processing the activities j in a different order. Figuratively speaking, the
modification means that the directed graph G whose node set C is iteratively
expanded may now be unconnected unless C = V. Nevertheless, the property
that the start times of all scheduled activities i E C are known as soon as
they arc added to G is preserved.
Algorithm 4.1 shows an implementation of the procedure for the case wherc
the availability of tile resources is not limited, i.e., Rk: = cc for all Ic E RP and
110 4. Constructive Algorithms
-
Rk = -co, Rk =
- for all k E R Y . As we have mentioned in Subsection 2.3.2,
this assumption is generally met in practice when dealing with rcsourcc level-
ling problems, where only renewable resources are taken into account and the
resource capacities may be chosen according to the respective requirements.
How to modify the schedule-generation scheme in the presence of resource
constraints will be explained below. For simplicity, we assume that ST # 0.
Aftcr the computation of the earliest and latest schedules ES and LS, at each
iteration some activity j E V \ C not yet scheduled is selected. Then, the de-
cision set Dj of tentative start times t for j is determined. The conditions on
start times t ensure that the resulting schedule S is (time-)feasible and that
precedence relationships arc only established between activities of the same
type (i.e., among real activities and among events; recall our discussion about
the proper definition of schcdule-induced prcorder B(S)). Finally, some t E Dj
is selected to be the start time of j and the time windows [EStL,LSh] for the
activities h E V \ C arc updated. These steps are reiterated until all activities
have been scheduletl. The resulting tree G is a spaririirig tree of all relation
networks N(p) for which p contains the precedence arcs added and thus in
particular a spanning tree of schedule network N(Q(S)).The time complexity
of Algorithm 4.1 equals O ( m n ) ,which is the time required for calculating the
initial earliest and latest schedules.

Algorithm 4.1. Schedule-generation scheme for locally concave objective furictioris


Input: A project without resource constraints.
Output: A quasistable schedule S .
initialize set of scheduled activities C := (0) and set So := 0;
corrlpute earliest and latest schedules ES and LS;
while C f V do (* not all activities j E V scheduled *)
select an activity j E V \ C;
if j E V" then put V' := Va; else put V' := Ve;
add j to C and set D j := {ES,, LS,};
+ +
for all i E V' n C with ES, < Si p, < LS, do add S, p, to Dj;
8: if V' = V" then
9: for all i 6 V' f' C with E S j < Si - p j < LSj do add S, - p j to Dj;
10: select some time t E D, and set S, := t; (*schedule j at time t *)
for all h E V \ C do (* update earliest and latest start times *)
+
set ES,, := max(ES~,,S, d,,,) and LSl, := min(LSh,S, - dhj);
return S ;

The following proposition (cf. Neumanri et al. 2000) establishes the com-
pleteness of the schedulc-generation scheme. This means that, at least in thc-
ory, a rcsourcc allocation problem with locally concave objective function can
be solved by a brute-force algorithm branching over the activity j E V \ C to
be scheduled next and the tentative start time t E Dj chosen.
4.1. Schedule-Generation Scheme 111

Proposition 4.1 (Neumann et al. 2000).


(a) Any schedule S generated by using Algorithm 4.1 is quasistable.
(b) Any quasistable schedule S E QSS can be generated by using Algo-
rithm 4.1.

Proof.
(a) Since the earliest and latest start times are updated in the course of the al-
gorithm, schcdule S is (time-)feasible if at each iteration V j [ES,, LSj].
It follows from the definition of decision set 'Dj that we only necd t o show
that ESj <LSj. Now assumc that we have schcdulcd somc activity j'
and before the update of the earliest and latest start times it holds that
ES,, <
LSh for all h E V \ C. Then Sjl 5 LSj, 5 LSt, - djtt, and
>
Sj, ES,, > ESh+dhj, for all h E V \ C and in particular S3,+djrj < LSj
and Sj, - djj, > ES,. Conscqucntly, ES, > LSj aftcr thc update would
imply Sj,+djrj > Sj, -djj,, i.c., djjj +djj, > 0, which contradicts ST # 0.
Thus, S is feasible. The quasistableness of S now follows from Proposi-
tion 2.28b.
(b) We consider some quasistablc schcdulc S and show how to gcncratc
S by using Algorithm 4.1. Let G be a spanning tree of schedule net-
work N(O(S)). The existence of such a spanning tree is guaranteed by
Proposition 2.2813. Since G is a trcc and thc procedure starts with C = {O),
at cach iteration there is some activity j E V \ C whose predecessor i on
thc path from node 0 to node j in G has already been scheduled. We may
+
then conncct j with i by selecting t = Si 6; E V j if Sj = S, dG + 23
and
t = Si - 6$ E D j , othcrwisc. Thus, whcn C = V, the schedulc gcncratcd
coincides with schedule S . 0

Now recall that any quasiactive schedule S can be associated with a span-
ning outtrcc G of its schedule network N(0(S)) with root node 0. Such a
spanning outtree is obtained if each activity J to be schcdulcd is linkcd with
somc activity z E C by a forward arc ( 2 , ~ ) . Accordingly, a schcdulc-generation
scheme for quasiactive schedules is readily obtained from Algorithm 4.1 by
initializing dccision set V3 with {ES,} instcad of {ES,, LS,} and dclcting
lines 8 and 9. The statemcnts of Proposition 4.1 with "quasistable" and QSS
replaced by LLquasiactive"and QS1S immcdiately carry over t o this modifica-
tion of Algorithm 4.1.
For what follows, we drop our assumption of infinite renewable-resource
capacities. To take account of renewable-resource constraints, in line 10 of Al-
gorithm 4.1 we only sclcct feaszble start tzmes t from decision set DJ such that
the residual resource capacities sufficc to cxccute activity J in time interval
[t,t + PJ [, i.c.7
112 4. Constructive Algorithms
Of coursc, inequality (4.1) only necds to be evaluated for real activitics
j E Va. By using a support-point rcprcsentation of the resource demand over
time that results from the real activities i E C n V a scheduled, testing (4.1) for
givcn t E D j takes C?(IRPln) tinlc. If tinies t in decision set D j are iteratcd in
increasing order, the amortizcd time complcxity for eliminating all infeasible
+
start t i n ~ c sfrom 'Dj is C?(nlogn IRYn). By keeping a sortcd list of all start
and completion times of schedulcd activitics i E C n Va, the amortized time
complexity for checking (4.1) is decreased t o O(IRPln) per iteration. Thus,
the time complexity of Algorithm 4.1 including the test of inequality (4.1) is
O ( m n + IRpln2).
It may happen that no tentative start time t E D j is resource-feasible,
which means that the current purtial schedule (Si)itc cannot be extended t o a
fcasiblc scllcdule S E S. In that casc, cither the schedule generation is stopped
or an unschcduling stcp is pcrformcd. Diffcrcnt unscheduling techniques arc
known from literature. The method by Franck (1999), Ch. 4, tailored to the
case of regular objective functions, has been skctchcd in Subsection 3.1.4. Fur-
ther unscheduling procedures have been devised by Ncumann and Zimmer-
mann (1999b, 2000) (see also Zirnmermann 2001a, Scct. 3.2, and Neumann
et al. 20030, Scct. 3.7), whcrc thosc activities i E C are unscheduled whose
start a t a different time frees capacity for processing activity j. Alternatively,
onc may also gencrate a time-feasible schcdule S using Algorithm 4.1 first
and then resolve resource conflicts by left- or right-shifting certain activitics.
This approach corresponds to schedule-repair methods described by Neumann
arid Zimmermann (2000). Wc finally noticc that the proof of Proposition 4.1
remains valid for the case of renewable-resource constraints, which mcans that
even without unscheduling, any quasistablc schedulc may still be generated
using Algorithm 4.1 with rcduced decision scts D j .
For certain choices of tentative start times t E D j one obtains specific types
of schedules. If a t cach iteration wc select t = min 'Dj and no unscheduling stcp
is performed, thc resulting schcdule is active because each activity is schedulcd
a t its earliest feasible start time. Likewise, by always choosing t = minDj or
t = m a x D j wc obtain a stable schcdule. The following example, however,
shows that duc to the prescnce of rnaximum time lags, not all active or stable
schedules can be generated in this way.

Example 4.2.We consider a project with one renewable resource of capacity


R = 1 and four real activities i = 1 , 2 , 3 , 4 with durations pi = 1 and resource
requirements ri = 1 (i = 1,.. . , 4 ) . Tlic project network N is depicted in
Figure 4.la. Clearly, there is precisely one feasible schedule S = ( 0 , 1 , 2 , 3 , 4 , 5 ) ,
which, as a consequence, is active and stable. Schedule S is illustrated by
the Gantt chart shown in Figure 4.lb, where cach rcal activity i E V a is
represented as a box of Icngth pi and hcight r i over the time axis froin Si
t o C,.
The start times of activities 0, 1, 4, and 5 are fixed by the prescribed time
lags because the corresponding nodes form a cycle of length zero in N. If in
4.1. Schedule-Generation Scheme 113

Fig. 4 . 1 . Incompleteness of schedule-generation scheme for active or stable sched-


ules: (a) project network N; (b) Gantt chart for unique feasible schedule S

the course of the algorithm, activity 2 is scheduled before activity 3, we obtain


minD2 = 0 and maxD2 > 3. Symmetrically, if activity 3 is scheduled before
activity 2, we have minPs < 2 and maxPs = 5. Hence, the unique feasible
schedule S cannot be generated if solely scheduling at earliest or latest feasible
start times is considered.

We obtain the schedule-generation scheme of the priority-rule methods


for resource levelling proposed by Neumann and Zimmermann (19996, 2000)
if start time t G Vj is always chosen to be the greatest minimizer of an
additional-cost function f^ on Vj^ i.e., t = maxargmin^/^-p //('^O- ^^^ given
t' G Vj, //(^O is the increase in the objective function value if activity j is
scheduled at time t' given partial schedule {Si)i^c^ where we put rhk := 0 for
all activities h eV\C not yet scheduled and all k G 7^^. Similarly to Exam-
ple 4.2 it can be shown that the restriction to locally optimal tentative start
times t G argmin^/^-p./J(^') generally impUes that the schedule-generation
scheme is no longer complete, which means that one may miss the optimum
even if all sequences in which activities j are scheduled are enumerated.
In the case where the availability of cumulative resources is limited as
well, the feasibility of the generated schedule can no longer be ensured by
iterating partial schedules which observe the resource constraints. The reason
for this is that a partial schedule leading to a shortage or a surplus in some
cumulative resource may be extended to a feasible schedule. Nevertheless,
we may still exclude certain tentative start times from further consideration
by computing, for given partial schedule, lower and upper bounds on the
inventory in cumulative resources.
Let {Si)i^c be the partial schedule under consideration and assume that
we want to test whether event j G V^\C can be scheduled at time Sj = t E Vj.
By D' we denote the distance matrix for the expanded project network N'
where for each /i G C U {jf} we add the two arcs (0, h) and (/i, 0) weighted by
114 4. Constructive Algorithms

= S,, and bhO= -Sh to project network N . The set S&C_ STof all time-
feasible schedules belonging to project network N1 coincides with the set of all
schedules that can bc obtained by extending (Sh)hECUI,)to a time-feasiblc
schedule. If for all schedules S E S!,, the invcntory lcvcl a t time S, either falls
below the safcty stock or exceeds the storage capacity, i.e.,

rk(S, Sj) < Rk or rk(S, S j ) > Rlcfor some Ic E RY (4.2)

then cvcnt j cannot be scheduled at timc t = Sj bccause S&n S = 0. In


this case, tentative start time t can be deleted from decision set Dj. (4.2)
holds true for any schcdule S E S&precisely if for some cumulative resource
Ic E R P , the niaximum inventory maxsEsk r k ( S ,Sj) at time Sj is less than
safcty stock Rk or the minimum invcntory minsEsk rk(S,Sj) at timc Sj ex-
cceds storage capacity &. The problcms of computing the maximum and
minimum invcntories have been addressed in Subsection 2.1.2, where we have
been concerned with checking thc fcasibility of a given relation p in sct V".
In the latter context, we have shown that maximizing or minimizing rk(., Sj)
on a rclation polytope ST(p) can be stated as a binary program with totally
urlinlodular coefficicnt matrix, the dual of whose contir~uousrelaxation is a
minimum-flow problem (sce (2.2) and (2.4)). Wc obtain analogous formula-
tions of our present problems if we choose reflexive preorder 8 in (2.2) to
be the preorder 8 = O(D1) induced by distance matrix Dl. Since solving a
minimum-flow probleni takes 0 ( n 3 ) time, thc computational effort for testing
thc feasibility of a tentative start time t E D, is O ( 1 R ~ l n ~Hence,
). the time
complexity of the variant of Algorithm 4.1 coping with renewable-resource
+
and cumulative-resource constraints is 0(IR"ln2 IRYln5).
Alternativcly, rcsource constraints can be taken into account by combining
thc relaxation-based and constructive approaches into a two-phase method. In
phase 1, we determine a feasible relation Q in set V. In phase 2, we generate
a vertex of relation polytope ST(@)C S (i.e., a quasistable schedulc) by using
a variant of Algorithm 4.1 where the original projcct network N is rcplaccd
with relation network N(Q). A feasible relation Q in set V can be generated
using a modification of the enumeration scheme given by Algorithm 3.3. In
the modified version, forbidden sets F are given by antichains U and unions
of prcdecessor sets U in prcordcrs 8 = O(D(p)) rather than by active sets
A(S, t) for minimizers S on relation polytopes ST(p). For given relation p,
those sets U can bc determined by solving the minimum-flow problems dis-
cussed in Subscctions 2.1.1 and 2.1.2 for the restrictions of p to sets Vu and V",
respcctively. The solutions to thc dual problems, i.e., the rnaxiniurri (s, t)-cuts
iii the respective flow networks, then provide the activity sets U sought (for
details wc rcfcr to Section 5.2, wherc wc shall use a similar technique for corn-
puting forbidden active scts when sequence-dependent changeover times arise
between the cxccution of activities that are executed at different locations). If
no set U is forbidden any longer, we have obtained a feasible relation Q = p.
4.2. Local Search 115

4.2 Local Search

The schedule constructcd by using thc schedule-generation scheme may bc im-


proved by performing a local search in the set &AS of all quasiactive schedules
if objective function f is locally regular or in the set QSS of all quasistable
schedules if f is locally concave. Starting with some initial solution, local
search algorithms try to find better solutions by exploring ncighborhoods (cf.
Aarts and Lenstra 2003a). Thc neighborhoods are given by a neighborhood
function N : C -+ P ( C ) mapping the set of solutions C into the power set
of C . For each solution s E C, N defines a set N(s)of neighboring solutions s'.
N ( s ) is callcd the neighborhood of s, and ncighboring solutions s' E N ( s ) are
referred to as neighbors of s.
A neighborhood function N can be represented by its (directed) neighbor-
hood graph G with node set C . Two nodes s and s' are linked by an arc (s,s')
in G precisely if s' is a neighbor of s , where it may happen that s' is a ncighbor
of s but not vice versa. Local search can be rcgarded as a directed walk in
neighborhood graph G. Graph G is called weakly optimally connected if frorn
any node s of G, there is a dircctcd path from s to some optimal solution s*.If
is wcakly optimally connected, an optimal solution s* can be reached frorn
any initial solution just by iteratively moving from solutions s to appropriate
ncighboring solutions s'. Obviously, G is wcakly optimally connected if it is
strongly connected.
In this section we review neighborhoods for resourcc allocation problems
with locally regular or locally concave objective functions f that have been
proposed by Neuniann et al. (2003a). We first deal with thc case of locally
concave objcctive functions and thcn explain how to adapt the neighborhood
to locally regular objective functions. Recall that cach quasistable schedule S
can be represented by a spanning tree G = (V, EG,hG) of its schcdulc network
N(B(S)) such that S is the unique solution to the system of linear equations
So = 0 and S, - S, = 6: ( ( i , j ) E EG). That is why wc idcntify the set of
solutions C with thc set EStof all spanning trees of schedule networks N(I9)
whcre I9 E SZ'P is some schedule-induced prcorder in sct V.
Thc starting point for constructing a neighborhood function Pton set CSt
is the observation that first, two spanning trees in set C S tdiffering in only one
arc always belong to either coinciding or adjacent vertices of some schedule
polytope and that second, for any two adjacent vertices of a schedule polytope,
there exist two corresponding spanning trccs in set CStwhich differ in exactly
one arc. Roughly speaking, we determine neighbors G' of a spanning tree G
by removing a leaving arc (i, j) from G and adding a different entering arc
(i', j') to G such that the resulting directed graph G' is again a tree. By
deleting arc (i, j), G dccomposes into two subtrees with node sets C > (0)
and C' = V \ C . Let S and S' be the quasistable schedules that are represcntcd
by spanning trecs G and GI, rcspectively. Obviously, S(, = S,,, for all h E C
+
and Sk = Sh a for all h E C' or S(, = Sh - a for all h E C' and some
>
stcpsize a 0. In other words, when moving from S to S' we uniformly shift
116 4. Constructive Algorithms
all activities h of C' by some a 2 0 until a new inequality Sj, - Sit ,;:6 >
with i' E C', j' E C or i' E C, j' E C' becomes active. Arc ( i ' , j l ) may
be a temporal arc or a preccdcnce arc. Similarly to the steepest descent and
flattest ascent methods discussed in Section 3.2, stcpsize a may be equal t o 0
and thus S' = S if S is a degenerate vertex of its schedule polytope ST(O(S)).
Now recall that wc refcr to (g, h) as a forward arc of G if g is the predecessor
of h on the (undirected) path from O to h in G, and as a backward arc of G,
otherwise. If leaving arc (i,j) is a forward arc of G, then i E C and j E C',
and if (i, j) is a backward arc of G, thcn i E C' and j E C . For what follows
we associate a direction z with leaving arc (i, j) with zf, = 0 for all 1~E C and
zh = 1 for all h E C' if (i,j ) is a forward arc and z,, = -1 for all h E C' if
(i, j ) is a backward arc. Let (g, h) be ail arc in somc schedulc nctwork. We say
that set C' is shifted along arc (g, h) if zf, - zg = 1. If zr, - zV = -1, we spcak
of a shij? against arc (g, h). Clearly, a shift of C' against lcaving arc ( i , j )
is only meaningful if (i, j ) is a precedence arc. In that case, the precedence
relationship bctwccn activities i and j is deleted when passing from S to
neighboring schedule S'. Symmetrically, a shift along an entering temporal
arc is not possible. If we shift C' along leaving arc (i, j), then S' = S u z ,+
and for a shift against lcaving arc (i,j ) we havc S' = S - uz. Before we
describe neighborhood function W t in more detail, we consider the four cases
that rnay occur when shifting set C'. For illustration, we consider thc spanning
tree G and the corresponding Gantt chart displayed on the top of Figurc 4.2,
where for simplicity we have omitted the arc weights. We assunle that the
underlying project has one renewable resource and that the rcal activities
i = 1 , 2 , 3 are unrelated and can bc started a t the project beginning. Thus,
all arcs (g, h) E EG are precedence arcs.
(a) We shift C' along leaving arc ( i , j ) and against entering arc (i', j'). This
means that the schedule-induced preorder remains unchanged whcn pass-
ing from S to S', i.e., Q(S1) = B(S),or, in other words, S' E S F ( Q ( S ) ) .
This case is shown in Figure 4.2a1 where (i,j ) = ( 0 , l ) and (i', j') = (4,O).
In the resulting spanning tree GI, the activities h E C' shifted arc drawn
in bold.
(b) We shift C' along leaving arc ( 2 , j) and along entering preccdcnce arc
(i', j'). This means that thc schedule-induced preorder is augmented when
passing from S to S' # S , i.e., Q(S1) > Q ( S ) . This case is shown in
Figure 4.2b, where (i,j) = (1,3) and (i', j') = ( 2 , 3 ) .
(c) We shift C' against leaving precedence arc (i, j) and against entering arc
( 2 ,j'). This means that the schedule-induced preordcr is reduced when
passing from S to S' # S, i.e., 0(S1) c B(S). Such a shift is always opposite
t o a shift augmenting the schcdulc-induced preorder (case (b)). Th'IS casc
is shown in Figurc 4.2c, where (i,j) = (1,3) and (i', j') = (0,3).
(d) We shift C' against leaving prccedcncc arc (2, j) and along entering prece-
dencc arc (i1,j'). This mcans that Q(S1) 2 Q(S)and B(S1) @ B(S) if S' # S .
This case is shown in Figure 4.2d, where (i,j) = (1,2) and (i',jl)= (2,3).
4.&. Local Search 117

J
3
11 2 _

Fig. 4.2. Cases occurring when shifting set C : (a) shift along leaving and against
entering arc; (b) shift along leaving and along entering arc; (c) shift against leaving
and against entering arc; (d) shift against leaving and along entering arc

In all four cases, the resulting schedule S' either coincides with S (which
may happen when 5 is a degenerate vertex of its schedule polytope) or S' is
a vertex adjacent to S in the closure of equal-order set S^{9{S'')) of some
schedule S'\ In cases (a) and (b), S and S' are adjacent vertices of the closure
oiSf{9{S)). In cases (a) and (c), S and S' are adjacent vertices of the closure
of Sf{6{S')). In case (d), S and S' are adjacent vertices of the closure of
S^{0{S'')) with S'' := i ( 5 + S').
A neighbor G^ e J\f^^{G) can be determined in two steps. First, we delete
an arc (z, j ) from G. Then, we shift set C until a temporal or precedence con-
straint corresponding to some arc {i\j') becomes active. If (i, j ) is a temporal
arc, C can only be shifted along (i, j ) . C can be shifted along or against
(z,j) if (i,i) is a precedence arc. Finally, we add arc (i', j ' ) to G and obtain
spanning tree G'. Since G contains n-hl arcs (i, j ) , which all may leave G, and
because we may shift either along or against (i, j ) , the size of neighborhood
J\r'\G) isoforder C)(n).
Next, we define a neighborhood function A/*^* on the set S^^ C E^^ of
spanning outtrees G of schedule networks A^(^) where 0 G SXV. Those span-
118 4. Constructive Algorithms

ning outtrees represent minimal points of schedulc polytopes S T ( Q )A. tree G


is an outtree with root node 0 precisely if all arcs (g, h) E EG are forward
arcs. Hence, to obtain a spanning outtree G' E Cot from a spanning outtrcc
G E Cot such that G and Gt differ in cxactly one arc, the leaving arc (i,j)
must be replaced by an entering arc (it,j') f (i,j) such that Gt is a tree and
(it,j') is a forward arc in Gt. Clearly, both conditions are satisfied prccisely if
j' = j . Since (i,j ) is a forward arc in G, in addition wc have zj E ( 0 , l ) . This
implies that if we shift along leaving arc (i, j ) , we necessarily shift along eriter-
ing precedence arc (it,j ) , and if we shift against leaving precedence arc (i,j),
we necessarily shift against entering arc (it,j) (see Figures 4.2b and 4 . 2 ~ )We .
obtain a neighbor G' E C 0 b f G as follows. An arc (i, j) can be chosen to
be the leaving arc if the first constraint that becomes active when shifting
set C' corresponds to an arc (it,j) with terminal node j . After the selection of
an appropriate leaving arc (i,j) we proceed analogously as for neighborhood
function W t .We first dclctc ( i , j ) from G, then shift set C' until the con-
straint corresponding to cntcring arc (it,j ) becomes active, and finally add
arc (it,j) to G. The size of neighborhood N o t ( G )is again of order O ( n ) .

Proposition 4.3 (Neumann et al. 2 0 0 3 ~ ) .The neighborhood graphs GSt


and Got of (a) neighborhood function W t and (b) neighborhood function Not
are strongly connected.

Proof.
(a) Clearly, each spanning outtree G representing the earliest schedulc ES
can be reached from any other spanning tree G E CStby performing a
sequence of (lcft-)shifts along a backward lcaving arc or against a forward
leaving arc. This proves GSt to be weakly connected. Moreover, each shift
of type (a), (b), (c), or (d) transforming some spanning tree G into a
different neighboring spanning tree G' is reversible because the opposite
shift is of type (a), (c), (b), or (d), rcspectively. Consequently, any two
adjacent nodes in G5t are linked by a pair of oppositely dircctcd arcs,
i.e., GSt is symmetric (see, e.g., Bang-Jenser~and Gutin 2002, Scct. 1.6).
From thc weak connectivity and the symmetry of GSt it follows that GSt
is strongly connected.
(b) Got is the subgraph of GSt that is induced by set Cot and thus Got is
symmetric as well. The weak connectivity of Got follows from the fact
that the spanning outtrees representing schedule ES can be obtained from
any outtree G E Cot by successively shifting against leaving prccedcncc
arcs ( z , j ) . 0

4.3 Additional Notes and References

Locally regular and locally concavc objective functions have essentially been
studied in the context of resource levelling problems, where one strives at
4-3. Additional Notes and References 119

smoothing the utihzation of renewable resources over time. Resource level-


hng problems have been investigated since the very beginning of algorithmic
project planning in the early 1960s. An overview of different problem set-
tings and solution procedures can be found in Zimmermann (2001a), Ch. 5,
and Kimms (2001a), Sect. 11.3. Resource levelling procedures for the case
of general temporal constraints have first been proposed by Brinkmann and
Neumann (1996), who have devised simple priority-rule methods where the
activities are scheduled one after the other according to a quasi-topological
ordering -< of the nodes in project network A^. Strict order -< arises from arc
set E by deleting all arcs with nonpositive weight (i.e., the maximum time
lags) and taking the transitive hull of the resulting relation. An activity h
becomes eligible for scheduling as soon as all its predecessors i with respect
to strict order -< have been processed, i.e., Pred^{h) C C. Among the eligible
activities /i, an activity j is selected by using a priority rule and j is scheduled
at a minimizer t of additional-cost function / ^ on set [ESj^LSj] Pi Z. Since
/ ^ is evaluated on set [ESj^LSj] n Z by complete enumeration, the heuristic
shows a pseudo-polynomial time complexity.
Neumann and Zimmermann (19996, 2000) have streamlined this ap-
proach in different respects. First, instead of scanning all integral times
t G [ESj^LSj]^ only the relevant tentative start times t from decision set Vj
are investigated (see Section 4.1). Second, the concept of core loading pro-
files rl (see Subsection 1.2.4) is used to anticipate (a part of) the unavoidable
resource usage by activities h G V^ \C not yet scheduled. In doing so, dead-
locks where Vj = 0 can more likely be avoided when resource constraints
have to be taken into account. The definition of additional-cost function f^ is
based on the core loading profiles, which means that the cost ffit) of starting
activity j at time t G Vj arises from comparing the costs associated with the
core loading profiles before and after putting Sj := t. A third improvement
on Brinkmann and Neumann's procedure is the use of diS'erent unscheduling
techniques invoked when no feasible start time can be assigned to activity j
(for details see Section 4.1).
Neumann and Zimmermann (2000) have also proposed a tabu search proce-
dure for resource levelling, which in principle is as follows (for an introduction
to tabu search we refer to Glover and Laguna 1997 or Hertz et al. 2003). Given
some time-feasible schedule 5, a neighboring schedule S" is constructed by se-
lecting a real activity j G V^ such that rk{S^ Sj) > AmaxQ<^^^^rfc(5, t), where
A with 0 < A < 1 is a control parameter. Then activity j is shifted behind or in
front of some activity 2 G F " , i.e., Sj = Si-\-pi ov Sj = Si —pj. Subsequently,
the time-feasibility of resulting schedule S' is restored. The move from S to
S' is only accepted if rk{S',t) < rk{S,t) for some resource k G 7?.^ and some
"peak time" t G argmaxQ<^^,<^^rfc(5, t'). In general, the schedules S iterated
are not resource-feasible. That is why they are evaluated on the basis of a cost
function including a penalty term for violations of the resource constraints.
The penalty term is similar to that used by Schwindt (20006) in the local
120 4. Constructive Algorithms

search algorithm for the earliness-tardiness problem with renewable resources


(see Subsection 3.2.5).
For solving the resource investment problem, Niibel (1999) has proposed a
branch-and-bound algorithm that (implicitly) makes use of the property that
the total procurement cost represents a preorder-decreasing objective function
(see Subsection 2.3.3). The principle of this branch-and-bound algorithm is to
introduce fictitious resource capacities that are stcpwisc dccrcased at certain
cnunlcration nodcs. Starting with thc carlicst schedule S = ES at thc root
node, the capacity Rk of some resource k E R P is put to maxo<tlz 7.k(S,t ) - 1
<
and a new schedule S is sought with r k ( S , t ) R k for a l l < < t 2 by
using the enumeration scheme for regular objectivc functions given by Al-
gorithm 3.1. Reduction of fictitious rcsourcc capacities and cornputation of
quasiactivc schedulcs with lower maximum rcsource requirements are reiter-
ated until no feasible schedule with < 2 can bc found any more. Each
timc a new feasiblc schedule has bccn found, one branches over the resource k
whose capacity is dccreascd next.
Based on an enumeration scheme by Patterson et al. (1989) for project
scheduling subject to precedence and rcncwablc-rcsource constraints, Ncu-
mann and Zimmermann (2000) have developed a timc-bascd branch-and-
bound procedure. The algorithm is capable of solving arbitrary resource allo-
cation problems for which an optimal schedule can be chosen to be integer-
valued. The latter condition is obviously always satisfied if the ohjectivc func-
tion is locally regular or locally concave because any quasistable schedule is
integral. The nodes of the enumeration trcc are associated with partial sched-
ules (Si)iEc satisfying the temporal and rcsourcc constraints. Starting with
C = (0) and So= 0, at cach lcvel an activity j from set V \ C with minimum
total float T F j = LSj - ESj is added to C. For each integral start timc t
in the current time window [ES,,LSj] of j , a corresponding child node with
Sj = t is generated and the time windows of the activities h E V \ C not yet
scheduled are updated. Leaves of the enumeration node corrcspond to feasible,
not neccssarily quasistablc schedulcs.
Next, we discuss the results of an experimental performancc analysis for
the time-constrained resource investment and total squared utilization cost
problems. We comparc a tabu search implementation of Neurnanri et al.'s
local search principle discussed in Scction 4.2 to some of the alternative so-
lution procedures. The test set has been created using projcct generator Pro-
Gcn/max and contains 90 projects with 500 activities and 1, 3, or 5 rcsources
each. For all algorithms a timc limit of 100 scconds has been imposed, which
refers to a Pentium personal computer with 200 MHz clock pulse. The results
were communicated by Zimmermann (2001b).
Table 4.1 shows the results obtained for the resource i n v e s t m e n t prob-
l e m , where besides the trcc-based tabu search proccdure ("TS") we have
tested truncated versions (filtcred bcam scarcli, "FBS") of the branch-and-
bound algorithms of Niibcl (1999) and Ncumann and Zimmermann (2000).
Since tight lowcr bounds for large rcsourcc levelling problems are not avail-
4.3. Additional Notes and References 121

ablc, we give the mean dcviation Abehtfrom thc objective function value of
a best solution found by the three procedures. pbest denotes the percentagc
of instances for which thc respective method has found a best solution (the
values sum to more than 100% because for some instanccs, a best solution
was found by more than onc proccdurc).

Table 4.1. Performance of algorithms for the resource investment problem

Algorithm nbest Pbest

Niibel (1999) FBS 23 % 6.7%


Neumann and Zirnrnerrriarin (2000) FBS 18 % 11.1 %
Neumann et al. ( 2 0 0 3 ~TS
) 3 % 90.0%

The data from Table 4.1 suggest that the tabu search heuristic provides
markedly bettcr schedules on the average than the truncated exact algorithms.
For 81 out of the 90 projects, thc trcc-bascd approach yields a best solution.
In addition, thc mcan deviation from the best solution found is considerably
smaller than for the two other algorithms.
The results for thc total squared resource utilization cost prob-
lem arc given in Table 4.2. The tree-based tabu search procedure has been
compared to the priority-rule ( " P R ) and tabu search ("TS") methods by
Neumann and Zimmermann (2000). The priority-rule method has bccn run
as a multi-pass procedure with ten priority rules. Again, we give the mean de-
viation from the best objective function valuc and thc percentage pbeSt
of bcst solutions found.

Table 4.2. Performance of algorithms for the total squared utilization cost problem

Algorithm nbest Pbest

Neumarm and Zimniermann (2000) PR 10 % 4.4 %


Neumann and Zimrnermanri (2000) TS 3 % 43.3 %
Neumann et al. ( 2 0 0 3 ~TS
) 1% 68.9%

Not surprisingly, the schedule-improvement procedures outperform the


priority-rule method. As for thc rcsource investrnent problem, the tree-based
approach again shows the best performancc among the tested algorithms.
Compared to thc tabu search of Neumann and Zimmcrmann (2000), the fa-
vorable bchavior is probably due to the small size of the neighborhoods to be
cxplored and the littlc time needed for niovirig from one schedule to another.
Supplements

When coping with rcal-lifc rcsourcc allocation problems, somc of thc assump-
tions of our three basic project scheduling problems may be too restrictive.
This chapter is dcdicatcd to expansions of the basic models which permit us
to cover some features that arc frcqucntly encountered in practice.
In Section 5.1 we deal with break calendars, which specify time intervals
during which some renewable resourccs cannot be uscd (such as weekcnds or
night shifts, where skilled staff is not available). In that case, it is often nec-
essary to relax the requircment that activities must not be interruptcd whcn
being in progress. Instead, we assume that the execution of certain activities
can be suspended during brcaks, whercas othcr activitics still must not be
intcrruptcd. We explain how to perform temporal scheduling computations
in presence of brcak calendars and outlinc how the enumeration scheme for
rcgular objective functions discussed in Section 3.1 can be generalized to this
problem setting.
When performing projects whose activities are distributed over different lo-
cations sharing common resources like manpower, heavy machinery, or equip-
ment, changeover tzmes for tear down, transportation, and reinstallation of
resource units have to be taken into account. During the changeover, those
resource units arc not available for processing activities. Due to the transporta-
tion of resource units, the changeover times arc gcncrally sequcncc-dcpcndcnt,
which mcans that the time needed for changing over a resource unit between
the execution of two consecutive activities depends on both activities. In Sec-
tion 5.2 we show how to adapt the relaxation-bascd approaches to the occur-
rcncc of sequence-dependent changcovcr timcs.
In many applications of project management, thc assignment of resources
to the project activities is not (complctcly) predetermined by technology. We
may then perform certain activities in alternatme ezecutzon modes, which dif-
fer in durations, time lags, and resource rcquircmcnts. The exccution modcs
of an activity reflect tradeoffs betwcen thc timc and rcsourcc demands. For
examplc, the duration of an activity may bc shortcrlcd by incrcasing the nurn-
bcr of allotted resourcc units (timc-resource tradeoff) or some rcsources used
124 5. Supplements

niay be replaced by other rcsourccs (rcsourcc-rcsource tradeoff). If in that case


the selection of an appropriate execution mode for each activity in the proj-
ect planning phase is deferred from the time and resource estimations to thc
resource allocation step, we obtain a multi-mode resource allocation problem.
In Section 5.3 we are concerned with relaxation-based proccdures for solving
multi-mode resource allocation problems with finitely many execution modes.
As wc have sccn in Section 1.3, the concept of (discrctc) cumulative re-
sources offers a straightforward way of modclling constraints arising from dis-
crete material flows in assembly environments. Sometimes, however, invento-
ries of intermediatc products arc not dcplctcd and rcplcnishcd batchwise at
thc occurrence of certain events but rather continuously over the execution
time of consuming arid producing real activities. Such continuous material
flows are, for example, typical of mass production in the process industries.
Material flows may also be semicontinuous, which means that facilities may bc
operated in batch or continuous production modes. In Section 5.4 wc dcvclop
tlie concept of continuous cumulative resources and we propose a relaxation-
based approach to solving resource allocation problems with the latter type
of rcsourccs and convex objective functions. Rcsourcc conflicts are stepwise
resolved by introducing linear constraints which ensure that a t the start or
completion of some activity, the inventory level is between the safety stock
arid the storage capacity. For each activity we branch over the alternatives
whcthcr or not the activity contributes to settling thc rcsourcc conflict in
qucstion.
In the following Sections 5.1 to 5.4 we closely follow the presentation in
the book of Ncumann ct al. (2003b), Sects. 2.11, 2.14, 2.15, and 2.12.2.

5.1 Break Calendars

In many real-lifc projects, certain renewable resources are not availablc during
breaks like weekends or scheduled maintenance times. Scheduling the activi-
tics subject to break calendars is termed calendarization. For what follows, we
assume that some real activitics may be interrupted during a break, whereas
others must not be interrupted due to technical reasons. Hence, the set of
all real activities VU decomposes into the set Vg of a11 (break-)interruptible
activitics and the set V$ of all non-interruptible activitics. The proccssing
of interruptible activities i E Vg can only be stopped at the beginning of a
break and has to bc rcsumcd at the end of the break. This assumptiori distin-
guishes calendarization from preemptive projcct scheduling problems, where
activities may be interrupted at any point in time (scc, c.g., Dcmeulcmccstcr
and Herroelen 1996). Furthermore, for each interruptible activity i E Vg, a
m i n i m u m execution time ei E W is prescribed during which i has to bc in
progress without being suspended, e g . , e, = 1. To simplify notation, we set
ei := pi for non-intcrruptible activities i E V,+rid assume that for activities
i E Vc, tlie time between any two succcssive breaks is not less than e i .
5.1. Break Calendars 125

In this section we first describe procedures presentcd by Franck et al.


(20010) for the temporal scheduling of projccts subject to break calendars for
activitics and prescribed time lags. We then briefly sketch how thc relaxation-
bascd approach for regular objective functions discussed in Section 3.1 can be
adapted to the presence of brcak calcndars. Preliminary versions of the tempo-
ral scheduling methods have been dcviscd by Zhan (1992) and Franck (1999),
Sect. 3.3. An alternative approach can be found in Trautmann (2001b). Here,
the calendar-dependent precedence relationships between activitics arc taken
into account by distinguishing between start-to-start, start-to-completiori,
completion-to-start , and completion-to-complction timc lags.
A break calendar can be regardcd as a right-continuous step function b :
R 4 {0,1) wherc b(t) = 0 if time t < 0 or if t falls into a break, and b(t) = 1,
othcrwisc. St
t'
b ( ~ ) d is
r the total working time in interval [t,tl[. In practice,
different renewable resources k E RP may have different calendars. We then
obtain the corrcsponding activity calendars bi for activitics i E Va by setting
bi(t) := 0 exactly if i requires some resource k E RP which is not available
at time t. If bi(t) = 0, we have to suspend the execution of activity i E V$
being in progress at time t. For activities i E V,; the timc interval between
the start and completion of i must not contain any timc t whcre bi(t) = 0.
Thc constraints arising from minimum execution times ei can be stated as
follows:
bi(7) = 1 ( i € Va, Si < T < S i + e i ) (5.1)
If i E Vz;, (5.1) means that the execution of i must not be interrupted by a
brcak.
Let Ci 2 Si + p i again denote the completion timc of activity i E Va. In
interval [S,,Ci[, activity i is in progress at time t precisely if bi(t) = 1. Thus,
given start time Si,the completion time Ci(Si) of i is uniquely dctcrmined by

Clearly, minimum and maximum time lags may dcpend on calendars, too.
For example, a precedence constraint between activities i and j refers to the
completion time Ci and thus to the calcndar bi of activity i. Thereforc, wc
introduce a time lag calendar bij for each arc ( 2 , j ) E E of project network N.
Point in time t is taken into account when computing the total working
time between the starts of activitics i and j exactly if bij(t) = 1. That is,
<
J.,' bZj(r)dr equals the total working timc in interval [S,,Sj[ if Si Sj and
equals the negative total working time in intcrval [Sj,Si[,otherwise.
The actual minimum difference Aij between start times Si and Sj that is
prescribcd by arc (i,j ) E E depends on start time Si and calendar bij:

Aij(Si) = min{t 20IJ


,; bii(r) d r > 6ij) - Si ((i,j ) E E)

+
Si Aij(S,) is the earliest point in time t 2 0 for which thc total working
timc in interval [Si,t [ or [t,Si[,respectively, is grcatcr than or equal to Idij[.
126 5. Supplements

> >
Since b i j ( t ) E {0,1) for all t 0, it holds that liSij(Si)l Ihijll and A i , ( S i )
and hij have the same sign.
For temporal scheduling, thc temporal constraints S j - S i 2 hij for all
( i ,j ) E E have to be replaced by

which due to b i j ( t ) 2 0 for all t E R can also be written as

The interpretation of inequality (5.2) is as follows. If hij


s
>
0, then the to-
tal working time Js: b i j ( r ) d r between the starts of activity i a t time Si
and the start of activity j at tirne S j must be at least bii >If dii < 0,
S
>
then JsJbij ( r ) d r hij means that the total working time
s,' b i j ( r ) d r =
J ' b i ; ( i ) d r betwcen S j and Si must not cxcced h i i Notice that for rnin-
irnum tirnc lags dy" = hij > 0, constraint (5.2) is at least a s tight as the
ordinary temporal constraint S , - S i > h i j , whereas maximum time lags
d y x = -hij > 0 arc relaxed by considering breaks. Given start tirne Si for
activity i, the miriiniurn start time S j of activity j satisfying (5.2) is

Constraints ( 5 . 1 ) and (5.2) are referred to as calendar constraints. A sched-


ulc S satisfying the calendar constraints is called calendar-feasible.
We now explain how to integrate the calendar constraints into the corn-
putation of earlicst schedulc ES by modifying the label-correcting method
given by Algorithm 1.1. Algorithm 3.2 for the minimization of regular ob-
jective functions subject to temporal and disjunctivc precedence constraints
can be adapted similarly. The problem of finding the earliest calendar-fcasiblc
scllcdule ES can be forniulated as follows:

Minimize Si

subject to (5.1) and (5.2)


si > 0 (2 E V)

We start the label-correcting algorithm with E S = (0, -m, . . . , -m) and


successively delay activities until all calcndar constraints are satisfied. At the
beginning, qucuc Q only contains the projcct beginning event 0. At each
iteration, we dequeue an activity z E V from Q. If i is a real activity,
we check whether start time ES, complies with calendar b, by computing
the earlicst point in time t* > ES, for which there is no break in interval
+
[t*,t* e,[ (cf. constraints (5.1)). In case of E S , < t*, the start of activity i
must be delayed until time t*. Next, we check inequalities (5.2) for all arcs
( i ,j ) E E with initial node i . To this end, we compute the earliest start time
5.1. Break Calendars 127

t* := minit 2 ESj I JLst


bij(r)dr 2 Sii) of activity j given start timc ESi
for activity i. If ESj < t*, schedule ES docs not satisfy the corresponding
prescribed time lag, and thus we increase ESj up to t*. In that case or if
bj(r) = 0 for some t* <T < t* +
ej, wc enqueue j to Q if j $ Q. Algo-
rithm 5.1 summarizes this procedure.

Alaorithm 5.1. Earliest calendar-feasible schedule

Input: MPM project network N = (V, E , 6 ) ,partition {Vg, VZZ of set V U activity
,
calcndars b, for i E V a ,time lag calendars bij for (i,j ) E E.
Output: Earliest schedule E S .
set ESo := 0, Q := { 0 } , and ES, := -m for all i E V \ Q;
while Q # 0 do
dequeue i from Q;
if i E V" then
determine t* := min{t > ESi I b , ( ~= < +
) 1 for all t T < t e , } ;
a
if t* > then terminate; (*there is no time-feasible schedule *)
else if ES, < t* then set ES, := t * ;
for all ( 2 , j ) E E do
determine t* := min{t 2 ES, I SLS, >
bij ( 7 ) d ~ 6,j);
if ES, < t* then
set ESj := t*;
if j $ Q then enqueue j to Q;
if j E Va \ Q and b , ( ~ = < +
) 0 for some t* T < t* e3 then enqueue j to Q;
return earliest schedule E S ;

Let ,O denote the number of brcaks in all activity and time lag calendars. If
somc activity i is inspccted more than n(/3+1) times, then thcrc is no schedule
satisfying the calendar constraints, and the algorithm can be stopped. Franck
et al. ( 2 0 0 1 ~ )have shown that if the calcndars are given as sorted lists of
start and cnd timcs of breaks, Algorithm 5.1 can be implcmcnted to run in
O(mn/3) time.
The latcst schcdulc L S can be computed by using a similar labcl-correcting
procedure again starting at node 0 and procccding from terminal nodes j to
initial nodes i of arcs ( i , j ) E E. In difference to Algorithm 5.1, t* is set to be
the lastest time for which condition (5.1) or (5.2), respectively, is fulfilled (for
details we refer to Neumann et al. 2003b, Sect. 2.11).
The enumeration scheme for resource allocation problems with regular ob-
jective functions (see Algorithm 3.1) can be used without almost any modifica-
tion for thc casc of calcndar constraints as wcll. Schedule S = m i n ( ~ , , ~ S ~ ( p ) )
is then computed by the adaptation of Algorithm 3.2 to the casc of break cal-
cndars, where the calendars b,, for pairs ( z , ~ )E p coincide with calendars b,
< <
if z E V a and are given by bag(t)= 1 for all 0 t 2 if z E V". ST(^) now
denotcs the set of all schedules satisfying the calendar constraints (5.1) and
(5.2) for rclation network N(p). Similarly to the case without calendars, it
128 5. Supplements

can be shown that set ST(p), though generally being disconnected, possesses
a unique minimal point (cf. Franck 1999, Sect. 3.2) and that this property
still carries over to the union U p E p S ~ ( pof) sets ST(^).

5.2 Sequence-Dependent Changeover Times

This section is concerned with sequence-dependent changeover times arising


when several (sub-)projects using conirnon renewable resources are perfornied
simultaneously at different sites (multi-site scheduling, see c g . , Saucr et al.
1998). When a unit of resource k E RP passes from the execution of an
activity i at a location a to an activity j to be carried out at a different
location b, the unit has to be torn down after the completion of i , transported
from a to b, and put into service for processing j . Thus, the changeover time
of resource k between the execution of activities i and j generally depends on
resource k and on both activities i and j .
There is an extensive literature dealing with sequence-dependent change-
overs in shop-floor environments, where changeover times are caused by re-
placing tools or cleaning. The great majority of the papers considers the prob-
lem of minimizing the total cost associated with changeovers (for a literature
review we refer to Aldowaisan et al. 1999). Brucker and Thiele (1996) have
devised a branch-and-bound algorithm for a general-shop problem where the
nlakespan is to be minimized subject to precedence constraints and sequence-
dependent changeover times between operations. Kolisch (1995), Cli. 8, has
shown how to model changeover times between activities of a project by in-
troducing alternative execution modes for the activities (see Section 5.3). The
changeover times between two activities are assumed to be equal to a sequence-
independent setup time or equal to zero. Moreover, the capacity Rk of each
resource k E R P equals one. Trautmann (2001a), Sect. 3.3, has devised a
branch-and-bound algorithm for minimizing the project duration in case of ar-
bitrary resource capacities R k , single-unit resource requirements r i k E (0, I ) ,
and general sequence-dependent changeover times.
In the sequel, we drop the assumption of single-unit resource requirements
and consider any regular or convexifiable objective function f . Let Vz :=
{ i E V a I r i k > 0) be the set of all activities using resource k E R P . With
19:~ E Z>o we denote the changeover time from activity an i E VL to an
7
activity E V t on resource k, where 29ti= 0 for all i E V;. We suppose that
the weak triangle inequality

is satisfied for all k E R P and all h, i , j E V t . This assumption is generally met


in practice because otherwise it would be possible to save changeover time by
processing additional activities. For notational convenience we additionally
assume that there are neither changeovers from the project beginning event 0
5.2. Sequence-Dependent Changeover Times 129

to activities i E Va (setups) nor changeovers from activities i E Va to the


+
project termination event n 1 (teardowns). The latter condition can always
be fulfilled by introducing the minimum time lags d z Z n = ~ ~ X & R P : ~ E Vd, iUi
and d y z l = m a x k E ~ ~ : i E V
df,,+l
; and then putting d i , := 19:,,+~ = 0 for all
Ic E RP and all i E Vg.
The resource-constrained project scheduling problem (P) with sequence-
dependent changeover times can be formulated as follows. We strivc at min-
imizing objective function f such that all temporal and cumulative-resource
constraints arc observed and at any point in time, the demands for renewable
resources by activities arid changcovers do riot exceed the rcspective resource
capacities. More precisely, let for given resource k E RP, X k : VE + P(N) be
a mapping providing for each activity i E VE the set of units of resource k
processing activity i, i.e.,

We call a schedule S changeover-feasible if for each resourcc k E RP, map-


ping XI, can be chosen such that
+ 29;
Sj 2 si + p l
# j , X k ( i )n Xk(j) # 0)
+ + d;,
or Si 2 Sj p,
(i, j E Vg : i (5.5)

and
( 2 ) 1 ,. } (2 E Vg) (5.6)
(5.5) says that if there is a unit of resource k proccssing both activities i
and j, then activitics i and j (including the possible changeover in between)
must not overlap. (5.6) limits the availability of resource k to R k units. Since
all changeover times are nonnegative, a changeover-feasible schedule always
observes the rencwablc-rcsourcc constraints (1.7).
In the following, we develop an equivalcnt charactcrization of the change-
ovcr-feasibility of schedules, which will serve as a basis for thc solution
method discussed later on and which draws from a model used by Nagler
and Schonherr (1989) for solving time-resource and time-cost tradeoff prob-
lcms. The underlying concepts go back to a model for aircraft schcduling
presented in Lawler (1976), Sect. 4.9. A similar tanker scheduling problem
has already been studied in an early paper by Daritzig and Fulkcrson (1954).
Let S be some schedule and let k E RP be a renewable resourcc. Thc ana-
logue to schedule-induced strict order O(S) introduced in Subsection 2.1.1 is
thc relation
0"s) := {(i,j ) E V t x VE I Sj 2 Si + p , + dtj}
Owing to the weak triangle inequality and because pi > 0 for all i E Va, rela-
tion Ok(S) is transitive and asymmetric and thus represents a strict order in
set V t . In contrast to the case without changeover times, however, Ok(S) does
not represent an interval order in general. We illustrate the latter statement
by an example.
130 5. Supplements

Example 5.1. Consider t h e schedule S depicted in Figure 5.1a a n d assume


t h a t t h e changeover times are -^^12 = 1^34 = 0 and di^ = "0^2 — 1- T h e
strict order induced by schedule S is B(S) = {(1,2), ( 3 , 4 ) } , whose precedence
graph G{0{S)) = 2P2 is shown in Figure 5.1b. Since a strict order 9 is an
interval order if and only if its precedence graph does not contain t h e parallel
composition 2P2 of two arcs as induced subgraph (see, e.g., Mohring 1984 or
Trotter 1992, Sect. 3.8), 0{S) is not an interval order.

1 2
Fig. 5 . 1 . Schedule-induced strict orders are no longer interval orders: (a) Gantt
chart for schedule S; (b) precedence graph G{0{S))

Let for given schedule S and resource k G IZ^, Xk be a mapping satisfying


conditions (5.4) and (5.5) and let rk{S) := \Ui^Y^Xk{i)\ denote t h e number of
resource units used. Clearly, S is changeover-feasible exactly if rk{S) < Rk for
all k e IZP. We consider an antichain U in schedule-induced strict order 6^{S).
It follows from t h e definition of 0^{S) t h a t [Si, 5^ -hpi + ^^j [ D [Sj, Sj +pj + d^- [
^ 0 for any two activities i, j G U. (5.5) then implies t h a t Xk{i) H Xk{j) = 0
for any i, j G U. This means t h a t | Ui^u Xk{i)\ = Ezef/ \^k{i)\ = Y^ieu'^ik-
On t h e other hand, it is obvious t h a t for any subset U' C V^ ^ t h e number
I VJi^u' Xk{i)\ of resource units occupied by activities from U' is less t h a n or
equal to t h e joint requirements Yli^U' '^^k for resource k. Consequently, rk{S)
equals t h e weight Y2ieu ^«^ ^^ ^ maximum-weight antichain Uk in 9^{S). Since
all activities from set Uk pairwise overlap in time, Uk can be regarded as an
active set Ak{S) for S. Schedule S is changeover-feasible precisely if none of
the active sets Ak{S) with k G 1Z^ is forbidden.
Now recall t h a t such a maximum-weight antichain Uk is a maximum-
weight stable set in t h e precedence graph G{9^{S)) equipped with node
weights Tik (i G VJf). Since G{9^{S)) is transitive, stable set Uk can be
determined in 0{n^) time by computing a minimum (5, ^)-flow u^ of value
(l)^{u^) = rk{S) in t h e flow network Gk{9^{S)) with node set V^ U {s,t} and
arc set 9^{S) U {{s} x Vj^) U (Vjf x {t}), where nodes i G Vj^ are associ-
ated with lower capacities Vik (cf. Subsection 2.1.1). Example 5.1 shows t h a t
strict order 9^{S) generally does not represent an interval order, for which a
maximum-weight stable set in t h e precedence graph can be found in linear
time by computing a maximum-weight clique in t h e associated interval graph,
cf. Golumbic (2004), Sects. 4.7 and 8.2.
T h e lower node capacities rik can be transformed into equivalent arc ca-
pacities by splitting u p every node i G Vj^ into two nodes z' and i " linked
5.3. Alternative Execution Modes for Activities 131

by arc (il,i") with lower capacity liri,, = r i k and infinitc upper capac-
ity. The nctwork flow methods then do not only provide a minimum (s,t)-
flow u q n G k ( Q k ( S ) )but also a maximum ( s ,t)-cut [UL, U;], whose ca-
pacity equals thc minimum flow valuc 4 ( u k ) (see, e.g., Ahuja et al. 1993,
Sect. 6.5). In addition, it can easily be shown that any niaximum ( s , t ) -
cut in G k p k ( s ) )is a uniformly directed cut containing only forward arcs.
Thus, &(S) = {i E V{ I (il,il') E [UL,UL]}. As has already been noticed by
Mohring (1985), Sect. 1.5, the computation of a maximuni ( s ,t)-cut may also
bc pcrformcd in the transitive reduction of G k ( ~ k ((i.e.,~ ) )in the network
which ariscs from Gk(Bk(s))by replacing the arc set with its covering rcla-
tion). In that casc, any maximum (s, t)-cut [UA, UL] contains only arcs (it,i")
obtained by splitting up some node i E V{, i.e., A k ( S ) = {i E V{ I i' E UL}.
To adapt the enumeration schemes for regular and convcxifiablc objec-
tive functions from Algorithms 3.1 and 3.3, rcspectively, to the occurrence of
sequence-dependent changeover times, we make the following modifications.
First, we replacc thc activc scts A ( S , t ) at times t by active sets A k ( S ) . If
for some k E R P , &(S) is a forbidden sct, we compute thc sct B of all rnin-
irnal delaying alternatives B for F = A k ( S ) . In casc of a rcgular objective
function f , for given B E B we then introduce the disjunctivc precedcncc
constraint
jcB - . A
G
+ +
min S. > min(S, pi 1 9:
j)

between scts A = F \ B and B including the changcovcr times 6fj on k between


i E A and j E B . If f is convcxifiablc and { i } x B is some minimal delaying
mode with B E B and i E A = F \ B , we add ordinary precedence constraints

between activity i and all activities j E B, again including thc changcovcr


times 6fj.

5.3 Alternative Execution Modes for Activities

In practice an activity can often be carried out in one out of finitely many
alternativc execution modes with different processing times, time lags, and rc-
source requirements. Thc multiple modcs give rise to several types of tradeoffs
permitting a more efficient use of resources. Sometimes the tradeoffs include
the consumption of nonrenewable resources likc the project budget. As for rc-
newable resources, the availability of nonrenewable resources is limited. The
availability of nonrcnewable resources, however, does not refer t o individual
points in time but to the cntire planning period. Each time an activity is
carried out, the rcsidual availability of a nonrenewable resource is decreased
by thc corresponding resource demand. Thus, nonrcnewablc resources can
be viewed as spccial cumulative resources (cf. Section 1.3) that are depleted
132 5. Supplements

but never replenished. This implies that for nonrenewable resources, resource-
feasibility solely depends on the selection of activity modes and not on the
schedule. That is the reason why nonrenewable resources can be omitted when
dealing with single-mode project scheduling problems.
Since the early 1980s, the (discrete) multi-mode project duration problem
with precedence constraints among the activities instead of general temporal
constraints has been treated by several authors. The case of rcsourcc-rcsourcc
tradeoffs has already been considered by Elmaghraby (1977), Sect. 3.4.2. Ex-
act algorithms havc bcen rcvicwcd and their performance has been tested by
Hartmann and Drcxl (1998). At present, the most cfficicnt method for solving
this problcm is the branch-and-bound algorithm of Sprechcr and Drcxl (1998).
Hartmann (1999b), Sect. 7.3, has compared several heuristic approaches. An
cxpcrimental performance analysis presented in thc lattcr reference reveals
that among thc tcstcd hcuristics, the best procedurc is a genetic algorithm
published in Hartrnann (2001). A special case of the multi-mode project du-
ration problem has been studied by Demeulemeester et al. (2000), who havc
developed a branch-and-bound algorithm for the discrete time-resourcc tradc-
off problem. For each real activity, a workload for a single renewable resource
is specified. The alternative execution modes arisc from all undominatcd inte-
gral duration-requirement combinations the product of which is at least cqual
to the given workload.
For the case of general temporal constraints, four different algorithms have
been proposcd in literature. The tabu search procedurc by De Reyck and Her-
roelen (1999) performs a local search in the set of possible mode assignments
to activities. For givcn exccution modes, thc resulting single-mode problem
is then solved by the branch-and-bound algorithm of De Reyck and Herroc-
len ( 1 9 9 8 ~ )Franck
. (1999), Sect. 7.2, has adapted a priority-rule method by
Kolisch (1995), Sect. 6.2, to the case of general temporal constraints. At each
iteration, the activity to be scheduled is choscn on thc basis of a first prior-
ity rule. A second priority rule providcs the execution mode for the selected
activity. A streamlined multi-pass version of this procedure can be found in
Heilmann (2001). Dorndorf (2002), Ch. 6, has described an extension of the
branch-and-bound algorithm by Dorndorf et al. ( 2 0 0 0 ~ )for the single-mode
project duration problem (cf. Subsection 3.1.4) to the multi-mode case, where
mode assignmcnt and activity scheduling are iterated alternately. Bruckcr
and Knust (2003) have presentcd an adaptation of thcir lowcr bound for the
single-mode problem (see Subscction 3.1.3) to the prescncc of multiple exe-
cution modes. The corresponding linear program is again solved by column-
generation techniques.
In this section wc discuss thc cnumcration schcmc of a branch-and-bound
procedure proposed by Heilmann (2003) for the multi-mode project duration
problem, where the selection of activity modes and the allocation of resources
are performed in parallel. The basic principle of this rclaxation-based enumer-
ation scheme can be used for solving multi-mode resource-constrained project
scheduling problems with arbitrary regular or convexifiable objective func-
5.3. Alternative Execution Modes for Activities 133

tions. Roughly spcaking, the idea is to consider single-modc problcms arising


from m,ode relaxations where only thc unavoidable rcsourcc rcquircmcnts, core
durations, and core time lags occurring in all selectable execution modes are
taken into account. Thc mode relaxations are stepwise refined by assigning
cxccution modes to activities and thus rcducing the scts of selectable modcs.
For what follows, we assume that only the requirements for renewable and
nonrcnewable resources depend on the mode selection. The case where execu-
tion modcs also differ in requirements for cumulative resources can be treated
similarly (see Trautmann 2001a, Sect. 3.1).
A discrete multi-mode rcsourcc allocation problem decomposcs into two
subproblcms: thc discrete mode assignment problem and the (single-mode)
resource allocation problem. Let Mi denote the set of alternative execution
modes for activity i E V, where ]Mil = 1 if i E V". We call a binary vector
g = ( g i m , ) i t ~ , m , with
€~~ gim, -< 1 a (partial) assignment of modes
mi E Mi to activities i E V (an assignment, for short), where gin,% = 1 if
activity i is carried out in mode m, and ximz= 0, otherwise. An assignment
x' > g is called an extension of g . An assignment x satisfying the mode
-
assignrnent constraints

is tcrmed a full assignment. Solving the mode assignment problem consists


in finding a full assignmcnt x such that x complies with the temporal and
nonrenewable-resource constraints. Each assignment g dcfincs a corresponding
singlc-mode resource allocation problem.

be the set of modes that can be selected for activity i in full-assignment exten-
>
sions rc g and Ict R " be the set of nonrenewable resources with availabilitics
Rk E W.By rzknL, E Z>Owe denote the requirement for resource k E R P U R"
if real activity i E Va executed in modc rn, E M , . Then

is the (unavoidable) requirement of activity i E Va for resource k E R P U RV


given assignment g. Assignment n: is called resource-feasible if g satisfies the
nonrenewable-resourcc constraints

Alternative assignments g arc associated with different single-mode project


nctworks N ( g ) . Without loss of gcncrality, we assume that the node set V
and thc arc set E of N ( g ) are the same for all assignments g. For each arc
134 5. Supplements

( 2 , ~ ) E E , the associated timc lag may depend on the execution modes of


both activities z and j. Hence, thc wcight of an arc ( z , j ) E E in the multi-
mode project network N is a inatiix = (61nL,J7rL3)rrL,
E M ,,m, Em3,where the
elements 6,mt,7,7 E Z denote the scalar arc wcights that refer to the execution
of activitics z and j in modes m, E M , and m3 E M I . For assignmcnt &,

is thc rcsultirig (core) weight of arc ( i , j )in nctwork N ( g ) . An assignment x


is called time-feasible if N ( g ) does not contain any cycle of positive length. A
time- and resource-feasible assignment is rcfcrred to as a feasible assignment.
A schedule S is said to be time-feasible with respect to assignmcnt g if S
satisfies the temporal constraints

The set of schedules which are time-feasible with respcct to assignment g arc
denoted by ST ( g )
Dcfinc p,,% E W to be the processing time if real activity i E V a is executed
in mode m , E M , . Thc (corc) duration of activity i E V given assignmcnt g
is
p,(z) := min pam%
~%€Mz(&)

For schedule S , the set of real activities being in progrcss at time t then
cquals A ( S , g , t ) := { i E V a I S, < +
t < S, p,(g)} arid r k ( S , g ,t ) :=
C,Ea(s,l,r) r,i;(g) is thc demand for rcsourcc k t R" at time t. A schedule S
which satisfies thc renewable-resource coiistraints

as well as the cumulative-resource constraints (1.20) is called resource-feasiblc


with respect to assignment x.By S n ( g ) we denote the set of all schcdules sat-
isfying (5.10). Rccall that the rcsourcc-feasibility of an assigrinient g requires
that the nonrenewable-resource constraints (5.8)are fulfilled. A schedulc that
is time- and rcsourcc-fcasiblc with rcspcct to assignment g is termed feasiblc
with respcct to g. S ( g ) = S T ( g ) n S R ( gn) S C is the sct of all feasible scliedules
with rcspcct to g. The multi-rnodc rcsourcc-constrained project scheduling
problem can now be statcd as follows:

Minimizc f(S) I
subjcct to ximi = 1 (i E V )
m,EM,
Xim, E (0, I } ( i E V , m,, E M i )
s E ST ( x )n Sn ( x )n Sc
5.4. Continuous Cumulative Resources 135

A fcasible solution to problem (MP) consists in a schedule-assignment pair


( S , x ) , where x is a feasible full assignment (i.e., a solution to thc mode-
assignment problem) and S is a feasible schedule with respect to x (i.e., a
feasible solution to tlie respective single-niode projcct schcduling problcm). An
optimal solution is a feasible solution (S, x ) with minimum objcctive function
valuc f (S).
From Theorem 1.12 it immediately follows that finding a feasible solu-
tion (S, x) is NP-hard. In addition, Kolisch (1995), Scct. 2.3, and Schwindt
(19986) have shown by transformations from KNAPSACK and PRECEDENCE-
CONSTRAINED KNAPSACK, respectively, that the problems of testing whcthcr
there is a resource-feasible or a time-feasible full mode assignment x are al-
ready NP-complete. Consequently, the resource rclaxation of a multi-mode
resource allocation problcm is NP-hard. Hcncc, to obtain a problem that can
be solved efficicntly, the modc assignment constraints (5.7) have to be relaxed
as wcll. Thc mode relaxatzon for an assignment g then reads
Minimize f (S)
subject to ST(^) n S n ( g ) n Sc
Obviously, the single-mode resource-constrained project schcduling problcm
(P(g)) is a relaxation of all mode relaxations (P(zl)) belonging to extensions
x1 of g, i . ~ . ,
-

c
S(a') S(:) (z' 2 z )
This observation is the starting point for a relaxation-based cnumeration
scheme for solving multi-mode problem (MP). Let p bc somc rclation in node
) { S E ST(.) I SJ
set V, and let S ~ ( p , g := > +
St pt(g) for all ( 5 , ~ ) E p)
be the relation polytope belonging to p and assignment g . Thc algorithm
starts with the empty assignment g = 0. For the corrcsponding single-mode
problem (P(g)), schedules are enumerated as minimal points of appropriatc
(unions of) relation polytopes ST(p,g),see Algorithms 3.1 and 3.3. Each time
a schedule S feasible with respect to g has been obtained, tlie execution mode
of some activity i with C7rL,EM, gtm, = 0 is fixed such that the resulting
assignment g' is still feasible (if there is no mode m, E M, such that g' is fea-
sible, we perform backtracking). Then, the time-feasibility of S with respect
to thc new assignment g' is restored. Due to S ( g l ) S ( g ) , S may bc not
resource-feasible with respect to g'. In that case, the enumeration of sched-
ules is resumcd by cxtending the current relation p until a schedulc S' which
is feasible with respect to g' has been found. These steps are reiterated until
a fcasible full assignment x has been reached or there is no feasible extension
of the current assignment gl.

5.4 Continuous Cumulative Resources


In this section wc deal with continuous cumulative resources whose inven-
tory is dcpleted and replenished at constant rates by the activities of the
136 5. Supplements

project. This type of resources has been considered by Schwindt (2002) and
Neumann et al. (2005) in the context of scheduling problems arising in thc pro-
cess industries. Recently, Sourd arid Rogcric (2005) have presented constraint
propagation techniques for computing lower and upper approximations to the
loading profiles of continuous cumulative rcsources.
The concept of continuous cumulative resources also covcrs the renewable
and (discrete) cumulativc rcsources, which we have considered until now. For
the case of convex objectivc functions f , wc show how the expanded resourcc-
constrained project scheduling problem can be solved by using a rclaxation-
based approach. The basic principle is again to substitute the rcsourcc con-
straints into a finite disjunction of linear incqualities, which can be viewed as
pararnetcrized preccdcnce constraints between activities.
RY
Let be the sct of continuous curnulativc resources with safety stocks
R k E Z U {-oo) and storage capacities
- zk E Z U {oo), where Rk > I&.
Performing an activity i E V incrcascs the inventory in resource k E R Y
by r,k E Z units. Analogously to the case of discrete cumulative resources,
wc suppose that Rk < CiEV rik< & for all k E %Y, which ensures that
the ternlirial inventories are within the prescribed bounds. If r i k < 0, we
again spcak of a deplction of resource k , and if r i k > 0, we say that re-
source k is replenished. Depletion and replenishments arise at constant rates
. /pi This mcans that evcnts i E Ve deplcte and replenish at infi-
r i k = r ,k
nite rates, which corresponds to the setting for discrete cumulative resourccs.
Since renewable-resource constraints can be expressed by temporal and dis-
crete cumulative-resource constraints, the new model also includes both types
of resourcc constraints that have bcen studicd previously. By VL and V z we
respectively denote the sets of activities depleting or replenishing resource k .
Vk := VL U V ,is the set of all depleting and replenishing activitics for re-
source k. The resource constraints again say that at any point in time, the
inventory level of each resource must be between the safety stock and thc
storage capacity.
Now let S be some schedule. By

0, if t < S,
1, i f t 2 S , + p i
(t - S,)/pi, otherwise

we denote the portion of activity i E V that h a been processed by time t. If


i E V", then x,(S, t ) = 0 if Si < t , and xi(S, t) = 1, otherwise. The invcrltory
in resource Ic E %Y at time t is

The corrcsponding loading profile Fk(S,.) is a right-continuous, piecewise


affine function. The resource constraints can be stated as
5.4. Continuous Cumulative Resources 137

A schcdulc satisfying resource constraints (5.11) is called resource-feasible.


Lct Sc dcnote the set- of resource-feasiblc schedules. The set of all feasible
schedules is S = STnSc. The resource-constrained project scheduling problem
to be dealt with reads as follows:
Minimize f (S)
subject to S E ST n Sc

where f is some convex objective function. An optimal schcdulc is a schcdulc S


solving problem (P).
Next, wc cxplain the basic principle of the solution proccdure. For sim-
plicity of exposition we assume for the moment that Vk C. V" for all k E %?.
Similarly to the relaxation-bascd algorithms from Chapter 3, we first delete the
resource constraints and solve the resulting time-constrained project sched-
uling problern. Subsequently, resource coriflicts are stcpwisc sortcd out by
refining the rclaxation with new constraints. For notational convenience we
suppose that all storage capacities arc infinite. This can always be ensured by
the following transformation (cf. Rernark 1.21a). For each resourcc k E R"',
we sct XI, := ca and add a fictitious-resource k' with requircmerlts r,k, = -r zk
for all i E Vk, safety stock Ilk, = -Rk, and storagc capacity &, = oo.
Let S be an optimal solution to thc resource relaxation and assume that
at timc t, the invcntory in some rcsource k E 727 falls below the safety stock,
i.e., Fk(S,t ) < &. We partition Vk into two sets A and B with the following
mcaning. Set A contains all activities j E V[ to be complctcd by timc t and
all activities j E :V to bc started no earlier than at time t:

The total depletion of the inventory in resource k at tinlc t caused by activitics


j E A equals - CJEAnV,- r,b The activities j from set B must be scheduled
in such a way that a t time t , their net replenishment of resourcc k is greater
than or equal to the shortfall - CJEAnVL r,k causcd by the activitics from
set A. This can bc cnsurcd as follows. For each activity J E B , wc introducc
a continuous decision variablc x, with

providing the portion of activity j that will be processed by time t. The


requirement that the inventory in resource k at time t must not fall below &
then reads

Thc coupling between decision variables z, and S, is achievcd by the tcmporal


constraints (paramctcrizcd in 2,)
138 5. Supplements

Inequalities (5.15) ensure that for each schedule S satisfying (5.15) it holds
that x j > z j ( S , t ) if activity j E B depletes and zj <
z j ( S , t ) if activity
j E B rcplenishcs the stock of k . Adding constraints (5.12) to (5.15) to the
relaxation removes the inventory shortage at tirne t .
The inventory in resource k attains its minimum at a point in time when
some replenishing activity i is started or when sonie depleting activity i is
complctcd. That is why time t can always be chosen to be cqual to S, for
+
somc i E V z or equal to Si p, for some i E VL, and thus we can replace t
in (5.12) and (5.15) by Sior Si + p i . Wc then write Aik and Bi%nstead of
A and B as wcll as z:k instead of z j . Note that without loss of generality wc
can assume i E Aik for all k E ??f and all i E Vk because the corrcsponding
inequality (5.12) is always satisfied. Passing from constants t to variablcs Si
ensurcs that only a finite number of constraints have to be introduced before
the resource constraints (5.11) arc satisficd.
From the above reasoning it follows that & again represents thc union
of finitely many polyhedra. The set of all minimal points of Sc, however, is
generally uncountable, which implics that the set AS of all active schedules
is irifinitc (and hencc so arc all of its supersets depicted in Figure 2.4).
The solution procedure is now as follows. We solve the convex program

Minimize f ( S )
subject to S E ST (5.16)
(5.12) to (5.15) for partitions {Aik,BB?" selectcd

and add new constraints of type (5.12) to (5.15) to problcm (5.16) until either
the search spacc P becomes void or the resulting schcdule S is feasible. Then,
we return to an altcrriative partition {Aik,Bik} and proceed until all alter-
natives have been investigated. Convex program (5.16) can be solved in poly-
nomial time because its feasible region P represents a polytope. Of course,
the objcctive function value of any optimal solution to (5.16) represents a
lower bound on the objective function value f ( S ) of any feasible schedule S
satisfying the added constraints of typc (5.12) to (5.15).
- iniplemeritation issues. Assumc that the inventory
Ncxt we discuss some
in some resource k E 727 falls below the safety stock at time t = Si ( i E Vc)
or t = Si + p i (i E VJ. To enumerate the sets Aik and Bik we construct a
binary trcc as follows. Each lcvel of the trce belongs to one activity j E Vk.
For cach activity j we branch ovcr the alternatives j E Aik and j E Bik and
add the corresponding constrairits (5.12) or (5.13), (5.15), as well as for both
alternatives the relaxation
5.4. Continuo,us Cumulative Resources 139

of constraint (5.14) to the convex program (5.16). Each lcaf of the tree corre-
sponds to one distinct partition {Ai< BBik}. We can stop the enumcration for
activity i as soon as the inventory shortage at time Si or Si + p i is settled,
even if Aik u c Vk. In thc latter case, it may be necessary to resume the
branching later on if the shortage reappears whilc dealing with other resource
conflicts. Since for each resourcc k E 6 7 and each activity i E Vk, the con-
struction of thc corrcsponding sets AZkand Bik requires at most lVkl steps,
the height of the branch-and-bound tree is of order 0(1671n2).
The computational effort can be reduced considerably by tcsting whether
the search spacc P has becomc void before solving convex program (5.16).
Let Zj be the minimum time lag between activities i and j that is implied
by the prescribcd temporal constraints, incqualitics (5.12), and inequalities
(5.15) where 23" is sct to be cqual to 1 if j E VL and equal to 0, otherwise.
Assumc that for somc activity j E Vk the addition to set A i h r Bik leads to
+
a new temporal constraint Sj - Si 2 hij. Then P = 0 if hij dji > 0. In that
case, the alternative set B i b r Aik, respectively, can immediately bc selected
for activity j .
Now let (S,rc) be an optimal solution to (5.16) such that schedule S is
feasible. We then obtain a feasible schedule S' with f (S') < f (S) by
(a) moving all activities j E Vk from A" to B" for which (5.12) is activc,
(b) rnoving all activities j E VL from Bik to Aik for which rcjk = 1, and
(c) moving all activitics j E V: from Bik to Aik for which xgk = 0
and solving convex program (5.16) again. Bascd on this dominance rule, fea-
sible solutions belonging to leaves of the enumeration tree can bc improved
and thus thc currcnt upper bounds can bc dccrcased by performing the above
transformations (a) to (c).
Eventually, we consider the gcncral casc including discrete depletions and
rcplenishments at the occurrcnce timcs of events. For events j E B n V"
decision variable z, can be fixed to 0 if j E V; and to 1 if J E Vk+ because
p, = 0 (compare (5.15)). If activity i with t = S, or t = SZ+p, is chosen to be
an event, then i must deplete the stock of resource k . Moreovcr, for an event
j E B n V c it may happen that S, = t though x, = 0, i.e., x, < x,(S,t).
As a conscquence, the shortage at time t may pcrsist aftcr having introduced
constraints (5.12) to (5.15), in which case we perform backtracking. If problem
(F) is solvable, the enumeration tree contains alternative partitions removing
the shortage.
Applications

The present chapter is concerncd with applications of the concepts developed


in Chapters 1 to 5 to production planning problems in thc manufacturing and
process industries, to the evaluation of investment projects, and to resource
allocation problems that are subject to different kinds of uncertainty.
In Section 6.1 we discuss how schcduling problcms arising in make-to-order
asscnibly environments can be modelled as resourcc-constrained project sched-
uling problems. For different product structurcs, we considcr the definition of
appropriate minimum and maximum time lags ensuring a non-preemptive
cxccution of overlapping operations.
Section 6.2 is devoted to a hierarchical three-stage approach to small-batch
production planning using resource allocation methods from project man-
agement. The approach comprises the mastcr production schcduling, multi-
level lot sizing, and temporal plus capacity planning stages. At all levels, thc
scarcity of resources is taken into account, which differentiates this approach
from most production planning and control systems used in practice. The
lacking integration of capacity aspects is the essential reason for the generally
poor performance of the latter systems.
When scheduling batch plants in the process industries, a variety of tech-
nological peculiarities havc to be taken into account. In contrast to manufac-
turing, the batch processing times arc mostly indcpendcnt of the batch size
and the intermediate products must be stocked in dedicated storage facilities.
In addition, intermediate products may be perishable and to guarantce the
purity of output products, the processing units have to be cleaned between
the execution of certain operations. In Scction 6.3 we dcal with a two-phasc
method for production scheduling in the process industries, which decom-
poses the problem into a batching and a batch scheduling problem. For givcn
primary rcquirements, the batcliing phasc providcs thc numbcrs and sizcs of
the batches to be produced. Subsequently, the batches are scheduled on the
proccssing units in the batch scheduling phase. Thc batching problcm can bc
formulated as a mixed-integer linear program of polynomial size. By using
the concepts of renewable and cumulative resources in combination with the
142 6. Applications

supplerrients from Chapter 5, tlie batch scheduling problem can be modelled


as a resourcc-constraincd project scheduling problem.
In practice, it is customary to evaluate investment projects based on
the net present value criterion. The maximum net present value of a time-
constrained investment project can, e.g., be computcd by using the steepest
descent method for convexifiable objective functions discussed in Chapter 3.
In literature, however, it is commonly acccpted that often the discount rate to
be applied (i.c., the rcquired rate of return) cannot be deterniincd with suffi-
cient accuracy. Morcover, the project deadline may be subject to negotiations
between the investor and his customers. In Section 6.4 we show how using tlie
steepest descent approach, the project net present value can bc rcprcsented
as a function of the discount rate and project deadline. On the basis of this
function, investment projects with unccrtain discount rate can be evaluated
for a variable project deadline.
Throughout our previous discussion we have supposed that data such as ac-
tivity durations, time lags, and rcsource requirements are dctcrministic quan-
tities. Clearly, this is a simplifying assumption, which ncverthclcss is justified
in many cascs whcn the projcct data can bc forecast reliably and srnall de-
viations from schedulc do not seriously affect the execution of the project.
Sornetimcs, howcver, the lattcr conditions arc not met, in particular when
coping with long-term projects like in the building industry or with produc-
tion scheduling problenis where machines and equipmcnt may be subject to
disruption. It is then expedient to takc uncertainty into account already when
scheduling the project or to adapt the schedule in a suitable fashion during
its implementation. In Section 6.5 we propose two deterministic strategies for
coping with uncertainty in project management. The anticipative approach
consists in scheduling the project in a way that the impact of perturbations
is minimized. Alternatively or additionally, one may use a reactive approach,
wllcrc the project is rescheduled after each disruption and the objective is to
minimize tlie changes with respect to the previous schedulc.

6.1 Make-to-Order Production Scheduling

We consider the processing of a given set of customer orders in a multi-level


makc-to-order manufacturing environment, where no inventories are built up
for future sale. At first, we rccall some basic concepts from materials rcquirc-
rncnts planning (see, e.g., Nahmias 1997, Sect. 6.1). We assume that each final
product consists of several subasscmblics, which in turn may contain several
conlponents from lowcr production levels. Let Pf be the set of all final prod-
ucts ordered and let P be thc sct of all (intermediatc or final) products 1
undcr consideration. Generally speaking, the product structure of a firm can
be represented as a gozznto graph G = (P,A, a ) with nodc sct P . Arc sct A
contains an arc (I, 1') wcighted by znput coeficient all, E W if all, units of
6.1. Make-to-Order Production Scheduling 143

product l are directly installed into one unit of product 1'. Pf coincides with
the set of all sinks of G.
Now let xl E Z>o denote the gross requirements for products 1 E P . The
gross requirements-zl for final products l E Pf arc equal to the primary
requirements dl given by the customer orders. The gross rcquirements xl for
intermediate products 1 can easily be obtained by a bill of materials explosion,
all'xl, (1 E P ) .
i.e., by solving the systcm of lincar equations xl = dl + C ( l , l , ) E A
Since there are no stocks available, the gross requirerncnts xl coincide with
the amounts ql of products 1 to bc manufacturcd.
Each product 1 E P must be processed on machines of diffcrcnt types k in a
prescribed order, which is given by the process plan of product I. Scvcral iden-
tical machines of each type k (k-machines, for short) may bc available. The
processing of a batch of product 1on a k-machine is referred to as an operation,
which is denoted by kl. The execution of operation kl requires a (sequence-
independent) setup time dkl during which the machine is occupied. For what
follows wc assume that no items of product 1 arc nccded for installing the
machine. In addition, we suppose that the production is performed accord-
ing to a single-lot strategy, i.e., all units of a product are processed in one
batch of sizc xl. The latter assumption is gcncrally met in make-to-order pro-
duction sincc cach product is manufactured in response to a customer ordcr,
and splitting the batches would incur additional setup times without saving
considerable holding cost. Hence, the processing time of operation kl is

whcrc u k , E W is the unit processing time needed for producing one itcm of
product 1 on a k-machine.
The make-to-order production scheduling problem consists in finding an
opcration schedule such that no two operations overlap in time on a machine,
the opcration sequences given by thc process plans are observed, a sufficient
amount of input products is available during the execution of cach opcration,
and somc objcctivc function (e.g., the makespan) is minimized. In the follow-
ing, we show how the production scheduling problcm can bc modelled as a
resource-constrained project scheduling problem with renewablc and cumula-
tive resources. The model is based on the previous work by Giinther (1992)
and Neumann and Schwindt (1997).
For each operation kl we introduce one real activity, also denoted by kl,
whose duration pkl is given by (6.1). A machine type k is identified with a
renewable resource k E RP.Resource capacity Rk equals the number of k-
machines available. Each activity kl requires one unit of resource k .
Project network N is obtained by exploding each node 1 E P of gozinto
graph G into the respective (directed) path from the initial operation kl to
the terminal operation k'l in the process plan of product 1 (see Figure 6.1).
Thc arcs (1,l') E A are then replaced by arcs (k'l, kl'l') linking the terminal
operation k'l of 1 with the initial opcration k"l1 of 1'. Moreover, all initial
144 6. Applications

operations of products at the lowest production level are connected with the
project beginning event 0, and the terminal operations of the final products
are connected with the project termination event n + 1. Finally, backward arc
(n -f-1,0) is added.

Fig. 6.1. Project network without arc weights arising from gozinto graph

We proceed by assigning weights Ski^kw to the arcs {kl^ k'l') of N. The


arcs emanating from node 0 are weighted with 0 and the arcs terminating
at node n -\- 1 are weighted with the duration of the respective initial node.
The weight (5^+1,o = —d is chosen to be the negative maximum makespan
allowed. Now let kl and k'l be two consecutive operations in the process
plan of product I. At first, we consider the case where Uki < Uk'i, which is
depicted in Figure 6.2. Clearly, we may start the execution of operation k'l
when the preceding operation kl has been completed. From Figure 6.2 it can
be seen, however, that much time can be saved if we allow for overlapping
operations. The processing of the first item of product I on the /c'-machine
can then be started as soon as the first item on the /c-machine has been
completed without causing any idle time on the fc'-machine. Hence, instead of
adding a precedence constraint between kl and k^l, we introduce a time lag of
^ki,k'i = '^ki-\-'^ki — '^k'l < Pki uuits of time between the starts of operations kl
and k'l. The time lag ensures that at any point in time where k^l is in progress,
a suflicient amount of product I has already been processed on the /c-machine.
Note that, as shown in Figure 6.2, time lag Ski,k'i niay even become negative,
in which case we have a maximum time lag of —Ski^k'i units of time between
operations k'l and kl,

k' k'l uk'l

]
k "^ δkl,k'l kl ukl
. t

Fig. 6.2. Overlapping operations kl and k'l with Uki < uy,
6.1. Make-to-Order Production Scheduling 145

T h e case where Uki > Uk'i is illustrated in Figure 6.3. Here, starting opera­
tion k'l at the completion of the first item of product / on t h e A:-machine would
mean t h a t after the processing of the first item on the fc'-machine, the required
second item from the /c-machine is not finished. Thus, we synchronize b o t h
operations in a way t h a t the last item on the fc'-machine is processed after
the completion of operation kl, i.e., Ski^k'i = '^ki + xiUki - {xi - l)uk'i - 'dk'i-

I
k' δ kl,k'l J k'l uk'l

k kl ukl
_^ t
Fig. 6.3. Overlapping operations kl and k'l with Uki > u^n

In sum, between two consecutive operations kl and k'l belonging to one


and the same product I e P, we introduce the time lag

S , ^ f '^ki + Uki - "dk'U if "^ki < Uk'i .g 2)


^^'^'^ \ '^ki + xiUki - {xi - l)uk'i - 'dk'u otherwise

which is the smallest lapse of time t h a t guarantees t h a t operation k'l need


not be interrupted because no items are available.
In practice, it is often expedient to transfer items in batches from one
machine to another. T h e transportation lot size yi E N for product / G P
is then specified by the size of pallets or containers used for t h e t r a n s p o r t
of /. In addition, we suppose all machines of a given type k to be grouped
in a /c-shop, where tkk' € Z>o denotes the transfer time from the k- to the
/c'-shop (implicitly, we have supposed until now t h a t yi = 1 and tkk' = 0
for all products I and all machine types k^k'). Formula (6.2) can easily be
adapted to the case of general transportation lot sizes and transfer times by
noting t h a t the items now arrive at the /c'-shop in transfer batches of size yi. If
Uki < Uk'h this means t h a t the first batch is conveyed 'dki+ViUki units of time
after the start of kl, whereas for Uki > Uk'u Vi items of product / remain to
be processed on the fc'-machine after the completion of kl. In b o t h cases, the
respective transfer time tkk' must be included. We then obtain the following
formula for the time lag Ski^k'i between consecutive operations:

^kl.k'l ={ '^ki + yiUki - 'Ok'i + tkk', if Uki < Uk'i


'kl H- xiUki - {xi - yi)uk'i - 'dk'i + tkk' otherwise
(6.3)

Note t h a t yi = xi corresponds to nonoverlapping product processing, where


(6.3) provides the same value for both cases Uki < Uk'i and Uki > Uk'i-
Next, we consider the transition from the terminal operation kl in the
process plan of a product / to the initial operation k'l' in the process plan
of a succeeding product /' with (/,/') G A. We assume t h a t /' is the only
146 6. Applications

product containing items of product 1. In particular, the latter assumption


is always fulfilled if the product structure is linear or convergent, i.c., if the
gozinto graph G is an intrec. The case of common parts, which are installed
into different products l', is studied below. To simplify writing, we establish
the convention that yl/all, is integral, which means that all items of product 1
needed for the production of one unit of product 1' arc transferred at the
same time. The first item of product 1' cannot be processed before all! items of
product 1 have been completed on the k-machine. If the time all,ukl needed for
producing all, items of 1 is less than or equal to unit processing time uktl,, we
can start the processing of 1' as soon as the first transfer batch of product 1 has
been conveyed from the k- to the kt-shop. Otherwise, we start the processing
of the last yl/all, items of product 1' on machine k' after the last transfer of
yl items of product 1 from the k- to the kt-shop. Hence, the time lag Skl,kfl,
between terminal operation kl and initial operation k'l' is chosen to be

+ + <
81;~ Y ~ U M- 2 9 1 c / ~ t ~ if allfukl
, ukrl
Skl,k'l' =
+
flk1 alllxllul;l - ( ~ 1 1- E ) u l c / ~ +
- Iqk'l/ tkk,, otherwise (6.4)

Note that formula (6.3) may be interpreted as the special case where 1' = 1
and all, := 1.
We now turn to gcncral product structures containing common parts 1 E P.
The presence of common parts leads to an asszgnment sequence problem, where
we have to decide on the order in which completed items of product 1 are al-
lotted to succeeding products l'. For a given assignment sequence, appropriate
time lags may then be computed in analogy to the case of a convergent prod-
uct structure. For details we refer to Neumann and Schwindt (1997). In the
latter reference, a procedure for finding a suitable block-structured assignment
sequence has been devised, where all items allotted to one and the same prod-
uct 1' are processed consecutively. For that case, time lags Skl,k,l,can again
be written in closed form.
Alternatively, common parts can be dealt with by introducing cumulative
resources. This approach, which has not been considered by Neumann and
Schwindt (1997), offers the prospect of being independent of an assignment
sequence to be specified in advance. Let 1 E P be some common part. We
again consider the case where all items of 1 being assigned t o some product
are processed one after another, and for simplicity we assume that 1 is in-
stalled into two products, say, 1' and 1". At first, we identify product 1 with
a cumulative resource 1 E R Y with zero safety stock and infinite storage
capacity R1. We then decompose a copy of operation kl into two auxiliary op-
erations kl' and kl'' with durations pkl~= all,zpukl arid pkl,, = all,,xl,,ukl to
be executed on the same fictitious kmachine (which must be represented by a
separate renewable resource & with capacity Ri = 1).To ensure that after the
setup of the k-machine, operations kl' and kl" are processed in parallel with
operation kl, we add the time lags bkl,kl,= 6kl,kl,,= d k l , Skl,,kl = pkl, - pkl,
and bkl,~,kl = pkl" - pkl. Because kl' and kl" cannot overlap, they must be
6.2. Small-Batch Production Planning in Manufacturing Industries 147

processed consecutively without any delay in between. The start events of


both operations kl' and kl" replenish the cumulative resource by all,xl, and
a l l , , x p units, and the start events of initial operations k'l' and kl'l" in the
process plans of products 1' and 1" deplete the inventory of 1 by a l l ~ x pand
a l p x l , , units. Eventually, we introduce time lags dkl',k'l' and dkl",lc"l"of type
( 6 . 4 ) between the auxiliary operations k1' and kl" and the respective initial
operations k'l' and k"ll', which guarantce that a sufficient amount of product
1 is available when starting operations k'l' and k1'1''.

6.2 Small-Batch Production Planning in Manufacturing


Industries

In this section wc review a capacity-oriented hicrarchical planning method


for small-batch multi-level production planning in manufacturing industries,
which has been proposed by Neumann and Schwindt (1998). An earlicr version
of this approach is describcd in Franck et al. (1997). We consider the three
planning stages capacitated master production scheduling, multi-level lot siz-
ing, and temporal plus capacity planning (in the original paper, an additional
fine planning stage has been included). Thc optimization problems arising
at the capacitated master production scheduling and temporal plus capacity
planning stages can be formulated as resource-constrained projcct schcduling
problems. Alternative approaches to hierarchical production planning have,
e.g., been devised by Carravilla and de Sousa (1995), Schneewcia (1995), Drexl
and Kolisch (1996), Schneewcia (2003), Ch. 6, and Kolisch (2001b), Ch. 4. El-
ements of capacity-oriented production planning and control systems have
becn discussed in Drexl et al. (1994).
At thc stagc of c a p a c i t a t e d m a s t e r p r o d u c t i o n scheduling, a master
production schedule (MPS) has to be determiricd, which translates the pri-
mary requirements for final products into monthly production ordcrs for final
products and rnain components such that the workload of work centers is as
smooth as possible over time. An even utilization of the work centers helps
to avoid expensive capacity adjustment mcasures and facilitates the deter-
mination of fcasible solutions at subsequent planning stages, where explicit
resource constraints have to be takcn into account. The planning horizon of
this first stagc is usually about one year comprising twclvc periods of one
month each.
For the final products thc amounts to bc produced and corresponding
month-precise dclivery datcs are given by the customer orders. We assume
that all customer ordcrs must bc met on time. From the order quantities of
final products and the product structure of the company, the gross require-
ments for main components at lower production levels can be computed by a
bill of materials explosion. To obtain the net requirements, we subtract the
corresponding available stocks.
148 6. Applications

To schedule the production of the final products and main comporients


(rcferred to as m a i n products in what follows), we model the problem of de-
termining an appropriate MPS as a resource levelling problem with, e.g., the
total squared utilization cost as objective function. To this end, we first de-
fine a project with renewable resources for each individual customer order.
The production of the net requirement for each main product i of such a
customcr ordcr is regarded as an activity i of the project. The duration pi of
activity i results from summing up thc sctup and processing times for prod-
uct i and thc components of product i at lower production levels. To obtain
the minimum time lag d z i n between the start of activity i and the start of
any subsequent activity j in the product structure, some buffer for waiting
times arising whcn scheduling the components of all production levels has to
be added to pi. This time buffer can bc cstimatcd by using conccpts from
queueing theory (scc Sohner 1995, Ch. 3). The renewable resources required
for carrying out the activities of the project coincide with the respective work
ccnters involved. Thc rcsourcc rcquirernents of product i are assumed to bc
distributed uniformly ovcr the exccution time pi of activity i .
The project networks for all customer orders are thcn joined together to
make a multi-project network by adding the project beginning and termination
nodes O and nfl and connccting nodes O and n f l with all initial and tcrmir~al
activities, respectively, of the individual project networks. The backward arc
(n + 1 , O ) corresponding to tllc project deadline 2 is wcightcd by -2 = -A,
where A denotes the planning horizon (typically about one year). A delivery
date di for some product i can be modelled by a maximum time lag d g u x =
-
di - p i between the project start and the start of activity i.
The objcctive function of the resource levelling problem can be chosen to
be any of the objective functions dealt with in Subsection 2.3.2. A solution S
to the resource levelling problem provides month-precise milestones for the
production of the gross requirernents for the main products.
At the stage of multi-level lot sizing, the main products arc dccomposed
into intermediate products for which weekly production quantities (also called
lots or batches) are computed. In the lot sizing model, the planning horizon of
roughly thrcc months is divided into periods of one week each. The production
orders for the main products, which define the primary requirernents of the
lot sizing model, are given by the MPS.
The production of the intermediate products requires several resources.
Each resource corresponds to a group of machines. The processing of a product
on a resource necessitates a setup of the resource, which takes a setup time
and incurs a setup cost. Additional costs arise from stocking products. Setup
and proccssing times are given in time units (for example, hours). For a given
resource, the aggregate per-period availability corresponds to the workload in
time units which can bc executed by tlie machines of the corrcsponding group
within one period. The objcctivc is to determine lots for the intermediate
products such that no backlogging occurs, the per-period availabilitics of all
resources are observed in all periods, and tlie sum of setup and inventory
6.3. Production Scheduling in the Process Industries 149

holding costs is minimized. This problcm represents a multi-level capacitated


lot szzing problem, for which Tempclmcicr and Derstroff (1996) have devclopcd
the following Lagrangean-based heuristic. By relaxing the inventory balancc
and capacity constraints, a decomposition of thc original problem into scveral
single-level uncapacitated lot sizing problems of thc classical Wagner-Whitin
type is obtained, which can be solved efficiently by dynamic programming
(cf. Wagclmans ct al. 1992). Violations of the relaxed constraints arc takcn
into consideration via a Lagrangean pcrialty function, whose multipliers are
iteratively updated in the course of a subgradient optimization proccdure.
Intermediate products may be further broken down into individual com-
poncnts. At the stage of t e m p o r a l plus capacity planning, the production
of those components has to be scheduled on groups of idcntical machines for
cach wcek (period of the lot sizing stage). The weekly gross rcquirements for
the individual components can be found by a bill of materials explosion from
the lots for intermediate products computed at the lot sizing stage. Since all
lots have to be processed within one week, we aim at minimizing the maxi-
mum completion time of all operations, i.e., the makespan. As has been shown
in Section 6.1, the latter production scheduling problem can be modelled as
a project duration problem with renewable and cumulativc rcsources.
Since at the lot sizing stage, only aggregate per-period capacities of re-
sources have been taken into account, it may happen that the makespan found
at the temporal plus capacity planning stage exceeds the dcadlinc of one week.
In that casc, we have to re-perform lot sizing such that the size of a t lcast one
lot is reduced. This can bc achicvcd by dccreasing the aggregate capacity of
rcsources whose capacity has been violated, which corresponds to a feedback
mechanism originally proposcd by Lambrccht and Vanderveken (1979) for thc
spccial case of a job shop environment.

6.3 Production Scheduling in the Process Industries

In this section we are concerned with production scheduling in the process


industries, where similarly to the case of manufacturing dcalt with in Sec-
tion 6.1, final products arise from scveral successive transformations of in-
termediate products. In contrast to manufacturing, however, whcrc a limited
numbcr of picce goods arc proccssed on machincs, in the process industries the
transformations arc performed by chemical rcactions of bulk goods, liquids,
or gases on processzng unzts such as rcactors, heatcrs, or filters. The trans-
formation of input products into output products on a dedicated processing
unit is called a task. Each task may consume several input products and
may produce several output products, whose amounts may be choscn within
prcscribed bounds. Perishable products must be consumcd in the space of a
given shelf life time, which may be equal to zero. In the latter case, the in-
termediate product cannot be stocked. In addition, the storablc intcrmcdiatc
products must be stockcd in dedicatcd storage faczlztzes like tanks or silos.
150 6. Applications

That is why storage problems play an important role in the process industries
(see, e.g., Schwindt and Trautmann 2002). Further peculiarities encountered
in the process industries are cyclic product structures, sequence-depcndcnt
cleaning times on processing units, and large processing times, which may
necessitate the explicit consideration of breaks like night-shifts or weekends.
Throughout this section we assurnc that the production is operated in
butch mode, which means that at tlie beginning of a task, the input products
are loadcd into thc processing unit, and the output becomes available at thc
termination of the task. The case of continuous production modc can be dealt
with by using the concept of continuous cumulativc rcsources introduced in
Scction 5.4. As a rulc, the production is organized according to batch mode if
small amounts of a large number of final products are required (whereas the
continuous production mode is typical of basic rnatcrials industry such as oil or
dycstuff industries). The combination of a task and the corresponding quantity
produced is called a batch. An oper.ation corresponds to the processing of a
batch. Since the batdl sizes are limited by the capacity of the processing units,
a task may bc performcd morc than once, rcsulting in several corresponding
operations. In contrast to manufacturing, the processing tinies of operations
are gencrally independent of the respective batch sizcs.
The production scheduling problem to be dealt with consists in allocating
processing units and storage facilities over time to the production of given pri-
mary requirements such that all operations are completed within a rriininlum
makespan. This objective is particularly important in batch production, where
often a large number of different products are processed on multi-purpose
equipmcnt (cf. Blomcr and Giinther 1998). In this case, the production plant
is configured according to the set of production orders rcleascd. Before process-
ing the next set of production orders, the plant has generally to be rearrangcd,
which requircs the completion of all opcrations.
There is an extensive literature dealing with production scheduling in the
process industries. Most of the solution approaches discusscd are based on
time-indexed or continuous-time mixed-integer programming formulations of
the problem, cf. e.g., Kondili et al. (1993), Pinto and Grossmann (1995),
Blomer and Giinther (1998, 2000), or Burkard et al. (1998). For a detailed
review of literature, we rcfcr to Blomer (1999), Sect. 4.2, and Schwindt and
Trautmann (2000).
Thc spccial feature of the approach by Neumann ct al. (2001), which wc
shall discuss in what follows, is the decomposition of the production scheduling
problem into a batcl~ingand a batch scheduling problcm. A similar technique
has been used by Brucker and Hurink (2000) for solving a related produc-
tion scheduling planning problem. This decomposition offers the prospect of
markedly decreasing the sevcrc computational requirements incurred by solv-
ing tlie entire production schcduling problcm at once. Thc hatching phase
gencrates appropriate batches, which in the course of the batch scheduling
phasc are subsequently scheduled on the processing units subject to inventory
constraints. The batching probleni can be formulated as a mixed-integer lin-
6.3. Production Scheduling i n the Process Industries 151

ear program. The batch scheduling problem can bc viewed as a multi-modc


resource-constrained project scheduling problem with rencwable and cumula-
tive resources, scquence-dependcnt changeover times, and calendars.
We first deal with the batching problem. Batching converts the given
primary requirements for final products into individual batches for tasks,
where the objective is to minimize the workload, i.e., the total amount of
work to be performed on the processing units. For each task we determine a
collection of batches such that all primary requirements can be satisficd, there
is sufficient capacity for stocking the rcsidual inventories after the completion
of all operations, the prescribed bounds on the batch sizcs arc observed, and
the workload to be processed is minimum.
Wc arc going to formulatc the batching problem as a mixed-intcgcr lincar
program (see Schwindt 2001 arid Neumann ct al. 2002). Let T be the set of
all tasks s, and let U be the set of all processing units k. Us C U is the set
of all processing units on which task s can bc cxecuted. By pks we designate
thc processing time of task s on proccssing unit k E U s . The mean proccssing
timc of task s- on any processing unit k E Us is ps = xkEU, pks/lUs 1, and
v , = [CkEu, d/pk,l is an uppcr bound on the number of batches for task s
which can be executed in the planning period [0,2]. For each task s E T,
a lowcr bound q and an upper bound gs on the batch sizc are given. The
lower bound ge&ally arises from technological or cconomical requirements,
whereas the upper bound cquals thc capacity of the respectivc processing
units.
By P we again denote the set of all products 1 to bc produced, and dl is the
primary requirement for product 1. Each storable product 1 E P is stockcd in
a dcdicated storagc facility of capacity q . For simplicity we assumc that thcre
are no initial stocks of products 1, that a sufficient amount of raw materials
is available, and that no safcty stocks have to be taken into account. Each
product 1 E P arises as output of somc tasks s E T , and each intermcdiate
product 1 E P is also input to some other tasks sf E T. The analogue to
the input cocfficients in manufacturing are the input and output proportions
-1 < al,< 1, which providc the proportions of products 1 in the input or
output, respectively, of task s. We have al, < 0 if 1 is an input product of
s and al, > 0 if 1 is an output product of task s. For products 1 that are
neither consumed nor produced by task s, we set al, := 0. For what follows
wc assume that the proportions al, cannot be varied (Neumann et al. 2002
have considered the general case of flexible input and output proportions).
The batching problem can now be formulated by introducing, for each
task s E T, v , continuous variablcs q$ 2 0 ( p = 1,.. . , u s ) with the following
meaning. If the number of batches for task s is grcatcr than or equal to p, qf
providcs the sizc of the p-th batch and q$ = 0, otherwise. In addition, we need
binary variablcs xf with x :
+
' < x/:.( p = 1 , . . . , v, - 1), where xf = 1 indi-
cates that there exists a p-th batch for task s and xf = 0, othcrwise. The total
workload to be processed then equals C s E T p sx T = l xf (rccall that the pro-
cessing time of a batch is iridcpcndent of the batch size). The linking betwccn
152 6. Applications

variables qf and xf can be achieved by the inequalities qf/?j, I xt I qf/qs,


which at the same time ensure that the batch sizes are between thc lower and
upper bounds q and g,.
al,qf is the-8ncrease in the inventory of product 1 after one execution of
task s (which is ncgative if 1 is an input product of s ) . The quantity of product 1
remaining on stock after the execution of all batchcs cquals CsET uls C>=l q f ,
which must not be less than the prinlary requirements dl for product I . On
the othcr hand, thc residual amount of product 1 after thc delivery of the
demands must not exceed the storage capacity cl for product 1.
In sum, the batching problem can be stated as the following mixed-integer
lincar program:

A feasible solution (q, x) to batching problem (6.5) provides a set of operations


to bc scheduled on thc proccssing units. For cach task s E T, we have C,vl=' l xf
corrcsponding opcrations.
We now turn to the batch scheduling problem, which consists in allo-
cating thc rcsources to thc operations over timc such that the processing of all
batches is completed within a minimum amount of timc, i.e., the makespan is
minimized. A variety of technological and organizational constraints have to
be taken into account. A task generally requires different types of resourccs:
processing units with sequence-dependent cleaning times, input products, and
storage facilities for output products. The availability of these resources is lim-
ited by capacities and inventories. Break calendars specify time intervals dur-
ing which specific tasks cannot be processed. Certain tasks can bc suspcnded
during a brcak (e.g., packaging), whcreas othcr tasks (e.g., chemical reactions)
cannot be interrupted at all. Some tasks may be executed on altcrnativc pro-
ccssing units differing in speed and cleaning times. Finally, there may be
perishable intcrmediate products, which cannot be stored. In what follows we
develop a resource-constrained projcct scheduling model for the batch sched-
uling problem, which has been discussed in Ncumann ct al. (20036), Sect. 2.16
(see also Schwindt and Trautmann 2000 and Neumasm et al. 2002, who have
proposed similar models for batch scheduling).
Analogously to the casc of makc-to-order production dealt with in Sec-
tion 6.1, the execution of all operations can be viewed as a project, where
6.3. Production Scheduling in the Process Industries 153

the makespan to be minimized corrcsponds to the project duration Sn+l. For


each operation we introduce one real activity i E V a .The activity durations pi
are equal to the processing times of the corresponding tasks. In addition, we
introduce two cvents g, h E Ve for each operation i , representing the start and
the completion of i. Minimum and rnaximum time lags dz" = dm"" 29
= 0 and
dTrL= di;rx = pi ensure that y occurs at the start and h a t the completion
of 2 .
Each operation is executed on a. proccssing unit. Wc combine identical
processing units to form a pool. Each pool is modelled as a renewable resource
k E RP.Processing units are identical if they can operate the same tasks with
thc same processing and clcaning timcs. The requirement rik of activity i
for resource k equals 1 if operation i is carried out on a processing unit of
pool k and 0, otherwise. The resource capacity R k is equal to the number of
proccssing units in the corresponding pool.
The cleaning times between consccutivc opcrations on a proccssing unit
can bc modelled by introducing sequence-dependent changeover times between
the activities (cf. Section 5.2). The changcovcr time 19fj between two activities
i and j on renewable rcsource k E R P equals the cleaning time after operation i
if j requires a cleaning of resource k . Whcn chccking the changeover-feasibility
of somc schedule S, the lower capacities of all arcs in the flow network equal
0 or 1 because r i k = 1 holds for all activities i requiring resource k . Hence,
the corresponding minimum-flow problem can be solved in ~ ( n l @ ~ ( stime )l)
by augmenting path algorithms (cf. Ahuja et al. 1993, Sect. 6.5).
Ccrtain operations cannot be in progress during breaks. We model breaks
by introducing an activity calendar bi for each real activity i E Va (cf. Sec-
tion 5.1). If operation i cannot be processed during breaks, bi(t) = 0 exactly if
time t falls into a break. For thc remaining activities i E V", wc have bi(t) = 1
for all t E [o,dl.
Some tasks s E T can be executed on altcrnativc processing units k E U,
belonging to different pools. For each corresponding activity i , we introduce
one cxccution mode m, for each alternative processing unit operation i can
be executed on (cf. Section 5.3). The requirements for renewable resources as
well as thc durations and changeover times then refer to individual execution
modes instead of activities.
Intermediate storage facilities can be modelled as (discrete) cumulative
resources. We identify each intcrmcdiate product 1 to be stocked with one
cumulative resourcc 1 E R Y with safety stock Rl = 0 and storage capac-
ity ?& = q . Thc requirements of start and completion events g, h E V" of
operations i for resource 1 can be determined as follows. Assume that oper-
ation i corrcsponds to the p-th execution of task s. If 1 is an input product
of task s, i.e., uls < 0, then r,l = alsqf. If 1 is an output product of s, i.c.
al, > 0, we have r,,l = alsqf. Note that the integrality of resourcc rcquirc-
ments r , ~r,h l E Z may necessitate a subsequent scaling of all requircmcnts
and storage capacities by some factor c E Q,which does not affect the time
complcxities of the solution algorithms discussed.
154 6. Applications

Finally, we turn to perishable intermediate products. We only considcr the


case where a pcrishable product must be consumed immediately. The casc of
general shelf lifc timcs can be modcllcd by introducing auxiliary events and
curnulativc resources (see Scllwindt and Trautmann 2002). Let 1 be a perish-
able output product produced by some operation i . Then there must exist
some operation j that immediately consumes thc amount of 1 arising at the
completion of operation i . This can be ensured by introducing a minimuni
and a maxinluni time lag dy'" d;:"" = pi pulling the start of j to the
completion of I, provided that therc is a onc-to-one corresponderice between
operations producing and consuming pcrishable products. The lattcr rcquirc-
nlent can easily be intcgratcd into the batching problem and is generally met in
practicc bccause otherwise small deviations of the realizcd from the predicted
processing times would most often imply the loss of perishable substances. If
thc condition is not met, the immediate consumption of a perishable inter-
mediate product can be enforced by introducing a corresponding curnulativc
resource 1 with & = = 0.
Table 6.1, which is taken from Neumann et al. (2003b), Sect. 2.16, sum-
marizes the input data of a batch schcduling problem and their respective
countcrparts in thc resourcc-constraincd project schcduling model.

Table 6.1. Batch scheduling vs. project scheduling

Batch scheduling- Project scheduling-


Operations Activities
Makespan Project duration
Pools of identical processing units Renewable resources
Cleaning times Sequence-dependent changeover times
Breaks Activity calendars
Alternative processing units Multiple execution modes
Intermediate storage facilities Cumulative resources
Perishable intermediate products Minimum and maximum time lags,
cumulative resources

Based on the above decompositiori of the production scheduling problem


into batching and batch scheduling, Sclwindt and Trautmann (2000) have
been able to provide a feasible solutiori to a benchmark problem from industry
submittcd by Westcnbergcr and Kallrath (1995) for the first time (see also
Kallrath 2002). The latter case study covers most of the featurcs occurring
in the production scheduling problem of batch plants. Ncurriann et al. (2002)
have shown that the decomposition approach also comparcs favorably with
monolithic time-indexed mixed-integer linear programming formulations of
thc problem.
6.4. Evaluation of Investment Projects

6.4 Evaluation of Investment Projects

In this section we discuss a paramctric optimization proccdure, which has


been proposed by Schwindt and Zirnmerrnann (2002) for evaluating invest-
merit projects with rcspect to different project deadline and discount rate
scenarios (see also Zimmermann and Schwindt 2002). Projcct managers arc
frequently confronted with tlie probleni to decide whether some given invest-
ment project should be pcrforrned or to select one out of several mutually
exclusive invcstmcnt projects from a given portfolio. For tlie assessment of
investmcnts, the net present value criterion is well-established in research and
practicc (scc, e.g., Brealey and Myers 2002, Ch. 5). In classical preinvestrnent
analysis, investments are specified by a stream of payments, i.e., a series of
payments with associated payment times. Given a stream of payments and
a proper discount rate, the net present value of tlie project is obtained by
summing up all payments discounted to thc project beginning (case (a) in
Figure 6.4, where cxogenous parameters are written in italics).

Case (a) Casc (b) Case (c)

3 3
payments D % payments D
Q
temp. constr. D temp. constr. D
G 5'
09
ti'
09
$
payments D
payment times D
F 7
1 optimization problem 1 1 optimization problem 1
?

-0
f $
=i discou1~1~t
rate D
project deadline D
f2, P
0
5' v
tt F
T
lpayme1 lpayment stream] [net present value function]

discount rate D

Fig. 6.4. Evaluation of investments and investment projects

In case of investment projects, thc payment timcs arc no longer given in


advancc but are subject to optirnizatiori. An investment project consists of
a set of evcnts each of which is associated with a payment. Moreover, there
are prcscribed minimum and maximum time lags between the occurrence of
evcnts. Thus, the stream of payments results from maximizing the net present
156 6. Applications

value of thc project subject to tlic temporal constraints that are given by the
rninirnuni and maximum time lags (casc (b) in Figure 6.4).
The formulation of the latter optimization problem presupposes the knowl-
edge of the required rate of return (i.e., the discount rate) for discounting the
payments arid the specification of a maximum project duration (i.c., the proj-
ect dcadlinc). When dealing with rcal invcstmcnts in material goods like in
thc building industry, however, often neither is the propcr discount rate to be
applied known with sufficient accuracy nor is the projcct dcadline fixed when
the investment project must be evaluated. The required rate of return is a
thcorctical quantity and can only be estimated (scc Brcaley and Myers 2002,
Ch. 23). The project deadline generally arises from negotiations bctwecn the
investor performing the project and his customers. The parametric optimizu-
tion approach by Scliwindt and Zirnmermann (2002) providcs the maximum
project net prcsent value as a function of the discount ratc and project dead-
line chosen. The rcsulting net present value curve can then scrve as a basis for
thc decision of the investor, which depends on his individual risk preference
(casc (c) in Figure 6.4).
Lct Ve bc thc set of project cvents, including thc project beginning 0
+
and the project termination n 1, the start events of project activities, and
milestones at the completion of subprojects. The project events and thc corre-
sponding prescribed time lags among them can be representcd by an event-on-
node network N = (V", E, S) with nodc set V", arc set E, and arc weights 6ij
for (i,j) E E (see Subsection 1.1.2). Each event i E Ve belonging to an ac-
tivity start is associated with a (negative) disburscmcnt cf < 0 for bought-in
supplies or outsidc scrvices. Progress payments cjf > 0 arise when subprojects
with milestones j E Ve have becn finishcd. Progress payments generally re-
fer to the direct cost which is incurrcd by the activities of the corresponding
subproject (cf. Daynand and Padniari 1997).
Given a discount rate CY > 0 and a project deadline 2,thc time-constrained
net present value problem reads as follows, whcre the- project deadline 2 is
+
specified by arc (n 1,O) E E with weight 6,,+l,o = -d:

Maximize C" (S) := 1cf e-""


iEV e
subject to Sj - Si > 6ij ((i,j) E E)
(6.6)
so= 0
Let S$ denote the fcasiblc region of problcm (6.6) for projcct deadline 2 and
let C* be thc corresponding optimal objective function valuc. A timc-fcasiblc
schcdule S with maximum net present value C a ( S ) = C* can be determined
by the steepest descent method from Subsection 3.2.2, where f ( S ) = -Ca(S).
Until now we have assumed that discount rate a and projcct dcadlinc 2
arc exogenous parameters. As we have mentioned above, however, the proper
discount rate a can only be estimated and the project deadline d may be
subject to negotiations. Thus, for an adcquate cvaluation of thc investmcnt
6.4. Evaluation of Investment Projects 157

project it is necessary to know the projcct nct prescnt value for a rangc of
rclevant values of a and d. In the sequel, we describe a paramctric optimization
procedure that determines the nlaximurn project net prcsent value C* as a
function of discount ratc a and project deadline 2. This algorithm extends a
method by Grinold (1972), who has studied the dependcncy betwccn C * and
> >
the project deadline d. Clearly, since Sf,' S$ if dl 2, C* is nondccreasing
in d.
The following considcrations are based on two basic observations that de-
rive from the study of schedulc scts and objective functions in Scctions 2.2
and 2.3. First, since thc net prcsent value objective function is lincarizable,
there always exists an optimal solution S to thc timc-constrained net prcsent
value problem (6.61that is a vertex of the feasible region S$ of (6.6). Second,
cach vcrtex S of S$ can be rcpresentcd by a spanning tree G = (V", EG)of
project network N.
Thc basic idca for computing net present value functzon

C* : [0,c o [ x [ E S , + ~ , w [ - +

with C * ( a , d ) = max{Ca(S) I S E $1 is to cover its domain by a finite


number of sets M such that on each of thosc sets, function C* can be specificd
in closed form. Clearly, C* is a closed-form function on subsets M of its
domain whcrc the active constraints for optimal schedules S arc thc same
for all (a,d) E M (and thus optimal schedules S can be represented by one
and thc same spanning trec G of N). For given spanning tree G, wc call an
c-maximal connected set M with the lattcr property a vulzd~tydomazn of G.
Now let U,, be thc node set of the subtree which results from G by deleting
arc ( 2 , j) and does not contain node 0. Recall that arc ( 2 , ~ ) E EG is called
a forward arc if it is oriented in direction of the unique path from node 0 to
node j in G, and a backward arc, otherwise (see Scction 4.1). In addition, let
CG(S) be the net present value of the evcnts from set UZ3given schedulc S .
The following four remarks indicate how to cornpnte the validity domains M
of spanning trecs G belonging to optimal schedules.

Remarks 6.1
(a) Given a and d, vertex S of S$ is optimal if and only if there exists a
spanning tree G representing S such that for each arc (i, j) E EG,it holds
> <
that C,", (S) 0 if arc (2, j) is a forward arc and C,",(S) 0 if (i, j) is a
backward arc. The latter condition is equivalent to the requircmcnt that
thcrc does not exist a feasible ascent direction z at S (see Subscction 3.2.2).
Hcncc, thc set U of all cvcnts that are shifted in time whcn modifying
projcct dcadlinc d coincidcs with set Un+l,oif backward arc ( n + l , 0) E EG
and is empty, otherwise.
(b) Givcn discount ratc a > 0, a spanning tree G belonging to an optimal
vertex S of S$ does not change whcn modifying project deadline 2, un-
>
til a temporal constraint S, - S, S,, with ( i , j ) $ EG becomes activc.
158 6. Applications

This property is immediate from the binary monotonicity of objective


function C" (see Subsection 2.3.1).
(c) Given deadline d, a spanning tree G bclonging to an optimal vertex S of
S$ does not change when modifying discount rate a, until for some arc
(i,j) E EG1net present value CG(S) changcs in sign. This property is a
consequence of (a).
(d) When modifying deadline 3 for fixed spanning trcc G, it follows from (b)
that the dcadlinc for which a new temporal constraint bccomcs active
is independent of discount rate a . Symmetrically, when modifying dis-
count rate a for fixed G, the discount rate for which CG (S)= O for some
(i, j ) E EG does not depend on deadline 2.This can be seen as follows.
Let S' be an optinlal vertex belonging to spanning tree G arid dcadline z t .
Then for given arc (i, j ) E EG,

Now recall that set U either coincides with set Un+l,o or is void. As
a consequence, nodes i and j necessarily belong to the same set U or
+
V \ U unless (i, j ) = ( n 1,O). For U = Un+l,o we have Uij = U if
+
(i, j) = (n 1,O), Uij C U if i, j E U, and Uij n U = 8 if i , j @ U . This
means that independently of set U and arc (i,j) wc have (I) Uij n U = 8
or (2) Uij \ U = 8. In case ( I ) , it follows from (6.7) that CG(St) = CG(S)
and in case (2), equation (6.7) providcs C$(St) = ~-"@-')c"(s). 23 In
sum, for each (i,j ) E EG it holds that Cg(S1) = O precisely if CG(S) = 0.

For a given spanning tree G, the nct present value function C* takes the
form

where schedule S is any optimal schcdulc that is spccified by spanning tree G


+
and U is the set of all events shifted when modifying 2.If ( n 1 , 0 ) @ EG and
thus U = 0,function C* is constant in project deadline d.
The amount by which 2 can be increased until a temporal constraint bc-
comes binding is

&(G) = min{Sj - Si - I (i,j ) E E \ { ( n+ 1 , O ) ) : i E U, j E Ve \ U)


6.4. Evaluation of Investment Projects 159

Analogously, for thc amount by which d can bc decreased, we obtain

The spanning tree G'- for an optimal schedule S' to project deadline d' =
-
d + a + ( G ) or 2' = d - a-(G) can be constructed without re-performing
any optimization by first, adding the arc (i,j) for the ncw active tcmporal
constraint to G and second, deleting an oppositely directed arc (g, h) with
minimum absolute net present value IC;,(S1)I in the resulting (undirected)
cycle in G.
We now turn to the problem of finding the sniallest discount rate a' > a
where some C$ (S)with (i, j) E Ec changes in sign. Let a&< a;j < . . . < a&
denote all discount rates aij > a. such that for given optimal schcdulc S,

~~y.1(S)= C C $ P . =0
hE u,,
Each of those discount rates aij corresponds to an intcrnal rate of return for
the payment stream given by payments c i for h E UZj arid schedule S. Thus,
discount rates aij can be determined by one of thc standard algorithms for
the calculation of internal rates of return (see, e.g., Zlieng and Sun 1999). Thc
following condition is necessary and sufficient for a changc in sign of C$ (S)
at a' = aij , where Aa := min{al. 23
- a, a$ - cutj, . . . , a,vj - a;''):

For each set U,, , we calculate the smallest discount rate a,, > a for which
(6.9) and (6.10) arc satisficd. An optimal schcdule S' for discount rate a' :=
min(,,,)EE, at3then results from dclaying cvents h E U,, by a + ( G ) time units
if (i,3) is a forward arc of G or from putting events h E U,, forward by a - ( G )
time units if ( i , ~ is
) a backward arc of G. Thc corrcsponding spanning tree
G' can be determined analogously to the case where deadline d is varied.
In summary, each spanning tree G is valid for a rectangular set M which
can be specified by the bottom left corner ( a , d ) and the top right corner
(al,d')(see Figure 6.5). For given a and d, the values of a' and d' can be
computed as described above. On the validity domain M for G , thc net prcscnt
value function can bc writtcn in the closcd form (6.8).
Algorithm 6.1 provides a proccdure for computing all bottom-left corners
(a,2) of scts M along with the corresponding spanning trces G that uniquely
define function C* on sets M. Q is a list of triples ( a , & G) sorted according
to nondecreasing discount rates a, ties being broken on the basis of incrcasing
deadlincs d. For convcnicncc wc again put min 0 := oo.How to find an appro-
priate initial discount ratc a0 > 0 is described in Schwindt and Zimmcrmann
(2002).
160 6. Applications
deadline

I
I I I I I discount rate

Fig. 6.5. Validity domain M for spanning tree G

Algorithm 6.1. Computation of net present value function

Input: Event-on-node network N = ( V " ,E , 6), cash flows cf for all events i E V ' ,
initial discount rate ao > 0.
z,
Output: Set C of triples ( a , G ) .
compute spanning tree G belonging to optimal schedule for 2= ES,+1 and
ff = CYO;
initialize list Q := ((0, ES,+l, G ) ) and set of triples C := ( ( 0 ,ES,+l,G));
while Q # 8 do
delete first element ( a ,2,G ) and all other elements ( a ,., G ) from list Q ;
repeat
determine a' := mi11{a,~I (z,j ) E EG, aZ3satisfies (6.9) and (6.10));
if a' < m then
construct the spanning tree G' belonging to a' and 2;
add triple (a',& G') to Q and C ;
if a+(G)< m then
+
set 2' := 2 a + ( G ) ;
construct the spanning tree G' belonging to CY and ;i';
if there is no triple (.,;i',
G') in list Q then add triple ( a , d ' ,G') to C ;
set 2 :=-
;
i' and G := G';
else put d' := ca;
until 2' = m;
return C ;

6.5 Coping with Uncertainty

In this section we propose two deterministic strategies for coping with uncer-
tainty in resource allocation problems. When executing a project, unforeseen
downtimes of resources, staff time off, reworking time, late delivery of raw
materials or bought-in parts, or imprecise time and resourcc estimations may
cause considerable deviations from the schedule determined. Basically, there
are two ways of taking uncertainty into account when performing the resource
6.5. Coping with Uncertainty 161

allocation. First, we may anticipate deviations from predictive data by includ-


ing thc knowledge of uncertainty into the scheduling decisions. Second, when
implementing thc schcdule, we may also react on disruptions in a way mini-
mizing the impact of the required adaptations. An overview of different ap-
proachcs to project scheduling under unccrtainty is givcn by Demeulemeester
and Herroelen (2002))Chs. 9 and 10, and Herroelen and Leus (2OO5),including
stochastic, fuzzy, robust, and reactive project schcduling. Robust and reactive
methods for project or production schcduling are reviewed in Herroelen and
Lcus (2004b) and Aytug et al. (2005), respectively.
Substantial work has bccn donc in the arca of (anticipative) stochastic
prqject scheduling problem, wherc activity durations are modclled as stochas-
tic variables and onc attempts to minimize the expected value of a regular
or locally regular objective function (see Mohring 2000 and Uetz 2003 for
overvicws and Stork 2001 for an in-depth treatment of the project duration
problem). Algorithms for stochastic project scheduling are based on thc con-
ccpt of scheduling policies, which may be rcgarded as a specific application of
the theory of stochastic dynamic programming to scheduling problems. Var-
ious classes of policies have bccn developed, which show a differcnt behavior
with respect to robustness and computational requircmcnts. In principle, the
policies studied define (ordinary or disjunctive) precedencc relationships in-
ducing feasible strict orders in the set of real activitics. During the project
execution, an activity is started as soon as all of its predecessors in that strict
order have been completed. If we deal with arbitrary nonregular objcctive
functions, those policies cannot be applied because it is generally no longcr
optimal to start activities at their earliest time- and resource-feasible start
times.
An altcrnative anticipative approach to coping with uncertainty in plan-
ning problems refers to the concept of robust plans (see Scholl 2001, Ch. 4).
We say that a plan is robust if it tcnds to require only minor revisions during
its implementation. In project scheduling, a robust schedule may be defincd on
the basis of the free floats of activities as follows. For the moment we assumc
that only temporal constraints have to be observed. How to integrate resource
constraints into this approach will be explained below. In Subsection 1.1.3 we
have defined the concepts of early and late free floats with respect to the earli-
est and latest schedules. Whcn implcrnenting a schedule S, we may regard the
activities as being "frozen", i.e., ESi = LSi = Si for all i E V. In that case,
the early free float E F F i of an activity i E V with rcspect to schedule S is
thc maximum amount of time by which thc start of activity i can bc delayed
given that any other activity j can be begun at its previous start timc Sj.
Synlmetrically, the late free float LFFi with respect to schedule S is the max-
imum amount of time by which the start of activity i can be advanced given
that any other activity j can be begun at its previous start times S,. Hence,
a schedule that maximizes the (weighted) sum of all early and latc frec floats
contains thc maximum (wcighted) temporal buffcrs for shifting activities in
time without affecting the start timcs of any other activity. Such a schedule
162 6. Applications

can be computcd by minimizing thc convex objective function f of the total


weighted free float problem (see Subsection 2.3.1) with

f ( S )= w a x S +6 - min [S, -
icv (.i,i)~E (i,j)~E

whcre weights w f E N can bc chosen to reflect the degree of uncertainty with


respect to start time Si. The time-constrained total wcighted free float prob-
lem can bc transformed into a tigc-constrained project scheduling problcm
with a linear objcctive function f by introducing, for each i E V, two aux-
+
iliary activitics i' and il' where ( 1 ) Sil > S j Sji for all ( j , i ) E E and ( 2 )
<
S,U S j - for all ( i , j ) E E. Conditions ( 1 ) and ( 2 ) can be expresscd via
additional arcs ( j ,i l )with wcights djit = 6,i for all ( j , i ) E E and arcs ( i l ' , j )
-
with weights = 6ij for all ( i ,j ) E E. Lincar objective function f is then
given by ?(s) = CiEv w f ( s i , - S p ) . A similar model for time-constrained
robust project scheduling under a probabilistic scenario has been studied by
Herroelen and Lcus ( 2 0 0 4 ~ )The . objcctive function considered in the lattcr
paper is the expcctcd wcighted deviation in start times between thc realized
schedule and baseline schedule S , where it is assumed that no activity i is
started bcfore its prcdictivc start tinlc Si.
We now drop our assumption of infinite resource availability. In the pres-
ence of resource constraints, the free floats depend on the way in which re-
source conflicts arc resolvcd. Similarly to stochastic project scheduling, thc
conflict resolution strategy can be spccified as a feasible relation p in thc
set V of all activities (cf. Subsections 2.1.1 and 2.1.2). Thc feasibility of p
implies that in combination with the temporal constraints, the precedence
constraints among real activities and among events given by pairs ( 2 , j ) E p
guarantee that the resource constraints are satisfied. Thus, by substituting
project network N into relation network N ( p ) and minimizing f on relation
polytope S T ( p ) , we obtain a fcasible robust schedule that maximizes the total
weighted frec float for the givcn set of precedence constraints. It remains to
show how to determine a feasible relation p such that the minimizer S of f
on S T ( p ) also minimizes f on the set S of all feasible schedules, i.e., such
that S is a feasible schedule with maximum total wcighted free float. First,
we notice that when replacing project network N with relation network N ( p ) ,
the objective function to be minimized turns into fP : ST + R with

fp(S)=
iEv
w j ( max [S,
(.?,i)EEUp
+ 651 - (i,j)EEUp
min [Si - 6$])

whcre 6;% and 6: denote the weights of arcs ( j , i ) and ( i ,j ) in relation net-
work N ( p ) . Thus, the objective function to be minimized cxplicitly depends
<
on p. From the definition of f P it follows that f f ( S ) f p l ( S ) for all S E ST
if p' is an cxtcnsion of p. I11 addition, it obviously holds that S T ( p l ) C S T ( p )
if p1 > p. That is why the feasiblc relation p sought can be chosen among the
C-minimal feasible relations. The latter rclatioris can be gcncrated by using
6.5. Coping with Uncertainty 163

a modification of the relaxation-bascd enumeration scheme given by Algo-


rithm 3.3. At each iteration it is checked whether or not the relation p we
branch from is feasible by finding minimum (s,t)-flows in specific relation-
induccd flow nctworks belonging to the induced preordcr 8 = O(D(p)) (cf.
Subscctions 2.1.1 and 2.1.2). Instead of breaking up forbiddcn active sets
A(S, t ) we then break up maximum (s,t)-cuts U in the respective flow riet-
works (for dctails sce Scctions 4.1 and 5.2, where we have applied similar
tcchniqucs) .
The problem where for given schedule S the rcsourcc allocation (i.e., an
appropriate (s,t)-flow) is to bc determined in such a way that the expected
weighted deviation between the realized schedule arid schedule S is minimized
has bccn investigated by Leus and Herroelen (2004).
Thc reactive approach is as follows. Assume that we want to minimize
some regular or convexifiable objective function likc thc project duration, the
total tardiness cost, the total inventory holding cost, or thc nct present value
of the project. At first, we determine an optimal schedule S for objcctivc
function f by using the relaxation-based enumeration scheme. We then start
performing the projcct according to schedule S . Each timc the schcdule be-
comes infeasible due to the breakdown of resourccs or ovcrrun on activity du-
rations, wc dctermine a ncw schcdule S' that first, complies with the updatcd
constraints and second, resembles as much as possible previous schedule S .
The reason is that we want to avoid disruptions in the project execution that
may arise from substantial modifications of the schcdulc. The resemblance be-
tween schedulcs S and S' may, c.g., be measured by the (weighted Manhattan)
distance
n(sl,s)= 11s' sll := C ~ ~ 1 s,l
- s; -

where w, E W are integers specifying thc cost for shifting the start of activ-
ity i E V by onc unit of timc. A(S1,S) coincides with the objective function
' )schedule S' if f is chosen to be the total earlzness-tardiness
value f ( ~ of
+
cost function with duc datcs d, being cqual to completion times S, p, and
WP = W: = wz for all i E V. Thus, we may determine a new fcasiblc sched-
ule S' by minimizing the total earliness-tardiness cost with respcct to previ-
ous schcdulc S and put S := S'. In case of frequent schedule revisions, the
computational cffort for rcschcduling the project can be markedly decrcascd
- relation p in set V. We
by providing, in addition to schedule S, a feasible
then minimizc thc total earlincss-tardiness cost f on the interscction of re-
lation polytope ST(p) with the updatcd feasible region S'. An appropriatc
c-minimal feasible relation p can bc determined in the same way as for thc
anticipative approach.
Conclusions

Summary. In this book we have been concerned with models, algorithms, and
applications of deterministic resource allocation problcms in project manage-
ment. A special emphasis has been placed on developing a unifying framework
within which a variety of project scheduling problems can be treated. Those
problems involve general temporal constraints given by prcscribed minimum
and maximum time lags, different types of scarce resources, and a broad class
of regular and nonregular objective functions. The diversity of the models pro-
posed allows to cover many features arising in applications beyond the proper
field of project management like short-term production planning in the man-
ufacturing or process industries.
The main contributions of this monograph are
an in-depth analysis of temporal constraints and different kinds of resource
constraints (Chapter I),
the formulation of resource constraints in terms of specific relations in
the activity set, which permits a classification of schedules and objective
functions (Chapter 2),
the development of efficient solution procedures for time-constrained proj-
ect scheduling and resource allocation, which are based on the results of
the previous structural analysis (Chapters 3 and 4),
the expansion of the basic resource allocation models to problems with
break calendars, sequence-dependent changeover times in distributed proj-
ects, alternative execution modes for activities, and consumption and re-
newal of resources at constant rates (Chaptcr 5), and
the application of concepts from resource allocation in projcct manage-
ment to first, production scheduling in the manufacturing and process
industries, second, the evaluation of investment projects with respect to
variable project deadline and discount rate, and third, deterministic strate-
gies for coping with uncertainty in project planning (Chaptcr 6).
In particular, we have generalized order-based approaches for projcct
scheduling with renewable rcsourccs to resource allocation problems including
166 Conclusions

cumulative resources that are deplcted and replenished over time. The con-
ccpt of curnulativc rcsources offers a natural way of studying several resource
types that have been dealt with in litcraturc (renewable, nonrenewable, and
recyclable resources). In addition, cumulative resources havc many immedi-
ate applications in their own right such as scarce budgets, matcrial flows, or
limited storage capacitics.
Suggestions for future research. When planning rcal-life projects,
managers usually have to deal with problems that are much less wcll-structured
than the models treated in this book. However, to make resource allocation
amenable to methods of Operations Research, it is generally necessary to make
simplifying assumptions on thc objectives pursued and constraints included.
Thus, bridging the gap betwccn theoretical concepts and practical require-
ments rcnlains a challenging field of furthcr rescarch. The following topics
may be directions of future developments.

In certain applications it is more expedient to spccify, for each activity,


a workload rather than a fixcd duration and fixed resource requirements
because there is no need for keeping a constant amount of resource units
allocated to the activitics ovcr thcir execution time. It is then neccssary
to dcfinc lower and upper bounds on thc time-dependent resource require-
rnents of activities and to relate the prescribed temporal constraints to the
activity progress.
The schedulzng polzczes developed for project scheduling with stochastic
activity durations assume a locally regular objective function. For this type
of objective functions, the precedence relationships among activities can
readily be translated into optimal start times during the project execution.
Whcn dealing with nonrcgular objcctivc functions important in practice
such as the project net present value or inventory holding cost, new con-
cepts need to be developed for coping with stochastic activity durations.
In literature, the concept of partzally renewable resources has been devised
for modelling resources whosc availability is defincd on unions of time in-
tervals. Partially renewable resources allow for modelling timctabling and
working-shift scheduling aspccts like maximum working times during week-
ends or flexible break intervals (see Bottcher et al. 1999). The capacity of
such a partially renewable resource can be regarded as being continuously
corlsunlcd over the execution timc of activitics. It may thus be intcresting
to study the relationship between the conccpts of continuous curnulativc
and partially rcncwablc rcsourccs.
Our conlputational experience with algorithms for resource allocation
problcms indicatcs that effective conszstency tests havc a large impact on
the efficiency of cxact solution methods. Until now, thosc consistcnce tests
have primarily been devised for renewable-resource constraints. Hence, the
dcvclopmcnt of new consistency tests referring to the scarcity of cumula-
tive resources is an issue of future research.
References

1. Aarts E, Lenstra JK ( 2 0 0 3 ~Introduction.


) In: Aarts E, Lenstra J K (eds) Local
Search in Combinatorial Optimization. Princeton University Press, Princeton,
pp 1-17
2. Aarts E, Lenstra JK, eds (2003b) Local Search in Combinatorial Optimization.
Princeton University Press, Princeton
3. Ahuja RK, Magnanti TL, Orlin J B (1993) Network Flows. Prentice Hall, En-
glewood Cliffs
4. Aldowaisan T , Allahverdi A, Gupta JN (1999) A review of scheduling research
involving setup considerations. Omega 27:219-239
5. Ausiello G, d'Atri A, Sac& D (1983) Graph algorithms for functional depen-
dency manipulation. Journal of the ACM 30:752-766
6. Avriel M, Diewert WE, Schaible S, Zang I (1988) Generalized Concavity.
Plenum Press, New York
7. Aytug H, Lawley MA, McKay K, Mohan S, Uzsoy R (2005) Executing produc-
tion schedules in the face of uncertainties: A review and some future directions.
European Journal of Operational Research 161:86-110
8. Baker KR (1974) Introduction to Sequencing and Scheduling. John Wiley, New
York
9. Bang-Jensen J , Gutin G (2002) Digraphs: Theory, Algorithms and Applica-
tions. Springer, Berlin
10. Baptiste P, Le Pape C, Nuijten W (1999) Satisfiability tests and time-bound
adjustments for cumulative scheduling problems. Annals of Operations Re-
search 92:305-333
11. Bartusch M, Mohring RH, Radermacher FJ (1988) Scheduling project net-
works with resource constraints and time windows. Annals of Operations Re-
search 16:201-240
12. Beck J C (2002) Heuristics for scheduling with inventory: Dynamic focus via
constraint criticality. Journal of Scheduling 5:43-69
13. Bell CE, Park K (1990) Solving resource-constrained project scheduling prob-
lems by A* search. Naval Research Logistics 37:61-84
14. Bellman R (1958) On a routing problem. Quarterly of Applied Mathemat-
ics 16:87-90
15. Berge C (1970) Graphes et Hypergraphes. Dunod, Paris
168 References

16. Blomer F (1999) Produktionsplanung und -steuerung in der chemischen In-


dustrie: Ressourceneinsatzplanung von Batchprozessen auf Mehrzweckanlagen.
Gabler, Wiesbaden
17. Blomer F, Gunther HO (1998) Scheduling of a multi-product batch process in
the chemical industry. Computers in Industry 36:245-259
18. Blonler I?, Giinther HO (2000) LP-based heuristics for scheduling chemical
batch processes. International Journal of Production Research 35:1029-1052
19. Bottcher J , Drexl A, Kolisch R, Salewski F (1999) Project scheduling under
partially renewable resource constraints. Management Science 45:543-559
20. Brealey RA, Myers SC (2002) Principles of Corporate Finance. McGraw-Hill,
Irwin
21. Brinkmann K, Neumann K (1996) Heuristic procedures for resource-con-
strained project scheduling with minimal and maximal time lags: The resource-
levelling and minimum project-duration problems. Journal of Decision Sys-
tems 5:129-156
22. Brucker P (1973) Die Erstellung von CPM-Netzplanen. In: Gessner P, Henn
R, Steinecke V, Todt H (eds) Proceedings in Opcrations Research 3. Physica,
Wurzburg, pp 122-130
23. Brucker P, Hurink J (2000) Solving a cllenlical batch scheduling problem by
local search. Annals of Operations Research 96:17-38
24. Brucker P, Knust S (2003) Lower bounds for resource-constrained project
scheduling problems. European Journal of Operational Research 149:302-313
25. Brucker P, Thiele 0 (1996) A branch & bound method for the general-shop
problem with sequence dependent setup-times. OR Spektrum 18:145-161
26. Brucker P, Drexl A, Mohring RH, Neumann K, Pesch E (1999) Resource-
constrained project scheduling: Notation, classification, models, and methods.
European Journal of Operational Research 112:3-41
27. Brucker P, Knust S, Schoo A, Thiele 0 (1998) A branch and bound algorithm
for the resource-constrained project scheduling problem. European Journal of
Operational Research 107:272-288
28. Burgess AR, Killebrew J B (1962) Variation in activity level on a cyclic arrow
diagram. The Journal of Industrial Engineering 13:76-83
29. Burkard RE, Kocher M, Rudolf R (1998) Rounding strategies for mixed inte-
ger programs arising from chemical production planning. Yugoslav Journal of
Operations Research 8:9-23
30. Carlier J (1989) Scheduling under financial constraints. In: Slowiilski R,
Wqglarz J (eds) Advances in Project Scheduling. Elsevier, Amsterdam, pp 187-
224
31. Carlier J , Pinson E (1989) An algorithm for solving the job-shop problem.
Management Science 35:164-176
32. Carlier J , Rinnooy Kan AHG (1982) Scheduling subject to normmewable re-
source constraints. Operations Research Letters 1:52-55
33. Carravilla MA, de Sousa J P (1995) Hierarchical production planning in a
make-to-order company: A case study. European Journal of Operational Re-
search 86:43-56
34. Cesta A, Oddi A, Smith S F (2002) A constraint-based method for project
scheduling with time windows. Journal of Heuristics 8:109-136
35. Chauvet F, Proth JM (1999) The PERT problem with alternatives: Modelisa-
tion and optimization. Publication interne no. 3651, INRIA
References 169

36. Christofides N, Alvarez-Valdes R, Tamarit JM (1987) Project scheduling with


resource constraints: A branch and bound approach. European Journal of Op-
erational Research 29:262-273
37. Dantzig GB, Fulkerson DR (1954) Minimizing the number of tankers to meet
a fixed schedule. Naval Research Logistics Quarterly 1:217-222
38. Davis EW (1966) Resource allocation in project network models: A survey.
The Journal of Industrial Engineering 17:177-188
39. Davis EW (1973) Project scheduling under resource constraints: Historical re-
view and categorization of procedures. AIIE Transactions 5:297-313
40. Daynand N, Padman R (1997) On modelling payments in projects. Journal of
the Operational Research Society 48:906-918
41. De Reyck B (1998) Scheduling Projects with Generalized Precedence Relations:
Exact and Heuristic Procedures. PhD thesis, University of Leuven, Leuven
42. De Reyck B, Herroelen WS (1998~)A branch-and-bound procedure for the
resource-constrained project scheduling problem with generalized precedence
relations. European Journal of Operational Research 111:152--174
43. De Reyck B, Herroelen WS (19986) An optimal procedure for the resource-
constrained project scheduling problem with discounted cash flows and gener-
alized precedence relations. Computers and Operations Research 25:l-17
44. De Reyck B, Herroelen WS (1999) The multi-mode resource-constrained proj-
ect scheduling problem with generalized precedence relations. European Jour-
nal of Operational Research 119:538-556
45. De Reyck B, Demeulemeester EL, Herroelen WS (1999) Algorithms for sched-
uling project with generalized precedence constraints. In: Weglarz J (ed) Proj-
ect Scheduling: Recent Models, Algorithms and Applications. Kluwer, Boston,
pp 77-105
46. Demeulemeester EL, Herroelen WS (1992) A branch-and-bound procedure for
the multiple resource-constrained project scheduling problem. Management
Science 38: 1803-1818
47. Derneulemeester EL, Herroelen WS (1996) An efficient optimal solution pro-
cedure for the preemptive resource-constrained project scheduling problem.
European Journal of Operational Research 90:334-348
48. Demeulemeester EL, Herroelen WS (1997) Benchmark results for the resource-
constrained project scheduling problem. Management Science 43:1485-1492
49. Demeulemeester EL, Herroelen WS (2002) Project Scheduling: A Research
Handbook. Kluwer, Boston
50. Demeulemeester EL, De Reyck B, Herroelen WS (2000) The discrete time/
resource tradeoff problem in project networks: A branch-and-bound approach.
IIE Transactions 32:1059-1069
51. Doersch RH, Patterson JH (1977) Scheduling a project to maximize its net
present value: A zero-one programming approach. Management Science 23:882-
889
52. Domschke W, Drexl A (1991) Kapazitatsplanung in Netzwerken. OR Spek-
trum 13:63-76
53. Dorndorf U (2002) Project Scheduling with Time Windows. Physica, Heidel-
berg
54. Dorndorf U, Pesch E, Phan-Huy T (2000~)A branch-and-bound algorithm for
the resource-constrained project scheduling problem. Mathematical Methods
of Operations Research 52:413-439
170 References

55. Dorndorf U, Pesch E, Phan-Huy T (2000b) Constraint propagation techniques


for the disjunctive scheduling problem. Artificial Intelligence 122:189-240
56. Dorndorf U, Pesch E, Phan-Huy T (2000~)A time-oriented branch-and-bound
algorithm for resource-constrained project scheduling with generalised prece-
dence constraints. Management Science 46:1365-1384
57. Dorndorf U , Phan Huy T , Pescll E (1999) A survey of interval capacity con-
sistency tests for time- and resource-constrained scheduling. In: Wqglarz J
(ed) Project Scheduling: Recent Models, Algorithms arid Applications. Kluwer,
Boston, pp 213-238
58. Drexl A, Kolisch R (1996) Assembly management in machine tool manufac-
turing and the PRISMA-Leitstand. Production and Inventory Management
Journal 37:55-57
59. Drexl A, Fleischmarin B, Giinther HO, Stadtler H, Tenlpelmeier H (1994)
Konzeptionelle Grundlagen kapazitiitsorientierter PPS-Systeme. Zeitschrift fur
betriebswirtschaftliche Forschung 46:1022-1045
60. Elmaghraby SE (1977) Activity Networks: Project Planning and Control by
Network Models. John Wiley, New York
61. Elmaghraby SE (1995) Activity nets: A guided tour through some recent de-
velopments. European Journal of Operational Research 82:383-408
62. Elmaghraby SE, Kamburowki J (1992) The analysis of activity networks under
generalized precedence relations. Management Science 38:1245-1263
63. Fest A, Mohring RH, Stork F, Uetz M (1999) Resource-constrained project
scheduling with time windows: A branching scheme based on dynamic release
dates. Technical Report 596, Technical University of Berlin
64. Fisher H, Thompson GL (1963) Probabilistic learning combinations of local
job-shop scheduling rules. In: Muth JF, Thompson GL (eds) Industrial Sched-
uling. Prentice Hall, Englewood Cliffs, pp 225-251
65. Floyd RW (1962) Algorithm 97: Shortest path. Commu~licationsof the
ACM 5:345
66. F'i-anck B (1999) Prioritatsregelverfahren fiir die ressourcenbeschrankte Pro-
jektplanung mit und ohne Kalender. Shaker, Aachen
67. Franck B, Neumann K, Schwindt C (1997) A capacity-oriented hierarchical
approach to single-item and srnall-batch production planning using project-
scheduling methods. OR Spektrum 19:77-85
68. Franck B, Neumann K, Schwindt C (2001~)Project scheduling with calendars.
OR Spektrunl 23:325-334
69. Franck B, Neumann K, Schwindt C (2001b) Truncated branch-and-bound,
schedule-construction, and schedule-improvement procedures for resource-
constrained project scheduling. OR Spektrurn 23:297-324
70. Garey MR, Johnson DS (1979) Computers and Intractability: A Guide to the
Theory of NP-Completeness. Freeman, New York
71. Giffler B, Thompson GL (1960) Algorithms for solving production-scheduling
problems. Operations Research 8:487-503
72. Glover F , Lagnna F (1997) Tabu Search. Kluwer, Dordrecht
73. Goldfarb T , Todd MJ (1989) Linear programming. In: Nemhauser GL, Rin-
nooy Kan AHG, Todd MJ (eds) Optimization, Handbooks in Operations Re-
search and Management Science Vol 1. North Holland, Amsterdam, pp 73-170
References 171

74. Goldwasser MH, Motwani R (1999) Complexity measures for assembly se-
quences. International Journal of Computational Geometry and Applica-
tion 9:371-418
75. Golumbic MC (2004) Algorithmic Graph Theory and Perfect Graphs, Annals
of Discrete Mathematics Vol 57. Elsevier, Amsterdam
76. Grinold RC (1972) The payment scheduling problem. Naval Research Logis-
tics 19:123-136
77. Grotschel M, LovAsz L, Schrijver A (1998) Geometric Algorithms and Combi-
natorial Optimization. Springer, Berlin
78. Gunther HO (1992) Netzplanorientierte Auftragsterminierung bei offener Fer-
tigung. OR Spektrum 14:229-240
79. Hajdu M (1997) Network Scheduling Techniques for Construction Project Man-
agement, Nonconvex Optimizations and Its Applications Vol 16. Kluwer, Dor-
drecht
80. Hartmann S (1998) A competitive genetic algorithm for resource-constrained
project scheduling. Naval Research Logistics 45:733-750
81. Hartmann S ( 1 9 9 9 ~ )Project Scheduling under Limited Resources: Models,
Methods, and Applications, Lecture Notes in Econonlics and Mathematical
Systerns Vol 478. Springer, Berlin
82. Hartmann S (19996) Project scheduling with multiple modes: A genetic algo-
rithm. Annals of Operations Research 102:111-136
83. Hartmann S (2001) Project scheduling with multiple modes: A genetic algo-
rithm. Annals of Operations Research 102:111-136
84. Hartmann S, Drexl A (1998) Project scheduling with multiple modes: A com-
parison of exact algorithms. Networks 32:283-298
85. Hartmann S, Kolisch R (2000) Experimental evaluation of state-of-the-art
heuristics for the resource-constrained project scheduling problem. European
Journal of Opcrational Research 127:394-407
86. Heilmann R (2001) Resource-constrained project scheduling: A heuristic for
the multi-mode case. OR Spektrum 23:335-357
87. Heilnlarm R (2003) A branch-and-bound procedure for the multi-mode resour-
ce-constrained project scheduling problem with minimum and maximum time
lags. European Journal of Operational Research 144:348-365
88. Heilmann R, Schwindt C (1997) Lower bounds for RCPSP/max. Report
WIOR-511, University of Karlsruhe
89. Held M, Wolfe P, Crowder HP (1974) Validation of subgradient optimization.
Mathematical Programming 6:62-88
YO. Herroelen WS (1972) Resource-constrained project scheduling: The state of
the art. Operational Research Quarterly 23:261-275
91. Herroelen WS, Leus R (2004~)The construction of stable project baseline
schedules. European Journal of Operational Research 156:550-565
92. Herroelen WS, Leus R (2004b) Robust and reactive project scheduling: A re-
view and classification of procedures. International Journal of production Re-
search 42:1599-1620
93. Herroelen WS, Leus R (2005) Project scheduling under uncertainty: Survey and
research potentials. European Journal of Operational Research 165:289-306
94. Herroelen WS, De Reyck B, Demeulemeester EL (1998) Resource-constrained
project scheduling: A survey of recent developments. Computers and Opera-
tions Research 25:279-302
172 References

95. Herroelen WS, Demeulemeester EL, Van Dommelen P (1996) An optimal re-
cursive search procedure for the deterministic unconstrained max-NPV project
scheduling problem. Research Report 9603, University of Leuven
96. Herroelen WS, Van Dommelen P, Demeulemeester EL (1997) Project network
models with discounted cash flows: A guided tour through recent developments.
European Journal of Operational Research 100:97-121
97. Hertz A, Taillard E, De Werra D (2003) Tabu search. In: Aarts E, Lenstra JK
(eds) Local Search in Cornbinatorial Optimization. Princeton University Press,
Princeton, pp 121-136
98. Hiriart-Urruty JB, Lemarkchal C (1993) Convex Analysis and Minimization
Algorithms I. Springer, Berlin
99. Horst R, Tuy H (1996) Global Optimization: Deterministic Approaches.
Springer, Berlin
100. Icmeli 0, Erengii~SS (1996) A branch and bound procedure for the resource-
constrained project scheduling problem with discounted cash flows. Manage-
ment Science 42:1395-1408
101. Icmeli 0, Erengii~SS, Zappe CJ (1993) Project scheduling problems: A survey.
International Journal of Operations and Production Management 13:80-91
102. Igelmund G, Radermachcr F J (1983) Preselective strategies for the optimiza-
tion of stochastic project networks under resource constraints. Networks 13:l-
28
103. Jacoby SLS, Kowalik JS, Pizzo JT (1972) Iterative Methods for Nonlinear
Optimization Problems. Prentice Hall, Englewood Cliffs
104. Kaerkes R, Leipholz B (1977) Generalized network functions in flow networks.
Operations Research Verfahren 27:225-273
105. Kallrath J (2002) Planning and scheduling in the process industry. OR Spec-
trum 24:219-250
106. Kamburowski J (1990) Maximizing the project net present value in activity
networks under generalized precedence relations. In: Proceedings of 21st DSI
Annual Meeting, San Diego, pp 748-750
107. Keeling R (2000) Project Management: An International Perspective. Macmil-
lan, Basingstoke
108. Kelley J E (1961) Critical path planning and scheduling: Mathematical basis.
Operations Research 9296-320
109. Kelley J E (1963) The critical-path method: Resource planning and scheduling.
In: Muth JF, Thompson GL (eds) Industrial Scheduling. Prentice Hall, Engle-
wood Cliffs, pp 347-365
110. Kerzner H (2003) Project Management: A Systems Approach to Planning,
Scheduling, and Controlling. Holt, Rinehart, and Winston, New York
111. Kimms A (2001a) Mathematical Programming and Financial Objectives for
Scheduling Projects. Kluwer, Boston
112. Kimms A (2001b) Maximizing the net present value of a project under resource
constraints using a Lagrangian relaxation based heuristic with tight upper
bounds. Annals of Operations Research 102:221-236
113. Kiwiel KC (1986) A linearization method for minimizing certain quasidifferen-
tiable functions. In: Denlyanov VF, Dixon LCW (eds) Quasidifferential Calcu-
lus. North-Holland, Amsterdam, pp 85-94
114. Klein R (2000) Scheduling of Resource-Constrained Projects. Kluwer, Boston
References 173

115. Klein R, Scholl A (1998) Computing lower bounds by destructive improvement:


An application to resource-constrained project scheduling. European Journal
of Operational Research 112:322-346
116. Klein R, Scholl A (2000) Scattered branch and bound. Central European Jour-
nal of Operational Research 7:177-201
117. Knuth DE (1998) Sorting and Searching, The Art of Computer Programming
Vol 3. Addison-Wesley, Reading
118. Kolisch R (1995) Project Scheduling under Resource Constraints: Efficient
Heuristics for Several Problem Classes. Physica, Heidelberg
119. Kolisch R (1996) Serial and parallel resource-constrained project scheduling
methods revisited: Theory and computation. European Journal of Operational
Research 90:320-333
120. Kolisch R (1997) Investitionsplanung in Netzwerken. Zeitschrift fiir Betriebs-
wirtschaft 67:1057-1072
121. Kolisch R (2000) Integrated scheduling, assembly area-, and part-assignment
for large scale make-to-order assemblies. International Journal of Production
Economics 64:127-141
122. Kolisch R ( 2 0 0 1 ~ )Entwicklungen und Anwendungen in der Pr~jekt~planung:
Ein ~berblick.Betriebswirtschaftliche Forschung und Praxis 2001:212-226
123. Kolisch R (2001b) Make-to-Order Assenlbly Management. Springer, Berlin
124. Kolisch R, Hartmann S (1999) Heuristic algorithms for the resource-con-
strained project scheduling problem: Classification and computational anal-
ysis. In: Wqglarz J (ed) Project Scheduling: Recent Models, Algorithms and
Applications. Kluwer, Boston, pp 147-178
125. Kolisch R, He8 K (2000) Efficient methods for scheduling make-to-order as-
semblies under resource, assembly area, and part availability constraints. In-
ternational Journal of Production Research 38:207-228
126. Kolisch R, Padman R (2001) An integrated survey of project scheduling.
Omega 29:249-272
127. Kolisch R, Schwindt C, Sprecher A (1999) Benchmark instances for project
scheduling problems. In: Wsglarz J (ed) Project Scheduling: Recent Models,
Algorithms and Applications. Kluwer, Boston, pp 197-212
128. Kondili E, Pantelides CC, Sargent RWH (1993) A general algorithm for short-
term scheduling of batch operations: I. MILP formulation. Computers and
Chemical Engineering 17:211-227
129. Laborie P (2003) Algorithms for propagating resource constraints in A1 plan-
ning and scheduling: Existing approaches and new results. Artificial Intelli-
gence 143:151-188
130. Lambrecht MR, Vanderveken H (1979) Production scheduling and sequencing
for multi-stage production systems. OR Spektrum 1:103-114
131. Laue HJ (1968) Efficient methods for the allocation of resources in project
networks. Unternehmensforschung 12:133-143
132. Lawler EL (1976) Combinatorial Optimization: Networks and Matroids. Holt,
Rinehart, and Winston, New York
133. Leus R, Herroelen WS (2004) Stability and resource allocation in project sched-
uling. IIE Transactions 36:667-682
134. Levy FK, Thompson GL, Wiest JD (1963) Multi-ship multi-shop workload
smoothing program. Naval Research Logistics Quarterly 9:37-44
174 References

135. Lewis J P (1998) Mastering Project Management: Applying Advanced Concepts


of Systems Thinking, Control and Evaluation, Resource Allocation. McGraw-
Hill, New York
136. Lopez P, Erschler J , Esquirol P (1992) Ordonnancement de tgches sous con-
traintes: Une approche BnergBtique. RAIRO Automatique, Productique, Infor-
matique Industrielle 26:453-481
137. Meredith JR, Mantel SJ (2002) Project Management: A Managerial Approach.
John Wiley and Sons, New York
138. Moder J J , Phillips CR (1964) Project Management with CPM and PERT. Van
Nostrand Reinhold Company, New York
139. Mohring RH (1984) Minimizing costs of resource requirements in project net-
works subject to a fixed completion time. Operations Research 32:89-120
140. Mohring RH (1985) Algorithmic aspects of comparability graphs and interval
graphs. In: Rival I (ed) Graphs and Orders. D. Reidel Publishing Company,
Dordrecht, pp 41-101
141. Mohring RH (1989) Computationally tractable classes of ordered sets. In: Rival
I (ed) Algorithms and Order. Kluwer, Dordrecht, pp 105-193
142. Mohring RH (2000) Scheduling under uncertainty: Optimizing against a ran-
domizing adversary. In: Jansen K, Khuller S (eds) Approximation Algorithms
for Combinatorial Optimization: Third International Workshop (APPROX
2000), Lecture Notes in Computer Science Vol 1913. Springer, Berlin, pp 15-26
143. Mohring RH, Schulz AS, Stork F, Uetz M (2001) On project scheduling with
irregular starting time costs. Operations Research Letters 28:149-154
144. Mohring RH, Schulz AS, Stork F, Uetz M (2003) Solving project scheduling
problems by minimum cut computations. Management Science 49:330-350
145. Mohring RH, Skutella M, Stork F (2004) Scheduling with AND/OR precedence
constraints. SIAM Journal on Discrete Mathematics 33:393-415
146. Nagler G, Schonherr S (1989) Resource allocation in a network model: The
LEINET system. In: Slowiriski R, W~glarzJ (eds) Advances in Project Sched-
uling. Elsevier, Amsterdam, pp 327-354
147. Nahmias S (1997) Production and Operations Analysis. Irwin, Honiewood
148. Nesterov Y, Nemirovskii A (1994) Interior-Point Polynomial Algorithms
in Convex Programming. Society for Industrial and Applied Mathematics,
Philadelphia
149. Neumann K (1999a) A heuristic procedure for constructing an activity-on-arc
project network. In: Gaul W, Schader M (eds) Mathematische Methoden der
Wirtschaftswissenschaften. Physica, Heidelberg, pp 328-336
150. Neumann K (19996) Scheduling of projects with stochastic evolution struc-
ture. In: Wqglarz J (ed) Project Scheduling: Recent Models, Algorithms and
Applications. Kluwer, Boston, pp 309-332
151. Neumann K, Schwindt C (1997) Activity-on-node networks with minimal and
maximal time lags and their application to make-to-order production. OR
Spektrum 19:205-217
152. Neurnann K, Schwindt C (1998) A capacitated hierarchical approach to make-
to-order production. European Journal of Automation 32:397-413
153. Neumann K, Schwindt C (2002) Project scheduling with inventory constraints.
Mathematical Methods of Operations Research 56:513-533
References 175

154. Neumann K, Zhan J (1995) Heuristics for the minimum project-duration prob-
lem with minimal and maximal time lags under fixed resource constraints.
Journal of Intelligent Manufacturing 6:145-154
155. Neumann K, Zimmermann J (1999a) Methods for resource-constrained proj-
ect scheduling with regular and nonregular objective functions and schedule-
dependent time windows. In: Wqglarz J (ed) Project Scheduling: Recent Mod-
els, Algorithms and Applications. Kluwer, Boston, pp 261-287
156. Neumann K, Zimmermann J (1999b) Resource levelling for projects with
schedule-dependent time windows. European Journal of Operational Re-
search 117:591-605
157. Neurnann K, Zimmermann J (2000) Procedures for resource levelling and net
present value problems in project scheduling with general temporal and re-
source constraints. European Journal of Operational Research 127:425-443
158. Neumann K, Zimmermann J (2002) Exact and truncated branch-and-bound
procedures for resource-constrained project scheduling with discounted cash
flows and general temporal constraints. Central European Journal of Opera-
tions Research 10:357-380
159. Neumann K, Nubel H, Schwindt C (2000) Active and stable project scheduling.
Mathematical Methods of Operations Research 52:441-465
160. Neumann K, Schwindt C, Trautmann N (2001) Short-term planning of batch
plants in process industries. In: Kischka P, Leopold-Wildburger U, Mohring
RH, Radermacher F J (eds) Models, Methods and Decision Support in Man-
agement. Physica, Heidelberg, pp 211-226
161. Neumann K, Schwindt C, Trautmann N (2002) Advanced production sched-
uling for batch plants in process industries. OR Spectrum 24:251-279
162. Neumann K, Schwindt C, Trautmann N (2005) Scheduling of continuous and
discontinuous material flows with intermediate storage restrictions. European
Journal of Operational Research 165:495-509
163. Neumann K, Schwindt C, Zimmermaml J (2003a) Order-based neighborhoods
for project scheduling with nonregular objective functions. European Journal
of Operational Research 149:325-343
164. Neumann K, Schwindt C, Zimmermann J (2003b) Project Scheduling with
Time Windows and Scarce Resources. Springer, Berlin
165. Nubel H (1999) A branch-and-bound procedure for the resource investment
problem subject to temporal constraints. Report WIOR-574, University of
Karlsruhe
166. 0zdamar L, Ulusoy G (1995) A survey on the resource-constrained project
scheduling problem. IIE Transactions 27:574-586
167. Papadimitriou CH, Steiglitz K (1998) Combinatorial Optimization: Algorithms
and Complexity. Dover, Mineola
168. Patterson JH, Slowihski R, Talbot FB, Wsglarz J (1989) An algorithm for a
general class of precedence and resource constrained project scheduling prob-
lems. In: Slowihski R, Wqglarz J (eds) Advances in Project Scheduling. Else-
vier, Amsterdam, pp 3-28
169. Pinto JK, ed (1998) Project Management Handbook. Jossey-Bass Publishers,
San Francisco
170. Pinto M, Grossmann IE (1995) A continuous time mixed integer linear pro-
gramming model for short term scheduling of multistage batch plants. Indus-
trial Engineering Chemistry Research 34:3037-3051
176 References

171. Pritsker AAB, Watters LJ, Wolfe PM (1969) Multi-project scheduling with
limited resources. Management Science 16:93-108
172. Radermacher F J (1978) Kapazitiitsoptirnierurlg in Netzpliinen, Mathematical
Systems in Economics Vol 40. Anton Hain, Meisenheim am Glan
173. Radermacher F J (1985) Scheduling of project networks. Annals of Operations
Research 4:227-252
174. Rockafellar RT (1998) Network Flows and Monotropic Optimization. Athena
Scientific, Belmont
175. Roy B (1962) Graphes et ordonnancement In: Algan M, Eddison RT, Gillis
PP, Castaiie Ortega JM, Roy B, Viggiani S (eds) metra No. 1, SQrie sp6ciale.
METRA Paris pp 83-125
176. Roy B (1964) Physionomie et traitement des problkmes d'ordonnancement In:
Carre D, Darnaut P, Guitard P, Nghiem P, Pacaud P, de Rosinski J , Roy B,
Sandier G (eds) Lcs Problkmes dlOrdonnancement. Durlod Paris pp 1-18
177. Russell AH (1970) Cash flows in networks. Management Science 16:357-373
178. Sauer J , Suelmann G, Appelrath HJ (1998) Multi-site scheduling with fuzzy
concepts. International Journal of Approximate Reasoning 19:145-160
179. Schirmer A (1998) Project Scheduling with Scarce Resources: Models, Methods
and Applications. Dr. K o v a ~ Hamburg
,
180. Schneeweia C (1995) Hierarchical structures in organisations: A conceptual
framework. European Journal of Operational Research 86:4-31
181. Schneeweia C (2003) Distributed Decision Making. Springer, Berlin
182. Scholl A (2001) Robuste Planung und Optimierung. Physica, Heidelberg
183. Scholtes S (1990) On Convex Bodies and Some Applications to Optimization.
Anton Hain Meisenheim, Frankfurt
184. Schwiegelshohn U, Thiele L (1999) Dynamic min-max problems. Discrete Event
Dynamic Systems 9:111-134
185. Schwindt C (1998a) A branch-and-bound algorithm for the resource-con-
strained project duration problem subject to temporal constraints. Report
WIOR-544, University of Karlsruhe
186. Schwindt C (19986) Generation of resource-constrained project scheduling
problems subject to temporal constraints. Report WIOR-543, University of
Karlsruhe
187. Schwindt C (1998~)Verfallren zur Losung des ressourcenbeschrankteri Pro-
jektdauerminimierungsproblems rnit planungsabhangigen Zeitfenstern. Shaker,
Aachen
188. Schwindt C (1999) A branch-and-bound algorithm for the project duration
problem subject to temporal and cumulative resource constraints. In: Proceed-
ings of the International Conference on Industrial Engineering and Production
Management (IEPM '99), Glasgow, pp 515-522
189. Schwindt C (2000a) A branch-and-bound algorithm for the capital-rationed
net present value problem. In: Abstracts of the 17th European Conference on
Operational Research (EURO XVII), Budapest, p 89
190. Schwindt C (2000b) Local search for project scheduling with convex objective
functions. In: The Seventh International Workshop on Project Management
and Scheduling (PMS 2000), Osnabriick, pp 239-241
191. Schwindt C (2000~)Minimizing earliness-tardiness costs of resource-constrain-
ed projects. In: Inderfurth K, Schwodiauer G, Domschke W, Juhnke F, Klein-
References 177

schmidt P, Wkcher G (eds) Operations Research Proceedings 1999. Springer,


Berlin, pp 402-407
192. Schwindt C (2001) Solution procedures for production planning and detailed
scheduling in process industries. In: Proceedings of the International Con-
ference on Industrial Engineering and Production Management (IEPM 'Ol),
QuBbec, pp 271-280
193. Schwindt C (2002) Scheduling of continuous production in process industries.
In: The Eighth International Workshop on Project Management and Sched-
uling (PMS 2002), Valencia, pp 314-317
194. Schwindt C, Trautmann N (2000) Batch scheduling in process industries: An
application of resource-constrained project scheduling. OR Spektrum 22:501-
524
195. Schwindt C, Trautmann N (2002) Storage problems in batch scheduling. In:
Chamoni P, Leisten R, Martin A, Minnemann J , Stadtler H (eds) Operations
Research Proceedings 2001. Springer, Berlin, pp 213-218
196. Schwindt C, Zimmermann J (2001) A steepest ascent approach to maximiz-
ing the net present value of projects. Mathematical Methods of Operations
Research 53:435-450
197. Schwindt C, Zirnmermann J (2002) Parametrische Optimierung als Instru-
ment zur Bewertung von Investitionsprojekten. Zeitschrift fiir Betriebswirt-
schaft 72:593-617
198. Selle T (1999) Lower bounds for project scheduling problems with renewable
and cumulative resources. Report WIOR-573, University of Karlsruhe
199. Selle T , Zimmermann J (2003) A bidirectional heuristic for maximizing the
net present value of large-scale projects subject to limited resources. Naval
Research Logistics 50:130-148
200. Serafini P, Speranza MG ( 1 9 9 4 ~ )A decomposition approach for a resource-
constrained project scheduling problem. European Journal of Operational Re-
search 75: 112-135
201. Serafini P, Speranza MG (1994b) A decomposition approach in a DSS for a
resource-constrained project scheduling problem. European Journal of Opera-
tional Research 79:208-219
202. Shapiro A (1990) On concepts of directional differentiability. Journal of Opti-
mization Theory and Applications 66:477-487
203. Shewchuk JP, Chang TC (1995) Resource-constrained job scheduling with re-
cyclable resources. European Journal of Operational Research 81:364-375
204. Shor NZ (1998) Nondifferentiable Optimization and Polynomial Problems.
Kluwer, Boston
205. Simmons DM (1975) Nonlinear Programming for Operations Research. Pren-
tice Hall, Englewood Cliffs
206. Slowiriski R (1981) Multiobjective network scheduling with efficient use of re-
newable and nonrenewable resources. European Journal of Operational Re-
search 7:265-273
207. Smith-Daniels DE, Padman R, Smith-Daniels VL (1996) Heuristic scheduling
of capital constrained projects. Journal of Operations Management 14:241-254
208. Sijhner V (1995) Hierarchisch integrierte Produktionsplanung und -steuerung.
Physica, Heidelberg
178 References

209. Sourd F, Rogerie J (2005) Continuous filling and emptying of storage sys-
terns in constraint-based scheduling. European Journal of Operational Re-
search 165:510-524
210. Sprecher A, Drexl A (1998) Multi-mode resource-constrained project sched-
uling by a simple, general and powerful sequencing algorithm. European Jour-
nal of Operational Research 107:431-450
211. Sprecher A, Kolisch R, Drexl A (1995) Semi-active, active, and nondelay sched-
ules for the resource-constrained project scheduling problem. European Journal
of Operational Research 80:94-102
212. Stork F (2001) Stochastic Resource-Constrained Project Scheduling. PhD The-
sis, Technical University of Berlin
http://edocs.tu-berlin.de/diss/2001/stork~frederik.htm
213. Stork F , Uetz M (2005) On the generation of circuits and minimal forbidden
sets. Mathematical Programming, Series A, to appear
214. S y d s ~ t e rK, Strgm A, Berck P (1999) Economist's Mathematical Manual.
Springer, Berlin
215. Tavares LV (1995) A review on the contributions of Operatiorlal Research to
project management. In: Proceedings of the 14th European Conference on
Operational Research, Jerusalem, pp 67-82
216. Tempelmeier H, Derstroff M (1996) A Lagrangean-based heuristic for dynamic
rnultilevel multiitem constrained lotsizing with setup times. Management Sci-
ence 42:738-757
217. Trautmann N (2001a) Anlagenbelegungsplanung in der Prozessindustrie. Gab-
ler, Wiesbaden
218. Trautmann N (2001b) Calenders in project scheduling. In: Fleiscllmann B,
Lasch R, Derigs U, Domschke W, Rieder U (eds) Operations Research Pro-
ceedings 2000. Springer, Berlin, pp 388-392
219. Trotter W T (1992) Combinatorics and Partially Ordered Sets: Dimension The-
ory. Johns Hopkins University Press, Baltimore
220. Turner J R (1999) The Handbook of Project-Based Management. McGraw-Hill,
London
221. Tuy H (1995) D.C. optimization: Theory, methods and algorithms. In: Horst
R, Pardalos PM (eds) Handbook of Global Optimization. Kluwer, Dordrecht,
pp 149-216
222. Uetz M (2002) Algorithms for Deterministic and Stochastic Scheduling. Cuvil-
lier, Gottingen
223. Uetz M (2003) When greediness fails: Examples from stochastic scheduling.
Operations Research Letters 31:413-419
224. Vanhoucke M, Demeulemeester EL, Herroelen WS (2001) An exact proce-
dure for the resource-constrained weighted earliness-tardiness project sched-
uling problem. Annals of Operations Research 102:179-196
225. Verhines DR (1963) Optimum scheduling of limited resources. Chemical Engi-
neering Progress 59:65-67
226. Wagelmans A, van Hoesel S, Kolen A (1992) Economic lot sizing: An O ( n log n)
algorithm that runs in linear time in the Wagner-Whitin case. Operations
Research 40: 145-156
227. Wqglarz J (1980) On certain models of resource allocation problems. Kyber-
netes 9:61-65
References 179

228. Westenberger H, Kallrath J (1995) Formulation of a job shop problem in pro-


cess industry. Unpublished working paper, Bayer AG, Leverkusen and BASF
AG, Ludwigshafen
229. Wiest JD (1963) The Scheduling of Large Projects with Limited Resources.
Unpublished PhD Thesis, Carnegie Institute of Technology, Pittsburgh
230. Younis MA, Saad B (1996) Optimal resource leveling of multi-resource projects.
Computers and Industrial Engineering 31:l-4
231. Zhan J (1992) Calendarization of time-planning in MPM networks. ZOR -
Methods and Models of Operational Research 36:423-438
232. Zheng S, Sun F (1999) Some simultaneous iterations for finding all zeros of a
polynonlial with high order convergence. Applied Mathematics and Computa-
tion 99:233-240
233. Zimmermann J (2001a) Ablauforientiertes Projektmanagement: Modelle, Ver-
fahren und Anwendungcn. Gabler, Wiesbaden
234. Zimmermann J (2001b) Personal communication
235. Zimmermann J, Schwindt C (2002) Parametric optimization for the evalua-
tion of investnlent projects. In: The Eighth International Workshop on Project
Management and Scheduling (PMS 2002), Valencia, pp 378-382
236. Zoutendijk G (1960) Methods of Feasible Directions. Elsevier, Amsterdam
237. Zwick U, Paterson M (1996) The complexity of mean payoff games on graphs.
Theoretical Computer Science 158:343-359
List of Symbols

Equal by definition
End of proof
Smallest integer greater than or equal to x
Maximum of 0 and x

Empty set
Half open interval {x E R I a 5 x < b}
Cardinality of finite set X
Ball of radius E around S in I W " + ~
Line segment in Rnf
Set of all positive integers
Landau's symbol
Power set of set X
Set of all real numbers
Set of all n-tuples of real numbers
Set of all nonnegative real numbers
X is proper subset of Y
X is subset of Y
Difference of sets X and Y
Intersection of sets X and Y
Union of sets X and Y
Set of all integers
Set of all nonnegative integers

Projects and project activities


6, Activity calendar for activity i
bv Time lag calendar for arc (i,j )
d?x Maximum time lag between the starts of activities i and j
,:Y'
-
Minimum tinie lag between the starts of activities i and j
d Prescribed maximum project duration
182 List of Symbols

Execution mode for activity i


Set of alternative execution modes for activity i
Duration (processing time) of activity i
Duration of activity i in execution mode rn,
Sequence-dependent changeover time from activity i to activity j
on resource k
Set of all activities
Set of all real activities
Set of all fictitious activities (events)
Set of all real activities using renewable resource k
Set of all events depleting cumulative resource k
Set of all events replenishing curnulativc resource k

Directed graphs and networks


Distance matrix for project network N
Length of a longest directed path (distance) from node i to node j
in project network N
Weight of arc (i,j)
Weight of arc (i,j) for mode combination (m,, m j )
Arc set of project network N
G = (V, E ) Directed graph with node set V and arc set E
G = (V, E, 6) Weighted directed graph (network) with node set V, arc set E,
and vector 6 of arc weights
(4 j ) Arc with initial node i and terrnirlal node j
m = lEl Number of arcs in project network N
7L + 2 = IVI Number of nodes in project network N
N Project network
Pred (i) Set of all direct predecessors of node i E V
S~rcc(i) Set of all direct successors of node i E V
v Node set of project network N

Resources
Forbidden set of activities
Set of all minimal forbidden sets
Set of all minimal k-surplus sets
Set of all miriimal k-shortage sets
Requirement of activity i for resource k
Requirement of activity i for resource k in execution mode m,
Loading profile for resource k given schedule S
Capacity of renewable resource k or availability of nonrenewable
resource k
Safety stock of cumulative resource k
Storage capacity of cumulative resource k
Set of all (discrete) cumulative resources
Set of all corltinuous cumulative resources
Set of all nonrenewable resources
Set of all renewable resources
List of Symbols

Objective functions
Continuous interest rate
Cash flow associated with the start of activity i
Per unit cost for resource Ic
Left-hand Si-derivative of f at S
Right-hand &-derivative of f at S
Objective function to be minimized
Continuation of objective function f
C1-diffe~mor~hism
Derivative of f at S
Left-hand derivative of f at S
Right-hand derivative of f at S
Directional derivative of f at S in direction z
Weight of activity i
Earliness and tardiness costs for activity i per unit time
Weight of free floats for activity i

Relations and preorders


Covering relation of strict order 6'
Distance matrix for relation network N ( p )
Distance from node i to node j in relation network N ( p )
Weight of arc ( i ,j ) in relation network N ( p )
Precedence graph of strict order 6'
Set of all C_-minimal feasible relations
Minimal point of ordered set (M,<) with M C Rn+'
Relation network belonging to relation p
Set of all predecessors of i in preorder 6'
Relation in set V
Set of all schedule-induced strict orders in set V"
Set of all schedule-induced reflexive preorders in set V e
Relation polytope of relation p
Equal-preorder set of preorder 6'
Transitive hull of relation p
Strict order in set V a or reflexive preorder in set V e
Schedule-induced preorder
Strict order in set V a or reflexive preorder in set V e induced by
distance matrix D

Set of active schedules


Earliest schedule
Latest schedule
Set of all pseudostable schedules
Set of all quasiactive schedules
Set of all quasistable schedules
Schedule
Set of all feasible schedules
184 List of S2/rnbols

sc Set of all resource-feasible schedules with respect to cumulative


resources
SR Set of all resource-feasible schedules with respect to renewable re-
sources
ST Set of all time-feasible schedules
SS Set of all stable schedules

Temporal scheduling
(2% Completion time of activity i
dv Induced minimum time lag between the starts of activities i and j
EC, Earliest conipletion time of activity i
EFF, Early free float of activity i
E S, Earliest start time of activity i
L cL Latest completion time of activity i
LFF, Late free float of activity i
L st Latest start time of activity i
st Start time of activity i
TF, Total float of activity i

Resource allocation
A Maximal feasible set
A(S,t) Active set at time t given schedule S
B Minimal delaying alternative
I3 Set of all minimal delaying alternatives
C Set of all activities scheduled
C' Set of all activities shifted
C Set of candidate schedules
DJ Set of all tentative start times for activity j (decision set)
G Spanning forest of project network N with arc set Ec
dz) Directional derivative of f at iterate S in direction z
16 Lower bound on minimum objective function
P Search space
u Stepsize
'% v Enumeration nodes
w ( a , 6) Workload for renewable resource k in time interval [a, 6[
x Full mode assignment
x
- Partial mode assignment
t Steepest descent direction
Index

A - recursive-search 99, 101,102


acceleration step 93,94 - relaxation-based 6,65,135, 163
active schedule 53,57,112,138 - schedule-repair 112
active set 17,30,65, 130 - steepest descent 86,87, 102, 156
activity 7 - stochastic dynamic programming

- critical 15 161
.'
f i ct1t1ous 8 - subgradient 76
- real 8 - tabu search 119
activity calendar 125,153 - vertex-following 99
activity list 78 antichain 39,43, 114, 130
activity-interval capacity test 26 anticipative approach 161
activity-on-arc network 9 antiregular objective function 93
activity-on-node network 10 arc
- backward 109,116,157
additional-cost function 113, 119
algorithm - entering 115
- forward 109,111,116,157
- augmenting path 153
- leaving 115
- best-fit search 104
- branch-and-bound 72,97,120 - precedence 104,109,116
- capacity-scaling 86 - temporal 109,116
ascent direction
- column-generation 75,80,132
- flattest feasible 94
- constructive 6,107
assignment 133
- cllipsoid 56,85
- feasible 134
- feasible direction 87
- full 133
- flattest ascent 94,95, 102
- resource-feasible 133
- genetic 78
- time-feasible 134
- label-correcting 13, 71,73, 126
assignment sequence problem 146
- label-setting 72 augmenting path algorithm 153
- local search 115
- multi-pass 79 B
- parametric optimization 156 backward arc 109,116,157
- preflow push 43 balance test 37,81
- priority-rule 77, 113, 119 batch 148, 150
-- bidirectional 102 batch mode 150
186 Index

batch production 150 - energy precedence 28


batch scheduling problem 152 general interval capacity 27
batch size 150, 151 - interval capacity 25
batching problem 151 - profile 36,82
best-fit search algorithm 104 - unit-interval capacity 25,26,73
bill of materials explosion 143, 147 constraint
binary-monotone objective function - calendar 126
57,92 - curnulative-resource 30, 113
BMR-feasible strict order 41,44 - disjunctive precedence 22,36,67, 72
Bouligand-differentiable function 90 - linear reverse-convex 22
branch-and-bound algorithm 72,97, - mode assignment 133
120 - nonrenewable-resource 133
branching strategy 72 - precedence 8,10,22,36,83
break 150 - renewable-resource 17,111, 134
break calendar 6,123,125 - resource 2,66
- temporal 1,8, 134
C constructive algorithm 6, 107
C1-diffeomorphisrn 56,99 continuation (of a function) 86
calendar continuous cumulative resource 6, 124,
- activity 125,153 135
- break 6,123,125 continuously differentiable function 86
- time lag 125 convergent product structure 146
calendar constraint 126 convex objective function 56,85, 137,
calendar-feasible schedule 126 162
calendarization 124 convex-cost flow problem 85
capacitated master production convexifiable objective function 56,
scheduling 147 57,82
capacity core loading profile 25,119
- interval 25,27 covering relation 40
- resource 16 CPM see Critical Path Method
capacity-scaling algorithm 86 CPM network 9
capital-rationed net present value criterion see rule
problem 105 critical activity 15
cash flow 58 Critical Path Method 10
changeover time cross-pruning 98
- sequence-dependent 6,123,128 cumulative resource 5,28,153
changeover-feasible schedule 129 - continuous 6, 124, 135
characteristic curve 86 - discrete 124
cleaning time 150 cumulative-resource constraint 30,113
column-generation algorithm 75,80, cyclic product structure 150
132
common part 29,146 D
comparable elements (in preorder) 39 deadline 8,75
complete preorder 39 decision set 110, 119
conjugate functions 85 degenerate point 89,92, 116
consistency test 23,24,36,73,97 delaying alternative 19,33
- activity-interval capacity 26 - minimal 19,21,33,35
- balance 37,81 delaying mode
- disjunctive activities 24, 73, 102 - minimal 76,83
Index

depth (of enumeration tree) 69 extension (of assignment) 133


depth-first search 72,97 extension (of relation) 39
derivative extremal node 91
- directional 86 extreme point
- one-sided 87 - global 52
descent direction 87 - local 53
- steepest feasible 87
directed cycle 13 F
directed path 13 feasibility version (of optimization
dirccted walk 13 problem) 62
direction feasible assignment 134
descent 87 feasible direction 87
- flattest feasible ascent 94 feasible direction method 87
- optimal 89,96 feasible relation 40,43,46,48,49,66,
- steepest feasible descent 87 114,162,163
direction-finding phase 88,92,95 feasible schedule 17,31,66, 137
directional derivative 86 - with respect to assignment 134
discount rate 59,156 feasible set 19
discrete time-resource tradeoff problem - maximal 19
132 feasible solution 135
disjunctive activities 24,74 feasible start time 111
disjunctive activities test 24, 73,102 feedback mechanisni 149
disjunctive precedence constraint 22, Fibonacci heap 72,93
36,67,72 fictitious activity 8
distance matrix 13-15,41 flattest ascent algorithm 95, 102
dominance rule 77,98,102,139 flattest ascent direction problem 95
- subset 98 flattest feasible ascent direction 94
dual flattest ascent approach 94 float
- early free 16, 161
E - late free 16,161
earliest schedule 9,14 - total 15
- calendar-feasible 126, 127 flow network 43
early free float 16,161 forbidden set 7,19,33,77
ellipsoid method 56,85 - breaking up 22,36
energetic reasoning 24,74 - minimal 19,33
energy precedence test 28 forest 91
entering arc 115 forward arc 109,111, 116,157
enumeration scheme 66,83,127 full assignment 133
- for convexifiable objective functions function see also objective function
84,163 - additional-cost 113, 119
- for multi-mode problems 135 - Bouligand-differentiable 90
- for regular objective functions 68 - continuously differentiable 86
equal-order set 45 - lower semicontinuous 9,17,55
equal-preorder set 52,107 - neighborhood 115
event 8 - net present value 157,158, 160
event-on-node network 10,156 - positively homogeneous 87
execution mode 3,6,123,131,153 - step 17
experimental performance analysis 79, - subadditive 90
81,102,120 - sublinear 87.90
188 Index

- sum-separable 85,86 linearizable objective function 56,57


loading profile 17,30,74, 136
G - core 25, 119
general interval capacity test 27 local extreme point 53
general product structure 146 local minimizer 56,57,83
genetic algorithm 78 local search 115
gozinto graph 142 locally concave objective function 60,
gross requirements 143, 147 107
locally regular objective function 60,
H 107,161
head see release date lot see also batch, 148
Helly property 21,42 lot size 148
hierarchical planning 147 - transportation 145
lower bound 36,74,97,98,132,138
I lower semicontinuous function 9, 17,
incomparable elements (in preorder) 55
39
inf-stationary point 87 M
initial inventory level 30 make-to-order production 142
input coefficient 142 make-to-order production scheduling
input proportion 151 problem 143
interior-point method 56 makespan 150
internal rate of return 159 manufacturing industries 147
interval capacity 2.5, 27 master production schedule 147
interval capacity test 25 material flows 124
interval graph 130 materials requirements planning 142
interval order 40,44,129,130 maximal element (in preorder) 40
investment project 155 maximal feasible set 19
maximum (s,t)-cut 131, 163
K nlaxinlum time lag 8
k-shortage set 32 maximum-cut problem 114
- minimal 33 maximum-flow problem 43
k-surplus set 32 maximum-weight clique 130
- minimal 32 maximum-weight stable set 43,130
method see algorithm
L Metra Potential Method 10, 11
label-correcting algorithm 13, 71,73, min-cost flow problem 86
126 minimal delaying alternative 19,21,
label-setting algorithm 72 33,35
Lagrangean relaxation 80,97,149 rninin~aldelaying mode 76,83
late free float 16,161 minimal forbidden set 19,33
latest schedule 9 - breaking up 22
- calendar-feasible 127 minimal k-shortage set 33
leaving arc 115 minimal k-surplus set 32
length (of directed walk) 13 minimal point 41,45,52,53
life cycle 1 minimum execution time 124
line-search phase 88,92,97 minimum (s,t)-flow 43,50,130,163
linear objective function 57 minimum time lag 8
linear product structure 146 minimum-cut problem 76
Index

minimum-flow problem 50,114,153 - antiregular 93


mode assignment constraint 133 - binary-monotone 57,92
mode assignment problem 3,133 - convex 56,85,137,162
mode relaxation 133,135 - convexifiable 56,57,82
MPM see Metra Potential Method - linear 57
MPM network 10 - linearizable 56,57
multi-level capacitated lot sizing - locally concave 60,107
problem 149 - locally regular 60, 107,161
multi-level lot sizing 148 - makespan 58
multi-mode project duration problem - net present value 59,156
132 - nonregular 55
multi-mode project network 134 - preorder-decreasing 64,120
multi-mode resource allocation problem - project duration 58
3,124 - quasiconcave 57
multi-mode resource-constrained - regular 22,55, 57,66,93, 161
project scheduling problem 134 - total adjustment cost 63
multi-pass heuristic 79 - total earliness-tardiness cost 59, 163
- total inventory holding cost 58
N - total procurement cost 61,64
neighborhood 115 - total squared utilization cost 62, 148
neighborhood function 115 - total tardiness cost 58
neighborhood graph 115,118 - total weighted free float 59, 162
net present value 155 one-sided derivative 87
net present value function 157,158, operation 143, 150
160 optimal direction 89,96
net present value problem optimal schedule 18,31, 137
- capital-rationed 105 optimal solution 135
- t h e constrained 99 optimal-potential problem 85
- with cumulative resources see order
capital-rationed - interval 40,44
- with renewable resources 102 - strict 40
net requirements 147 - weak 40,52
network output proportion 151
- activity-on-arc (CPM) 9 overlapping operations 144
- activity-on-node 10
- event-on-node 10,156 P
- flow 43 parametric optimization 156
- M P M 10 partial schedule 112
- project 9 perishable product 149
- relation 41, 110, 162 polytope
- schedule 44,52,54,110,111 - relation 40,46, 57, 83,162
- strongly connected 12 - schedule 44,52
nondelay schedule 52,102 positively homogeneous function 87
nonregular objective function 55 potential 12
nonrenewable resource 5,28, 131 precedence arc 104,109,116
nonrenewable-resource constraint 133 precedence constraint 8,10,22,36,83
- disjunctive 22,36,67,72
0 precedence graph 40,43,130
objective function 3,9 precedence relationship 7,39
190 Index

predecessor (in preorder) 39,48,114 - resource investment 120


preemptive one-machine problem 75 - resource levelling 4,60,61, 113, 118,
preemptive project scheduling problem 148
124 - resource-constrained project sched-
preflow push algorithm 43 uling 3,66, 152
preorder 39 - - multi-mode 134
- complete 39 - - stochastic 161
- schedule-induced 108 - - with cumulative resources 31, 137
preorder-decreasing objective function - - with renewable resources 17
64,120 - sequencing 3,40
preprocessing 73 - steepest descent 89
primal steepest descent approach 86 -- time-constrained project scheduling
primary requirements 143,147,150 3,9,18,41
priority rule 78 - time-cost tradeoff 3
priority-rule method 77,113,119 - total earliness-tardiness cost
- bidirectional 102 - - time-constrained 101
problem - - with renewable resources 104
-- assignment sequence 146 - total squared resource utilization cost
- batch scheduling 152 121
- batching 151 - total weighted free float 162
- convex-cost flow 85 procedure see algorithm
- discrete time-resource tradeoff 132 process industries 149
- flattest ascent direction 95 process plan 143
- lot sizing processing unit 149
- multi-level capacitated 149 product structure 147
- - single-level uncapacitated 149 - convergent 146
- make-to-order production scheduling - cyclic 150
143 - general 146
- maximum-cut 114 - linear 146
- maximum-flow 43 production
- min-cost flow 86 - batch 150
- minimum-cut 76 -- make-to-order 142
- minimum-flow 50, 114,153 - small-batch 147
- mode assignment 3,133 production order 147
- multi-mode project duration 132 profile test 36,82
- net present value progress payment 156
- capital-rationed 105 project 1, 7
- - time-constrained 99, 156 project deadline 156
- - with cumulative resources see project duration 153
capital-rationed project duration problem 3
- with renewable resources 102 - multi mode 132
- optimal-potential 85 - with cumulative resources 81
- preemptive one-machine 75 - with renewable resources 76
- preemptive project scheduling 124 project generator 79
- project duration 3 project network 9
- with cumulative resources 81 - multi-mode 134
- - with renewable resources 76 project planning 2
- resource allocation 2,120, 133 project scheduling problem
- m u l t i - m o d e 3,124 - preemptive 124
Index

- resource-constrained 3,66,152 - resource 16


- stochastic 161 - storage 30
- with cumulative resources 31, 137 requirements
- - with renewable resources 17 - gross 143, 147
- with sequence-dependent changeover n e t 147
times 129 - primary 143,147,150
- time-constrained 3,9, 18,41 resource
pseudostable schedule 53,57 - cumulative 5,28, 153
- continuous 6,124,135
Q - - discrete 124
quarantine time 8,75 - nonrenewable 5,28, 131
quasi-topological ordering 119 - recyclabe 29
quasiactive schedule 54,60,69, 107, - renewable 3, 16, 153
111 resource allocation 2, 17
quasiconcave objective function 57 resource allocation problem 2,120,
quasistable schedule 54,60, 107, 109 133
- multi-mode 3,124
R resource capacity 16
range 61 resource conflict 21,35
reactive approach 163 resource constraint 2,66
real activity 8 resource investment problem 120
recognition version (of optimization resource levelling problem 4,60,61,
problem) 62 113,118,148
recursive-search algorithm 99, 101, 102 resource relaxation 18,31,65
recyclable resource 29 resource requirement 16
reflexive preorder resource-constrained project scheduling
- schedule-induced 51 problem 3,66, 152
regular objective function 22,55,57, - multi-mode 134
66,93,161 - with cumulative resources 31, 137
relation 5 - with renewable resources 17
- binary 39 - with sequence-dependent changeover
- covering 40 times 129
- feasible 40,43,46,48,49,66,114, resource-feasible assignment 133
162,163 resource-feasible schedule 17,21,31,
- time-feasible 40,42,46,66 137
relation network 41, 110, 162 - with respect to assignment 134
relation polytope 40,46,57,83, 162 robust plan 161
relaxation 69,85 rule
- Lagrangean 80,97,149 - dominance 77,98,102,139
- mode 133 - priority 78
- resource 18,31,65
- temporal 18,31 S
relaxation-based algorithm 6, 65, 135, safety stock 30
163 scattered search 73
release date 8,75, 77 schedule 9
renewable resource 3,16,153 - active 53, 112, 138
renewable-resource constraint 17,111, - calendar-feasible 126
134 - changeover-feasible 129
requirement - earliest 9, 14
192 Index

-- calendar-feasible 126, 127 setup time see also changeover time,


- feasible 17, 31,66, 137 143
- - with respect to assignment 134 shaving 25
- latest 9 shelf life time 149
- - calendar-feasible 127 shift
- nondelay 52,102 - against arc 116
- optimal 18,31,137 - along arc 116
- partial 112 single-level uncapacitated lot sizing
- pseudostable 53,57 problem 149
- quasiactive 54,60,69,107,111 small-batch production 147
- quasistable 54,60,107, 109 solution 115
- resource-feasible 17,21,31, 137 - feasible 135
- with respect to assignment 134 -optimal 135
- semiactive 53 spanning forest 89,95
-- stable 53,57, 102, 112 spanningouttree 54,111,117
- time-feasible 9 spanning tree 54, 110, 115
- with respect to assignnierit 134 stable schedule 53,57,102,112
- time-optimal 9
stable set
schedule network 44,52,54,110,111
- maximum-weight 43,130
schedule polytope 44,52
start time 8
schedule sets 54,55
- feasible 111
schedule-assignment pair 135
steepest descent algorithm 87,88,102,
schedule-generation scheme 109
156
- for locally concave objective functions
steepest descent problem 89
110
steepest feasible descent direction 87
- serial 78, 107
step function 17
schedule-induced preorder 108
- reflexive 51 stepsize 88,93,97, 115
- optimal 92
schedule-induced strict order 44, 129
schedule-repair rnethod 112 stochastic dynamic programming 161
search space 65,67,83 stochastic project scheduling problem
search strategy 72 161
- depth-first 72,97 storage capacity 30
self-concordant barrier 56 storage facility 149
semiactive schedule 53 storage requirement 30
sequence-dependent changeover time stream of payments 155
6,123,128,153 strict order 40
sequencing problem 3,40 - BMR-feasible 41,44
serial schedule-generation scheme 78, - schedule-induced 44,129
107 strong component 78
set strongly connected network 12
- active 17,30,65,130 subadditive function 90
- decision 110, 119 subgradient algorithm 76
- equal-order 45 sublinear function 87,90
- equal-preorder 52,107 subset-dominance rule 98
- feasible 19 sum-separable function 85,86
- forbidden 19,33,77 support-point represeritation 112
- k-shortage 32 supremum norm 88,95
- k-surplus 32 symmetric triple 24
Index 193

T total squared resource utilization cost


tabu search 119 problem 121
tail see quarantine time total variation 63
task 149 total weighted free float problem 162
temporal arc 109,116 total working time 125
temporal constradnt 1,8, 134,137 totally unimodular matrix 49, 114
temporal plus capacity planning 149 transfer time 145
temporal relaxation 18,31 transitive directed graph 43,130
transitive hull (of relation) 39
temporal scheduling 11
transitive reduction (of acyclic directed
tension 12
graph) 131
time lag
transportation lot size 145
- maximum 8
triangle inequality 14
- rninimum 8 - weak 128
time lag calendar 125
time window 9 u
time-constrained net present value uniformly directed cut 131
problem 99,156 unit-interval capacity test 25,26,73
time-constrained project scheduling unscheduling step 78,112
problem 3,9, 18,41
time-constrained total earliness- v
tardiness cost problem 101 validity domain 157, 159
time-cost tradeoff problem 3 variance 62
time-feasible assignment 134 vertex 45,52,53
time-feasible relation 40,42,46,66 vertex-following algorithm 99
time-feasible schedule 9
W
- with respect to assignment 134
weak order 40,52
time-optimal schedule 9
weak triangle inequality 128
time-resource tradeoff problem 132
weakly optimally connected 115
total earliness-tardiness cost problem workload 25,74
- time-constrained 101
- with renewable resources 104 z
total float 15 zigzagging phenomenon 92

You might also like